AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

Ein Thema von Newcomer91 · begonnen am 14. Jan 2011 · letzter Beitrag vom 14. Jan 2011
Antwort Antwort
Seite 1 von 3  1 23      
Newcomer91

Registriert seit: 9. Mär 2010
66 Beiträge
 
Delphi 2010 Professional
 
#1

Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:02
Guten Morgen,

zurzeit erweitere ich ein paar Tools die ich mir mal geschrieben habe.
Bei einem, ein kleines Programm, welches man quasi wie einen Notizblock nutzt(alles mögliche eintragen, einsortiert in jeweilige txt datei usw.)
Habe ich bislang den Filepath immer so gesetzt:
ExtractFilePath(Application.Exename) Das funktioniert auch gut allerdings möchte ich nun den Pfad auf neu erstellte Ordner setzen.

ich probierte es so, was allerdings überhaupt keinen Sinn macht wie man sieht:
Delphi-Quellcode:
procedure TfrmExperience.btnSaveClick(Sender: TObject);
var
  txt: TextFile;
  sDir: String;
begin
  sDir:= ('C:\blablabla\blaa');

  if ((edtHeadline.Text <> '') and (Memo1.Text <> '')) then begin
    ListBox1.Items.Add(edtHeadline.Text);

  if not DirectoryExists(sDir) then
    ForceDirectories(sDir);

  if not FileExists(ExtractFilePath(sDir)+'Experience.txt') then
    extractFilePath(sDir);
    AssignFile(txt, sDir +'Experience.txt');
    rewrite(txt);
    CloseFile(txt);
  end;
end;
Was muss ich ändern?

Danke im vorraus.

New
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:04
ExtractFilePath ist eine Funktion. Du musst also auch den Rückgabewert auswerten. Außerdem fehlen im unteren Block wohl begin und end, es sei denn, ich habe die Logik nicht verstanden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Newcomer91

Registriert seit: 9. Mär 2010
66 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:17
Ja, schon klar. Allerdings weist man bei ExtractFilePath doch nur dem File ein Directory zu, oder nicht?
Und was meinst du mit
Zitat:
Du musst also auch den Rückgabewert auswerten.
Wie werte ich den aus?

begin und end hinzugefügt. Es funktionierte komischerweise auch ohne, aber sie machen schon sinn..
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:21
Auswerten heißt, dass Du mit dem Funktionsrückgabewert auch etwas anfängst, ihn z.B. einer Variablen zuweist.
Delphi-Quellcode:
function Doppelwert(i: integer): integer;
begin
  Result := i * 2;
end;

...

Zahl := 10;
Doppelwert(Zahl); //dieser Aufruf ist komplett überflüssig, da er nichts bewirkt
Zahl := Doppelwert(Zahl); //so sieht das schon anders aus ;)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Newcomer91

Registriert seit: 9. Mär 2010
66 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:30
Soweit so gut, nun habe ich schonmal die Textdatei ohne den Namen des Ordners dazu erstellt.
Delphi-Quellcode:
procedure TfrmExperience.btnSaveClick(Sender: TObject);
var
  txt: TextFile;
  sDir: String;
begin
  sDir:= ('C:\blablabllaa\blaaablabla');

  if ((edtHeadline.Text <> '') and (Memo1.Text <> '')) then begin
    ListBox1.Items.Add(edtHeadline.Text);

  if not DirectoryExists(sDir) then
    ForceDirectories(sDir);

  if not FileExists(ExtractFilePath(sDir)+'Experience.txt') then
    begin
      sDir := extractFilePath(sDir);
      AssignFile(txt, sDir +'Experience.txt');
      rewrite(txt);
      CloseFile(txt);
    end;
  end;
end;
Nach wie vor wird sie allerdings im selben directory der exe erstellt.
Ich kann in dem code nirgens sehen dass ich das explizit angebe.

Was fehlt noch?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:40
Hast Du mal unter C:\blablabllaa nachgesehen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Newcomer91

Registriert seit: 9. Mär 2010
66 Beiträge
 
Delphi 2010 Professional
 
#7

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:42
Problemgelöst. Lag an einer anderen Sache.
Dennoch, ein danke an DeddyH

/closed;

Geändert von Newcomer91 (14. Jan 2011 um 08:52 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.298 Beiträge
 
Delphi 12 Athens
 
#8

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:47
Moin...

AssignFile(txt, sDir +'Experience.txt');
...setze mal hier einen Breakpoint und sage mal wie sDir zu diesem Zeitpunkt aussieht.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:47
Das ist ein Unterordner des Programmordners? Dann ist das klar, da Du ja den letzten Ordnernamen mit ExtractFilePath wieder rauslöschst (zumindest, solange er nicht mit einem Backslash abschließt). Lass also das ExtractFilePath einfach mal weg.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Fehler bei Adressierung einer Textdatei zum zugehörigen Ordner

  Alt 14. Jan 2011, 08:51
Wieso nutzt du ExtractFilePath für etwas, was keinen Dateinamen enthält?
Wenn du es so aufrufst: ExtractFilePath('C:\blablabla\blaa'), dann kommt der String 'C:\blablabla\' zurück. Aber ich hoffe das ist klar?! ...


(Böser DeddyH ...)
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 04:00 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