Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#2

Re: if hilfe

  Alt 19. Sep 2007, 18:14
edit: O-Ha, wenn ShellExecute kein Boolean sondern ein Handle zurückgibt, haben meine Nachredner natürlich recht, trotzdem kannst du hier die Struktur eines If befehls sehen

True ist immer Wahr, False is immer Unwahr. Du musst zunächst den Rückgabewert von ShellExecute in einer Variablen speichern und diese dann auf True oder False prüfen, also so:


Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyResult:boolean;
begin
Memo1.Lines.add ('Starting xxx');
MyResult:=ShellExecute(Handle, 'open', PChar('\xxx\xxx.exe'), nil, nil, SW_SHOW);
if MyResult = True then memo1.Lines.add ('Correct');
if MyResult = False then memo1.lines.add ('incorrect');
end;
Alternativ kannst du auch das "=True" und "=False" weglassen, da eine If Abfrage immer nachguckt, ob der Ausdruck hinter dem Wort If Wahr oder Falsch ist. D.h. oben guckt er jetzt: "ist (MyResult=True) Wahr, dann schreibe Correct ansonsten "ist (MyResult=False) Wahr dann schreibe incorrect". Außerdem kannst du noch das schöne "else" benutzten, dann brauchst du keine zwei separaten If abfragen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyResult:boolean;
begin
Memo1.Lines.add ('Starting xxx');
MyResult:=ShellExecute(Handle, 'open', PChar('\xxx\xxx.exe'), nil, nil, SW_SHOW);
if MyResult then memo1.Lines.add ('Correct')
            else memo1.lines.add ('incorrect');
end;
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat