AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe zur Verwendung von if benötigt

Ein Thema von InZiDeR · begonnen am 19. Sep 2007 · letzter Beitrag vom 19. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
InZiDeR

Registriert seit: 2. Mai 2007
48 Beiträge
 
#1

Hilfe zur Verwendung von if benötigt

  Alt 19. Sep 2007, 17:10
Guten Tag.
Ich bin schon öfter in diesem Forum gewesen .
Also habe diesmal ein problem ich muss was mit if machen aber da ich mich damit noch nicht so dolle beschäftigt habe naja.....

(ich will das er wenn die anwendung nicht gestarted geht was in die memo schreibt.)
Also hier mein Quelltext.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.add ('Starting xxx');
ShellExecute(Handle, 'open', PChar('\xxx\xxx.exe'), nil, nil, SW_SHOW);
if True then memo1.Lines.add ('Correct');
if false then memo1.lines.add ('incorrect');
[edit=SirThornberry]Titel ausführlicher formuliert - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
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, 17: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
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: if hilfe

  Alt 19. Sep 2007, 17:15
Delphi-Quellcode:
if ShellExecute(Handle, 'open', PChar('\xxx\xxx.exe'), nil, nil, SW_SHOW) < 33 then
  memo1.lines.add ('incorrect')
else
  memo1.lines.add ('correct');
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: if hilfe

  Alt 19. Sep 2007, 17:16
Soweit ich weiß, gibt ShellExecute ein Handle zurück (Genaues steht sicher hier: MSDN-Library durchsuchenShellExecute). bei Erfolg ist dies ein Integerwert > 32, wobei ich mir da nicht ganz sicher bin. Der Aufruf müsste demnach so aussehen:

Delphi-Quellcode:
if ShellExecute(...) > 32 then
  // erfolgreich
else
  // nicht erfolgreich
Edit: Da war Deddy wohl schneller.
  Mit Zitat antworten Zitat
InZiDeR

Registriert seit: 2. Mai 2007
48 Beiträge
 
#5

Re: if hilfe

  Alt 19. Sep 2007, 17:21
Danke für die netten Antworten

Jetzt bin ich um einiges Schlauer.

Falls irgendjemand mir vieleicht wenn ich mal fragen habe helfen würde dann Addet mich :XaZ_2007@hotmail.de denn ich will ja nicht das ganze Forum zuspammen
  Mit Zitat antworten Zitat
InZiDeR

Registriert seit: 2. Mai 2007
48 Beiträge
 
#6

Re: if hilfe

  Alt 19. Sep 2007, 17:36
Delphi-Quellcode:
var MyResult:boolean;
begin
MyResult:=ShellExecute(Handle, 'open', PChar('\xxx\xxx.exe'), nil, nil, SW_SHOW);
if MyResult = True then memo1.Lines.add ('xxx.exe wurde nicht gefunden');
if MyResult = False then memo1.lines.add ('xxx wurde nicht gefunden,stellen sie sicher das xxx aktuell ist oder überprüfen sie den Pfad.');
end;
nu sagt er mir das Cardinal und Boolean inkompatible typen sind....
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: if hilfe

  Alt 19. Sep 2007, 17:38
Der Rückgabewert ist, wie DeddyH und ich geschrieben haben, kein Boolean. Mach's also so, wie wir's dir gezeigt haben.
  Mit Zitat antworten Zitat
InZiDeR

Registriert seit: 2. Mai 2007
48 Beiträge
 
#8

Re: if hilfe

  Alt 19. Sep 2007, 18:11
Alles werte sind in ordnung,aber nun sagt er obwohl die exe nicht da ist (also nicht gestartet werden kann) das alles korrekt ist...
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Hilfe zur Verwendung von if benötigt

  Alt 19. Sep 2007, 18:15
Zeig mal den Code.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
InZiDeR

Registriert seit: 2. Mai 2007
48 Beiträge
 
#10

Re: Hilfe zur Verwendung von if benötigt

  Alt 19. Sep 2007, 18:31
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ShellExecute(Handle, 'open', PChar('\x33\x33.exe'), nil, nil, SW_SHOW) < 33 then
  memo1.lines.add ('x33.exe gefunden,starte Silkroad.')
else
  memo1.lines.add ('bei dem versuche x33.exe zu öffnen ist ein Fehler aufgetreten,stellen sie sicher das sie den richtigen Pfad angegeben haben,oder das die x33.exe aktuell ist.');
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:12 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