tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
885
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Hallo,

    Ich habe das Problem dass ich sehr viele Werte in einer Datei speichern und wieder auslesen will. Es handelt sich z.B.: um Positionswerte, kurze Strings und auch Listen.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Element1
    Left:4
    Top:4
    Width:100
    Height:100
    Caption:Text
    Element2
    Left:...
    usw.

    Ich möchte diese Werte jetzt in einer Datei speichern. Ich hab ein System entwickelt das diese Werte zeilenweise als Text speichert, mit eindeutigen Schlüssen versieht.... und noch so einiges macht.

    Das ist allerdings sehr kompliziert und - mein Hauptproblem - sehr langsam.
    Wie machen das Anwendungen wie zum Beispiel Powerpoint, Excel?

    Vielleicht kann mir jemand helfen. Für VB6 hab ich mal ein Beispiel gehabt, nur funktioniert das unter .Net nicht mehr.

    Danke im Voraus,
    codeman
     
    Signatur wird geladen...

  2. #2
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Was genau ist denn da langsam? Das aufschlüsseln der Werte aus dem Textfile
    oder das versehen eben dieser mit deinen sog. Schlüsseln?
    Für was werden die Werte gebraucht und wo speicherst es hin?
    Wie wird das File überhaupt erzeugt?

    Fragen über Fragen...
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  3. #3
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Hallo,

    Langsam? An einer Datei mit rund 140 Zeilen kaut er schon mal eine Minute (Liegt an meinem Algorithmus, also dem Auslesen der Werte. Bitte nicht lachen )

    Die Werte sind Werte von Elementen auf einem Formular. Mit dem Programm kann man verschiedenes layoutieren. Also: Textfelder, Linien, Rechtecke, Bilder... das übliche eben.
    Und Tabellen will ich auch noch speichern.

    Ich speicher sie in eine Textdatei - (ich nehme an da liegt das Problem) - Meine sogenannten Schlüssel definieren im Text Controls, Forms und soweiter.

    Was meinst du mit wie wird das File erzeugt?

    codeman
     
    Signatur wird geladen...

  4. #4
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Hi,

    Also für das was du vor hast, würde sich XML perfekt eignen. Damit kannst du auch Struktur in deine Daten bringen. Ich kann mir vorstellen, dass dein Algorithmus bei Container doch ganz schön in straucheln gerät.
    Also an Xml ist hier aus meiner Sicht kein Weg vorbei.
    Am besten du erstellst dir ein Schema und die dazugehörigen Klassen und lässt dir deine Daten per Serializer schön zurecht rücken und fertig ist deine Form (ein paar Anpassungen von hand könnten noch vorkommen )
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

  5. #5
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Wennst nicht den Built-In Serializer verwendest, sondern deinen eigenen, könntest gleich die ganze Form serialisieren, als XML oder Binary speichern und dann einfach von dort wieder deserialisieren, in ein Objekt mappen und darstellen
     

  6. #6
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Danke für die Antworten!

    XML ist eine gute Idee, und ich werde mich sicher noch weiter damit beschaftigen.

    @Norbert Eder
    Der Vorschlag ist nicht schlecht... ob ich das hinkriege ist eine andere Sache.
     
    Signatur wird geladen...

  7. #7
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von codeman
    @Norbert Eder
    Der Vorschlag ist nicht schlecht... ob ich das hinkriege ist eine andere Sache.
    Sofern Du Dir diese Tutorials mal anschaust:

    BuildIn-Serializer aber Angepasst:
    Eigener Serializer:
    MfG,
    cosmo
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  8. #8
    Avatar von codeman
    codeman codeman ist offline Mitglied Gold
    Registriert seit
    Mar 2005
    Ort
    Salzburg/Austria
    Beiträge
    137
    Ahh...

    Danke!
     
    Signatur wird geladen...

  9. #9
    Avatar von MichiStroi
    MichiStroi MichiStroi ist offline Mitglied Gold
    Registriert seit
    Apr 2004
    Ort
    Seebenstein (NÖ)
    Beiträge
    162
    Schreib es doch einfach binär in eine Datei!
    Das ist bestimmt das schnellste. (Braucht ja auch am wenigsten Speicherplatz!)
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    StreamWriter sw = new StreamWriter(FileName);
    BinaryWriter bw = new BinaryWriter(sw.BaseStream);
    bw.Write(Modul.bPause);
    bw.Write(Modul.dMapStretch);
    bw.Write(Modul.dSpeed);
    bw.Write(Modul.sMapFileName.Length);
    bw.Write(Modul.sMapFileName.ToCharArray());
    bw.Write(Modul.dZoom);
    und Auslesen geht dann nach dem exakt gleichen Muster
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    StreamReader sw = new StreamReader(FileName);
    BinaryReader bw = new BinaryReader(sw.BaseStream);
    Wert = bw.ReadBoolean();
    Wert = bw.ReadDouble()
    Wert = bw.ReadDouble()
    Modul.sMapFileName = new String(br.ReadChars(br.ReadInt32()));
    Wert = bw.Write(Modul.dZoom);
    Schöne Grüße
    Michi
     
    Don't hang and loose but run and win!

  10. #10
    Avatar von Nico Graichen
    Nico Graichen Nico Graichen ist offline aka gemballa
    tutorials.de Moderator
    Registriert seit
    Dec 2003
    Ort
    Pulheim (NRW)
    Beiträge
    3.898
    Blog-Einträge
    34
    Zitat Zitat von MichiStroi
    Schreib es doch einfach binär in eine Datei!
    Das ist bestimmt das schnellste. (Braucht ja auch am wenigsten Speicherplatz!)
    Da er aber die Größe, Position,... von Fenstern und Controls speichern will, hilfst das binäre speichern nicht wirklich. Bei Xml hat er (wie oben schon geschrieben), den Vorteil, dass er über einen Serializer direkt seine Form daraus generieren kann ohne vorher umständlich die Daten zu parsen.
     
    Grüße Nico
    ----------------------
    Xing
    ----------------------
    Zitat Zitat von Mark Twain (1835-1910)
    Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
    Zitat Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
    The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison

Ähnliche Themen

  1. Daten in Datei Speichern
    Von shamon im Forum C/C++
    Antworten: 5
    Letzter Beitrag: 05.01.09, 23:52
  2. Daten in Datei speichern
    Von D34DL1NES im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 28.02.08, 16:05
  3. dynamisch Datei erzeugen und Daten darin speichern?
    Von heino-th im Forum Flash Plattform
    Antworten: 4
    Letzter Beitrag: 23.10.05, 16:14
  4. Antworten: 1
    Letzter Beitrag: 14.03.04, 18:42
  5. Antworten: 3
    Letzter Beitrag: 28.11.03, 13:13