AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme mit ComboBox

Ein Thema von Drahcir · begonnen am 13. Jun 2012 · letzter Beitrag vom 14. Jun 2012
Antwort Antwort
Drahcir

Registriert seit: 13. Jun 2012
34 Beiträge
 
Delphi 6 Personal
 
#1

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 20:35
Ich hau hier mal den ganzen Quellcode rein, auch wenn meine Bezeichnungen etwas konfus sind sollte man halbwegs verstehen worum es geht

Das mit dem debuggen peil ich nicht so ganz, damit muss ich mich auch nochmal ausführlicher Befassen, sry

Aber schön, das in diesem Teil des Codes schonmal kein Fehler vorliegt, da bin ich schon ein wenig erleichter

Ich hoffe das der vollständige Code mehr Licht ins Dunkel bringen kann und schonmal vielen Dank für die Mühe und Zeit

Delphi-Quellcode:
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.
und hier noch mein mLoganzeige was ab und an genutzt wird ...

Delphi-Quellcode:
unit mLogAnzeige;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmLogAnzeige = class(TForm)
    MemoLogAnzeige: TMemo;
    OpenDialog1: TOpenDialog;
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    function getAnzahl: Integer;
    function getZeile(nr : Integer): String;
    procedure Loeschen;
    procedure schreibeZeile(s : String);
  end;

var
  frmLogAnzeige: TfrmLogAnzeige;

implementation {$R *.dfm}

function TfrmLogAnzeige.getAnzahl: Integer;
begin
  getAnzahl := MemoLogAnzeige.Lines.Count
end;

function TfrmLogAnzeige.getZeile(nr : Integer): String;
begin
  getZeile := MemoLogAnzeige.Lines[nr];
end;

procedure TfrmLogAnzeige.Loeschen;
begin
  MemoLogAnzeige.Lines.Clear;
end;

procedure TfrmLogAnzeige.schreibeZeile(s : String);
begin
  MemoLogAnzeige.Lines.Add(s)
end;

procedure TfrmLogAnzeige.FormCreate(Sender: TObject);
begin
  if OpenDialog1.Execute
  then memoLoganzeige.Lines.LoadFromFile(Opendialog1.FileName);
end;

end.
und damit du es ganz genau weißt:

Delphi-Quellcode:
object cbLogIns: TComboBox
    Left = 8
    Top = 120
    Width = 305
    Height = 26
    DropDownCount = 90000
    ItemHeight = 18
    TabOrder = 3
    Text = 'Datum der Logins anzeigen und auswählen'
  end
//EDIT: Das Programm läuft ja einwandfrei durch, keine Fehler und gar nichts, die Daten werden auch in der Variable Datum gespeichert, wieso die dann nicht angezeigt werden ist meine Frage
Es gibt nur 10 Arten von Menschen - die die Binärzahlen lesen können und den Rest

Geändert von Drahcir (13. Jun 2012 um 20:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 21:35
ohne wirklich nachvollziehen zu können was da ablaufen soll, diese Stelle
  ini.ReadSectionValues('Logins', cbLogins.Items); aufgerufen irgendwo nach

cbLogins.Items.Add(Datum); kann es sein dass Du danach suchst ?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Drahcir

Registriert seit: 13. Jun 2012
34 Beiträge
 
Delphi 6 Personal
 
#3

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 21:44
ohne wirklich nachvollziehen zu können was da ablaufen soll, diese Stelle
  ini.ReadSectionValues('Logins', cbLogins.Items); aufgerufen irgendwo nach

cbLogins.Items.Add(Datum); kann es sein dass Du danach suchst ?
natürlich ... vielen vielen Dank, hab nicht gemerkt, das ich da ja auch die Combobox anspreche ...
ich hab wohl nur die ini.xxx gelesen und mir nichts dabei gedacht.

Danke für die schnelle Hilfe trotz laufender EM ...

Nächstes mal kontrollier ich wirklich jede Zeile bevor ich mich hier melde, was sicher noch öfter passiert
Es gibt nur 10 Arten von Menschen - die die Binärzahlen lesen können und den Rest
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 21:47
Dir ist klar, dass du da ziemlich viele Speicherlecks in deinem Code hast?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Drahcir

Registriert seit: 13. Jun 2012
34 Beiträge
 
Delphi 6 Personal
 
#5

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 22:16
Das Programm so bisher war nur ne winzig kleine Idee und ich lerne erst seit einem Jahr Pascal und das auch nur Hobbymäßig alle paar Wochen mal^^

Die Idee kam mir heute morgen im Bus und war nur ne Fix-Idee die ich eigentlich nie vor hatte zu Ende zu führen, jetzt aber doch ein wenig Lust daran gewonnen habe. Wenn du mir noch netterweise erklären magst wo ich überall Fehler drinnen habe wär das ganz nett^^
Es gibt nur 10 Arten von Menschen - die die Binärzahlen lesen können und den Rest
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 22:27
Du gibst zum Beispiel die ganzen Ini-Objekte nicht wieder frei.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Drahcir

Registriert seit: 13. Jun 2012
34 Beiträge
 
Delphi 6 Personal
 
#7

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 22:38
dooooch mach ich doch mit ini.free; oder muss danach noch was folgen?

also so wie ich das sehe folgt jedem Create ein .free ô.o sonst belehre mich eines besseren bitte
Es gibt nur 10 Arten von Menschen - die die Binärzahlen lesen können und den Rest
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: Probleme mit ComboBox

  Alt 13. Jun 2012, 23:11
Oh, habe ich übersehen, weil der Ressourcenschutzblock fehlt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Drahcir

Registriert seit: 13. Jun 2012
34 Beiträge
 
Delphi 6 Personal
 
#9

AW: Probleme mit ComboBox

  Alt 14. Jun 2012, 23:05
naja da es an dieser Stelle gelöst ist, vielen dank
Es gibt nur 10 Arten von Menschen - die die Binärzahlen lesen können und den Rest
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz