![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сортировка не происходит ! Где я ошибся ? [D5, WinXP]
vic_774N © (2003-01-27 11:18:00)Привет Всем !
вот код:
procedure TForm1.FileFinder1FindFile(Sender: TObject; var FileInfo: TFileInfo);
type
PFileSize = ^TFileSize;
TFileSize = record
Size: Integer;
end;
var
NewName: string;
CRC32: LongInt;
f: file of Byte;
i: Integer;
PFSize: PFileSize;
begin
if step = 1 then
begin
NewName := FileInfo.FileName;
begin
FilesList.Items.Add;
FilesList.Items.Item[a].Caption := NewName;
FilesList.Items.Item[a].SubItems.Append(IntToStr(FileInfo.FileSize));
//******* здесь заношу длину файла
New(PFSize);
PFSize.Size := FileInfo.FileSize;
FilesList.Items.Item[a].Data := PFSize;
//*********
lFilesFind.Caption := IntToStr(FilesList.Items.Count);
if FileCRC32(NewName, CRC32)then
FilesList.Items.Item[a].SubItems.Append(IntToStr(CRC32))
else
begin
if CopyFile(PChar(NewName),PChar(TempPath+"~test.tmp"), False)then
begin
if FileSetAttr(TempPath+"~test.tmp", $20)=0 then
if FileCRC32(TempPath+"~test.tmp", CRC32)then
FilesList.Items.Item[a].SubItems.Append(IntToStr(CRC32));
end;
end;
a := a + 1;
end;
end;
FilesList.SortType := stData; // < здесь включаю сортировку
Application.ProcessMessages;
end;
а сортировки не происходит !!! (или я ошибаюсь ?)
Cobalt (2003-01-27 22:46:00) [1]попробуй использовать GetMem, и сообщи о результатах!
vic_774N (2003-01-27 16:48:00) [2]он у меня отдельно, но тут дело в том, что я записываю данные в виде
type
PFileSize = ^TFileSize;
TFileSize = record
Size: Integer;
end;
в обработчике имеем следующее: (Sender: TObject; Item1, Item2: TListItem; Data: Integer; var Compare: Integer);
ну данные из Items я читаю, а Data у меня всегда 0 !
MBo (2003-01-27 15:50:00) [3]где обработчик OnCompare и вызов сортировки?
vic_774N (2003-01-27 15:47:00) [4]> FilesList: TListView;
MBo (2003-01-27 14:18:00) [5]FilesList ?????