Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ähnlich lautende Parameter unterscheiden (https://www.delphipraxis.net/46906-aehnlich-lautende-parameter-unterscheiden.html)

ringli 2. Jun 2005 16:56


Ähnlich lautende Parameter unterscheiden
 
Ich möchte für einen Kommandozeilenpacker der sich über eine Scriptdatei steuern lässt so etwas wie einen Scripteditor basteln. Mein Problem ist jetzt das sich einige Parameter ähneln und ich beim Einlesen einer vorhandenen Scriptdatei die dazugehörigen Checkboxen nicht korrekt setzen kann.

Beispiel:
Code:
-SFX               //- Dies ist der erste Kommentar
-SFX-TYP0          //- noch einer
-SFX-OS1           //- und noch einer
Im Moment versuche ich es mit AnsiContainsText um zu bestimmen welcher Parameter sich in der eingelesenen Zeile befindet. Leider wird auch bspw. bei der Zeile SFX-TYP0 die Checkbox für den Parameter -SFX gesetzt, was ja eigentlich auch logisch ist.

Die Frage ist jetzt also wie ich diese ähnlichen Parameter unterscheiden kann? :gruebel:

[EDIT]
Die Parameter müssen nicht zwangsläufig in der gezeigten Reihenfolge vorkommen, was das ganze noch schwieriger macht. :(

marabu 2. Jun 2005 17:02

Re: Ähnlich lautende Parameter unterscheiden
 
In so einem Fall muss immer zuerst nach dem längsten String gesucht werden. Also suche erst nach -SFX-, und dann nach -SFX.

Grüße vom marabu

yankee 2. Jun 2005 17:05

Re: Ähnlich lautende Parameter unterscheiden
 
wo ist das Problem?
geh doch einfach alle Zeilen durch. Wenn du nur ein Befehl pro Zeile zulässt, ignorierst du einfach alles hinter dem ersten Leerzeichen. Wenn meherer Befehle vorkommen dürfen, dann explodeexplodest du das nach den Leerzeichen und gehst alles durch:
if arg='SFX-ISO1' then ISOcheckBox.checked :=true;
wenn du deine checkboxen systhematisch genug benennst, reicht vielelicht sogar FindCompoenent

ringli 2. Jun 2005 20:49

Re: Ähnlich lautende Parameter unterscheiden
 
Danke für die Antworten. Ich werde es wohl so machen wie Marabu es geschrieben hat, da es nach den ersten Tests ganz gut aussieht. Wenn jemand aber noch eine elegantere Lösung hat... ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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