Delphi-PRAXiS
Seite 3 von 8     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Fehlermeldung bei AssignFile (https://www.delphipraxis.net/157644-fehlermeldung-bei-assignfile.html)

dersunny 19. Jan 2011 19:39

AW: Fehlermeldung bei AssignFile
 
Delphi-Quellcode:
AssignFile(fahrerliste,ExtractFilePath(Application.ExeName) + '\data\dri\dri.txt')
Delphi-Quellcode:
if FileExists(ExtractFilePath(Application.ExeName) + '\data\dri\dri.txt') then
  ShowMessage('Existiert');
Die Datei namens "dri.txt" liegt im Ordner C:\Users\ich\Desktop\abrechnung\data\dri
Und im Ordner C:\Users\ich\Desktop\abrechnung liegt die .exe die ich benutze.

Aphton 19. Jan 2011 19:56

AW: Fehlermeldung bei AssignFile
 
Ok, da haben wirs =D
mach '\' bei '\Data...' weg!

->

Delphi-Quellcode:
AssignFile(fahrerliste,ExtractFilePath(Application.ExeName) + 'data\dri\dri.txt')
Edit: Begründung:
ExtractFilepath( 'C:\Testordner\Testdatei.Testendung' ) liefert 'C:\Testordner\' zurück!

dersunny 19. Jan 2011 20:01

AW: Fehlermeldung bei AssignFile
 
So gern ich es sagen würde, aber das war leider nicht die Lösung. Ich habe seit Ewigkeiten alles ausprobiert, sowohl mit als auch ohne Backslash. (Ich glaube das hab ich zwischendurch mal irgendwo erwähnt?)

Edit:
Vielleicht hilft es, wenn ich nochmal genau zeige, wo der Fehler kommt?

Bei diesem Code-Schnipsel wird mir die unterste Zeile als Fehlerquelle angezeigt:

Delphi-Quellcode:
AssignFile(fahrerliste,ExtractFilePath(Application.ExeName) + 'data\dri\dri.txt');
                try
                        Reset(fahrerliste);

Aphton 19. Jan 2011 20:10

AW: Fehlermeldung bei AssignFile
 
Hänge mal das Projekt an. Ich werds mir (noch) genauer anschauen...

Edit:
Übrigens, bevor du das jetzt machst, probier noch das hier, um mehr Informationen über das Problem zu erfahren:

Delphi-Quellcode:
  {$i-}
  AssignFile(...);
  Reset(...);
  {$i+}
  ShowMessage( SysErrorMessage( IOREsult ) );
EDIT2:
Was mir noch so einfällt - kann es sein, dass die Datei exklusiv geöffnet ist (also so, dass kein anderes Programm es öffnen kann)?

Klaus01 19. Jan 2011 20:17

AW: Fehlermeldung bei AssignFile
 
Guten Abend,

kannst Du bitte das Ergebnis von

Delphi-Quellcode:
showMessage(ExtractFilePath(ParamStr(0));
hier einstellen.

Sollte der Desktop des users nicht unter Documents and Settings\<username>\desktop liegen?

Warum packst Du die Datei nicht unter Documents and Settings\<username>\Application Data\<DeinExename>


Grüße
Klaus

dersunny 19. Jan 2011 20:25

AW: Fehlermeldung bei AssignFile
 
@Aphton:
Meldung kommt: Das System kann die angegebene Datei nicht finden.
Ich hoffe das ist das richtige im Anhang. Die Datei, die ich eigentlich hochladen wollte, durfte ich nicht hochladen.
Wenn Du dir das ansiehst, ignoriere bitte die vielen Buttons, Labels etc, die noch keine Funktion haben. Ich wollte wie gesagt erst das Gerüst bauen und dann nach und nach die Daten einfügen.

Die Grundfunktion, die am Ende herauskommen soll ist, dass Fahrer eingestellt, geändert oder editiert werden sollen. Das selbe soll auch für Fahrzeuge passieren, und den Rest, der da drin noch so zu sehen ist.

@Klaus01:
Als Message kommt da genau der Ordner, den ich hier immer angebe. Um Fehler diesbezüglich zu vermeiden, hatte ich extra den Path aus dem Explorer per copy&paste hier eingefügt.


Edit nach Lösung des Problems:
Datei entfernt.

Aphton 19. Jan 2011 20:29

AW: Fehlermeldung bei AssignFile
 
Werds mir gleich ansehen aber wie schon vom SYSTEM beschrieben - die Datei kann einfach nicht gefunden werden. Irgendetwas stimmt da nicht.

MfG *schmöker

Edit:
Also ich habe nichts Auffäliges (mal abgesehen davon, dass es ziemlich grauenhaft zusammengerückt ist :P) gefunden. Es liegt - so wie es aussieht - nicht am Code (ich habe ne kleine Demo geschrieben und es hat - wie erwartet - funktioniert).
Was ich dir noch anraten kann: Versuch mal die dri.txt Datei in denselben Ordner wie die Executable zu verschieben (und dementsprechend den Code anpassen nicht vergessen ;))

MfG

hoika 19. Jan 2011 20:34

AW: Fehlermeldung bei AssignFile
 
Hallo,

warum packst du ein Projekt + Text-Datei nicht unter

C:\Projekte\Projekt1

DANACH kannst du dich immer noch mit relativen Pfaden beschäftigen,
mit denen du im Moment wohl noch Probleme hast.


Aussderdem

AssignFile(fahrerliste,ExtractFilePath(Application .ExeName) + 'data\dri\dri.txt');

Das ist doof zu Debuggen.

var
sFileName: String;
begin
sFileName:= ExtractFilePath(Application.ExeName) + 'data\dri.txt');

AssignFile(fahrerliste,sFileName);

Und dann mal vor dem AssignFile schauen, was sFileName enthält.


Heiko
Heiko

Aphton 19. Jan 2011 20:46

AW: Fehlermeldung bei AssignFile
 
Zitat:

Zitat von hoika (Beitrag 1075929)
AssignFile(fahrerliste,ExtractFilePath(Application .ExeName) + 'data\dri\dri.txt');

Das ist doof zu Debuggen.

var
sFileName: String;
begin
sFileName:= ExtractFilePath(Application.ExeName) + 'data\dri.txt');
Heiko

Wenn schon, dann

Delphi-Quellcode:
  sFileName:= ExtractFilePath(Application.ExeName) + 'data\dri\dri.txt');
Übrigens gehts hier eig. nicht um die Codequalität. Das Problem wird sich damit nicht ändern.

dersunny 19. Jan 2011 20:52

AW: Fehlermeldung bei AssignFile
 
@Heiko und hoika:
Das war schon Mal ein Treffer in die richtige Richtung.
Ich habe das jetzt nach deinem HInweis mal wie folgt abgeändert:
Delphi-Quellcode:
begin
        ComboBox1.Items.Clear;
        i:= 0;
        {$i-}
        sFileName:=ExtractFilePath(Application.ExeName)+'data\dri\dri.txt';
        AssignFile(fahrerliste,sFileName);
                try
                        Reset(fahrerliste);
                        {$i+}
                        ShowMessage( SysErrorMessage( IOREsult ) );
                        try
                        while not EOF(fahrerliste) do
                        begin
                        ReadLn(fahrerliste, s);
                        i:= i + 1;
                        end;
                finally
                CloseFile(fahrerliste);
Der Fehler ist jetzt nicht mehr bei Reset, sondern (kurioserweise) zu Beginn der Schleife. Wenn ich jedes Wort einzeln auf eine Zeile schreibe wird mir "NOT" markiert, ein anderes mal jedoch das EOF(fahrerliste).

Es sieht also so aus, als ob er jetzt die Datei öffnen kann, allerdings kommt nachwievor die Fehlermeldung, dass die Datei nicht gefunden werden kann.
Wie auch immer so etwas funktionieren soll... :wiejetzt:

EDIT:
als nächstes wird übrigens angezeigt, dass CloseFile(fahrerliste) das nächste Problem erzeugt...

Edit2:
Bei genauerm Durchlesen kommt jetzt der Fehler 104 und der Fehler 103. 104 hatte ich aber vorhin schonmal besiegt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 Uhr.
Seite 3 von 8     123 45     Letzte »    

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