المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف أعكس ما تم كتابته ب edit1


mjunior
22-04-2009, 05:35 PM
السلام عليكم إخواني

كيف أعكس ما تم كتابته ب edit1

مثال: عكس كلمة mjunior لتصبح roinujm

قمت بالمحاولة ولم اعرف المشكلةvar v,s:string;
i,j:integer;
begin
s:=edit1.Text;
i:=length(s);
j:=1;
while i>=1 do
begin
v[j]:=s[i];
i:=i-1;
j:=j+1;
end;
edit2.Text:=v;
end;
و السلام عليكم و رحمة الله و بركاته

TF6M
22-04-2009, 06:17 PM
فقط إستعمل إحدى الدالتين ؟؟ هناك العديد من الحلول لك كل الحرية ,,

Function Inv_1 (S:String):String;
Var I:Byte;
Begin
For I:=1 To Length(S) Do
Result:=S[I]+Result;
End;

Function Inv_2 (S:String):String;
Var I:Byte;
Begin
For I:=Length(S) DownTo 1 Do
Result:=Result+S[I];
End;

Procedure TForm1.Button1Click(Sender: TObject);
Begin
Edit2.Text:=Inv_2(Edit1.Text);
End;

maosalah
22-04-2009, 06:18 PM
استعمل الحلقة for احسن


var i :integer;
begin
edit2.text := '';
for i := length(edit1.text) downto 1 do
edit2.text := edit2.text + edit1.text[i];
end;

mjunior
22-04-2009, 08:44 PM
شـــــــــــــــــكرا و جزاكم الله كل خير.

hanipino
22-04-2009, 09:23 PM
او استعمال الدالة StrUtils ReverseString


function ReverseString(const AText: string): string;
var
I: Integer;
P: PChar;
begin
SetLength(Result, Length(AText));
P := PChar(Result);
for I := Length(AText) downto 1 do
begin
P^ := AText[I];
Inc(P);
end;
end;

Dr.MOT
23-04-2009, 02:51 PM
السلام عليكم ,,

قمت بحاولة جيدة بـ Loop سبقني الإخوان بها ,,

أرفقت مثالا للتوضيح أكثر ,,

mjunior
23-04-2009, 07:08 PM
شكرا لك اخي و جزاك الله كل خير.

AL-MOB4RM3G
23-04-2009, 07:49 PM
اخي الكريم hanipino ,,, ماذا تعني

P^ := AText[i];

وبلأخص:

^

بارك الله فيك ؟

TF6M
23-04-2009, 10:45 PM
اخي الكريم hanipino ,,, ماذا تعني
P^ := AText[i];
وبلأخص:
^
بارك الله فيك ؟

http://www.delphi4arab.com/forum/showthread.php?t=626

بالتوفيق ,,

AL-MOB4RM3G
24-04-2009, 08:52 AM
نعم بارك الله لك اخي الكريم على الرابط,,