СОЗДАНИЕ И ОБРАБОТКА ФАЙЛОВ В C++Builder
СОЗДАНИЕ И ОБРАБОТКА ФАЙЛОВ В C++Builder Разработать программу создания и просмотра файла
Постановка задачи • Создать файл, состоящий из записей: • Z(i) =
ИНТЕРФЕЙС
Главная форма +Main. Menu
+Save. Dialog +Open. Dialog
Стандартная форма Save. Dialog
Стандартная форма Open. Dialog
Модуль Unit #include "Unit 1. h" # include
Описываем структуру и файловую переменную struct ztab { int TABN; char FIO[80]; float NZP; }; FILE * Ftab;
Вносим в модуль1 описание структуры и файла //TForm 1 *Form 1; struct ztab { int TABN; char FIO[80]; float NZP; }; FILE * Ftab;
Операторы при запуске проекта(открытии формы) __fastcall TForm 1: : TForm 1(TComponent* Owner) : TForm(Owner) { String. Grid 1 ->Cells[0][0]="Таб_ном"; String. Grid 1 ->Cells[1][0]="ФИО"; String. Grid 1 ->Cells[2][0]="Зарплата"; }
Событие New 1 –создание нового файла void __fastcall TForm 1: : New. Click(TObject *Sender) { Ansi. String z; char s[80]; Save. Dialog 1 ->Title="New. File. Write"; if(Save. Dialog 1 ->Execute()) { //Save. Dialog 1 ->File. Name=""; z= Save. Dialog 1 ->File. Name; strcpy (s, z. c_str()); Ftab = fopen(s, "wb"); if (Ftab == NULL) Label 2 ->Caption="Ошибка-файл_не открыт!"; else Label 2 ->Caption="Файл открыт для записи!"; } }
Открытие файла для чтения событие Open. File. Click void __fastcall TForm 1: : Open. Click(TObject *Sender) { ztab zap; char s[80]; Ansi. String z; List. Box 1 ->Items->Clear(); Open. Dialog 1 ->Title = "Open. File" ; if(Open. Dialog 1 ->Execute()) {z= Open. Dialog 1 ->File. Name; strcpy (s, z. c_str()); Ftab = fopen (s, "rb");
Проверка открытия И чтение файла if (Ftab == NULL) Label 3 ->Caption="Ошибка-файл_не открыт!"; else { Label 3 ->Caption="Файл открыт для чтения!"; while (fread (&zap, sizeof(ztab), 1, Ftab)) {sprintf(s, "%d%20 s%6. 2 f", zap. TABN, zap. FIO, zap. NZP); z=s; List. Box 1 ->Items->Add(z); } fclose ( Ftab); Label 3 ->Caption="Файл прочитан!"; } }
Запись в файл заданное число строк(записей) void __fastcall TForm 1: : Write 1 Click(TObject *Sender) { int kz, i; ztab zap; Ansi. String z; kz = Str. To. Int(Edit 2 ->Text); for (i=1; i<=kz; i++) { z=String. Grid 1 ->Cells[0][i]; zap. TABN = Str. To. Int(z); z=String. Grid 1 ->Cells[1][i]; strcpy (zap. FIO, z. c_str()); z=String. Grid 1 ->Cells[2][i]; zap. NZP=Str. To. Float(z); fwrite (&zap, sizeof(ztab), 1, Ftab); } Label 3 ->Caption="Порция записана!"; }
Закрытие файла void __fastcall TForm 1: : Close. F 1 Click(TObject *Sender) { fclose (Ftab); Label 2 ->Caption="Файл записан!"; }
Завершение программы void __fastcall TForm 1: : Exit 1 Click(TObject *Sender) { Close(); }
ВСЕМ СПАСИБО! VENSEREMOS!
СОЗДАНИЕ И ОБРАБОТКА.ppt
- Количество слайдов: 18