المشاركات : 71
المواضيع 12
:
: 0
الإنتساب : Jan 2009
[COLOR="RoyalBlue"]السلام عليكم و رحمة الله و بركاته
لدي سؤال عن تقسيم الاحرف, كيف عمل Split للحروف ؟
حاولت فى هذا الكود ولكن فيه خطأ, فهو ياتى بالحرف الخامس و العاشر فقط ![/COLOR]
كود :
[color=Navy][B]var[/B][/color] a,b,c,d,e : [color=Navy][B]string[/B][/color];
[color=Navy][B]begin[/B][/color]
a := Edit1.Text;
b := a[[color=Blue]5[/color]]+a[[color=Blue]10[/color]];
c := a[[color=Blue]12[/color]]+a[[color=Blue]1[/color]];
d := a[[color=Blue]2[/color]]+a[[color=Blue]9[/color]];
e := b + c + d;
Edit2.Text := e;
[color=Navy][B]end;[/B][/color]
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
الكود يعمل دون اي خطا
فقط يجب ان يكون محتوى Edit1 طويل كفاية
اي طول الكلمة على الاقل 12 حرفا
والسلام عليكم
المشاركات : 219
المواضيع 28
:
: 7
الإنتساب : Dec 2008
Goblin كتب :حاولت فى هذا الكود ولكن فيه خطأ, فهو ياتى بالحرف الخامس و العاشر فقط !
لقد طرحت هذا السؤال في موقع العربي للهندسة العكسية و اجابوك بنفس جواب الأخ DeltaAziz فأن كان قصدك شيئ اخر وضح اكثر
المشاركات : 71
المواضيع 12
:
: 0
الإنتساب : Jan 2009
DeltaAziz كتب :
يجب ان يكون محتوى Edit1 طويل كفاية
اي طول الكلمة على الاقل 12 حرفا
والسلام عليكم
[COLOR="RoyalBlue"]نعم, لقد ادخلت 11 حرفا فقط, لذلك, توقفت العملية عن الحرف الخامس و العاشر ! اسف على تسرعي

ملحوظة: اليس كان من المفروض ان ينبهني الCompiler !
سؤال اخر: ماذا اذا اردت مثلا ان اعكس او اغير ترتيب حروف كلمة و لا اعرف طولها ؟ لن تنفع الطريقة السابقة ![/COLOR]
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
إقتباس :اليس كان من المفروض ان ينبهني الCompiler !
لا
الCompiler يتوقف عند اخطاء كتابة الاوامر Syntax ولا ينبهك عن الاخطاء المنطقية او اخطاءالتنفيذ Runtime Error فهذه من شأن المبرمج
يمكن معرفة طول String باستخدام Length
مثلا في مثالك السابق تتحقق من ان الطول اكير او يساوي 12 تكتب شيئ مثل
PHP كود :
a := Edit1.Text;
if length(a)<12 then begin
showmessage('الكلمة المدخلة قصيرة جدا');
exit;
End;
ان اردت قلب النص يمكن ان تستخدم ReverseString من الوحدة StrUtils
راجع http://www.delphi4arab.net/forum/showthr...606&page=2
او تقوم بذلك يدويا بكتابة شيئ مثلا
PHP كود :
var a,s:string;
i,len:integer;
begin
a:=Edit1.Text;
len := length(a);
s:='';
for i:=0 to len-1 do
s:=s+a[len-i];
edit2.text := s;
end;
والسلام عليكم
المشاركات : 71
المواضيع 12
:
: 0
الإنتساب : Jan 2009
الطريقة اليدوية جميلة ! , جزاك الله خيرا اخي DeltaAziz.