Ich habe gerade was zusammenprogrammiert was nicht geht. Ich muß den Programmcode anhand eins Strings in zwei Äste verzweigen. Allerdings gibt es mehrere Strings die "Wahr" erfüllen sollen. Mein Versuch war:
if Feld = ('String1' or 'String2' or 'String3') then... else...
Das spuckt dann die Fehlermeldung "Error: Operation "or" not supported for types "Constant String" and "Constant String"" aus. Fehlermeldung ist klar. Gibts da was intelligentes der muß ich mit Case und einer Hilfsvariable arbeiten?
if mit mehreren Werten
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: if mit mehreren Werten
Case ist eine Idee, Hilfsvariable ist nicht nötig:
HTH Michael
Code: Alles auswählen
case Feld of
'String1', 'String2', 'String3': DoSomething();
else
DoAnythingElse();
end;
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: if mit mehreren Werten
Pascal Syntax verwenden wäre auch ziemlich intelligent.Ta152 hat geschrieben:Gibts da was intelligentes
Code: Alles auswählen
if (Feld='S1') or (Feld='S2') or ...
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2822
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: if mit mehreren Werten
Oder zweite Möglichkeit die mir gerade noch einfiel:
Unit StrUtils wird benötigt.
Code: Alles auswählen
if AnsiMatchStr(Feld, ['String1', 'String2', 'String3']) then
DoSomething();
else
DoAnythingElse();
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
Re: if mit mehreren Werten
Man sieht den Wald vor lauter Bäumen nicht....
Danke.
Danke.