Autor |
Beitrag |
stigge
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: 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:
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 Christian S.: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am So 25.03.2007 um 22:24
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: 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 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: So 25.03.07 22:37
Blackheart666 hat folgendes geschrieben: | ExtractFilePath(ParamStr(0)
Grausig deinen Code würd Ich an deiner Stelle nochmal überdenken. |
Naja, läuft eigentlich sehr schnell.
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 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: So 25.03.07 22:42
So klappt's zumindest nicht:
Delphi-Quelltext 1:
| assignfile(schreiben, ExtractFilePath(Application.Exename)); |
|
|
Blackheart666
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: 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.
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.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: 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 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: So 25.03.07 22:50
Blackheart666 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.
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 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: So 25.03.07 22:52
Christian 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" 
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 25.03.07 22:54
stigge 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
      
Beiträge: 2195
XP
D3Prof, D6Pers.
|
Verfasst: So 25.03.07 22:59
Da fehlte auch noch eine Klammer
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 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: So 25.03.07 22:59
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 25.03.07 23:01
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
|
|
stigge 
      
Beiträge: 426
WinXP
Delphi 2007
|
Verfasst: Mo 26.03.07 13:02
|
|