![]() |
Frage zu If-Then-Else *g*
hi, also folgendes...
sagen wir mal ich habe 5 inf anweisungen: if 1 = 1a then begin end; if 2 = 2a then begin end; if 3 = 3a then begin end; if 4 = 4a then begin end; if 5 = 5a then begin end; wenn jetzt keine der if anweisungen zutrifft, wie reagiere ich dann mit else? wenn ichs hinten anfüge: if 1 = 1a then begin end; if 2 = 2a then begin end; if 3 = 3a then begin end; if 4 = 4a then begin end; if 5 = 5a then begin end; else 6 = 6a; bezieht sich das ja nur auf die 5te if anweisung danke für die hilfe gruss silent |
so wie ich das sehe müsstest du das so machen:
Delphi-Quellcode:
Man liest sich, Stanlay :firejump:
begin
if (1=1a) OR (2=2a) OR (3=3a) OR (4=4a) OR (5=5a) THEN begin ShowMessage('Es trifft eine der Bedingungen zu.') end // vor ELSE nie ein Semikolon (;) ELSE ShowMessage('Keine der Bedinugungen trifft zu'); end; |
oder so:
Delphi-Quellcode:
if 1 = 1a then begin end
else if 2 = 2a then begin end else if 3 = 3a then begin end else if 4 = 4a then begin end else if 5 = 5a then begin end else 6 = 6a; |
jo so ca hätt ichs auch gemacht, danke :)
hätt mit "if not (a = a1)" etc...aber hab mir eben beim "coden" gedacht....."hmm silent, meinst das sich ein else auch auf mehrere if anweisungen beziehen kann? - Das ist gut möglich frag mal im delphi board nach!" nochmal thx :) |
eine else anweisung koentest du auch auf mehrer if anweisungen verwenden: aber du benutzt ein if! erklaerung :
du benutz eine Hilfsvariable vom typ boolean, wenn eine if anweisung zutrifft setzt du sie auf true, anders bleibt sie false! am ende der anderen if anweisungen machst du jetzt einfach ne if anweisung mit : if BOOLEAN = false then begin end cu |
danke :)
|
hi silent 8)
ich kommentiere mal den code, sonst wird das nichts, Bezeichner fangen niemals :!: mit einer Zahl ein, sonst hapertst schon da:
Code:
es geht um case
begin
if (1=1a) OR (2=2a) OR (3=3a) OR (4=4a) OR (5=5a) THEN begin ShowMessage('Es trifft eine der Bedingungen zu.') end // vor ELSE nie ein Semikolon (;) ELSE ShowMessage('Keine der Bedinugungen trifft zu'); end;
Code:
'1' und '2' sind hier keine Bezeichner, wohlgemerkt, den Rest mal nachlesen.
ch := auswahl;
case ch of '1' : showmessage ('sie haben Funktion 1 ausgewählt'); '2' : showmessage ('sie haben Funktion 2 ausgewählt!'); else showmessage ('sie haben keine gültige Funktion ausgewählt !!'); end; [edit]Jetzt muß ich das doch tatsächlich noch einmal editieren: innerhalb von Case ist eine Sonderregelung für den ; -----> Handbuch, bevor ihr daran verzweifelt. |
danke :)
also wird bei case statt ":=" nur ":" gesetzt? bei einer zuweisung? bzw ist ja gar keine, aber du weisst schon wie ich das meine =) |
Du sollst das durchlesen !
noch einmal ein kleines Bsp.:
Code:
ist identisch mit:
if i = 1 then
showmessage ('1') else if i = '2' then showmessage ('2') else showmessage ('weder eins noch zwei'); end;
Code:
case i of
'1' : showmessage ('1'); '2' : showmessage ('2'); else showmessage ('weder eins noch zwei'); end; So, was ist nun übersichtlicher :?: Hast Du weniger als 10 Fallunterscheidungen, dann tipp von mir AUS die 10 if then else ein. |
Hallo! Vielleicht hilft Dir auch
![]() MfG, Peter |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:41 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