Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.09.2009, 14:35   #1
Siluet
Форумчанин
 
Регистрация: 05.12.2008
Сообщений: 143
По умолчанию создание типизированного файла

народ.. я вот никак не пойму как создать типизированный файл в делфи.
есть наработка но вы наверное будете смеятся
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 type a1=record
  oc:integer;
  fam:string;
  end;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  var a:a1;
  fa:file of a1;
  i:integer;
implementation

{$R *.dfm}

procedure TForm1.Button2Click(Sender: TObject);
begin
AssignFile(fa,'file');
rewrite(fa);
with a do
while true do begin
a.fam:=edit1.text;

read(a.fam); {тут я незнаю как записать слово в файл веденное в edit1}

end;
end.
объясните пожалуйста.. заранее спасибо

Последний раз редактировалось Siluet; 24.09.2009 в 14:41.
Siluet вне форума Ответить с цитированием
Старый 24.09.2009, 17:43   #2
mosq
Пользователь
 
Регистрация: 28.08.2009
Сообщений: 90
По умолчанию

вот здесь...
Код:
 type a1=record
  oc:integer;
  fam:string;
  end;
...надо указать какой длины string (например, fam:string[50]); иначе ошибка будет выскакивать.
правда это я из паскаля еще помню, может в дельфи это обработали как-то автоматически..
mosq вне форума Ответить с цитированием
Старый 24.09.2009, 17:49   #3
Siluet
Форумчанин
 
Регистрация: 05.12.2008
Сообщений: 143
По умолчанию

ну в паскале то можно и не писать это
Siluet вне форума Ответить с цитированием
Старый 25.09.2009, 09:10   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
{тут я незнаю как записать слово в файл веденное в edit1}
Ну write(fa,a.fam); соответственно c указанием файловой переменки
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.09.2009, 09:53   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну write(fa,a.fam); соответственно c указанием файловой переменки
Не-а, write(fa, a). Мы же запись в файл пишем, а не часть ее.
И строку в записи действительно нужно ограничивать по длине.

Последний раз редактировалось Баламут; 25.09.2009 в 09:56.
Баламут вне форума Ответить с цитированием
Старый 25.09.2009, 10:17   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
а не часть ее.
Запишешь часть - нарушишь структуру файла.
Это все равно что сказать "А мне не нужны гусенницы - они не стреляют, оставьте только пушку и я на танке воевать поеду"
Цитата:
И строку в записи действительно нужно ограничивать по длине.
Ну это верно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.09.2009, 10:30   #7
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Stilet, дружище, проснись уже! Сам же пишешь
Цитата:
Ну write(fa,a.fam); соответственно c указанием файловой переменки
Баламут вне форума Ответить с цитированием
Старый 25.09.2009, 11:18   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Баламут
А-а-а все поняв.
Я просто автора код скопипастил. Имелось ввиду конечно же:write(fa,a);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.09.2009, 14:38   #9
Siluet
Форумчанин
 
Регистрация: 05.12.2008
Сообщений: 143
По умолчанию

fa:file of a1;
он еще вот туда выводит ошибку
Siluet вне форума Ответить с цитированием
Старый 25.09.2009, 14:54   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ошибку
На китайском?

Догадываюсь чо в пипизированных файлах нужно полюбому образмеривать структуру, т.е. в твоем случае:
Код:
 type a1=record
  oc:integer;
  fam:string[500 например];
  end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка данных из типизированного файла diliana Паскаль, Turbo Pascal, PascalABC.NET 33 30.07.2009 14:59
Cортировка типизированного файла по 3м признакам Dremgor Помощь студентам 3 05.06.2009 14:10
Проблема с чтением типизированного файла. Вадим Буренков Общие вопросы Delphi 8 28.05.2009 13:31
Типизированные файлы.Создание, удаление, редактирование, сортировка записей типизированного файла.Паскаль Студент Шиза Помощь студентам 6 08.12.2007 13:41