...kann uns einer sagen wie man das macht? lg
In Delphi eine neue Anwendung erzeugen.
2 x Label Komponente auf das Form1 legen (Caption auf Frage: und Antwort: setzen)
2 x TEdit Komponente auf das Form1 legen
1 x Button auf das Form 1 legen.
-> Button doppelklicken -> Editor geht auf.
Quelltext wie folgt vervollständigen:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses
IniFiles;
{$R *.dfm}
const
cNoQuestion = '
keine Frage angegeben';
cNoAnswer = '
keine Antwort angegeben';
procedure TForm1.Button1Click(Sender: TObject);
var
sl: TStringList;
s:
string;
begin
sl := TStringList.Create;
try
// IniDatei hat Dateinamen der Exe nur mit '.ini' statt '.exe'
with TIniFile.Create(ChangeFileExt(Application.ExeName, '
.ini'))
do
try
ReadSections(sl);
// Sektionen auslesen -> [Sektionname]
s := sl[random(sl.Count)];
// per "Zufall" eine Sektion auswählen
Edit1.Text := ReadString(s, '
Frage', cNoQuestion);
// Frage der Sektion in Edit Feld schreiben
Edit2.Text := ReadString(s, '
Antwort', cNoAnswer);
// Antwort - dito
finally
Free;
// IniDatei wieder freigeben
end;
finally
sl.Free;
// StringListe wieder freigeben
end;
end;
initialization
Randomize;
// Zufall initialisieren ;-)
end.
IniDatei anlegen.
Ini Datei ist eine Text-Datei mit dem Namen der Exe-Datei aber mit der Dateiendung ini statt exe
z.B. Project1.ini
Folgender Inhalt sollte funktionieren:
Code:
[1]
Frage=Warum?
Antwort=Darum!
[2]
Frage=Weshalb?
Antwort=Deshalb!
[Allgemeinwissen 1]
Frage=Was ist die Antwort auf die Frage nach dem Leben, dem Universum und einfach allem?
Antwort=42
[Fangfrage 1]
Frage=Wo wurde der Friedensvertrag von 1918 unterzeichnet?
Antwort=Unten rechts
Ich hoffe das hilft Dir.
Viel Spaß
MaBuSE