| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Статьи:: Delphi :: Delphi 7 начинающему :: Глава 8. Типы данных, определяемые программистом :: Чтение записи из файла
Чтение записи из файла
Чтение
записи из файла Рассмотрим программу,
демонстрирующую процесс чтения и обработки записей файла. Программа Чтение
записей из файла, диалоговое окно которой представлено на рис. 8.4, а текст
— в листинге 8.2, открывает файл, сформированный программой Добавление записи
в файл, и, в зависимости от того, какой из переключателей все или
выбрать — установлен, выводит список медалей, выигранных соответственно
представителями всех стран или страны, название которой введено в поле Страна.
Для вывода результата чтения из файла используется компонент Memol. В табл. 8.2 приведены
значения свойств компонентов формы. Так как компонент Memol
предназначен только для просмотра информации, то свойству Readonly (только чтение,
просмотр) присвоено значение True. Свойство scroiiBars (полосы прокрутки) компонента
Memo позволяет задавать отображаемые полосы прокрутки. По умолчанию свойству
scroiiBars присвоено значение ssNone, т. е. полосы прокрутки не отображаются.
В рассматриваемом примере выводится вертикальная полоса, поэтому свойству ScroiiBars
присвоено значение ssVertical. Таблица 8.2.
Значения свойств компонентов
Для ввода названия
страны используется компонент ComboBox1, что позволяет задавать имя не только
прямым вводом названия, но и выбором из списка. Список стран нужно сформировать
во время создания формы путем присвоения значения свойству items. Чтобы сразу после запуска
программы список выбора страны был недоступен (т. к. выбран переключатель все
группы Показать), свойству Enabled компонентов ComboBox1 и Label1
во время создания формы нужно присвоить значение False. Список ввода-выбора
названия страны (ComboBox1) становится доступным в результате выбора во время
работы программы переключателя выбрать. Процедура обработки события Onclick
на переключателе RadioButton2 делает доступным поле ComboBox1.
Рис. 8.4.
Окно программы Чтение записей из файла Листинг 8.2.
Чтение записей из файла unit
rdrec_; interface uses Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls; type TForm1
= class(TForm) RadioButton1: TRadioButton; // переключатель Все RadioButton2:
TRadioButton; // переключатель Выбрать //
текст Страна Button1:
TButton; GroupBox1:
TGroupBox; Label1:
TLabe1; procedure
Button1Click(Sender: TObject); procedure
RadioButton2Click(Sender: TObject); procedure
RadioButton1Click(Sender: TObject); ComboBox1:
TComboBox; // комбинированный список
// для ввода названия страны Memol:
TMemo; // поле вывода записей, удовлетворяющих
// условию запроса private {
Private declarations } public {
Public declarations } end; var Form1:
TForm1; implementation {$R
*.DFM} procedure TForm1.Button1Click(Sender: TObject) ; type //
тип медали TKind
= (GOLD,SILVER,BRONZE); //
запись файла TMedal
= record country:string[20]; sport:string[20]; person:string[40]; kind:TKind; end; var f: file of TMedal; // файл записей rec: TMedal; // запись, прочитанная из файла n: integer; // кол-во записей, удовлетворяющих запросу st: string[80]; begin AssignFile(f,'a:medals.db'); {$I-} Reset
(f); // открыть файл для чтения
{$I-} if
IOResult
<> 0 then begin ShowMessage('Ошибка открытия файла БД.'); Exit; end; //
обработка БД if
RadioButton2.Checked
then Memo1.Lines.Add('***
' + ComboBox1.Text + ' ***'); n := 0; Memol.Clear; // очистить список поля Memo while
not EOF(f) do begin read(f, rec); // прочитать запись if
RadioButton1.Checked or (rec.country
= ComboBoxl.Text) then begin n
:= n + 1; st
:= rec.person+ ', ' + rec.sport; if
RadioButtonl.Checked then st
:= st + ', '+ rec.country; case rec.kind of GOLD: st := st+ ', золото'; SILVER:st := st+ ', серебро'; BRONZE:st := st+ ', бронза'; end; Memo1.Lines.Add(st); end; end; CloseFile(f);
if n = 0 then ShowMessage('В БД нет запрашиваемой информации.'); end; //
переключатель Выбрать procedure
TForm1.RadioButton2Click(Sender: TObject); begin Label1.Enabled
:= True; ComboBox1.Enabled
:= True; // теперь поле Страна доступно ComboBox1.SetFocus;
// курсор в поле Страна end; //
переключатель Все procedure
TForm1.RadioButton1Click(Sender: TObject); begin Label1.Enabled
:= False; ComboBox1.Enabled := False; // теперь поле Страна не доступно end; end. Процедура TForm1.Button1Click
открывает файл и последовательно считывает находящиеся в нем записи. Содержимое
записи добавляется в поле Memol, если прочитанная запись удовлетворяет условию
запроса, т. е. содержимое поля country совпадает с названием страны, введенным
пользователем в поле редактирования компонента ComboBox1, или если выбран переключатель
RadioButton1. Информация в поле Memo
добавляется инструкцией Memo1.Lines.Add(st), которая является инструкцией применения
метода Add (Добавить) к компоненту Memo1. Примечание
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 |
Контакты |
Реклама на сайте
|