Autor Beitrag
stigge
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:23 
Ich lasse ein paar Editfelder mit opendialogen befüllen.
Wenn ich die Editfelder jetzt aber in eine Textdatei speichere, speichert er sie immer dahin, wo ich als letztes mit dem opendialog war. Frage: Wie kann ich die Datei in den gleichen Ordner wie das Programm speichern?
Kleiner Ausschnitt des Quelltextes:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
procedure TForm2.Button9Click(Sender: TObject);
begin
opendialog8.Execute;
edit9.Text := opendialog8.FileName;
end;

procedure TForm2.Button10Click(Sender: TObject);
begin
opendialog9.Execute;
edit10.Text := opendialog9.FileName;
end;

procedure TForm2.Button11Click(Sender: TObject);
var schreiben: textfile;
begin
if edit1.Text = '' then
begin
exit;
end else
assignfile(schreiben, 'paths.txt');
rewrite(schreiben);
writeln(schreiben, edit1.Text);
writeln(schreiben, edit2.Text);
writeln(schreiben, edit11.Text);
writeln(schreiben, edit3.Text);
writeln(schreiben, edit12.Text);
writeln(schreiben, edit4.Text);
writeln(schreiben, edit13.Text);
writeln(schreiben, edit5.Text);
writeln(schreiben, edit14.Text);
writeln(schreiben, edit6.Text);
writeln(schreiben, edit15.Text);
writeln(schreiben, edit7.Text);
writeln(schreiben, edit16.Text);
writeln(schreiben, edit8.Text);
writeln(schreiben, edit17.Text);
writeln(schreiben, edit9.Text);
writeln(schreiben, edit18.Text);
writeln(schreiben, edit10.Text);
writeln(schreiben, edit19.Text);
closefile(schreiben);
edit1.clear;
edit2.clear;
edit3.clear;
edit4.clear;
edit5.clear;
edit6.clear;
edit7.clear;
edit8.clear;
edit9.clear;
edit10.clear;
edit11.clear;
edit12.clear;
edit13.clear;
edit14.clear;
edit15.clear;
edit16.clear;
edit17.clear;
edit18.clear;
edit19.clear;
form1.Show;
form2.Hide;
end;



Moderiert von user profile iconChristian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 25.03.2007 um 22:24
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 25.03.07 22:34 
ExtractFilePath(ParamStr(0)
Grausig deinen Code würd Ich an deiner Stelle nochmal überdenken.

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:37 
user profile iconBlackheart666 hat folgendes geschrieben:
ExtractFilePath(ParamStr(0)
Grausig deinen Code würd Ich an deiner Stelle nochmal überdenken.

Naja, läuft eigentlich sehr schnell.
ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0)					

Ja schon, aber wann und wie kann ich ihm den Pfad mitgeben?
Bei einer listbox oder Ähnlichem wäre es ja klar, aber wie mache ich es bei dieser Art von Schreiben?
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:42 
So klappt's zumindest nicht:
ausblenden Delphi-Quelltext
1:
assignfile(schreiben, ExtractFilePath(Application.Exename));					
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 25.03.07 22:46 
Na genauso,ExtractFilePath liefert dir den Pfad zur Exe dann nur deinen Dateinamen noch dran fertsch.
Bei den ganzen Clears schau mal nach FindKomponent.
Und 10 OpenDialoge sind doch bestimmt auch nicht nötig.
ausblenden Delphi-Quelltext
1:
assignfile(schreiben, ExtractFilePath(ParamStr(0) +'Path.txt');					

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 25.03.07 22:48 
[Leicht-Off-Topic]@stigge: Schau Dir mal den Styleguide an. Insbesondere zu Themen Namensgebung und Einrückung.[/Leicht-Off-Topic]

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:50 
user profile iconBlackheart666 hat folgendes geschrieben:
Na genauso,ExtractFilePath liefert dir den Pfad zur Exe dann nur deinen Dateinamen noch dran fertsch.
Bei den ganzen Clears schau mal nach FindKomponent.
Und 10 OpenDialoge sind doch bestimmt auch nicht nötig.
ausblenden Delphi-Quelltext
1:
assignfile(schreiben, ExtractFilePath(ParamStr(0) +'Path.txt');					

Kommt der gleiche Fehler wie immer:
Ungültiger Dateiname
Wahrscheinlich kann man nur den Dateinamen zuweisen, aber nicht den Pfad. Aber es muss doch irgendwie möglich sein!
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:52 
user profile iconChristian S. hat folgendes geschrieben:
[Leicht-Off-Topic]@stigge: Schau Dir mal den Styleguide an. Insbesondere zu Themen Namensgebung und Einrückung.[/Leicht-Off-Topic]

Eingerückt hab ich noch nie geschrieben und Namensgebung, naja, manchmal fällt mir der Name nicht auf die Schnelle nicht ein. Siehe "Irgendwas-Zeichen" :oops:
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 25.03.07 22:54 
user profile iconstigge hat folgendes geschrieben:
Wahrscheinlich kann man nur den Dateinamen zuweisen, aber nicht den Pfad.
Natürlich kann man auch den Pfad zuweisen, weil er Teil des Dateinamens ist. Wenn Du ihn nicht mit angibst, wird das aktive Verzeichnis verwendet, wie Du ja am eigenen Leib erfahren hast.

Lass Dir mal ausgeben , was ExtractFilePath(ParamStr(0))+'Path.txt' ist. Vielleicht fehlt da irgendwo noch ein Backslash.

Und bitte nutze die Edit-Funktion im Forum, falls Du in nur wenigen Minuten Abstand noch was zu Deinem Beitrag hinzufügen möchtest.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: So 25.03.07 22:59 
Da fehlte auch noch eine Klammer
ausblenden Delphi-Quelltext
1:
assignfile(schreiben, ExtractFilePath(ParamStr(0)) +'Path.txt');					

_________________
Blackheart666
Der Irrsinn ist bei Einzelnen etwas Seltenes, - aber bei Gruppen, Parteien, Völkern, Zeiten die Regel. (Friedrich Nietzsche)


Zuletzt bearbeitet von Blackheart666 am Mo 26.03.07 07:57, insgesamt 1-mal bearbeitet
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: So 25.03.07 22:59 
user profile iconChristian S. hat folgendes geschrieben:
user profile iconstigge hat folgendes geschrieben:
Wahrscheinlich kann man nur den Dateinamen zuweisen, aber nicht den Pfad.
Natürlich kann man auch den Pfad zuweisen, weil er Teil des Dateinamens ist. Wenn Du ihn nicht mit angibst, wird das aktive Verzeichnis verwendet, wie Du ja am eigenen Leib erfahren hast.

Lass Dir mal ausgeben , was ExtractFilePath(ParamStr(0))+'Path.txt' ist. Vielleicht fehlt da irgendwo noch ein Backslash.

Und bitte nutze die Edit-Funktion im Forum, falls Du in nur wenigen Minuten Abstand noch was zu Deinem Beitrag hinzufügen möchtest.

Ich hab's raus!
ausblenden Delphi-Quelltext
1:
2:
3:
4:
var pfad: string;

pfad := ExtractFilePath(ParamStr(0));
pfad := pfad+'paths.dat';

Er hat einfach nicht das pfade.txt hinten drangehängt. Danke Leute!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 25.03.07 23:01 
Lass mich raten, Du hattest die letzte Klammer falsch gesetzt, sodass dieses hier dabei heraus kam:
ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0)+'paths.dat');					

Deines ist nämlich identisch mit dem, was ich schrieb:
ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0))+'paths.dat';					

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
stigge Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 426

WinXP
Delphi 2007
BeitragVerfasst: Mo 26.03.07 13:02 
user profile iconChristian S. hat folgendes geschrieben:
Lass mich raten, Du hattest die letzte Klammer falsch gesetzt, sodass dieses hier dabei heraus kam:
ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0)+'paths.dat');					

Deines ist nämlich identisch mit dem, was ich schrieb:
ausblenden Delphi-Quelltext
1:
ExtractFilePath(ParamStr(0))+'paths.dat';					

Ich hab's einfach von oben rauskopiert und nicht weiter darüber nachgedacht, weil ich sowieso dachte, das es nicht klappt :wink: