View Full Version : چطور یه لیست باکس رو مرتب کنم (بترتیب اعداد از کوچیک به بزرگ)؟
hex161
سه شنبه 09 خرداد 1385, 15:22 عصر
با سلام .
من میخواهم لیست باکسی رو که توش تعدادی عدد وجود داره ، اعدادش رو از کوچک به بزرگ مرتب کنم.
مثلا اگر اعداد به ترتیب : 35 - 10 - 25 - 45 - 3 - 5 - 8 هست به ترتیب کوچک به بزرگ مرتب بشه یعنی 3 - 5 - 8 - 10 - 25 - 35 - 45
چطور اینکارو کنم؟
با تشکر .
SH.Daneshvar
سه شنبه 09 خرداد 1385, 15:58 عصر
بایستی دستی این کارو کنید و به نظر بنده بهتر هست خودتون یه کامپوننت بسازید.
چون ListBox خودش Sort میکنه اما مقادیر رو به شکل رشته میبینه و طبق منطق رشته ها
مثلا رشته 10 کوچکتر از 5 هست.پس شما بایستی دستی این کار رو انجام بدین.
hex161
سه شنبه 09 خرداد 1385, 16:47 عصر
ممنون از جوابتون.
در حقیقت منظور منم همین بود . من کدی میخواستم که بشه دستی اینکارو انجام داد.یعنی همه اعداد داخل لیست مقایسه بشن و بعد مرتب .اگه اینکار بشه خوبه .
با تشکر.
Hamid_PaK
چهارشنبه 10 خرداد 1385, 04:34 صبح
هنگام وارد کردن اعداد به بنسبت طول بزرگترین اعدد طول اعداد دیگر رو تصحیح کنید ...
یه چیزی شبیه این ...
function IntToStrEx(int,digit:integer):string;
var
tmp:String;
a,b:integer;
begin
Result := '-1';
try
if Length(IntToStr(int)) > digit then Exit;
b := digit - Length(IntToStr(int));
for a:=1 to b do
tmp := tmp + '0';
tmp := tmp + IntToStr(int);
Result := RightStr(tmp,digit);
except
Result := '';
end;
end; // using UNCOMMERCIAL is free;
var
i,
iMAX: Integer;
begin
iMAX := 1000;
for i:= iMAX downto 0 do
ListBox1.Items.Add(Into(i, Length(IntToStr(iMAX))));
end;
یا حق !!!
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.