Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 07:52

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#] Liste in eine Datei schreiben.

Discussion on [C#] Liste in eine Datei schreiben. within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 4
Join Date: Nov 2010
Posts: 2,463
Received Thanks: 1,481
[C#] Liste in eine Datei schreiben.

hey, also mein Titel ist nicht grade aussagekräftigt, aber ich versuch es mal zu erklären.

Ich schreibe mir grade ein Programm um mir zu merken wo ich bei welcher Serie
grade bin.
Nun möchte ich diese Informationen ja nicht unbedingt mit mysql in eine Datenbank füllen und auslesen, da es noch ein Freund verwenden will.
Ich habe gedacht ich lass eine datei erstellen wo es dann ausgelesen bzw reingeschrieben wird.
Nur leider fällt mir nicht ein wie ich es anstellen soll, ich weiss zwar wie man Config dateien erstellt bzw ausliest aber ich will ja diesmal mehrer Informationen speichern.

Also im groben und ganzen habe ich mir die Datei so vorgestellt:
##SerieXY
Staffel = XY
LängeSchnitt= XY

Achja und das ganze soll halt in eine liste
MfG
dOofkopf!™ is offline  
Old 01/09/2014, 06:37   #2
 
Schlüsselbein's Avatar
 
elite*gold: 0
Join Date: Feb 2013
Posts: 1,137
Received Thanks: 869
Was spricht gegen sqlite?
Schlüsselbein is offline  
Old 01/09/2014, 15:50   #3
 
Mindrex's Avatar
 
elite*gold: 5
Join Date: Jun 2008
Posts: 89
Received Thanks: 136
Hier ein Weg von vielen: die Serieninformation zu Json serialisieren.
Wir benutzen hierzu Json.NET, Download:
Um Json.NET zu benutzen, musst die die im Download enthaltene .dll Datei in deinem Projekt zu den Referenzen hinzufügen.

Zuerst erstellen wir eine Klasse, die die Informationen zu einer Serie enthält.
Diese Klasse kannst du übrigens so strukturieren wie du willst, Json.NET kann auch komplexe Strukturen ohne Probleme serialisieren.

Code:
class SerienInfo {
	public string Name;
	public int Staffel;
	etc...
}
Nehmen wir an, wir haben eine List<SerienInfo>, die mit Informationen gefüllt ist:

Code:
List<SerienInfo> info;
Wir können diese einfach mit Json.NET serialisieren:

Code:
string serienJson = JsonConvert.SerializeObject(Info);
Und dann in eine Datei speichern:

Code:
File.WriteAllText("serien.txt", serienJson);
Um unsere Informationen wieder aus der Datei auszulesen, machen wir folgenden:

Code:
string json = File.ReadAllText("serien.txt");
var serienInfos = JsonConvert.DeserializeObject<List<SerienInfo>>(json);
serienInfos (vom Typen List<SerienInfo>) enthält nun die in der Datei gespeicherten Informationen.
Nun kann man diese wieder im Programm verarbeiten, z.B:

Code:
foreach (var info in List<SerienInfo>)
{
	Console.WriteLine(info.Name + ":");
	Console.WriteLine("Staffel: " + info.Staffel);
	etc...
}
Ich hoffe, ich konnte dir weiterhelfen.
Lass mich es wissen, wenn du noch Hilfe brauchst.
Mindrex is offline  
Thanks
1 User
Old 01/09/2014, 16:16   #4
 
elite*gold: 4
Join Date: Nov 2010
Posts: 2,463
Received Thanks: 1,481
Quote:
Originally Posted by Mindrex View Post
Hier ein Weg von vielen: die Serieninformation zu Json serialisieren.
Wir benutzen hierzu Json.NET, Download:
Um Json.NET zu benutzen, musst die die im Download enthaltene .dll Datei in deinem Projekt zu den Referenzen hinzufügen.

Zuerst erstellen wir eine Klasse, die die Informationen zu einer Serie enthält.
Diese Klasse kannst du übrigens so strukturieren wie du willst, Json.NET kann auch komplexe Strukturen ohne Probleme serialisieren.

Code:
class SerienInfo {
	public string Name;
	public int Staffel;
	etc...
}
Nehmen wir an, wir haben eine List<SerienInfo>, die mit Informationen gefüllt ist:

Code:
List<SerienInfo> info;
Wir können diese einfach mit Json.NET serialisieren:

Code:
string serienJson = JsonConvert.SerializeObject(Info);
Und dann in eine Datei speichern:

Code:
File.WriteAllText("serien.txt", serienJson);
Um unsere Informationen wieder aus der Datei auszulesen, machen wir folgenden:

Code:
string json = File.ReadAllText("serien.txt");
var serienInfos = JsonConvert.DeserializeObject<List<SerienInfo>>(json);
serienInfos (vom Typen List<SerienInfo>) enthält nun die in der Datei gespeicherten Informationen.
Nun kann man diese wieder im Programm verarbeiten, z.B:

Code:
foreach (var info in List<SerienInfo>)
{
	Console.WriteLine(info.Name + ":");
	Console.WriteLine("Staffel: " + info.Staffel);
	etc...
}
Ich hoffe, ich konnte dir weiterhelfen.
Lass mich es wissen, wenn du noch Hilfe brauchst.
Okey das habe ich soweit verstanden nur habe ich grad das Problem, dass ich mit dem Index nicht klar komme undzwar will ich einen neuen Eintrag machen zum testen.

Sieht bei mir so aus, bis jetzt hab ich immer nur ausgelesen und nie selbst von 0 geschrieben deswegen ist mir das neu.

Code:
   public void JSonWrite()
        {
            SerienInfo = new List<Serien>();
            SerienInfo[1].Name = " TEST";

            string serienJson = JsonConvert.SerializeObject(SerienInfo);
            File.WriteAllText("test.txt", serienJson);
            
        }
Aber da fehlt ja der Index den hab ich ja bei 1 festgelegt zum testen.
Also kurz und knapp wie füll ich die Liste?

Edit: Habs
Code:
  SerienInfo = new List<Serien>();
            Serien item = new Serien
            {
                Name = "test"
            };
            SerienInfo.Add(item);
dOofkopf!™ is offline  
Old 01/09/2014, 16:23   #5
 
Mindrex's Avatar
 
elite*gold: 5
Join Date: Jun 2008
Posts: 89
Received Thanks: 136
Für Listen benutzt man die .Add Methode. Außerdem musst du auch das Serien-Objekt instanziieren:
Code:
public void JSonWrite()
        {
            SerienInfo = new List<Serien>();
            var testSerie = new Serie {
                        Name = "Test"
            };
            
            SerienInfo.Add(testSerie);

            string serienJson = JsonConvert.SerializeObject(SerienInfo);
            File.WriteAllText("test.txt", serienJson);
            
        }
Mindrex is offline  
Thanks
1 User
Old 01/09/2014, 17:06   #6
 
elite*gold: 4
Join Date: Nov 2010
Posts: 2,463
Received Thanks: 1,481
Wie lade ich die ausgelesenen Serien in die Listbox?
mit Listbox.Items.Add/AddRange ?

Habs erstmal so gemacht:
Code:
 
 var serienInfos = JsonConvert.DeserializeObject<List<Serien>>(json);
            foreach (var item in serienInfos)
            {
                Serienliste.Items.Add(item.Name);
            }
dOofkopf!™ is offline  
Old 01/09/2014, 17:21   #7
 
Mindrex's Avatar
 
elite*gold: 5
Join Date: Jun 2008
Posts: 89
Received Thanks: 136
Quote:
Originally Posted by dOofkopf!™ View Post
Wie lade ich die ausgelesenen Serien in die Listbox?
mit Listbox.Items.Add/AddRange ?

Habs erstmal so gemacht:
Code:
 
 var serienInfos = JsonConvert.DeserializeObject<List<Serien>>(json);
            foreach (var item in serienInfos)
            {
                Serienliste.Items.Add(item.Name);
            }
Du kannst auch direkt das Serien-Objekt in eine Listbox laden, du musst aber in der Klasse "Serie" die .ToString Methode überschreiben, damit die Serie richtig angezeigt wird:

Code:
class Serie
{
    public string Name;
    public int Staffel;
    etc...
    

    public override string ToString()
    {
        return Name + " | Staffel: " + Staffel;
    }
}
Mindrex is offline  
Old 01/09/2014, 18:13   #8
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
'Heaven. is offline  
Reply


Similar Threads Similar Threads
[Help] "Modern Warfare 3 konnte eine Datei nicht schreiben."
11/01/2012 - Call of Duty - 7 Replies
Guten Abend euch allen :) Ich habe seit Neuem ein Problem mit CoD:MW3 über Steam. von jetzt auf gleich erschien bei mir diese Fehlermeldung : http://www.bilder-hochladen.net/files/jkuy-g-c74d .jpg ("Modern Warfare 3 konnte eine Datei nicht schreiben. Die Festplatte ist möglicherweise voll.") Ich habe bereits unter sämtlichsten Suchmaschinen geschaut und meistens kam als Antwort, dass ich MW3 als Admin ausführen soll. Da ich zur Zeit noch Windows XP benutze, fällt diese Option leider...
[VB.Net] Eine Passwort(Textbox) verschlüsselt in Txt Datei schreiben?
07/16/2012 - .NET Languages - 10 Replies
Ich habe eine Login Form in der ich mein Passwort und Benutzername eingebe ! Wenn ich dort auf Los klicke sollen Passwort und Username in eine TxT Datei geschrieben werden , aber verschlüsselt . Ich will nämlich nicht immer mein Passwort eingeben deshalb soll meine Main-Form die Benutzerdaten aus der Txt Datei auslesen und entschlüsseln . Ich hab das ganze md5 verschlüsselt abgespeichert , aber das Problem ist ja leider das md5 nicht (so leicht) entschlüsselt werden kann . Deshalb suche ich...
c++ winapi, etwas in eine Datei schreiben?
11/17/2011 - C/C++ - 2 Replies
Abend, ich bräuchte hilfe mit dem Schreiben von Texten (bzw. andere Sachen) in Dateien. Das habe ich: fstream f; f.open("C:\\test.txt", ios::out); f << "text" << endl; f.close();
[Visual C#] Dieses Zeichen: " in eine .txt datei schreiben
05/04/2010 - .NET Languages - 2 Replies
Hallo=) Ich habe das Problem das ich einen Text in eine .txt schreiben will myWriter.Write("item_id=""); myWriter.Write(x); myWriter.Write("", type:");
[VB.NET][TuT] Sequenziell eine Datei lesen und schreiben
02/26/2010 - Coding Tutorials - 0 Replies
Die Projekt Datei ist schon mit Visual Basic 2008 benutzbar. ================================================= === In diesem Tutorial zeige ich euch, wie wir aus einer datei lesen und diese schreiben. =================================== =================================== •Was wir brauchen - Label1 (BackColor = Control, BorderStyle = Fixed3D, AutoSize = False) - Label2 (Text = Nr)



All times are GMT +2. The time now is 07:52.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.