| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Конец файлa
Конец
файла Пусть на диске есть
некоторый текстовый файл. Нужно в диалоговое окно вывести содержимое этого файла.
Решение задачи довольно очевидно: надо открыть файл, прочитать первую строку,
затем вторую, третью и т. д. до тех пор, пока не будет достигнут конец файла.
Но как определить, что прочитана последняя строка, достигнут конец файла? Для определения конца
файла можно воспользоваться функцией EOF (End of File — конец файла). У функции
EOF один параметр — файловая переменная. Значение функции EOF равно False, если
прочитанный элемент данных не является последним в файле, т. е. возможно дальнейшее
чтение. Если прочитанный элемент данных является последним, то значение EOF
равно True. Значение функции EOF
можно проверить сразу после открытия файла. Если при этом оно окажется равным
True, то это значит, что файл не содержит ни одного элемента данных, т. е. является
пустым (размер такого файла равен нулю). В листинге 7.5 приведена
процедура, которая выполняет поставленную задачу. Она читает строки из файла,
имя которого ввел пользователь во время работы программы, и выводит эти строки
в поле Memo. Окно программы приведено на рис. 7.6.
Рис. 7.6. Окно
программы Чтение из файла Листинг 7.5. Чтение
из файла unit rd_; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, Buttons; type TForm1
= class(TForm) Button2:
TButton; Edit1:
TEdit; Memo1:
TMemo; Button1:
TButton; procedure
Button2Click(Sender: TObject); procedure
ButtonlClick(Sender: TObject); private
{ Private declarations ) public {
Public declarations } end; var Form1:
TForml; implementation {$R
*.dfm} //
щелчок на кнопке Открыть procedure
TForm1.Button1Click(Sender: TObject); var f: TextFile; // файл fName: String[80]; // имя файла buf: String[80]; // буфер для чтения из файла begin fName
:= Edit1.Text; AssignFile(f, fName); {$!-} Reset(f);
// открыть для чтения {$I+} if
IOResult <> 0 then begin MessageDlgt'Ошибка
доступа к файлу ' + fName, mtError,[mbOk],0);
exit; end; // чтение из файла while
not EOF(f) do begin readln(f, buf); // прочитать строку из файла Memo1.Lines.Add(buf); // добавить строку в поле Memo1 end; CloseFile(f); // закрыть файл end; //
щелчок на кнопке Сохранить — запись в файл procedure TForml.Button2Click(Sender: TObject); var f: TextFile; // файл fName: String[80]; // имя файла i:
integer/; begin fName
:= Edit1.Text; AssignFile(f, fName); Rewrite(f);
// открыть для перезаписи
// запись в файл for i:=0 to Memo1.Lines.Count do // строки нумеруются с нуля writeln(f,
Memo1.Lines[i]); CloseFile(f);
// закрыть файл MessageDlg('Данные записаны в файл ',mtlnformation,[mbOk],0); end; end. Для организации обработки
файла использована инструкция цикла while, которая обеспечивает проверку значения
функции EOF перед каждым чтением, в том числе и перед первым. Наличие кнопки Сохранить
и соответствующей ей процедуры позволяет сохранить содержимое поля Memo
в файле, т. е. программа чтение из файла представляет собой примитивный редактор
текста. Добавление очередной прочитанной из файла строки в поле Memo выполняется применением метода Add к свойству Lines. Рубрика: Глава 7. Файлы
HTML 5: пять вещей вызывающих особый интер....
HTML 5 — это грядущее обновление гипертекстового языка разметки, основного способа создания контента для размещения его во всемирной паутине. Разработка HTML остановилась в 1999 году, на версии HTML 4.01 и с тех пор web-содержимое изменилось так, что текущие спецификации HTML перестали соответствовать сегодняшним требованиям. HTML 5 нацелен на то, чтобы увеличить функциональную совместимость HTML и соответствовать растущим требованиям разнообразного и смешанного web-контента. HTML 5 так же нацелен на устранение недостатков четвертой версии. В этой статье мы взглянем на 5 новых интересных вещей в HTML 5.
Подробнее... |
Рубрика: Html
| Добавлено: 22.12.2008
asp.net: ListView с разных сторон.
Элемент управления ListView был представлен в .Net Framework 3.5 как замена устаревшему GridView. Новый элемент имеет более расширенный функционал, чем его предшественник, но в тоже время лишен некоторых внутренних механизмов, что впрочем целиком следствие из расширенной универсальности ListView. Среди отличий ListView и GridView можно назвать и гибкую настройку разметки, что позволяет выводить данные не только в табличном виде, но и вообще в любом каком пожелает программист. Благодаря шаблонам ItemTemplate, EditItemTemplate, InsertItemTeplate можно настроить внешний вид при любом из состояний ListView: редактировании или выборе элемента.
Подробнее... |
Рубрика: .NET компоненты
| Добавлено: 22.12.2008
Создание кросс-таб отчета в Stimulsoft Rep....
Компания Стимулсофт предоставляет для разработчиков мощный набор инструментов для создания отчетов для Microsoft Visual Studio .Net 2005 и 2008; эти инструменты доступны как для Windows Forms, так и для Web Forms. Это генератор отчетов Stimulsoft Reports.Net. Генератор отчетов Stimulsoft Reports.Net имеет ряд особенностей: простая работа с дизайнером отчетов, полная поддержка экспорта в PDF, Word, Excel и многие другие форматы. Crystal Report и Microsoft Reporting Service – очень хорошие программные продукты для повседневной работы, но, если Вам необходимо создать отчеты с поддержкой кросс-табов, drill down, Ajax, штрих-кодов и возможностью подключения одновременно более одного источника данных, то Stimulsoft Reports.Net поможет Вам сэкономить массу времени. Также, данный генератор отчетов позволяет пользователям создавать свои собственные отчеты любой сложности. И все эти особенности делают Stimulsoft Reports.Net хорошим выбором в сфере программных продуктов для Business Intelligence.
Подробнее... |
Рубрика: .NET компоненты
| Добавлено: 22.12.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|