Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fehler bei Zugriff auf Textdatei (https://www.delphipraxis.net/147323-fehler-bei-zugriff-auf-textdatei.html)

Delphi_gn7 5. Feb 2010 19:51


Fehler bei Zugriff auf Textdatei
 
Hallo,

ich habe folgendes Delphi Programm geschrieben (ich denke, außer den Datei-Befehlen ist der restliche Code erstmal irrelevant)

Delphi-Quellcode:
program Wordcounter;

{$APPTYPE CONSOLE} 

uses
  SysUtils, Windows;

var t,t2: textfile;
    s1,s2,wort: string;
    i: integer;

begin
 AssignFile(t,'text.txt');
 Reset(t); // HIER KOMMT DER FEHLER
 while not eof(t) do begin
                      readln(t,s1); // Text aus Datei in String einlesen
                      CharToOem(PChar(s1),PChar(s1));
                     end;
 CloseFile(t);
 for i:=1 to length(s1) do if (ord(s1[i])<32) or (ord(s1[i])>32) and (ord(s1[i])<64) or (ord(s1[i])>90) and (ord(s1[i])<97) or (ord(s1[i])>122) and (ord(s1[i])<129) or (ord(s1[i])<>132) or (ord(s1[i])<>148) or (ord(s1[i])<>225)
                           then delete(s1,i,1); // Alle Zeichen außer Buchstaben und Leerzeichen rauslöschen
 s2:='';
 while not length(s1)=0 do begin
                            while s1=' ' do delete(s1,1,1); // Leerzeichen am Anfang des Strings löschen
                            wort:=copy(s1,1,pos(' ',s1)); // 1. Wort des Strings in Wort-String kopieren
                            delete(s1,1,pos(' ',s1));    // ... und aus String löschen
                            while pos(' ',wort)<>0 do delete(wort,pos(' ',wort),1);
                            if pos(wort,s2)=0
                            then s2:=s2+wort+' ';
                           end;
 AssignFile(t2,'Ergebnis.txt');
 append(t2);
 write(t2,s2);
 CloseFile(t2);
 readln;
end.

Will ich es kompilieren, gelingt dies nicht aufgrund eines Fehlers in der Zeile mit dem
Delphi-Quellcode:
Reset(t);
zu Beginn, da angeblich die Datei nicht gefunden wurde.
So einen Fehler habe ich noch nie gehabt, aber kann es vielleicht IRGENDWIE damit zusammenhängen, dass ich Delphi in einem Virtuellen PC betreibe (geht nicht anders bei mir)?


Mfg,

gn7

mkinzler 5. Feb 2010 20:01

Re: Fehler bei Zugriff auf Textdatei
 
Gib mal einen absoluten Pfad an

Z.B
Delphi-Quellcode:
  AssignFile( t, ExtractFilePath( Application.Exename)+'test.txt');

Delphi_gn7 5. Feb 2010 20:05

Re: Fehler bei Zugriff auf Textdatei
 
Deine Programmzeile verstehe ich zwar nicht ganz, aber mit z.B: 'C:\text.txt' klappt es nicht, habe ich schon probiert... :(

mkinzler 5. Feb 2010 20:08

Re: Fehler bei Zugriff auf Textdatei
 
Der Code liest den Namen der Exe (inkl. Pfad) aus: c:\Irgendwas\Programm.Exe
Extrahiert daraus den Pfad: c:\Irgendwas\
Und hängt den dateinamen der Textdatei wieder an: c:\Irgendwas\test.txt

Delphi_gn7 5. Feb 2010 20:17

Re: Fehler bei Zugriff auf Textdatei
 
wenn ich diese Zeile einbaue, erkennt Delphi nicht den Bezeichner "Application" - brauche ich noch eine Unit dafür, die ich einzubinden habe?

mkinzler 5. Feb 2010 20:33

Re: Fehler bei Zugriff auf Textdatei
 
Ach ist ein Konsolenprogramm dann ersetze Application.Exename mit ParamStr(0)

Delphi_gn7 5. Feb 2010 20:38

Re: Fehler bei Zugriff auf Textdatei
 
Zitat:

Zitat von mkinzler
Ach ist ein Konsolenprogramm dann ersetze Application.Exename mit ParamStr(0)

Klappt leider auch nicht

daywalker9 5. Feb 2010 20:41

Re: Fehler bei Zugriff auf Textdatei
 
Existiert die Datei den schon?

wenn nicht benutz mal:
Delphi-Quellcode:
assign(t,'deinedate.txt');
rewrite(t);

Delphi_gn7 5. Feb 2010 20:45

Re: Fehler bei Zugriff auf Textdatei
 
Zitat:

Zitat von daywalker9
Existiert die Datei den schon?

wenn nicht benutz mal:
Delphi-Quellcode:
assign(t,'deinedate.txt');
rewrite(t);

Ich hab es erstmal mit einer existierenden Datei mit Inhalt versucht und dann habe ich die Datei mal gelöscht, um zu sehen, ob sie neu erstellt wird - negativ.

Und ich möchte die Datei nur lesen, deshalb "reset"


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:02 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