![]() |
Einige konstanten direkt im programm speichern
moin,
ich brauche in meinem programm eine liste, ich weiss schon wie sie auszusehen hat. Sagen wir mal es wären "wort1-wort10" wie kann ich die mit einkompilieren? ich brauche nämlich ein set, da ich nachher prüfen möchte ob sich ein wort in diesem befindet. Die Wörter selbst behinhalten auch "." usw daher kann ich kein typ definieren weil da ja keine sonderzeichen erlaubt sind. Ich hatte es bis jetzt immer so gemacht, das ich eine stringliste im onactivate die ganzen wörter hinzugefügt habe, aber das kanns doch nicht sein oder? Gibt es nicht so eine art set of string? |
Re: Einige konstanten direkt im programm speichern
Schau mal in der Hilfe unter typsierte Konstanten.
mfG mirage228 |
Re: Einige konstanten direkt im programm speichern
Tja, es leben die Basic-Zeiten, in denen man DATA-zeilen einbauen konnte ... :stupid:
Ich schreibe solche Dinge immer in eine Text-Datei und ziehe sie dann bei Programmstart per TStringList.LoadFromFile in eine StringList. Aber das ist nicht das, was du meintest. |
Re: Einige konstanten direkt im programm speichern
hallo mirage,
ich brauch einen typ der sie alle enthält, also ca so:
Delphi-Quellcode:
Type
TMyWords = ('hi+hallo', 'irgendwas.irgendwas2', { ...usw }); TSMyWords = Set of TMyWords; var MyWords: TSMyWords; ... if ('irgendwas.irgendwas2' in MyWords) then ShowMessage('hi'); geht das mit typisierten konstanten? @Ingo: Kein VB bitte :mrgreen: . So wie du hab ichs bis jetzt auch gemacht, aber ich will die wörter direkt haben, im programm, geht das nicht irgendwie? |
Re: Einige konstanten direkt im programm speichern
Zitat:
Delphi-Quellcode:
bringen.
const Woerter : array[1..3] of string = ('Seins', 'Szei', 'Sdrei');
Wenn's hilft .... |
Re: Einige konstanten direkt im programm speichern
hallo ingo,
könnt ich dort auch den "in" operator benutzen? also "word in array" oder so? |
Re: Einige konstanten direkt im programm speichern
Zitat:
Ich würde das Array dann bei Programmstart in eine StringListe laden (ach was! :lol: ) und die Abfrage mit
Delphi-Quellcode:
machen.
if StringList.IndexOf('Diesen String suche ich') > -1 then ...
|
Re: Einige konstanten direkt im programm speichern
Hi,
nein. Zumindest hat es bei mir noch nie funktioniert. :mrgreen: Aber du kannst dir schnell eine solche Funktion schreiben:
Delphi-Quellcode:
Chris
for i:=0 to High(aArray)-1 do
if aArray[i] = sSearch then Result := true; |
Re: Einige konstanten direkt im programm speichern
Hi!
Wie wäre es mit folgenden konstrukt?
Delphi-Quellcode:
oder hab ich dich falsch verstanden? ...hier hat man zu den eigentlichen string noch IDs, mit denen man rechnen kann, dass kann in vielen fällen sehr hilfreich sein :-D
Type
TMyWordID = (mw_hi_hallo, mw_irgendwas, mw_irgendwas2); TSMyWordIDs = Set of TMyWordIDs; const cMyWords: array[TMyWordID] of string = ('hi+hallo', 'irgendwas.foo', 'irgendwas2.bar'); ... var WordSet:TSMyWordIDs = [mw_hi_hallo, mw_irgendwas]; ... if wm_irgendwas in WordSet then ShowMessage(cMyWords[wm_irgendwas]); // edit: string war nicht zu // edit2: war unlogisch :wall: |
Re: Einige konstanten direkt im programm speichern
du könntest die Worte in eine Extra-Datei packen und diese dann als ressource einbinden. Und dann einfach TStringlist.LoadFromStream
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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