Czesc wszystkim mam taka prosbe. Ponizej przedstawiam kod do stworzenia malego testu cos w stylu pytanie i odpowiedz.
powiem ze dziala (dane wczytuje z pliku INI)
1. co o nim sadzicie? moze dalo by sie to prosciej napisac?
jesli tak to co zmienic?
pytam dlatego iz potrzebuje to na zaliczenie
2. W niedalekiej przyszlosci wiem ze go bede miala udoskonalic i dodac do niego cos takiego by mozna bylo samemu bezposrednio z programu w prowadzac dane do pliku ini takie jak:
pytanie oraz odpowiedz poczym plik ini mialby sie aktualizowac cos na wzor
Edit1= podaj pytanie
Edit2= podaj odpowiedz
button1= zapisz do pliku
button2= anuluj
Tu prosba od czego zaczac, prosze o rady, moze jaki krotki zarys takiej instrukcji.
Z gory Serdecznie dziekuje.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IniFiles;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Button1: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
IniFile: TIniFile;
pytanienumer, liczbapytan, i: Integer;
pytania, odpowiedzi: array[1..100] of String;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Close;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
pytanienumer:= 1;
IniFile:= TIniFile.Create(ExtractFilePath(Application.ExeName)
+ 'config.ini');
liczbapytan:= IniFile.ReadInteger('glowne', 'liczbapytan', 0);
for i:=0 to liczbapytan do begin
pytania[i]:= IniFile.ReadString('pytania', IntToStr(i), '');
end;
for i:=0 to liczbapytan do begin
odpowiedzi[i]:= IniFile.ReadString('odpowiedzi', IntToStr(i), '');
end;
IniFile.Free;
Label7.Caption:= pytania[pytanienumer];
pytanienumer:= 2;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (Key=#13) then begin
Button1.Click;
end;
if (Key=#27) then begin
Form1.Close;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Label7.Caption:= pytania[pytanienumer];
if (lowercase(Edit1.Text)=lowercase(odpowiedzi[pytanienumer])) then begin
Label5.Caption:= IntTOStr(StrToInt(Label5.Caption)+1);
end else if (lowercase(Edit1.Text)<>lowercase(odpowiedzi[pytanienumer])) then begin
Label6.Caption:= IntTOStr(StrToInt(Label6.Caption)+1);
end;
Edit1.Text:= '';
pytanienumer:= pytanienumer + 1;
end;
end.
a oto plik Ini
[glowne]
liczbapytan=2
[pytania]
1=czy masz boba?
2=zong?
[odpowiedzi]
1=tak
2=nie