Чтение записи из файла
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.
В табл. 8.2 приведены значения свойств компонентов формы.
Так как компонент Memo1 предназначен только для просмотра информации, то свойству Readonly (только чтение, просмотр) присвоено значение True. Свойство scrollBars (полосы прокрутки) компонента Memo позволяет задавать отображаемые полосы прокрутки. По умолчанию свойству scrollBars присвоено значение ssNone, т. е. полосы прокрутки не отображаются. В рассматриваемом примере выводится вертикальная полоса, поэтому свойству ScrollBars присвоено значение ssVertical.