Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Синтаксис
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 25.06.2008, 13:04
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
Вопрос Как дописать в типизированный файл?

как дописать инфу в типизированный файл(тип простая запись), стандартная процедура append работает только для текстовых файлов...а какой процедурой за писать в типизированный??
Ответить с цитированием
  #2  
Старый 25.06.2008, 13:47
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Открытие уже существующего файла для записи - Reset(some_file). Rewrite - для создания нового файла, если файл уже создан то данные в нем будут удалены.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #3  
Старый 25.06.2008, 14:02
Phedor Phedor вне форума
Начинающий
 
Регистрация: 28.02.2008
Сообщения: 118
Репутация: 21
По умолчанию

Цитата:
Сообщение от friz
как дописать инфу в типизированный файл(тип простая запись), стандартная процедура append работает только для текстовых файлов...а какой процедурой за писать в типизированный??
Код:
type
  TType = record
    Id: Integer;
    Name: string[60];
  end;
var
  r: TType;
  f: file of TType;
begin
  assign(f, 'Файлик.dat');
  reset(f);
  ...
  read(f, r);
  ...
  write(f, r);
  ...
  close(f);
end;
Ответить с цитированием
  #4  
Старый 25.06.2008, 15:33
xchrom xchrom вне форума
Начинающий
 
Регистрация: 08.04.2008
Сообщения: 177
Репутация: 15
По умолчанию

ну чтобы дописать надо еще прогуляться до конца (eof) файла а потом писать Write...
Ответить с цитированием
  #5  
Старый 04.08.2008, 23:02
ProperDoze ProperDoze вне форума
Новичок
 
Регистрация: 04.08.2008
Сообщения: 53
Репутация: 10
По умолчанию

Код:
var
  File_1:TFileStream;
...

begin	
...

  File_1:=TFileStream.Create(filename, fmCreate or fmOpenWrite); // Открытие файла
  File_1.Seek(1, soFromEnd); // Выставление указателя в конец файла 
// Возможно вместо единицы ноль (уже не помню щас)))
 
  File_1.Write(Data,SizeOf( <type> ));  // Запись одного блока Data

	// вместо '<type>' надо указать тип твое записи DAta

  File_1.Free;

...
end;
Ответить с цитированием
  #6  
Старый 05.08.2008, 18:01
Аватар для Thrasher
Thrasher Thrasher вне форума
Illuminati
 
Регистрация: 06.03.2008
Адрес: Крым, г. Симферополь
Сообщения: 348
Репутация: 8808
По умолчанию

type
TType = record
Id: Integer;
Name: string[60];
end;
var
r: TType;
f: file of TType;
begin
assign(f, 'Файлик.dat');
reset(f);
Seek(f, FileSize(f)); - переместить указатель в конец файла
...
read(f, r);
...
write(f, r);
...
close(f);
end;
__________________
Хорошо написанная программа не требует документации
ICQ 9-184-668.
Ответить с цитированием
Этот пользователь сказал Спасибо Thrasher за это полезное сообщение:
Царь (16.06.2013)
  #7  
Старый 07.08.2008, 11:55
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

Спасибо все! но способ нашел сам покопался по своим старым тетрадкам
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:53.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter