Главная страница
    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.042 c
11-1133818651
Vedun
2005-12-06 00:37
2006.10.08
Работа с базами данных


6-1147423933
Alek
2006-05-12 12:52
2006.10.08
скорость закачки


15-1158246367
Pazitron_Brain
2006-09-14 19:06
2006.10.08
Можно ли?


2-1159109758
Серый
2006-09-24 18:55
2006.10.08
Поля Edit


3-1154527729
Scorpio
2006-08-02 18:08
2006.10.08
Получение номера из БД в программу





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