Текущий архив: 2006.10.08;
Скачать: CL | DM;
Внизс listview в файл? Найти похожие ветки
← →
linox (2006-09-17 14:24) [0]Такой вот вопрос:
есть данные в листвью, они добавляются и удаляются. нужно что бы добавляимые данные записывались в текстовый документ (лог-файл). если это первая запись нужно програмно создать этот файл? помогите если кто может
← →
Dmitrij_K (2006-09-17 14:58) [1]
AssignFile(F, "log.txt");
If FileExists("log.txt") then Append(F) else ReWrite(F);
for j:=0 to pred(ListView1.Items.Count) do
begin
// тут писать в файл
end;
CloseFile(F)
← →
linox (2006-09-17 15:05) [2]2 Dmitrij_K:
а как именно делать запись в файл, я не знаю
← →
Ketmar © (2006-09-17 15:26) [3]> [2] linox (17.09.06 15:05)
оставить клавиатуру! в хозяйственном продаются замечателные мётлы! купить -- и на улицу, трудиться во благо Родины.
← →
linox (2006-09-17 15:30) [4]2 Ketmar:
можеш на орт вместо петросяна выступать, а то он уже старый и теряет свои позиции
← →
Ketmar © (2006-09-17 15:32) [5]> [4] linox (17.09.06 15:30)
неко, иди в анус.
← →
linox (2006-09-17 15:34) [6]linox (17.09.06 15:30) [4]
← →
linox (2006-09-17 19:05) [7]?????....savetofile(form1.listview1....?????7);
я не расдупляюсь как правильно записать....
← →
Весь в делах (2006-09-17 19:12) [8]убейсибяапстену
← →
Весь в делах (2006-09-17 19:13) [9]Ищи в архивах там есть ответ
← →
linox (2006-09-20 15:25) [10]ненашел
← →
Весь в делах (2006-09-20 15:32) [11]TStream
← →
Наиль © (2006-09-20 15:44) [12]AssignFile+F1 Examle
← →
Dmitrij_K (2006-09-20 15:58) [13]
> Весь в делах (20.09.06 15:32) [11]
> TStream
Причет тут stream?
← →
Весь в делах (2006-09-20 16:02) [14]Ivolg ©
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, jpeg, ComCtrls, ImgList;
type
TForm1 = class(TForm)
lv: TListView;
procedure SaveToFile(Dir:string);
function LoadFromFile(Dir:string):boolean;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Signature,FileName:string;
implementation
uses Unit1, Unit5;
{$R *.dfm}
{------------------------------------Сохранение----------------------------}
procedure TForm1.SaveToFile(Dir:string);
var
idxItem, idxSub, IdxImage: Integer;
F: TFileStream;
pText: PChar;
sText: string;
W, ItemCount, SubCount: Word;
MySignature: array [0..7] of Char;
begin
FileName:=dir;
StrPCopy(MySignature, Signature);
F := TFileStream.Create(FileName, fmCreate or fmOpenWrite);
F.Write(MySignature, SizeOf(MySignature));
ItemCount := lv.Items.Count;
F.Write(ItemCount, SizeOf(ItemCount));
if lv.Items.Count > 0 then
for idxItem := 1 to ItemCount do
with lv.Items[idxItem - 1] do
begin
SubCount := Subitems.Count;
F.Write(SubCount, SizeOf(SubCount));
IdxImage := ImageIndex;
F.Write(IdxImage, SizeOf(IdxImage));
sText := Caption;
w := Length(sText);
pText := StrAlloc(Length(sText) + 1);
StrPLCopy(pText, sText, Length(sText));
F.Write(w, SizeOf(w));
F.Write(pText^, w);
StrDispose(pText);
if SubCount > 0 then
for idxSub := 0 to SubItems.Count - 1 do
begin
sText := SubItems[idxSub];
w := Length(sText);
pText := StrAlloc(Length(sText) + 1);
StrPLCopy(pText, sText, Length(sText));
F.Write(w, SizeOf(w));
F.Write(pText^, w);
StrDispose(pText);
end;
end;
F.Free;
end;
{------------------------------------------Загрузка-------------------------}
function TForm1.LoadFromFile(Dir:string):boolean;
var
F: TFileStream;
IdxItem, IdxSubItem, IdxImage: Integer;
W, ItemCount, SubCount: Word;
pText: PChar;
PTemp: PChar;
MySignature: array [0..7] of Char;
begin
FileName:=Dir;
Result:=True;
if not FileExists(FileName) then
begin
Result:=False;
Exit;
end;
lv.Items.BeginUpdate;
F := TFileStream.Create(FileName, fmOpenRead);
F.Read(MySignature, SizeOf(MySignature));
if MySignature <> Signature then
begin
F.Free;
Result:=False;
Exit;
end;
F.Read(ItemCount, SizeOf(ItemCount));
lv.Items.Clear;
for idxItem := 1 to ItemCount do
with lv.Items.Add do
begin
F.Read(SubCount, SizeOf(SubCount));
F.Read(IdxImage, SizeOf(IdxImage));
ImageIndex := IdxImage;
F.Read(w, SizeOf(w));
pText := StrAlloc(w + 1);
pTemp := StrAlloc(w + 1);
F.Read(pTemp^, W);
StrLCopy(pText, pTemp, W);
Caption := StrPas(pText);
StrDispose(pTemp);
StrDispose(pText);
if SubCount > 0 then
for idxSubItem := 1 to SubCount do
begin
F.Read(w, SizeOf(w));
pText := StrAlloc(w + 1);
pTemp := StrAlloc(w + 1);
F.Read(pTemp^, W);
StrLCopy(pText, pTemp, W);
lv.Items[idxItem - 1].SubItems.Add(StrPas(pText));
StrDispose(pTemp);
StrDispose(pText);
end;
end;
F.Free;
lv.Items.EndUpdate;
end;
Страницы: 1 вся ветка
Текущий архив: 2006.10.08;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.04 c