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

Вниз

с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.043 c
1-1156694491
Still Swamp
2006-08-27 20:01
2006.10.08
Баг с TMainMenu


8-1142597048
Lordalexander
2006-03-17 15:04
2006.10.08
Уменьшеть картинку


15-1158322063
nstur
2006-09-15 16:07
2006.10.08
Калькулятор


2-1158396165
SPACE!!
2006-09-16 12:42
2006.10.08
Хранение графических ресурсов ..


3-1155102872
rsa_
2006-08-09 09:54
2006.10.08
подскажите что делать с unicode в delphi.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский