Недавно добавленные исходники

•  TDictionary Custom Sort  1 228

•  Fast Watermark Sources  1 493

•  3D Designer  2 389

•  Sik Screen Capture  1 908

•  Patch Maker  2 046

•  Айболит (remote control)  1 853

•  ListBox Drag & Drop  1 547

•  Доска для игры Реверси  45 236

•  Графические эффекты  1 840

•  Рисование по маске  1 709

•  Перетаскивание изображений  1 346

•  Canvas Drawing  1 273

•  Рисование Луны  1 145

•  Поворот изображения  998

•  Рисование стержней  1 052

•  Paint on Shape  721

•  Генератор кроссвордов  1 061

•  Головоломка Paletto  923

•  Теорема Монжа об окружностях  1 186

•  Пазл Numbrix  809

•  Заборы и коммивояжеры  1 125

•  Игра HIP  731

•  Игра Go (Го)  699

•  Симулятор лифта  766

•  Программа укладки плитки  671

•  Генератор лабиринта  763

•  Проверка числового ввода  727

•  HEX View  820

•  Физический маятник  723

•  Задача коммивояжера  769

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Использование TFileStream



Оформил: DeeCo

type

   TPerson = record
     Name: string[50];
     vorname: string[50];
   end;

   TComputer = record
     Name: string[30];
     cpu: string[30];
   end;

 var
   Form1: TForm1;

   Person: TPerson;
   Computer: TComputer;

   Stream: TFileStream;

 implementation

 {$R *.DFM}

 //Speichern resp. Erstellen von Datei 
//Save or create the file 
procedure TForm1.Button1Click(Sender: TObject);
 begin
   try
     Stream := TFileStream.Create('c:\test.dat', fmOpenReadWrite);
   except
     Stream := TFileStream.Create('c:\test.dat', fmCreate);
   end;

   //2 Eintrage pro Record 
  //save 2 records for TPerson and TComputer 
  Person.Name    := 'Grossenbacher';
   Person.vorname := 'Simon';
   Stream.WriteBuffer(Person, SizeOf(TPerson));

   Person.Name    := 'Stutz';
   Person.vorname := 'Thomas';
   Stream.WriteBuffer(Person, SizeOf(TPerson));

   Computer.Name := 'Delphi';
   Computer.cpu  := 'Intel';
   Stream.WriteBuffer(Computer, SizeOf(TComputer));

   Computer.Name := 'Win';
   Computer.cpu  := 'AMD';
   Stream.WriteBuffer(Computer, SizeOf(TComputer));

   Stream.Free;
 end;

 //ladt alle daten von TPerson in listbox1 und 
//daten von TComputer in Listbox2 

//load records from TPerson to listbox1 and 
//load records from TComputer to listbox2 
procedure TForm1.Button2Click(Sender: TObject);
 var
   i: Integer;
 begin
   try
     // nur lesen offnen 
    //open read only 
    Stream := TFileStream.Create('c:\test.dat', fmOpenRead);
   except
     ShowMessage('Datei konnte nicht geladen werden.');
     Exit;
   end;

   //variable i auf anzahl Eintrage setzen 

  //set variable i to the record count 

  //Einlesen von TPerson 
  //Read records TPerson 
  for i := 2 downto 1 do
   begin
     Stream.ReadBuffer(Person, SizeOf(TPerson));
     Listbox1.Items.Add(Person.vorname + ' ' + Person.Name);
   end;

   //Einlesen von TComputer 
  //Read Records TComputer 
  for i := 2 downto 1 do
   begin
     Stream.ReadBuffer(Computer, SizeOf(TComputer));
     Listbox2.Items.Add(Computer.Name + ' ' + Computer.cpu);
   end;

   Stream.Free;
 end;







Copyright © 2004-2022 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте   Facebook   Ссылка на Twitter   Ссылка на Telegram