mikrocontroller.net

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


Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Habe folgendes Problem.
Will in eine RichTextBox eine RTF-Datei einlesen, das klappt mit...
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?

Autor: Di Pi (drpepper) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft dir die Information die du hier bekommst:
string path = Application.StartupPath;

(nach ca. 30s in google gefunden)

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RichTextBox.LoadFile(AppDomain.CurrentDomain.BaseDirectory + "//Readme.rtf");

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ nicht vergessen:

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

Autor: Björn V.d.o. (froghut)
Datum:

Bewertung
0 lesenswert
nicht 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"));

Autor: Johnny (Gast)
Datum:

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

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

Autor: Björn V.d.o. (froghut)
Datum:

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

Autor: Johnny (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.