delphi4arab منتديات دلفي للعرب
كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر (/showthread.php?tid=421)



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - NOna - 13-01-2009

[COLOR="Navy"][FONT="Comic Sans MS"]السلام عليكم


كيف أقدر أقرأ Textfile كلمة كلمة وكل كلمة تطبع في سطر
سمعت ان في (Procudure or method) تقدر تسوي هذا الشي أحد يفدر يساعدني

Note: I use Delphi version 2007
ـ تحباتي
NOna[/COLOR]



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - hanipino - 13-01-2009

السلام عليكم
على حسب ما فهمت.
[صورة: 507718629.jpg]

PHP كود :
Function MotParMot(Str:String):String;
Const 
Cha = ' ';
var
  
I,y:Integer;
  
Mot:String;
  
Sl:TStringList;
begin
  Y
:=0; Result:='';
  
Trim(Str);
  
Str:=Str+Cha;
  
Sl:=TStringList.Create;
  for 
I:= Y to length(Str)do
  if 
Str[i]in[Cha] then
   begin
    Mot
:=Copy(Str,Y+1,I-Y);
    
Sl.Add(Mot);
    
Y:=I;
   
end;
 
Result:=Sl.CommaText;
 
Sl.Free;
end; 

PHP كود :
LST1.Items.CommaText:=MotParMot(Edt1.Text); 



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - mourad39 - 13-01-2009

الكود الذي وضعه الاخ hanipino صحيح لكن النص الذي يتم تحويله هو نص عادي String موجود في سطر واحد
يستحسن مراعات حتى النصوص متعددة الأسطر أكثر من سطر TstringList


كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - hanipino - 13-01-2009

إقتباس :يستحسن مراعات حتى النصوص متعددة الأسطر أكثر من سطر TstringList

يعمل بشكل عادى مع النصوص متعددة الأسطر .
مثلا :
PHP كود :
Mmo1.Lines.LoadFromFile('C:\Mot.txt');
 
LST1.Items.CommaText:=MotParMot(Mmo1.Text); 

باءضافة هذا الكود فى اعلى الدالة .. تتحسن نوعا ما المخرجات .
PHP كود :
for i:= 0 to length(Str) do
   
Str:=StringReplace(Str, '  ', ' ', [rfReplaceAll]); 



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - mourad39 - 13-01-2009

hanipino كتب :يعمل بشكل عادى مع النصوص متعددة الأسطر .
اخي العزيز هذا الكود لتجاهل الفراغين مع بعض و جعلها فراغا واحدا
لكن لنفترض أنه يوجد بين الكلمة و أخرى أكثر من فراغين إذن بقي المشكل قائم
و الحل لتعميم أكثر من فراغ هو كالتالي :
نضيف الكود التالي و هو
PHP كود :
if Mot <> '' then 
 Sl
.Add(Mot); 
بدلا من
PHP كود :
Sl.Add(Mot); 



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - hanipino - 13-01-2009

إقتباس :لكن لنفترض أنه يوجد بين الكلمة و أخرى أكثر من فراغين إذن بقي المشكل قائم
فراغين او 3 او 4 ... لا يوجد اى مشكل .
بسبب ان الكود موجود فى عدة حلقات و بالتالى يقضى على كل الفراغات .
اخى mourad39

[صورة: 916sr2gfh.jpg]

لا اعتقد انك جربت الكود ب هذه الاضافة
PHP كود :
if Mot <> '' then  
 Sl
.Add(Mot); 
لان المخرجات كانت متدهورة .


كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - NOna - 14-01-2009

أخي hanipino
أنا مبتدئة في الدلفي
حاولي في هذا الكود لكن ما اشتغل معي أنا عملت الأتي
PHP كود :
if not OpenDialog1.Execute then Exit;
  
Memo1.Clear;
  
AssignFile(myfile,OpenDialog1.FileName);
  
Reset(MyFile);
    while 
not Eof(MyFile) do
     
begin
     Readln
(MyFile,Text1);
.
.
.
.

 
end;
     
CloseFile(MyFile);
end; 



كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - hanipino - 27-01-2009

الله اعلم هذه هى احسن طريقة .

PHP كود :
ExtractStrings([' '],
                [
' ',',','.'],
                
Pchar(Memo1.Text),
                
Memo2.Lines); 

[صورة: sanstitreof4.jpg]

دالة طايبة Big Grin


كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - starideas - 28-01-2009

أخي الكريم لقد حاولت تتطبيق هذا المثال ولكن لم اعرف اوزع الكود في مكانه
لكم جزيل الشكر


كيف أقدر أقرأ Text كلمة كلمة وكل كلمة تطبع في سطر - hanipino - 29-01-2009

وجود 2 ميموا و زر .
فى حدث الضغط على زر . اكتب الكود اعلاه .