Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Вниз

Sorting TList   Найти похожие ветки 

 
McSimm2   (2003-12-04 11:13) [0]

Можно отсортировать данные в TListe по 2 полям ?


 
Digitman   (2003-12-04 11:20) [1]

да хоть по 20-ти


 
Anatoly Podgoretsky   (2003-12-04 11:26) [2]

Только в TList нет 2 полей, это всего список указателей.


 
McSimm2   (2003-12-04 11:34) [3]

Anatoly Podgoretsky © (04.12.03 11:26) [2]
Да, точно, конечно же...

Подскажите, плиз, как сделать сортировку по 2 полям.



PReportRecord = ^TReportRecord;
TReportRecord = record
Month, Year: String;
....
end;

procedure TFrm_main.SortList();

function CompareListItems(Item1, Item2: Pointer): Integer;
var
RecA: PReportRecord absolute Item1;
RecB: PReportRecord absolute Item2;
begin
if RecA^.Year < RecB^.Year then
Result := -1 else
if RecA^.Year = RecB^.Year then
Result := 0 else
Result := 1;
end;

begin
FReportList.Sort(@CompareListItems);
end;


Как сделать что бы отсортировалось по году(1) и по месяцу(2) ???


 
Семен Сорокин   (2003-12-04 11:38) [4]

наверное так:

function CompareListItems(Item1, Item2: Pointer): Integer;
var
RecA: PReportRecord absolute Item1;
RecB: PReportRecord absolute Item2;
begin
if RecA^.Year < RecB^.Year then
Result := -1
else if RecA^.Year > RecB^.Year then
Result := 1
else if RecA^.Month < RecB^.Month then
Result := -1
else if RecA^.Month > RecB^.Month then
Result := 1
else
Result := 0
end;


 
gek   (2003-12-04 11:39) [5]

Попробуй так

if RecA^.Year < RecB^.Year then
begin
if RecA^.Month < RecB^.Month then
....
end


 
McSimm2   (2003-12-04 11:42) [6]

Семен Сорокин © (04.12.03 11:38) [4]
Большое спасибо - всё OK

Всем спасибо!



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.12.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
1-52262
dilp
2003-12-04 13:00
2003.12.16
как узнать что приложение запущено по ярлыку?


1-52170
DimaK
2003-12-03 15:54
2003.12.16
RichEdit


14-52371
copyr25
2003-11-15 17:19
2003.12.16
---|Ветка была без названия|---


3-52073
SlavaSH
2003-11-24 14:10
2003.12.16
SQL


4-52437
adlero4ek
2003-10-20 03:50
2003.12.16
Можно ли определить что система бездействует ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский