Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.039 c
15-1158293479
Pazitron_Brain
2006-09-15 08:11
2006.10.08
Модель общественного повидения


2-1158914654
jjj
2006-09-22 12:44
2006.10.08
Вопрос по TBitBtn


2-1159108026
learner
2006-09-24 18:27
2006.10.08
Определение имен типов объектов.


15-1158318249
Wetr
2006-09-15 15:04
2006.10.08
Скомпилировать программу.


3-1154862962
serko
2006-08-06 15:16
2006.10.08
Найти далее и др.