![]() |
IF ..... AND -> Wie schließen?
Hi, ich bräuchte mal wieder eure HILFE...
ich habe folgenden Code:
Delphi-Quellcode:
Nur ich habe Probleme mit den abschließenden "end;'s" Wer könnte mir da helfen?
If Label1.Caption:='xxxxxxx' AND
If Fileexists('C:\xxxxxxx') THEN begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx.cab'; BaseDirectory := 'c:\xxx'; try ExtractFiles('xxxxx'); Progressbar1.StepIt; finally end; with AbUnzipper1 do begin FileName := 'c:\xxxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); Progressbar1.StepIt; end; RenameFile('C:\xxxx','C:\xxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx.xxx'), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxxxxxx'); end; end ELSE begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx'; BaseDirectory := 'xxxx'; try ExtractFiles('xxxxx'); Progressbar1.StepIt; finally end; end; with AbUnzipper1 do begin FileName := 'c:\xxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); Progressbar1.StepIt; end; RenameFile('C:\xxx','C:\xxxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxx'); end; end; |
Re: IF ..... AND -> Wie schließen?
Du hast hier nen Fehler drin
Delphi-Quellcode:
sollte so aussehen:
ShellExecute(0, nil, PChar('c:\xxxx), nil, nil, sw_Show);
Delphi-Quellcode:
gruß
ShellExecute(0, nil, PChar('c:\xxxx'), nil, nil, sw_Show);
synonym |
Re: IF ..... AND -> Wie schließen?
Hai DJ-SPM,
a) Ist das keine gültige Abfrage:
Delphi-Quellcode:
b) Die Probleme mit dem Begin-End kannst Du umgehen indem Du deinen Sourcecode "besser" formatierst:
If Label1.Caption:='xxxxxxx' AND
If Fileexists('C:\xxxxxxx') THEN begin
Delphi-Quellcode:
begin
if (Label1.Caption = 'xxxxxx') and (FileExists ('c:\xxxxx')) then begin end else begin if (was_weis_ich) then begin end else begin end; end; end; |
Re: IF ..... AND -> Wie schließen?
sollte es so aussehen?
Delphi-Quellcode:
ordne die den code so ann, dass du auf einen Blick siehst, welches Begin zu welchem end gehört.
If Label1.Caption='xxxxxxx' AND Fileexists('C:\xxxxxxx') THEN
begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx.cab'; BaseDirectory := 'c:\xxx'; try ExtractFiles('xxxxx'); Progressbar1.StepIt; finally end; end; with AbUnzipper1 do begin FileName := 'c:\xxxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); Progressbar1.StepIt; end; RenameFile('C:\xxxx','C:\xxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx.xxx'), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxxxxxx'); end ELSE begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx'; BaseDirectory := 'xxxx'; try ExtractFiles('xxxxx'); Progressbar1.StepIt; finally end; end; with AbUnzipper1 do begin FileName := 'c:\xxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); Progressbar1.StepIt; end; RenameFile('C:\xxx','C:\xxxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx'), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxx'); end; Gruß Robert [Edit]da war wohl jemand schneller... [/Edit] |
Re: IF ..... AND -> Wie schließen?
Delphi-Quellcode:
If (Label1.Caption='xxxxxxx') AND Fileexists('C:\xxxxxxx') THEN
begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx.cab'; BaseDirectory := 'c:\xxx'; //So dürfte die Ausgabe mit Abbrevia-Komponenten funktionieren ArchiveProgressMeter:=AbVCLMeterLink1; AbVCLMeterLink1.Meter:=AbMeter1; try ExtractFiles('xxxxx'); // Progressbar1.StepIt; mhh... soweit ich weiss funzt das net mit Abbrevia. Besser siehe oben except Showmessage('Fehler.'); end; end; with AbUnzipper1 do begin FileName := 'c:\xxxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); //Progressbar1.StepIt; siehe oben ArchiveProgressMeter:=AbVCLMeterLink2; AbVCLMeterLink2.Meter:=AbMeter2; end; RenameFile('C:\xxxx','C:\xxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx.xxx'), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxxxxxx'); end ELSE begin with AbCabExtractor1 do begin FileName := ExtractFilePath(paramstr(0))+'xxx'; BaseDirectory := 'xxxx'; try ExtractFiles('xxxxx'); // Progressbar1.StepIt; finally end; end; with AbUnzipper1 do begin FileName := 'c:\xxxxxx'; BaseDirectory := ABCabExtractor1.BaseDirectory; ABUnzipper1.Password:='xx'; ExtractFiles( 'xxxx' ); Progressbar1.StepIt; end; RenameFile('C:\xxx','C:\xxxxx.xxx'); Progressbar1.StepIt; ShellExecute(0, nil, PChar('c:\xxxx'), nil, nil, sw_Show); Progressbar1.StepIt; Progressbar1.Visible:=False; ABUnzipper1.CloseArchive; DeleteFile('xxxxx'); end; |
Re: IF ..... AND -> Wie schließen?
@Robert: Ich habe jetzt die Zeile
Delphi-Quellcode:
eingetragen und er sagt mir
If Label1.Caption:='2004211' AND Fileexists('C:\xxx\xxx.xxx') THEN
Delphi-Quellcode:
Die Überprüfung soll so aussehen, dass beide Teile (Label1.Caption und Fileexists) geprüft werden und wenn beides korrekt ist geht es mit xx weiter, wenn eins oder beides nicht stimmt, dann mit yy...
Inkompatible Typen: String und Boolean
Trotzdem erstmal danke für die antworten |
Re: IF ..... AND -> Wie schließen?
Zitat:
Delphi-Quellcode:
Source:
If (Label1.Caption ='2004211') AND Fileexists('C:\Programme\BVEH\bveh.exd') THEN |
Re: IF ..... AND -> Wie schließen?
Moin DJ-SPM,
oder um's deutlicher zu machen: Bei Vergleichen auf Gleichheit, z.B. bei if/then, ein = verwenden. Der Operator := dient nur der Zuweisung von Werten. |
Re: IF ..... AND -> Wie schließen?
yup, das funzt jetzt alles.... danke!!!!
|
Re: IF ..... AND -> Wie schließen?
ups, natürlich := ist eine Zuweisung und = ein Vergleich. Tschuldigung hatte ich übersehen.
Gruß |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 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