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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.06.2012, 21:35   #1
cezer
Пользователь
 
Регистрация: 01.06.2012
Сообщений: 22
По умолчанию Программа на Delphi выдаёт ошибку при записи в файл

Вообщем история такая когда запускаю программу через Делфи он иногда открывает а иногда выдаёт ошибку и подчеркивает строку write(f, rich); // записать содержимое полей записи в файл
и подскажите перелопатил кучу инфы с гугла как сделать чтоб иконка программы в трее отображалась так и не получилось ((( Надеюсь на вашу помощь вот код:
Код:
unit Form_;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit; // Название
Button1: TButton; // кнопка Добавить
Label5: TLabel;
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;


// запись файла
TDetail=record
name: string[40]; // Название
end;

var
Form1: TForm1;
f: file of TDetail; // файл записей - база данных

implementation

{$R *.DFM}

// активизация формы
procedure TForm1.FormActivate(Sender: TObject);
var
resp : word; // ответ пользователя
begin
AssignFile(f, 'D:\Kompas_Base.db');
{$I-}
Reset(f); // открыть файл
Seek( f, FileSize(f)); // указатель записи в конец файла
{$I+}
if IOResult = 0
then button1.enabled:=TRUE // теперь кнопка Добавить доступна
else
begin
resp:=MessageDlg('Файл базы данных не найден.'+
'Открыть БД?',mtInformation,[mbYes,mbNo],0);
if resp = mrYes then
begin
{$I-}
rewrite(f);
{$I+}
if IOResult = 0
then button1.enabled:=TRUE
else ShowMessage('Ошибка создания файла БД.');
end;
end;
end;

// щелчок на кнопке Добавить
procedure TForm1.Button1Click(Sender: TObject);
var
rich: TDetail;
begin
with rich do
begin
name := Edit1.Text;
end;
end;
write(f, rich); // записать содержимое полей записи в файл
end;

// завершение работы программы
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseFile( f ); // закрыть файл
end;

end.

Последний раз редактировалось Stilet; 05.06.2012 в 22:10.
cezer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа с WebBrowser выдаёт ошибку paxan86 Общие вопросы Delphi 30 22.11.2011 20:37
Программа выдаёт ошибку, не пойму, как исправить. Яна Гришина Помощь студентам 14 06.08.2011 18:43
Delphi. Программа взаимодействия с MS Word выдаёт ошибку "сервер RPC недоступен" CAID Помощь студентам 0 20.04.2011 13:11
программа выдаёт ошибку brans Microsoft Office Excel 3 24.10.2010 13:55