Автор: Jokerjar
Дата сообщения: 22.10.2006 15:48
Уже задавал вопрос о ListView, вроде решение нашли. Теперь такая проблема. Есть
[more=алгоритм, заполняющий ListView]var
Key1, Key2, Key3, Key4: string;
KeyDef1, KeyDef2, KeyDef3, KeyDef4: string;
TmpStr: string;
i: Integer;
SL1: TStringList;
begin
SL1 := TStringList.Create;
SL1.LoadFromFile('1.log');
KeyDef1 := ''; KeyDef2 := ''; KeyDef3 := ''; KeyDef4 := '';
for i := 0 to SL1.Count - 1 do begin
TmpStr := SL1.Strings[i];
Key1 := Copy(TmpStr, 1, Pos(Chr(182),TmpStr)-1);
Delete(TmpStr, 1, Pos(Chr(182),TmpStr));
if Key1='~' then Key1 := KeyDef1 else KeyDef1 := Key1;
Key2 := Copy(TmpStr, 1, Pos(Chr(182),TmpStr)-1);
Delete(TmpStr, 1, Pos(Chr(182),TmpStr));
if Key2='~' then Key2 := KeyDef2 else KeyDef2 := Key2;
Key3 := Copy(TmpStr, 1, Pos(Chr(182),TmpStr)-1);
Delete(TmpStr, 1, Pos(Chr(182),TmpStr));
if Key3='~' then Key3 := KeyDef3 else KeyDef3 := Key3;
Key4 := Copy(TmpStr, 1, Pos(Chr(182),TmpStr)-1);
Delete(TmpStr, 1, Pos(Chr(182),TmpStr));
if Key4='~' then Key4 := KeyDef4 else KeyDef4 := Key4;
LI:=Form1.ListView1.Items.Add;
LI.Caption:=Key1;
LI.SubItems.Add(Key2);
LI.SubItems.Add(Key3);
LI.SubItems.Add(Key4);
end; // for
FreeAndNil(SL1);
end;[/more]
Так вот, при большом файле он работает очень медленно. Есть какие-либо способы ускорения работы ListView, помимо BeginUpdate? Желательно именно к этому алгоритму.