![]() |
Abfrage FileExists(filename)
Hallo und guten Morgen,
wer kann weiterhelfen? Ich möchte im Programm abfragen,ob ein File existiert und je nachdem diesen File aufrufen oder einen Neuen File(ExcelWorkbook) erstellen. Meine Abfrage läuft aber immer darauf hinaus,daß der File nicht existiert,obwohl ich genau weiß,daß er existiert. Folgenden TestCode habe ich generiert: . . :dancer2:
Delphi-Quellcode:
:idea:
var pf: string;
label Marke1; label Marke2; begin pf:= InputBox('Testfile','Pfadeingabe',''); if FileExists(pf) then GoTo Martke1 else GoTo Marke2; Marke1: Label1.Caption:='File gefunden'; Marke2: Label1.Caption:='File nicht gefunden'; end; MfG allarich [edit=Luckie]Füge das nächste mal bitte selbsständig die Delphi-Tags ein. Mfg, Luckie[/edit] |
Re: Abfrage FileExists(filename)
|
Re: Abfrage FileExists(filename)
Erstmal grausam, diese Labels. Delphi ist eine strukturierte Programmiersprache, die Blöcke kennt:
Delphi-Quellcode:
Daraus resultiert auch dein Fehler im Code: Wenn zu Marke eins gesprungen wird, wird auch der Code danach abgearbeitet, das heißt, egal, ob die Datei existiert oder nicht, im Label steht immer "File nicht gefunden". :roll:
if FileExists(Filename) then
begin // Datei existiert, mach dies end else begin // Datei existiert nut, mach das end; |
Re: Abfrage FileExists(filename)
Delphi-Quellcode:
uses
Dialogs; ... var pf: string; OpenDialog: TOpenDialog; begin OpenDialog := TOpenDialog.Create; try if OpenDialog.Execute then begin pf := OpenDialog.FileName; if FileExists(pf) then Label1.Caption:='File gefunden' else Label1.Caption:='File nicht gefunden'; end finally OpenDialog.Free; end; end; |
Re: Abfrage FileExists(filename)
Dein Programmcode ist aber extrem schlecht. :kotz:
Die Verwendung von Goto an völlig unnötiger Stelle ist ein Verbrechen und sollte gleich mit 380V Stromstößen bestraft werden !!! Überleg mal, was passiert wenn das Programm auf Marke1 läuft. Könnte es dann nicht sein, dass der Code unter Marke2 gleich danach ausgeführt wird??? (retorische Frage)
Delphi-Quellcode:
Marke1:
Label1.Caption:='File gefunden'; Marke2: Label1.Caption:='File nicht gefunden'; end; |
Re: Abfrage FileExists(filename)
Zitat:
|
Re: Abfrage FileExists(filename)
Ich glaube sein Problem war einfach, dass er nicht wusste wie er in einem If mehere Anweisungen machen kann. :drunken:
Das wurde aber jetzt oft genug gezeigt, so dass ich das nicht nochmal erkläre :coder2: |
Re: Abfrage FileExists(filename)
Zitat:
3 Leute antworten auf eine Frage; manche sind schneller, manche brauchen mehr Zeit. Du bist halt immer der Schnellste. :cyclops: |
Re: Abfrage FileExists(filename)
***OT***
Zitat:
***/OT*** |
Re: Abfrage FileExists(filename)
Hallo Leute,
erstmal danke für Eure prompte Reaktion. Ich hatte alles mögliche ausprobiert ,kam aber nicht weiter(oft sieht man dann vor lauter Bäume den Wald nicht mehr). Natürlich weiss ich wie man eine "if - Schleife" programmiert.Habe wahrscheinlich schon programmiert, da waren die meissten von Euch noch nicht geboren (damals jedoch fasst ausschließlich in FORTRAN).Obwohl Delphi auch nur eine Programmiersprache ist,sind doch manche Dinge dagegen sehr unterschiedlich. Ich habe Eure Vorschläge alle ausprobiert(einige hatte ich vorher schon versucht),aber ohne Erfolg ! Als letzten Versuch habe ich dann den Filename direkt in die Abfrage(if FileExists('F:/Test1.xls') eingesetzt,ind siehe da,es funktionierte. Nicht aber über "InputBox". Kann mir jemand sagen warum nicht ? MfG allarich |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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