13.01.2015 Views

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

Объектно-ориентированное программирование на С++ - eDrive

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

StringGrid1–>Cells[0][j] = myS[j].as; StringGrid1–>Cells[1][j] = myS[j].i;<br />

}<br />

StringGrid1–>Cols[0]–>SaveToFile (fName);<br />

Memo1–>Lines–>LoadFromFile (fName);<br />

RichEdit1–>Lines–>LoadFromFile (fName);<br />

}<br />

67<br />

Для проведения файлового обме<strong>на</strong> без рассмотренных компонентов в<br />

C++Builder используются функции, приведенные в табл. 13. Работа с файлом<br />

ведется с помощью файловых переменных (file variable), связываемых с конкретными<br />

файлами. Файл открывается для чтения, записи или других операций.<br />

После работы файл следует закрыть.<br />

Таблица 13<br />

Функция<br />

Int FileCreate (AnsiString name)<br />

Int FileOpen (AnsiString name, int<br />

mode)<br />

Int FileWrite (int handle, void<br />

*buffer, int count)<br />

Int FileRead (int handle, void<br />

*buffer, int count)<br />

void FileClose(int handle)<br />

int FileSeek (int handle, int offset,<br />

int origin)<br />

bool DeleteFile (AnsiString name)<br />

bool FileExists (AnsiString name)<br />

bool DirectoryExists (AnsiString<br />

name)<br />

bool ForceDirectories (AnsiString<br />

dir)<br />

AnsiString FileSearch (AnsiString<br />

name, AnsiString dir)<br />

Функции файлового обме<strong>на</strong><br />

Наз<strong>на</strong>чение<br />

Создает новый или переписывает существующий<br />

файл с заданным именем, возвращая файловую переменную.<br />

Открывает файл в режимах (mode) fmOpenRead<br />

(чтение), fmOpenWrite (запись), fmOpenReadWrite<br />

(чтение-запись), возвращая файловую переменную.<br />

Пишет count байт в файл handle из *buffer, возвращая<br />

число записанных байтов<br />

Читает count байт из файла handle в *buffer, возвращая<br />

число прочитанных байтов.<br />

Закрывает файл.<br />

Позиционирует указатель в файле со смещением<br />

(offset) относительно базы (origin), равной 0 (<strong>на</strong>чало),<br />

1 (текущая позиция указателя) или 2 (конец<br />

файла), возвращая позицию указателя в файле.<br />

Удаляет файл.<br />

Проверяет <strong>на</strong>личие файла.<br />

Проверяет <strong>на</strong>личие папки.<br />

Создает папки.<br />

Выполняет поиск файла name в папках dir.<br />

Ниже даны примеры организации файлового обме<strong>на</strong>. Первый простой<br />

пример представляем вывод в файл содержания полей Edit1 и Edit2:<br />

void _ _fastcall TForm1::FieldsToFileClick (TObject *Sender) {<br />

AnsiString a = Edit1–>Text,<br />

b = Edit2–>Text;

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!