AGB  ·  Datenschutz  ·  Impressum  







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

Fehler bei Zugriff auf Textdatei

Ein Thema von Delphi_gn7 · begonnen am 5. Feb 2010 · letzter Beitrag vom 5. Feb 2010
Antwort Antwort
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 20:51
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 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
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:01
Gib mal einen absoluten Pfad an

Z.B
  AssignFile( t, ExtractFilePath( Application.Exename)+'test.txt');
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#3

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:05
Deine Programmzeile verstehe ich zwar nicht ganz, aber mit z.B: 'C:\text.txt' klappt es nicht, habe ich schon probiert...
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:08
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
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#5

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:17
wenn ich diese Zeile einbaue, erkennt Delphi nicht den Bezeichner "Application" - brauche ich noch eine Unit dafür, die ich einzubinden habe?
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:33
Ach ist ein Konsolenprogramm dann ersetze Application.Exename mit ParamStr(0)
Markus Kinzler
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#7

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:38
Zitat von mkinzler:
Ach ist ein Konsolenprogramm dann ersetze Application.Exename mit ParamStr(0)
Klappt leider auch nicht
Andreas
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#8

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:41
Existiert die Datei den schon?

wenn nicht benutz mal:
Delphi-Quellcode:
assign(t,'deinedate.txt');
rewrite(t);
Lars
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#9

Re: Fehler bei Zugriff auf Textdatei

  Alt 5. Feb 2010, 21:45
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"
Andreas
  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 11:03 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