من Memo1 إلى Memo2؟
#1
السلام عليكم ورحمة الله
لدي Memo1 تحوي نصا معينا ، كيف يمكنني أن استخرج منه عددا محددا من الأسطر من 1 إلى 4 مثلا( طبعا بواسطة أمر ) لأظهره في Memo2و لكم جزيل الشكر مسبقا و دمتم للموقع .
الرد
#2
في المكون TMemo السطور تكون على شكل جدول في Lines
مثلا اول سطر يمكن الحصول عليه ب
PHP كود :
Memo1.Lines[0] 
وثاني سطر هو
PHP كود :
Memo1.Lies[1] 
وهكذا، ل احظ انه دائما عندما يكون لدينا جدول فاول عنصر هو 0 وليس 1
-
عندما نريد اضافة سطر جديد للMemo نستدعى ADD
مثلا لاضافة رابط هذا الموقع في Memo2 نكتب
PHP كود :
Memo2.Lines.Add('http://wwwdelpharabcom); 

او اردنا اضافة السطر الثاني من Memo1 الى Memo2 نكتب
PHP كود :
Memo2.Lines.Add(Memo1.Lines[1]); 
طبعا يمكننا كتابتها بطريقة اخرى باستخدام متغير S من نوع String لكي يكون الامر اكثر وضوحا

PHP كود :
Var
S:String;
Begin
S 
:= Memo1.Lines[1];   // السطر الثاني
Memo2.Lines.Add(S);
end; 

الان لو اردنا ان نضيف الاسطر من 1 الى الرابع نستخدم حلقة For او Repeat او غيرها

PHP كود :
Var
i : Integer;
Begin
For i:= 1 to  4 Do
Memo2.Lines.Add(Memo1.Lines[i-1]);

End; 

لو اردنا اضافة كل الاسطر، والتي عددها يكون في المتغير Count

PHP كود :
Var
i : integer;
begin
Memo2
.Clear;
for 
i := 0 to Memo1.Lines.Count-1 Do
Memo2.Lines.Add( Memo1.Lines[i] );
end; 


والسلام عليكم ورحمة الله
الرد
#3
جزاك الله خيرا استاذ عبدالعزيز

ولكن لماذا لم تكتب :

emo1.Lines[i].text
الرد
#4
Delphawi كتب :جزاك الله خيرا استاذ عبدالعزيز

ولكن لماذا لم تكتب :

emo1.Lines[i].text

ال Lines عبارة عن Tstrings اي مصفوفة من النوع string وكما تعلم عند التعامل مع المصفوفة نضع ال Index لكي نحصل على ما في الداخل, فلذلك لا حاجة لوضع text.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم