Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit Events (https://www.delphipraxis.net/127456-problem-mit-events.html)

guidok 14. Jan 2009 06:19

Re: Problem mit Events
 
Wie wäre es denn, wenn die Texte in einer Stringlist abgelegt wären?

Dann kannst du den Text über die Zählvariable indexieren.

Wechselnde Dialoge könntest du relativ leicht aus Dateien nachladen, evtl. verschlüsseln, damit nicht jeder die Texte editieren kann.

Delphi-Quellcode:
  //...
  public
   Textstelle: Integer; //Das ist der Zähler
   TexteMann1: TStrings;
  end;

//die Texte aus einer Datei laden
  TexteMann1.LoadFromFile(IrgendeinDateiname);

//die Texte anzeigen
  Mann1Lbl.Caption := TexteMann1[Textstelle];

Angelnoir 14. Jan 2009 14:53

Re: Problem mit Events
 
Das ist mal ne gute Ide, hab mir eh shcon Gedanken gemacht wie ich meine Daten etwas schwieriger zugänglich mache, da mein Informatikkurs bestimmt Freude daran hätte, meine Gespräche zu verändern :-D
Wird heute abend gleich ausprobiert

guidok 14. Jan 2009 15:09

Re: Problem mit Events
 
Da die TStringList auch Namen-Wertepaare unterstützt (z.B. Dialog1Zeile1="Dies ist eine Textzeile") könntest du auch darüber nachdenken, alle Inhalte in einer Stringliste zu führen.

Zum Zugriff auf die Namen und Werte gibt es entsprechende Eigenschaften:
Delphi-Quellcode:
Mann1Lbl.Caption := TexteMann1.Values('Dialog1Zeile1');
Dies weist dem Caption den Text 'Dies ist eine Textzeile" zu.

Optimalerweise solltest du dir eine TDialogklasse von TStringList ableiten, die über die zusätliche Eigenschaft Dialogtext(Dialognummer, Dialogzeile) verfügt. Darin kapselst du dann den Aufruf über Values und kannst im Hauptprogramm:

Delphi-Quellcode:
Mann1Lbl.Caption := TexteMann1.Dialogtext(1,1); //Dialog 1, Zeile 1

Ach ja, weil ich es oben vergessen habe:
Delphi-Quellcode:
TexteMann1 := TStringList.Create; //nicht vergessen die Variable zu instantiieren
//..

TextMann1.Free; //und später auch irgendwo wieder freizugeben!
Das alles sind nur Anregungen, was machbar ist. Es gibt natürlich noch viel mehr Möglichkeiten, dazu kenne ich jetzt deine Vorgehensweise nicht zu der du deine optimale Lösung suchen musst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:46 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz