![]() |
case string of funktioniert nicht? oO
Ich wollte endlich mal etwas im Code aufräumen und cases einbauen. Nur merke ich leider jetzt direkt schon, dass es nicht mehr so funktioniert, wie ich möchte. :(
Aus
Delphi-Quellcode:
wird:
case sj of
Zitat:
|
Re: case string of funktioniert nicht? oO
Nimm z.B. AnsiIndexText:
Delphi-Quellcode:
Gruß, Matthias
case AnsiIndexText(sj, ['Wert1', 'Wert2', 'Wert3']) of
0: ShowMessage('Wert1'); 1: ShowMessage('Wert2'); 2: ShowMessage('Wert3'); end; |
Re: case string of funktioniert nicht? oO
Einen Workaround (finde ich aber unsauber) gibt es z.B.
![]() Alternativ hat jbg aka Andreas Hausladen auch in seinem Delphi-Präprozessor ![]() |
Re: case string of funktioniert nicht? oO
Funktioniert wunderprächtig. :)
Danke! :) |
AW: case string of funktioniert nicht? oO
Hallo,
der Threat ist zwar schon uralt, aber ich finde es am sinnvollsten auf ihm aufzubauen. Ich weiß nämlich nicht genau, wie der CaseString funktioniert und vielleicht kann es mir jemand ganz kurz erklären.
Delphi-Quellcode:
Ich weiß nicht was AnsiIndexText und was sj sind.
case AnsiIndexText(sj, ['Wert1', 'Wert2', 'Wert3']) of
0: ShowMessage('Wert1'); 1: ShowMessage('Wert2'); 2: ShowMessage('Wert3'); end; Ansonsten verstehe ich das so, dass Wert1-3 die möglichen Inhalte von AnsiIndexText od sj (bin mir über den Inhalt dieser beiden Komponenten unsicher) sind. 0: Diese Anweisung wird ausgeführt, wenn der Inhalt von AnsiIndexText od sj gleich dem Wert1 sind. 1: Diese Anweisung wird ausgeführt, wenn der Inhalt von AnsiIndexText od sj gleich dem Wert2 sind. USW. Könnte ich diese Anweisungen auch aufwendiger gestalten? Ähnlich
Delphi-Quellcode:
Vielen Dank im Voraus für die Nachhilfestunde ;-)
case AnsiIndexText(sj, ['Wert1', 'Wert2', 'Wert3']) of
0: begin if x=y then begin Blablabla; end; end; 1: ShowMessage('Wert2'); 2: ShowMessage('Wert3'); end; Gruß Ykcim |
AW: case string of funktioniert nicht? oO
![]() |
AW: case string of funktioniert nicht? oO
Da geht doch der Sinn von Case verloren das es ab einer bestimmten Anzahl performanter ist. Aber wenn vorher der String in einer Funktion verglichen wird ist das ja ein doppeltes vergleichen.
|
AW: case string of funktioniert nicht? oO
DIE REAKTIONSGESCHWINDIGKEIT IN DIESEM FORUM IST EINFACH WELKLASSE!!!
Vielen Dank! Ganz verstehe ich es immernoch nicht.:oops: Wenn ich eine Varible habe (AUSDRUCK) das hätte ich dann in sj gesucht. Was bedeutet dann "AnsiIndexText"? Ist das eine beliebige Bezeichnung des "Rahmens"? Wie müsste das deklariert sein? Gruß Ykcim |
AW: case string of funktioniert nicht? oO
AnsiIndexText() ist eine normale Funktion, die einen String und ein Array mit Strings übergeben bekommt. Je nach dem, welcher String aus dem Array auf den String (hier sj) passt, gibt die Funktion den Index im Array zurück, so dass dieser vom case ausgewertet werden kann.
HTH |
AW: case string of funktioniert nicht? oO
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz