AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wie beeinflusse ich WO eine Datei per Assign() erzeugt wird?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie beeinflusse ich WO eine Datei per Assign() erzeugt wird?

Ein Thema von Rapthor · begonnen am 8. Sep 2003 · letzter Beitrag vom 8. Sep 2003
Antwort Antwort
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#1

Wie beeinflusse ich WO eine Datei per Assign() erzeugt wird?

  Alt 8. Sep 2003, 15:26
Hallo ...
mein Code lautet wie folgt

Delphi-Quellcode:
      
SetCurrentDir(Edit2.Text + '\' + tempdir + '\' + Kuerzel.Text);
AssignFile(sinfo,'Shardinfo.ini');
ReWrite(sinfo);
CloseFile(sinfo);
Aber anstatt die Datei wie angegeben in CurrentDir abzulegen, legt er sie im Edit2.Text - Verzeichnis ab ... also einige Ordner weiter vorne.
Was mach ich falsch ?
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 15:28
Lass Dir mal den Wert von Edit2.Text + '\' + tempdir + '\' + Kuerzel.Text anzeigen.

Ausserdem teste mal folgenden Code:
Delphi-Quellcode:
if not DirectoryExists(Edit2.Text + '\' + tempdir + '\' + Kuerzel.Text) then
  raise Exception.Create('Verzeichnis existiert nicht!');
SetCurrentDir(Edit2.Text + '\' + tempdir + '\' + Kuerzel.Text);
AssignFile(sinfo,'Shardinfo.ini');
ReWrite(sinfo);
CloseFile(sinfo);
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 15:33
Warum überhaupt das aktuelle Verzeichnis setzen, wenn der Pfad eh im Edit drinsteht?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 15:34
Wie wäre es damit, einfach AssignFile mit nem kompletten Pfad aufzurufen?

AssignFile(F, 'C:\Programme\Blablubb\test.dat'); Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#5

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 15:36
OK Problem gelöst ....
Voll doof dass in dem Fall kein Verzeichnis akzeptiert wird im Format xxxxxxxx.xxx also in meinem Fall war es "Startrampe.tmp"
Obwohl ich sonst im Laufe der Zeit noch keinerlei Probs mit dem Punkt im Verzeichnis hatte.
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#6

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 15:46
Neues Problem:

Ich habe die Datei jetzt erstellt und auch einen Eintrag eingefügt.
Nach dem ersten Mal kein Problem aber wie trage ich jetzt noch mehr Zeilen ein? Mit ReWrite erzeugt er ja immer nur eine völlig neue Datei.

Quelltext:

Delphi-Quellcode:
      AssignFile(sinfo,'Shardinfo.ini');
      Reset(sinfo); { geht das damit ???}
      while not eof(sinfo) do ReadLn;
      Append(multi_mul); { Append richtig ??? }
      CloseFile(sinfo);
Bei multi_mul handelt es sich um den Bezeichner einer String KONSTANTEN.
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#7

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 16:09
GELÖST ! Danke trotzdem
  Mit Zitat antworten Zitat
Benutzerbild von Wormid
Wormid

Registriert seit: 26. Aug 2003
Ort: Steinfurt
292 Beiträge
 
Delphi XE2 Professional
 
#8

Re: Wie beeinflusse ich WO eine Datei per Assign() erzeugt w

  Alt 8. Sep 2003, 16:13
Append öffnet eine Datei und setzt den Zeiger ans Ende der Datei...

Delphi-Quellcode:
AssignFile(F, 'datei.txt');
Append(F);
WriteLn(F, 'Angehängte Zeile...');
CloseFile(F);
WriteLn schreibt den Text ans Ende der Date (hängt ihn also an).
Rewrite erzeugt eine neue, leere Datei.
Mit Reset öffnest Du eine Bestehende Datei, und der Dateizeiger bleibt am Beginn stehen.

Um das ganze mit Reset zu lösen, sähe das ungefähr so aus:

Delphi-Quellcode:
AssignFile(F, 'datei.txt');
Reset(F);
Seek(F, FileSize(F));
WriteLn(F, 'Angehängte Zeile...');
CloseFile(F);

Gruß

Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.
  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 04:50 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