![]() |
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 |
Re: Abfrage FileExists(filename)
Hast du dir schon mal angekuckt, was die Inputbox zurückliefert?
|
Re: Abfrage FileExists(filename)
Sorry, der muss erst einmal raus:
Zitat:
Zitat:
...:cat:... |
Re: Abfrage FileExists(filename)
hast du auch brav "F:\test1.xls" eingegeben, oder nur "test1.xls"?
mach mal ein "showmessage(pf);" dazwischen.... |
Re: Abfrage FileExists(filename)
Hallo Leute,
habe mein Problem endlich mit Eurer Hilfe gelöst. mit " pf:= InputBox('InputBox','Prompt','Default string'); hat es endlich funktioniert. Eine Vielzahl der Vorschläge hatte ich schon längst durchgeführt,so z.B. Ausgabe von Zwischenwerten mittels ShowMessage !!! Ich bin ja häufiger im Forum um etwas nachzusehen,habe aber das Gefühl,daß eine Anzahl von Mitgliedern doch äußerst überheblich sind. Ich kann mir nicht vorstellen,daß jemand um Hilfe bittet wenn er sie nicht benötigt und sich dann häufig mit nichtssagende Aussagen begnügen muß,die oft wenig hilfreich sind. Auf eine konkrete Frage sollte auch immer eine konkrete Antwort erfolgen !!!! MfG allarich |
Re: Abfrage FileExists(filename)
das liegt an verschiedenen sachen:
zum einen sind wir dazu angehalten keine komplettlösungen zu bieten, daher oft aussagen wie "den rest machst du aber selber" ausserdem kommt es oft genug vor das es solch ganz banale lösungen sind... ich denke daher leitest du unsere angebliche überheblichkeit ab.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 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