Diese Anfängerfrage ist 'in'

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Diese Anfängerfrage ist 'in'

Beitrag von Euklid »

Hallo!

Habe erneut eine einfache Anfängerfrage. Habe eben versucht, die Dokumentation der FPC-RTL nach dem Befehl 'in' zu durchsuchen. Ihr könnt Euch denken, wozu die Suche geführt hat. :cry:

Jedenfalls sieht meine Syntax wie folgt aus:

Code: Alles auswählen

if NOT (s2 in ['ln', 'exp', 'sin', 'cos', 'tan', 'cot', 'sec', 'csc', 'abs', 'sign', 'sinh', 'cosh', 'tanh', 'coth', 'sech', 'csch', 'arcsin', 'arccos', 'arctan', 'arccot', 'arcsec', 'arccsc', 'arsinh', 'arcosh', 'artanh', 'arcoth', 'arsech', 'arcsch']) then FehlerNr:=2;


Also, ich möchte wissen, ob s2 gleich einen dieser Strings ist. Hatte das so in der Art in Erinnerung - nur liegt der Informatikunterricht lange Zeit zurück.

Jedenfalls spuckt Lazarus den folgenden Fehler aus:
"unit2_hilfsroutinen.pas(1113,33) Error: Type conflict between set elements"

Zeile 1113 ist genau die oben reingeschriebene.

Was hab ich falsch gemacht?

Danke schonmal!

Euklid

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

Re: Diese Anfängerfrage ist 'in'

Beitrag von theo »

Sowas geht in Pascal nur für Auzählungstypen, nicht für Strings.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Achso...

hmmm. Dann mach ich es nach der alt-konventionellen Methode if (s2='ln)or(s2='........

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

Beitrag von theo »

Euklid hat geschrieben:Achso...

hmmm. Dann mach ich es nach der alt-konventionellen Methode if (s2='ln)or(s2='........


Joh, etwas eleganter wäre noch, eine Array Konstante à la:

Code: Alles auswählen

WebSafeColorNames: array[0..15] of ShortString =
  ('aqua', 'black', 'blue', 'fuchsia', 'gray', 'green', 'lime', 'maroon', 'navy', 'olive', 'purple', 'red', 'silver', 'teal', 'yellow', 'white');


Dann kannst du abfragen ob dein String da vorkommt und der Code bleibt übersichtlicher.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Beitrag von Euklid »

Gut. Danke für den Tipp!

Antworten