اضافة عناصر الى TStringList
#1
السلام عليكم

اخواني كيف يتم اضافة عناصر الى اStringList
كود :
procedure TForm1.FormCreate(Sender: TObject); var _SL : TStringList; begin _SL := TStringList.Create; _SL.Add('0','1','2','3','4','5','6','7','8','9'); end;
جربت و لكن ظهر لي خطى الكود لا يعمل و عندما اضفت عنصر و احد عمل بصوره جيده
فكيف اضيف اكثر من عنصر ؟
بارك الله بيكم
سبحان الله و بحمده سبحان الله العظيم
الرد
#2
هذا الكود خاطأ :
PHP كود :
_SL.Add('0','1','2','3','4','5','6','7','8','9'); 
يتم اضافتها بهذا الشكل :
PHP كود :
_SL.Add('0');
  
_SL.Add('1');
  
_SL.Add('2');
.... 
Open Your Source .. Open Your Mind
الرد
#3
نعم بارك الله بيك

يبدو انك لم تفهم الامر بصوره صحيحه
المطلوب هوه اضافة اكثر من عنصر في سطر واحد
_SL.Add(qw,qw,qw,qw,qw) يهاضه الصورة
بتوضيح اكثر
اضافة عدة اسماء في Add واحده
بارك الله بيك و بوالديك
سبحان الله و بحمده سبحان الله العظيم
الرد
#4
هذا غير ممكن أخي .. فالدالة لديها برامتر وحيد من نوع String :
PHP كود :
function Add(const S: string): Integer; override; 
+ دلفي لا تدعم نعدد برامترات مجهولة .

كحل بديل يمكنك استخدام المصفوفات مع استخدام ال class helper :
ال class helper مدعوم فقط في نسخ دلفي 2007 فما فوق .
PHP كود :
type
  TStringListHlp 
= class helper for TStringList
    
function Add(const Args: array of const): Integer; overload;
  
end;
//-------------------------------------------------------------------------
{ TStringListHlp }

function 
TStringListHlp.Add(const Args: array of const): Integer;
var
  
i: Integer;
  
s: string;
begin
  
for i := Low(Args) to High(Args) do
  
begin
    
case Args[i].VType of
      vtChar
: s := Args[i].VChar;
      
vtWideChar: s := Args[i].VWideChar;
      
vtAnsiString: s := String(Args[i].VAnsiString);
      
vtString: s := String(Args[i].VString);
      
vtWideString: s := String(Args[i].VWideString);
      
vtUnicodeString: s := String(Args[i].VUnicodeString);
    else Exit;
    
end;
    
Add(s);
  
end;
end; 

الآن يمكنك اضافة العناصر بهذا الشكل :
PHP كود :
var
  
s: TStringList;
begin
  s 
:= TStringList.Create;
  
s.Add(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']);
  
Caption := s.Strings[1]; // 1 .
end; 
Open Your Source .. Open Your Mind
الرد
#5
جميل جدا بارك الله بيك
هذا ما كنت ابحث عنه
بارك الله بيك
سبحان الله و بحمده سبحان الله العظيم
الرد


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


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