المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
19-01-2016, 12:14 AM
(آخر تعديل لهذه المشاركة: 19-01-2016, 08:26 AM بواسطة S.FATEH.)
السلام عليكم
كود :
ListBox1.Sorted := true
count := 1
; '' =: Sec_str
for i:=0 to ListBox1.Items.Count-1 do begin
First_str := ListBox1.Items[i
if First_str = Sec_str then
count := count + 1
else
if Sec_str <> '' then begin
''('+ ((ListBox2.Items.Add(Sec_str + ' (' + IntToStr(count)'
count := 1
end;
Sec_str := First_str
المشاركات : 975
المواضيع 50
:
: 218
الإنتساب : Feb 2008
السلام عليكم عند الحذف يتغير الترتيب في حلقة for to استخدم downto بدل من ذلك
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
(19-01-2016, 08:31 AM)S.FATEH كتب : السلام عليكم عند الحذف يتغير الترتيب في حلقة for to استخدم downto بدل من ذلك
شكرا اخي لكن ما زال يحذف اول بند من اللائحة
المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
هل من اجراء بديل يمكننا استعماله اي انه اذا وجد بندين متشابهين في اللائحة تطهر بهكذا الشكل( items (2 ...
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
كود :
Var
count,i : integer;
str:string;
begin
ListBox1.Sorted := true;
count := 1;
str:=ListBox1.Items[0];
for i:=1 to ListBox1.Items.Count-1 do
if str = ListBox1.Items[i] then begin
inc(count);
ListBox1.Items[i]:=ListBox1.Items[i]+'('+IntToStr(count)+')';
end else begin
count := 1;
str:=ListBox1.Items[i];
end;
end;
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
شكرا للجميع هذا جيد لكنه يبقي على ال'item' الاصلي فكيف نلغيه لكي يبقى (items(2 فقط
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
اخي انت قلت
إقتباس :اذا وجد بندين متشابهين في اللائحة تطهر بهكذا الشكل( items (2
فهل يحذف item الاول ويسمي الثاني( item (2
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
المشاركات : 152
المواضيع 93
:
: 26
الإنتساب : Oct 2015
شكرا اخي لفد وجد الحل begin
ListBox1.Sorted := true
count := 1
str2 := '';
for i:=0 to ListBox1.Items.Count-1 do begin
str1 := ListBox1.Items[i
if str1 = str2 then
count := count + 1
else
if str2 <> '' then
begin
ListBox2.Items.Add(str2 + ' ( ' + IntToStr(count
count := 1
end;
str2 := str1
end;
if count > 1 then
ListBox2.Items.Add(str2 + ' ( ' + IntToStr(count
end
المشاركات : 3,703
المواضيع 101
:
: 579
الإنتساب : Feb 2008
25-01-2016, 09:59 AM
(آخر تعديل لهذه المشاركة: 25-01-2016, 10:00 AM بواسطة محمد عبد العزيز.)
انتبه للحروف الكبيرة Capital Letters عند المقارنة
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ