Standartdatei ohne Dialog öffnen

Marco7757

Mitglied
Hallo zusammen!

Ich arbeite an einem Programm, das alls erstes, sobald es aufgerufen wird, ersteinmal eine Datei öffnen sollte. Diese datei ist vom Typ *.txt.
Aber wie kann man eine Datei ohne Dialog öffnen, das habe ich leider noch nicht gefunden ...

Code:
//Hiermit öffne ich normalerweise Dateien, jedoch mit einem Dialog ...
IO::StreamReader^ rdr = gcnew IO::StreamReader(dlg->OpenFile(), System::Text::Encoding::UTF7);
//Code
rdr->Close();

Kann ich hierbei jetzt einfach das dlg irgendwie weglassen und direkt den Pfad weglassen?

Ausserdem möchte ich eine Art Verschlüsselungsprogramm bauen, wobei im linken Textfeld etwas eingegeben werden kann, und sogleich im rechten die entsprechende Verschlüsselung erscheint. In der Konsole habe ich das mit getKey(); gemacht, damit ich immer genau wusste, was der Benutzer eingibt. Aber wie benutzt an getKey(); in Windows-Forms? Gibt es da eine Entsprechungen oder kann man sie genau so nutzen?

Gruss, Marco7757
 
Hi.

@Marco7757: Du bist hier nicht ganz im richtigen Forum. Passender wäre das .NET Forum, da du das .NET Framework verwendest.

Selbstverständlich kannst du den Dialogaufruf auch weglassen. :confused:

Gruß
 
Hallo Marco,

der Ausdruck "dlg->OpenFile()" liefert einen String. Demzufolge kannst du stattdessen auch den Pfad als Text dort angeben. Bitte die Referenz zu "StreamReader" (MSDN) anschauen. Dort sind solche Infos verfügbar.
Bei einer grafischen Oberfläche wird das Steuerelement "Textbox" verwendet. Eingeben des Benutzers werden über Events signalisiert. Hier wirst du dich wahrscheinlich auch erst mal in die Grundlagen einarbeiten müssen.

Gruß
MCoder
 
Vielen Dank für die Antworten!

Tut mir leid, wenn ich im falschen Forum poste, bin neu hier, werde es in Zukunft richtig machen.
Gut, ich werde den Artikel über StreamReader anschauen!

Mfg

Edit:
D.h., ich könnte es iwie so machen:
Code:
IO::StreamWriter^ wrt= gcnew IO::StreamWriter("datei.txt", System::Text::Encoding::UTF7);
wrt->Write(IRGENDETWAS REINSCHREIBEN);
wrt->Close();

Wenn ich mit dieser Methode (falls sie funktioniert) etwas in eine Datei hineinschreibe, wird dann alles schön genau an das letzte Zeichen angehängt, oder kommt bei jedem neuen Schreiben eine Leerzeile? Wenn ja, wie kann ich das verhindern?
 
Zuletzt bearbeitet:
Hallo,

ja, die Erzeugung des StreamWriter-Objektes passt so. Allerdings ist es immer sicherer, den vollständigen Pfad anzugeben.
Bei "Write" wird keine Leerzeile erzeugt. Und wie schon gesagt: Bei solchen Fragen lohnt sich der Blick in die StreamWriter-Klassenreferenz.

Gruß
MCoder
 
Zurück