if mit mehreren Werten

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Ta152
Beiträge: 10
Registriert: Mi 13. Feb 2013, 11:58

if mit mehreren Werten

Beitrag von Ta152 »

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?

Benutzeravatar
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

Beitrag von m.fuchs »

Case ist eine Idee, Hilfsvariable ist nicht nötig:

Code: Alles auswählen

  case Feld of
    'String1', 'String2', 'String3': DoSomething();
  else
    DoAnythingElse();
  end;
HTH Michael
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Benutzeravatar
theo
Beiträge: 10899
Registriert: Mo 11. Sep 2006, 19:01

Re: if mit mehreren Werten

Beitrag von theo »

Ta152 hat geschrieben:Gibts da was intelligentes
Pascal Syntax verwenden wäre auch ziemlich intelligent.

Code: Alles auswählen

if (Feld='S1') or (Feld='S2') or ...

Benutzeravatar
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

Beitrag von m.fuchs »

Oder zweite Möglichkeit die mir gerade noch einfiel:

Code: Alles auswählen

  if AnsiMatchStr(Feld, ['String1', 'String2', 'String3']) then
    DoSomething();
  else
    DoAnythingElse();
Unit StrUtils wird benötigt.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Ta152
Beiträge: 10
Registriert: Mi 13. Feb 2013, 11:58

Re: if mit mehreren Werten

Beitrag von Ta152 »

Man sieht den Wald vor lauter Bäumen nicht....

Danke.

Antworten