Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Примеры и задачи.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
3.66 Mб
Скачать

Implementation

{$R *.dfm}

// нажатие клавиши в поле редактирования

procedure TForml.EditlKeyPress(Sender: TObject; var Key: Char),

begin

if Key = #13 // клавиша <Enter>

then Buttonl.SetFocus; end;

140

Час

Примеры и задачи

141

// щелчок на кнопке Открыть

procedure TForral.ButtonlClick(Sender: TObject);

var

f: TextFile; // файл

fName: String[80]; // имя файла

buf: String[80]; // буфер для чтения строк

begin

fName := Editl.Text; AssignFile(f, fName);

try

Reset(f); // открыть для чтения except

on EInOutError do begin

ShowMessage('Ошибка доступа к файлу '+

fName); exit; end; end;

// чтение из файла while not EOF(f) do begin

readlnff, buf); // прочитать строку из файла Memol.Lines.Add(buf); // добавить строку в поле Memol end;

CloseFile(f); // закрыть файл end;

// щелчок на кнопке Сохранить

procedure TForml.Button2Click(Sender: TObject);

var

f: TextFile; // файл

fName: String[80]; // имя файла

i: integer; begin

fName := Editl.Text;

AssignFile(f, fName);

try

Rewrite (f); // открыть для перезаписи

except

on EInOutError do begin

ShowMessage('Ошибка доступа к файлу '+ fName); exit; end; end;

// запись в файл

for i:=0 to Memol.Lines.Count do // строки в поле Memo

// пронумерованы с нуля writelnff, Memol.Lines[i]) ;

CloseFile (f) ; // закрыть файл

MessageDlg('Данные записаны в файл', mtlnformation,[mbOk], 0) ; end;

// щелчок на переключателе Только чтение procedure TForml.CheckBoxlClick(Sender: TObject); begin

if not CheckBoxl.Checked then begin

Memol.Readonly := False; // разрешить редактирование Button2.Visible := True // кнопка Сохранить доступна end else

begin

Memol.Readonly := True; // запретить редактирование Button2.Visible := False; // скрыть кнопку Сохранить end; end;

end.

51. Напишите программу, которая в поле Memo выводит содер­жимое текстового файла. Для получения от пользователя имени файла используйте стандартное диалоговое окно Открытие фай­ла. Рекомендуемый вид диалогового окна приведен на рис. 1.52.

142

Час

Примеры и задачи

143

Рис. 1.52. Форма программы Просмотр

Implementation

{$R *.dfm)

// щелчок на кнопке Открыть

procedure TForml.ButtonlClick(Sender: TObject);

var

f: TextFile; // файл

fName: String[80]; // имя файла

buf: String[80]; // буфер для чтения строк

begin

if not OpenDialogl.Execute then { пользователь закрыл диалог ' щелчком на кнопке Отмена } exit;

// пользователь выбрал файл fName := OpenDialogl.FileName; Forml.Caption := fName; AssignFile(f, fName);

try

Reset(f); // открыть для чтения except

on EInOutError do

begin

ShowMessagel'Ошибка доступа к файлу '+

fName) ; exit; end; end;

// чтение из файла while not EOF(f) do begin

readln(f, buf); // прочитать строку из файла Memol.Lines.Add(buf); // добавить строку в поле Memol end;

CloseFile(f); // закрыть файл end;

procedure TForml.FormCreate(Sender: TObject); begin

// определим фильтр

OpenDialogl.Filter := 'Текст I *.txt'; end;

end.

52. Напишите профамму, которая добавляет в базу данных "По­года", реализованную в виде текстового файла, информацию о дневной температуре. Для ввода даты используйте компонент MonthCaiendar. Если файл данных отсутствует, то программа должна его создать. Рекомендуемый вид формы программы при­веден на рис. 1.53.