Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Strings und Case of (https://www.delphipraxis.net/79536-strings-und-case.html)

Klaus Kirchhoff 24. Okt 2006 13:15


Strings und Case of
 
Ich möchte folgendes realisieren:

Ich habe eine Varable von Type String "xTier" und möchte
mit einer Case-Abfrage eine Auswertung durchführen:

case "xTier" of
Hund : ;
Pferd : ;
katze : ;
end;

Das ist doch möglich oder?

hoika 24. Okt 2006 13:21

Re: Strings und Case of
 
Nein,

du musst if's verwenden.


Heiko

xaromz 24. Okt 2006 13:21

Re: Strings und Case of
 
Hallo,
Zitat:

Zitat von Klaus Kirchhoff
Das ist doch möglich oder?

Nein, das ist nicht ohne Weiteres möglich. Es gibt aber eine Funktion, die Dir den Index eines String-Arrays zurückliefert, damit kannst Du dann Dein case bauen. Leider ist mir gerade der Name entfallen.

//Edit: Name gefunden: Delphi-Referenz durchsuchenAnsiIndexStr. Benötigt die Unit StrUtils.

Gruß
xaromz

GimbaR 24. Okt 2006 13:22

Re: Strings und Case of
 
guggst du hier :???:

Namenloser 24. Okt 2006 13:23

Re: Strings und Case of
 
Weiß eigentlich jemand, warum das so ist? :gruebel:

Klaus01 24. Okt 2006 13:26

Re: Strings und Case of
 
Weil String kein Ordinaltyp ist,
hat also nicht einen eindeutigen Vorgänger oder Nachfolger.

Aber es wurde ja schon geschrieben, wie man das Problem umschiffen kann.

Grüße
Klaus

semo 24. Okt 2006 13:30

Re: Strings und Case of
 
erst gestern hatten wir ein thema dazu :-)
guckst du hier

hanspeter 24. Okt 2006 13:38

Re: Strings und Case of
 
Zitat:

Zitat von NamenLozer
Weiß eigentlich jemand, warum das so ist? :gruebel:

Weil Delphisyntax etwas angestaubt und in die Jahre gekommen ist.
Modernere Compiler wie z.B. Chrome können das.

Gruß Peter

Namenloser 24. Okt 2006 13:39

Re: Strings und Case of
 
Zitat:

Zitat von Klaus01
Weil String kein Ordinaltyp ist,
hat also nicht einen eindeutigen Vorgänger oder Nachfolger.

Aber es wurde ja schon geschrieben, wie man das Problem umschiffen kann.

Grüße
Klaus

Aber warum funktioniert Case denn nur mit Ordinaltypen?
WIE funktioniert case eigentlich?
Ich hätte eigentlich vermutet, dass delphi ein
Delphi-Quellcode:
Case i of
0: bla;
1: blupp;
2: Quak;
end;
wie ein
Delphi-Quellcode:
if i=0 then bla
else if i=1 then blupp
else if i=2 then Quak;
interpretiert...

Edit: Hätte da nicht ein roter kasten sein müssen o.ô

Reinhard Kern 24. Okt 2006 14:11

Re: Strings und Case of
 
Zitat:

Zitat von NamenLozer

Aber warum funktioniert Case denn nur mit Ordinaltypen?
WIE funktioniert case eigentlich?

Hallo,

case verwendet ja nicht nur einen einzigen Fall, sondern eine Liste davon:

Delphi-Quellcode:
case i of
  1..9 : UnterZehn := true;
  end;
daher Ordinalzahl. Eine Angabe wie "alles zwischen Edit1.Text und Edit2.Text" ist einfach undefinierbar.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz