AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Strings und Case of

Ein Thema von Klaus Kirchhoff · begonnen am 24. Okt 2006 · letzter Beitrag vom 2. Mär 2007
Antwort Antwort
Seite 1 von 3  1 23      
Klaus Kirchhoff

Registriert seit: 2. Jul 2005
17 Beiträge
 
Delphi 2006 Professional
 
#1

Strings und Case of

  Alt 24. Okt 2006, 14:15
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?
Klaus Kirchhoff
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Strings und Case of

  Alt 24. Okt 2006, 14:21
Nein,

du musst if's verwenden.


Heiko
Heiko
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Strings und Case of

  Alt 24. Okt 2006, 14:21
Hallo,
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
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von GimbaR
GimbaR

Registriert seit: 17. Apr 2004
Ort: Weltmetropole Rostock ;)
134 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Strings und Case of

  Alt 24. Okt 2006, 14:22
guggst du hier
Jonas
Bei dem Tempo ist es nur noch eine Frage der Zeit bis SSchäuble verlangt allen deutschen Bürgern ein Halsband zur ständigen Überwachung zu verpassen...
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Strings und Case of

  Alt 24. Okt 2006, 14:23
Weiß eigentlich jemand, warum das so ist?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Strings und Case of

  Alt 24. Okt 2006, 14:26
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
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von semo
semo

Registriert seit: 24. Apr 2004
755 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Strings und Case of

  Alt 24. Okt 2006, 14:30
erst gestern hatten wir ein thema dazu
guckst du hier
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Strings und Case of

  Alt 24. Okt 2006, 14:38
Zitat von NamenLozer:
Weiß eigentlich jemand, warum das so ist?
Weil Delphisyntax etwas angestaubt und in die Jahre gekommen ist.
Modernere Compiler wie z.B. Chrome können das.

Gruß Peter
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#9

Re: Strings und Case of

  Alt 24. Okt 2006, 14:39
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.ô
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#10

Re: Strings und Case of

  Alt 24. Okt 2006, 15:11
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:45 Uhr.
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