24.11.2014 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.

19<br />

for (int i=0; iColCount; ++i)<br />

f += StringGrid1–>Cells [i][j] + '\n';<br />

if (!SaveDialog1–>Execute ()) return;<br />

int file = FileCreate (SaveDialog1–>FileName);<br />

if (FileWrite (file, f.c_str (), f.Length ()) == –1) ShowMessage ("Не записать");<br />

FileClose (file);<br />

5. Чтение файла в таблицу. Читать таблицу удобно с помощью TStringList:<br />

TStringList *f = new TStringList;<br />

int k = 0;<br />

if (!OpenDialog1–>Execute ()) return;<br />

f–>LoadFromFile (OpenDialog1–>FileName);<br />

for (int j=0; jRowCount; ++j)<br />

for (int i=0; iColCount; ++i)<br />

if (k < f–>Count) StringGrid1–>Cells [i][j] = f–>Strings [k++];<br />

delete f;<br />

6. Добавление строки в файл. Чтобы добавить в файл активную строку текущей<br />

таблицы, можно воспользоваться функциями файловых операций<br />

FileOpen, FileWrite, FileSeek, FileClose:<br />

AnsiString f = "";<br />

for (int i=0; iColCount; ++i)<br />

f += StringGrid1–>Cells [i][StringGrid1–>Row] + '\n';<br />

if (!SaveDialog1–>Execute ()) return;<br />

int file = FileOpen (SaveDialog1–>FileName, fmOpenWrite);<br />

if (file == –1) return;<br />

if (FileSeek (file,0,2) == –1 || FileWrite (file, f.c_str (), f.Length ()) == –1)<br />

ShowMessage("Неудача");<br />

FileClose (file);<br />

7. Запись заголовка таблицы в файл. Для проведения этой операции полезно<br />

воспользоваться способностью компонента TStringList формировать многострочные<br />

текстовые файлы в формате «имя=з<strong>на</strong>чение», где свойством<br />

Values задается произвольное имя параметра, которому присваивается<br />

з<strong>на</strong>чение, <strong>на</strong>пример:<br />

TStringList *sl = new TStringList;<br />

sl–>Values ["Заголовок 0"] = StringGrid1–>Cells [0][0];<br />

sl–>Values ["Заголовок 1"] = StringGrid1–>Cells [1][0];<br />

sl–>Values ["Заголовок 2"] = StringGrid1–>Cells [2][0];<br />

if (!SaveDialog1–>Execute ()) return;<br />

AnsiString fn = SaveDialog1–>FileName;

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

Saved successfully!

Ooh no, something went wrong!