Autor Beitrag
Hm...
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Sa 28.03.09 13:40 
Hallo, ich hab ein Problem. Und zwar soll mein Programm Textdateien speichern. Diese sollen in einem Unterordner gespeichert sein. Wenn ich es allerdings so versuche:
ausblenden C#-Quelltext
1:
            StreamWriter save = new StreamWriter("\\Hotkeys\\" + hkName + ".txt");					

und dann die Dateien speichern möchte, möchte er die Dateien in D:\Hotkeys\blalba.txt speichern. Ich möchte aber, dass egal wo sich die Anwendung befindet, sie in den "Hotkeys" Unterordner ihre Textdateien speichert. Also z. B.: Wenn der Pfad "C:\Programme\Anwendung\bla.exe" ist, sollen die Textdateien unter "C.\Programme\Anwendung\Hotkeys\bla.txt" gespeichert werden. Wie muss ich dann den Pfad bei StreamWriter angeben?

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19326
Erhaltene Danke: 1749

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.03.09 13:59 
Schau dir einmal Application.StartupPath an. ;-)

Zudem muss dir klar sein, dass du für das Schreiben in einen Unterordner unter c:\programme (wenn dein Programm dort installiert ist) Adminrechte brauchst. Deshalb geht diese Lösung nur bei einem portablen Programm für USB-Sticks oder so.
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Sa 28.03.09 14:22 
Außerdem ist für die Zusammensetzung von Dateinamen Path.Combine das sinnvollste Verfahren. Schau dir auch einmal die Environment.SpecialFolder-Enumeration an, vor allem CommonApplicationData.

Für Textdateien gibt es in der File-Klasse "einfachere" Varianten zum Speichern, z.B. WriteAllText, WriteAllLines, AppendText. (Die benutzen intern natürlich auch StreamWriter, aber der schreibfaule Programmierer erleichtert sich gerne die Arbeit.)

Gruß Jürgen