unit mSpielerDB;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IniFiles, mLogAnzeige, Grids, ComCtrls, Calendar,
ValEdit, StrUtils;
type
TfrmMain =
class(TForm)
btSpielersuche: TButton;
cbSpieler: TComboBox;
btMehrInformationen: TButton;
lbweitereInfos: TLabel;
cbLogIns: TComboBox;
lbAktualisierung: TLabel;
Memo1: TMemo;
procedure btSpielersucheClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure btMehrInformationenClick(Sender: TObject);
private
ini: TIniFile;
filename:
String;
hLogFenster : TfrmLogAnzeige;
zDatum :
string;
public
{ Public-Deklarationen }
end;
var
frmMain: TfrmMain;
implementation {$R *.dfm}
procedure TfrmMain.FormCreate(Sender: TObject);
var SpielerlisteIni : TIniFile;
Spielerliste :
String;
I : Integer;
begin
{***** Auslesen einer Spieler.ini, Eintrag der möglichen Spieler in eine Combobox}
Spielerliste := ExtractFilePath(ParamStr(0)) + '
Spieler.ini';
SpielerlisteIni := TIniFile.Create(Spielerliste);
SpielerlisteIni.ReadSection('
Spieler', cbSpieler.Items);
SpielerlisteIni.Free;
{***** Anlegen des Log-Formulars mit Textanzeige *****}
//Achtung: Nach dem Create wird das OpenDialog geöffnet!!!
hLogFenster := TfrmLoganzeige.Create(frmMain);
hLogFenster.Show;
end;
procedure TfrmMain.btSpielersucheClick(Sender: TObject);
var SpielerlisteIni : TIniFile;
Spielerliste :
String;
I : Integer;
begin
btSpielersuche.Enabled := false;
cbSpieler.Enabled := false;
Caption := '
Suche: ' + cbSpieler.Text;
{**** Eventuelles Schreiben eines neuen Charakters in die Spieler.ini}
Spielerliste := ExtractFilePath(ParamStr(0)) + '
Spieler.ini';
SpielerlisteIni := TIniFile.Create(Spielerliste);
SpielerlisteIni.WriteString('
Spieler', cbSpieler.Text, '
');
SpielerlisteIni.Free;
{**** Auslesen oder anlegen einer Spielerdatei mit Eintragen des Änderungsdatum}
If Trim(cbSpieler.Text) <> '
'
Then begin
filename := ExtractFilePath(ParamStr(0)) + Trim(cbSpieler.Text) + '
.ini';
ini := TIniFile.Create(filename);
ini.WriteString('
Letzte Änderung', '
Datum', DateToStr(Now));
ini.Free;
// freigeben der Spielerspezifischen .ini Datei
end;
end;
procedure TfrmMain.btMehrInformationenClick(Sender: TObject);
var I, Zeile : Integer;
Ein, Datum, Uhrzeit, Koordinaten :
string;
begin
//Öffnen der Spielerdatei
filename := ExtractFilePath(ParamStr(0)) + Trim(cbSpieler.Text) + '
.ini';
ini := TIniFile.Create(filename);
for Zeile := 0
to hLogFenster.getAnzahl-1
do begin
ein := hLogFenster.getZeile(Zeile);
if pos(cbSpieler.Text, Ein) <> 0
then
if pos('
logged in with entity id', ein) <> 0
then begin
for I := 12
to 19
do Uhrzeit := Uhrzeit + ein[I];
Datum := leftStr(Ein,10);
Koordinaten := copy(Ein, pos('
(',Ein)+1,200);
Delete(Koordinaten,pos('
)',Koordinaten),1);
cbLogins.Items.Add(Datum);
// Memo1.Lines.Add(Datum);
Uhrzeit := '
';
end;
// ende von if pos() <> 0
end;
// ende der for Zeile := 0 to hLog...
// Auslesen der Datei
lbAktualisierung.Caption := '
Aktualisiert: ' + ini.ReadString('
Letzte Änderung', '
Datum', '
Fehler beim Auslesen!');
ini.ReadSectionValues('
Logins', cbLogins.Items);
//Auslesen des Datums
// Freigeben der Datei
ini.Free;
end;
end.