Entwickler-Ecke

IO, XML und Registry - Dateipfadangabe über string, wie geht das?


ImInneren - Fr 27.03.15 14:57
Titel: Dateipfadangabe über string, wie geht das?
Hallo :)
Hoffe, man versteht mich :D
Ich möchte, dass der Benutzer einen Namen eingeben kann für ein .xml-Dokument, das ich später abrufen möchte auf Anfrage.
Aber mein Prorgam schmeißt mir einen Fehler raus. Wie löse ich das Problem?



C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
using System.IO;
using System.Xml;

string a;
a = Convert.ToString(txtDateiName) /* Hier steht der vom Benutzer eingegebene Name */;

XmlTextWriter Rezept = new XmlTextWriter(Convert.ToString("C:\\Temp\\" + a + ".xml"), new UnicodeEncoding());


PS: Mag verwirrend sein, dass ich öfter converte. Aber ich habe sämtliche Methoden probiert, ein Convert an jeder Stelle mal, alle Convert, nichts Convert... Das ist nur das letzte Stadium gewesen.


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Fr 27.03.2015 um 14:23


Christian S. - Fr 27.03.15 15:23

user profile iconImInneren hat folgendes geschrieben Zum zitierten Posting springen:
Aber mein Prorgam schmeißt mir einen Fehler raus. Wie löse ich das Problem?
Das kommt auf den Fehler an, den Du uns aber nicht mitteilst ;)

Generell ist das Zusammensetzen von Dateinamen am Einfachsten zu bewerkstelligen, indem man die Combine-Methode der System.IO.Path-Klasse verwendet.

Ansonsten: Bitte die Fehlermeldung angeben.


ImInneren - Fr 27.03.15 15:45

Das wirft er mir dann aus, wenn ich das Programm Vortesten will:

user defined image


Ralf Jansen - Fr 27.03.15 15:58

Ich würde dir empfehlen dir mal den Inhalt von a anzusehen.

Dann überlegst du warum du Convert.ToString() benutzt obwohl in der TextBox natürlich bereits ein string drinsteht und damit konvertieren unnötig ist und dann überlegst wie man den String aus der TextBox bekommt. Sorry, ich könnte dich auch auf das Problem direkter stoßen aber so ist vermutlich lehrreicher wenn du so ein paar grundlegende Debuggingfähigkeiten mitnimmst, wie zum Beispiel die Fähigkeit sich den Inhalt von Variablen anzusehen.


ImInneren - Fr 27.03.15 16:05

Wenn ich das Convert bei der string a allerdings weglasse, macht er mir von vorn herein einen Fehler o.O
Darum hab ich das drin...

user defined image

EDIT: Ich habs mal so probiert: string a = txtRezeptName.Text;

;)


ImInneren - Fr 27.03.15 16:12

So, das klappt :D
Jetzt hab ich Probleme damit, dass er mir meine Zutaten nicht in die XML-Datei richtig schreiben will -.-
Im Lehrbuch war das alles irgendwie viel einfacher o.O


Ralf Jansen - Fr 27.03.15 16:56

Ein Tag mit einem Doppelpunkt und Zeilenumbruch find ich jetzt auch eher ungewöhnlich. Zu jedem WriteStartElement gehört übrigens auch ein WriteEndElement.


ImInneren - Fr 27.03.15 18:10

Muss das Kapitel mit den XML-Dateien wohl nochmal durchlesen im Buch :D
Aber ja, irgendwie dachte ich mir auch, kann ja was nicht stimmen... ^^
Ich seh´s nochmal an :)
Danke für die Hinweise, sind gut geschildert ;)