المشاركات : 367
المواضيع 54
:
: 506
الإنتساب : Jan 2011
02-09-2023, 08:33 AM
(آخر تعديل لهذه المشاركة: 02-09-2023, 09:16 AM بواسطة ELARAPY.)
السلام عليكم ورحمة الله وبركاته
هذا مثال على ما اقصده
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add(Edit1.Text);
for var i := 1 to High(Edit1.Text) do
Memo1.Lines.Add(Edit1.Text[i]);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s : string;
begin
Memo1.Clear;
for var i := High(Edit1.Text) downto 1 do
s := s + Edit1.Text[i];
Memo1.Lines.Add(s);
for var i := High(Edit1.Text) downto 1 do
Memo1.Lines.Add(Edit1.Text[i]);
end;
المفتاح الثاني : الحلقة الاولى لنسخ محتوى الايديت معكوس في المتغير ثم اضافة المتغير الى الميمو , كيف يمكن الاستغناء عن تلك الحلقة والاكتفاء بالحلقة التكرارية الاخيرة لطباعة محتوى الايديت حرف حرف الى الميمو, هل يوجد غير الخاصية Lines ؟ باختصار اريد المفتاح الثاني يقوم بنفس الوظيفة بحلقة تكرارية واحدة فقط, كيف ذلك؟
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
المشاركات : 522
المواضيع 46
:
: 394
الإنتساب : Sep 2011
02-09-2023, 09:00 PM
(آخر تعديل لهذه المشاركة: 02-09-2023, 09:09 PM بواسطة larbiparadox.)
وعليك السلام ورحمة الله وبركاته
هل تقصد هذا
كود :
procedure TForm1.Button2Click(Sender: TObject);
var
s : string;
begin
Memo1.Clear;
for var i := High(Edit1.Text) downto 1 do
s := s + Edit1.Text[i];
Memo1.Text := s;
end;
أو اكتب function
كود :
function ReverseStr(Str : String) : String;
var
Res : String;
i : Byte;
begin
Res:='';
for i:= High(Str) downto 1 do
Res:=Res + Str[i];
ReverseStr:=Res;
end;
وبعدها نستدعيها
كود :
Memo1.Text := ReverseStr(Edit1.Text);
اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
المشاركات : 367
المواضيع 54
:
: 506
الإنتساب : Jan 2011
السلام عليكم اخي العربي
نص الايتديت مثلا Elaraby, احتاج عرضه في الميمو افقياً ثم رأسياً باستخدام حلقة واحده فقط على هذا النحو
ybaralE
y
b
a
r
a
l
E
لم استطع تنفيذه الا بحلقتين مثل المثال المرفق في مشاركتي الاولى .
قل إن صلاتي ونسكي ومحياي ومماتي لله رب العالمين
المشاركات : 216
المواضيع 30
:
: 26
الإنتساب : Aug 2017
PHP كود :
procedure DrawReverseString(Text : String; Memo : TMemo);
var
I, J : Integer;
begin
Memo.Clear;
J := 1;
for I := Length(Text) downto 1 do
begin
Memo.Lines[0] := Memo.Lines[0] + Text[I];
Memo.Lines.Add('');
Memo.Lines[J] := Text[I];
Inc(J);
end;
end;
PHP كود :
DrawReverseString(Edit1.Text, Memo1);
:: من يملك المعلومة يملك الميدان ::
المشاركات : 522
المواضيع 46
:
: 394
الإنتساب : Sep 2011
حل سريع
كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
for var i := 1 to Length(Edit1.Text) do
Memo1.Text := Memo1.Text + Edit1.Text[i]+ sLineBreak;
end;
اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
المشاركات : 1
المواضيع 0
:
: 0
الإنتساب : Sep 2023
08-09-2023, 10:32 PM
(آخر تعديل لهذه المشاركة: 08-09-2023, 10:41 PM بواسطة yuryu.)
(02-09-2023, 08:33 AM)ELARAPY كتب : السلام عليكم ورحمة الله وبركاته
هذا مثال على ما اقصده
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Lines.Add(Edit1.Text);
for var i := 1 to High(Edit1.Text) do
Memo1.Lines.Add(Edit1.Text[i]);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
s : string;
begin
Memo1.Clear;
for var i := High(Edit1.Text) downto 1 do
s := s + Edit1.Text[i];
Memo1.Lines.Add(s);
for var i := High(Edit1.Text) downto 1 do
Memo1.Lines.Add(Edit1.Text[i]);
end;
المفتاح الثاني : الحلقة الاولى لنسخ محتوى الايديت معكوس في المتغير ثم اضافة المتغير الى الميمو , كيف يمكن الاستغناء عن تلك الحلقة والاكتفاء بالحلقة التكرارية الاخيرة لطباعة محتوى الايديت حرف حرف الى الميمو, هل يوجد غير الخاصية Lines ؟ باختصار اريد المفتاح الثاني يقوم بنفس الوظيفة بحلقة تكرارية واحدة فقط, كيف ذلك؟
(03-09-2023, 01:38 PM)larbiparadox كتب : حل سريع
كود :
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
for var i := 1 to Length(Edit1.Text) do
Memo1.Text := Memo1.Text + Edit1.Text[i]+ sLineBreak;
end;