AGB  ·  Datenschutz  ·  Impressum  







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

IF ..... AND -> Wie schließen?

Ein Thema von TheMiller · begonnen am 11. Feb 2004 · letzter Beitrag vom 11. Feb 2004
Antwort Antwort
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:04
Hi, ich bräuchte mal wieder eure HILFE...

ich habe folgenden Code:
Delphi-Quellcode:
If Label1.Caption:='xxxxxxxAND
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;
Nur ich habe Probleme mit den abschließenden "end;'s" Wer könnte mir da helfen?
  Mit Zitat antworten Zitat
Synonym
(Gast)

n/a Beiträge
 
#2

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:06
Du hast hier nen Fehler drin

ShellExecute(0, nil, PChar('c:\xxxx), nil, nil, sw_Show); sollte so aussehen:

ShellExecute(0, nil, PChar('c:\xxxx'), nil, nil, sw_Show); gruß

synonym
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#3

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:21
Hai DJ-SPM,

a) Ist das keine gültige Abfrage:

Delphi-Quellcode:
If Label1.Caption:='xxxxxxxAND
If Fileexists('C:\xxxxxxx') THEN begin
b) Die Probleme mit dem Begin-End kannst Du umgehen indem Du deinen Sourcecode "besser" formatierst:

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;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Spezi1980
Spezi1980

Registriert seit: 11. Aug 2003
Ort: Dresden OT Cossebaude
71 Beiträge
 
Delphi 2005 Personal
 
#4

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:21
sollte es so aussehen?

Delphi-Quellcode:
If Label1.Caption='xxxxxxxAND 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;
ordne die den code so ann, dass du auf einen Blick siehst, welches Begin zu welchem end gehört.

Gruß Robert

[Edit]da war wohl jemand schneller... [/Edit]
Robert
Codito, ergo sum.
>>I code, therefore I am<<
  Mit Zitat antworten Zitat
Bobator
(Gast)

n/a Beiträge
 
#5

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:43
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;
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#6

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:43
@Robert: Ich habe jetzt die Zeile If Label1.Caption:='2004211AND Fileexists('C:\xxx\xxx.xxx') THEN eingetragen und er sagt mir Inkompatible Typen: String und Boolean 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...

Trotzdem erstmal danke für die antworten
  Mit Zitat antworten Zitat
MikeS

Registriert seit: 3. Mai 2003
Ort: München
157 Beiträge
 
Delphi 7 Professional
 
#7

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:45
Zitat:
Source:
If Label1.Caption:='2004211' AND Fileexists('C:\Programme\BVEH\bveh.exd') THEN
probiere es mal so

Delphi-Quellcode:
Source:
If (Label1.Caption ='2004211') AND Fileexists('C:\Programme\BVEH\bveh.exd') THEN
Mike Schröder
Fleiß kann man vortäuschen, faul muss man schon selber sein!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:51
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 15:54
yup, das funzt jetzt alles.... danke!!!!
  Mit Zitat antworten Zitat
Benutzerbild von Spezi1980
Spezi1980

Registriert seit: 11. Aug 2003
Ort: Dresden OT Cossebaude
71 Beiträge
 
Delphi 2005 Personal
 
#10

Re: IF ..... AND -> Wie schließen?

  Alt 11. Feb 2004, 20:11
ups, natürlich := ist eine Zuweisung und = ein Vergleich. Tschuldigung hatte ich übersehen.

Gruß
Robert
Codito, ergo sum.
>>I code, therefore I am<<
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:52 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