Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi if...then (https://www.delphipraxis.net/226-if-then.html)

Privateer3000 22. Jun 2002 11:55


if...then
 
Hi,

in einer
if blabla=LaLeLu then
begin
.
.
kann man innerhalb der begin keine proceduren ausführen.
will ich aber trotzdem :twisted:
wie kann man das anstellen?
weil genau die if-then entscheidet wie es weitergeht im gesamten Programm.
Also, wenn if-then True wird , geht der eine Code (das ganze Programm)
wenn False(else) dann ebenfalls das ganze Programm in abgewandelter Form.

Sebastian Nintemann 22. Jun 2002 12:05

Ich verstehe das Problem irgendwie nicht...

Code:
 if blah=irgendwas then
   begin
     DeineProcedure1;
     DeineProcedure2
   end
 else
  begin
     DeineProcedure3;
     DeineProcedure4
  end
..funktioniert doch?

Oder hab ich da jetzt was falsch verstanden?

Gruß Sebastian

jbg 22. Jun 2002 12:07

Re: if...then
 
Zitat:

Zitat von Privateer3000
in einer
if blabla=LaLeLu then
begin
.

kann man innerhalb der begin keine proceduren ausführen.

Was ist denn das für ein Unsinn. Wie kommst du denn darauf?
Du kannst sehr wohl im begin-end-Block Prozeduren und auch Funktionen aufrufen.

Privateer3000 22. Jun 2002 13:37

ok ok ok, nicht gleich aufregen
ich habe vielleicht einen anderen Fehler gemacht....
Dachte nur an Hand der Fehlermeldung das es so ist.

Im Prinzip so

nach formcreate kommt eine inputbox
stimmt die Eingabe einer cons überein soll das eigentliche Programm (also wie normal) ausgeführt werden.
Stimmt sie nicht überein soll eigentlich das selbe ausgeführt werden nur mit einigen Abwandlungen...Buttons z.B disabled

aber ich denke das ich die end; falsch gesetzt habe

Daniel B 22. Jun 2002 13:55

Hi,

poste doch mal deine Proz., falls es immer noch nicht geht.

MrSpock 22. Jun 2002 14:02

Hallo Privateer3000,

in deinem Fall sähe das Konstrukt dann wie folgt aus:

Code:
  if input = cons then
  begin
      Unterschied1Gleich;
      Unterschied2Gleich;
      Unterschied3Gleich
   end
   else
   begin
      Unterschied1Ungleich;
      Unterschied2Ungleich;
   end;
   
    AbhierallesGleich;
du kannst aber bei nur einigen Unterschieden auch eine Procedure schreiben, die die Unterschiede in Abhängigkeit von deinem Vergleich setzt:

Code:
procedure Tform1.SetzteSchalter(Bedingung: Boolean);
begin
   if Bedingung then
   begin
       Button1.Enabled := True;
       ...
   end
   else
   begin
      Button1.Enabled := False;
      ...
   end
end;
Jetzt könnte die Steuerung so aussehen:

Code:
SetzeSchalter(input=cons);
AbhierallesGleich;
Dabei sind die Proceduren Unterschied..., AbhierallesGleich etc. nur Platzhalter für deinen echten Code.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:18 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