Цель лабораторной работы : Изучить возможности автоматического сохранения параметров и установок, принятых в программе
Задание: Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести на экран числа этой строки в порядке возрастания их значений.
Листинг программы:
unit lab5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons,IniFiles;
type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ComboBox1: TComboBox;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure ComboBox1KeyPress (Sender: TObject; var Key:char);
procedure FormClose(Sender: TObject; var Action:TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Variable : integer; //Переменная
Form1 : TForm1;
ConfigFile : TIniFile;
InitDir : String;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
//Установить значение текущего директория
InitDir := GetCurrentDir;
//Создать ini-файл Model в текущей директории
ConfigFile := TIniFile.Create(InitDir + '\Model.ini');
//Прочитать значение переменной Variable
Variable := StrToInt(ConfigFile.ReadString('Model','Variable' , '1'));
// Загрузка данных в ComboBox
ComboBox1.Items.Add('22 32 54');
ComboBox1.Items.Add('23 11 22');
ComboBox1.Items.Add('25 6 5 7 2');
ComboBox1.Items.Add('10 8 52 13');
//Присвоить значение переменной Variable
ComboBox1.ItemIndex := Variable;
ComboBox1Click(Sender);
end;
// *********************************************** //
procedure TForm1.ComboBox1Click(Sender: TObject);
var
St:string;
i,j:integer;
buf:char;
begin
//определение номера выбранной строки
//Занесение выбранной строки в переменную st
//St := ComboBox1.Items[ComboBox1.ItemIndex];
St := ComboBox1.Text;
For j := 1 to length(st)-1 do
For i := 1 to length(st)-1 do
If st[i]>st[i+1]
then
begin
buf:=St[i];
St[i]:=St[i+1];
St[i+1]:=buf;
end;
Label3.Caption:= St;
//Присвоить значение переменной Variable
Variable :=ComboBox1.ItemIndex;
//Записать значение переменной Variable в INI-файл Model
ConfigFile.WriteString('Model', 'Variable',IntToStr(Variable));
end;
procedure TForm1.ComboBox1KeyPress (Sender: TObject; var Key:char);
begin
if Key=#13 then
begin
ComboBox1.Items.Add(ComboBox1.Text);
ComboBox1.Text:='';
end;
end;
// *********************************************** //
procedure TForm1.FormClose(Sender: TObject; var Action:
TCloseAction);
begin
//Закрыть объекты TIniFile
ConfigFile.Free;
end;
end.
Результат выполнения программы:
Выводы: изучили свойства компонента TStringGrid. Написали программу с использованием массивов и ini-файла.