Forum: PC-Programmierung C# : Datei in relativem Pfad zu Programm laden


von Mike (Gast)


Lesenswert?

Hallo

Habe folgendes Problem.
Will in eine RichTextBox eine RTF-Datei einlesen, das klappt mit...
1
RichTextBox.LoadFile("C:/Readme.rtf");

...soweit auch.
Allerdings hätte ich gerne eine relativen Bezug zum Programm. Also zum 
Beispiel dass die Datei im Unterordner /skripten des 
Programmverzeichnisses liegt. Wie stelle ich soetwas an?

von Di P. (drpepper) Benutzerseite


Lesenswert?

Vielleicht hilft dir die Information die du hier bekommst:
1
string path = Application.StartupPath;

(nach ca. 30s in google gefunden)

von Johnny (Gast)


Lesenswert?

Kleiner Gratistipp am Rande:

Bei Pfaden unbedingt statt -> RichTextBox.LoadFile("C:/Readme.rtf");
Dieses schreiben: RichTextBox.LoadFile(@"C:/Readme.rtf");

Das @ vor dem String verhindert, dass der String noch vorverarbeitet 
wird, also gewisse Zeichenketten durch andere ersetzt werden. Dies kann 
bei komplizierten Pfaden sonst zum Verhängnis werden.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

1
RichTextBox.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "//Readme.rtf");

von Johnny (Gast)


Lesenswert?

@ nicht vergessen:

RichTextBox.LoadFile(AppDomain.CurrentDomain.BaseDirectory + 
@"/Readme.rtf");

von Björn V. (froghut)


Lesenswert?

Oder noch schöner, funktioniert dann auch unter nicht-windows systemen 
und wenn die exe z.B. direkt in c:\ liegt:

RichTextBox.LoadFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
"Readme.rtf"));

von Johnny (Gast)


Lesenswert?

Auch hier empfiehlt es sich sehr das @ nicht zu vergessen:

RichTextBox.LoadFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
@"Readme.rtf"));

von Björn V. (froghut)


Lesenswert?

naja, da keine escape-zeichen im string sind wär das in dem fall egal ;P

von Johnny (Gast)


Lesenswert?

Ja da hast Du natürlich recht. Aber wer nicht im Stande ist im MSDN oder 
Help nachzuschauen wie man zum Applikationspfad kommt, hat sicher auch 
Mühe die allfällig vorhandenen Escape Zeichen in einem String zu 
erkennen ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.