delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف تغير نصوص مئات من Tspeedbutton
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
مثلا هذا الكود ولكن بوجود اخطاء
كود :
procedure DrawArray(Sender: Tform); const Katcolum1 = 'アカサタナハマヤラワンガザダバパイキシチニヒミリギジヂビピウ'+ 'クスツヌフムユルグズヅブプエケセテネヘメレゲゼデベペオコソトノホモ'+ 'ヨロヲゴゾドボポ'; // ヴァ var i: integer; // 1 .. 71; begin for i := 16 to 71 do begin // if TagArray[i] = 16 then // Continue; with TButton(Sender.Components[i]) do // [i] TagArray begin caption := Katcolum1[i]; end; end; end;
هل هناك امثلة اخرى
تصحيح الكود اعلاه

كود :
procedure DrawArray(Sender: Tform); const Katcolum1 = 'アカサタナハマヤラワンガザダバパイキシチニヒミリギジヂビピウ'+ 'クスツヌフムユルグズヅブプエケセテネヘメレゲゼデベペオコソトノホモ'+ 'ヨロヲゴゾドボポ'; var i: integer; begin for i := [color=Red]0[/color] to [color=Red]Sender.ComponentCount-1[/color] do begin if (Sender.Components[i])[color=Red] is TSpeedButton[/color] then TSpeedButton(Sender.Components[i]).caption := Katcolum1[i]; end; end;

كود :
هل هناك امثلة اخرى
يوجد فى المنتدى امثلة فى هذا الخصوص
اشكرك جدا ولكن اذا كان هناك
AdvTabSheet1
AdvTabSheet2
وكل منهما لديه TSpeedButton
كيف ستحصر العملية
==========
بالنسبه للكود
عدد الحروف 71 مساوي لل TSpeedButton
ولكن لا تتطابق إلا اذا اضفت زيادة (91 حرف مثلا) وإلا فسوف يحصل خطا
ما الحل!

كود :
procedure DrawArray(Sender: Tform); const Katcolum1 = 'アカサタナハマヤラワンガザダバパイキシチニヒミリギジヂビピウ'+ 'クスツヌフムユルグズヅブプエケセテネヘメレゲゼデベペオコソトノホモ'+ 'ヨロヲゴゾドボポ[color=Red]ヨロヲゴゾドボポヨロヲゴゾドボポヨロヲゴゾドボポ[/color]'; var i,j: integer; begin j:=1; for i := 0 to Sender.ComponentCount-1 do begin if (Sender.Components[i]) is TSpeedButton then TSpeedButton(Sender.Components[i]).caption := Katcolum1[j]; inc(j); end; end;

لاحظ انني كررت ヨロヲゴゾドボポヨロヲゴゾドボポヨロヲゴゾドボポ
حتى تنجح العملية بدون خطا
والنتيجة تصبح حروف مكررةSad