Anzeige:
Ergebnis 1 bis 5 von 5

Thema: GTK: Speicherung v. Inhalten mehrerer Entry

  1. #1
    Registrierter Benutzer Avatar von guardian
    Registriert seit
    16.07.2003
    Beiträge
    25

    GTK: Speicherung v. Inhalten mehrerer Entry

    Hi Leute!

    Habe gerade 'ne kleine Gehirnblockade. Es geht darum: ich habe eine Art Datenbankmodul realisiert. Allerdings gibt es das Problem, dass ich momentan keinen Weg weiß, wie ich den Inhalt von x Entry's (sinnvollerweise blockweise) in einer Datei speichern, und bei Bedarf auch wieder laden kann.

    Hat jemand von euch mal nen heißen Tipp für mich ?
    Vielen Dank im Voraus
    If you have any problems feel free to mail me and I'll probably feel free to ignore you :p

  2. #2
    Registrierter Benutzer Avatar von [0x[90]|
    Registriert seit
    10.05.2005
    Ort
    Filderstadt
    Beiträge
    79
    Ich weiss nicht ob ich dich recht verstehe, aber du hast also ein Widget mit einer Anzahl X an Entries und moechtest nun den Inhalt jedes Entries abspeichern.
    Falls das so stimmt, wuerde ich das ganze mittels Glade bauen, sodass du die Widget-Lookup Funktion in einer Schleife dazu bringst dir den Widget-Pointer zu jedem Entry zu geben. Dazu musst du die Entries nur nummerisch bezeichnen (sprich: Entry1, Entry2, Entry3) und kannst dann, da du die Lookup Funktion einen String erwartet, "Entry" + i in einen Puffer kopieren und dann das Widget abfragen. Den wiedergegebenen Pointer kannst du anschliessen in die _get_text Funktion stecken und bekommst den Text.
    Falls dir dies zu kompliziert ist, solltest du dein Programm evtl. komplett ueberdenken und es so aufbauen, das Werte in einem GString (oder von mir aus gchar **) gespeichert werden, den Entries diese Werte zugewiesen werden und sie dann aus dieser kleinen "Puffer-Datenbank" in deine Datei geschrieben werden.
    Um die Daten abzuspeichern, kannst du (je nach groesse deines Projekts) beispielsweise die libxml benutzten. (Sprich: Daten im XML Format abspeichern/laden)

  3. #3
    Registrierter Benutzer Avatar von guardian
    Registriert seit
    16.07.2003
    Beiträge
    25
    Hallöchen [0x[90]|,

    erst mal vielen Dank für dein Posting!

    Habe diese Datenbank mittels Glade erstellt. Wie ich an den Text rankomme ist mir auch klar
    Das einzige was ich z.Zt. wissen wollte, ist wie man am effektivsten die zwischengepufferten Daten (ausgelesen mittel "gtk_entry_get_text") speicher. Das Ganze allerdings so, dass ich die Datensätze dann auch wieder entsprechend den Entries beim Laden zuweisen kann, ohne eine umständliche Funktion zu schreiben

    MfG
    If you have any problems feel free to mail me and I'll probably feel free to ignore you :p

  4. #4
    Registrierter Benutzer Avatar von [0x[90]|
    Registriert seit
    10.05.2005
    Ort
    Filderstadt
    Beiträge
    79
    Das kann ich dir leider nicht beantworten, da ich den Umfang deiner Applikation nicht kenne. Wenn du ein recht kleines Programm hast, wird es wohl damit getan sein, die Daten einfach Zeilenweise in einer ASCII-Datei abzuspeichern und sie beim Laden einfach Zeilenweise wieder einzulesen und zuzuweisen (Zeile 1 = Entry 1, Zeile 2 = Entry 2, usw.). Bei einer groesseren Anwendung wuerde ich jedoch beispielsweise sowas wie libxml nehmen. Die Daten speichern kannst du auch ohne libxml, indem du einfach xml tags mit den Daten in die Datei haust. Das auslesen wird aber doch etwas umfangreicher, fuer einen recht simplen XML-Theme-File Parser habe ich rund 100 Zeilen Code gebraucht.

  5. #5
    Registrierter Benutzer Avatar von guardian
    Registriert seit
    16.07.2003
    Beiträge
    25
    Okay. Dann werde ich mir mal die libxml zu Gemüte führen. Vielleicht hilft es ja doch ein wenig was

    BTW: in der kleinen Version des Programms sind es nur 4 Entries. In der Endfassung bzw. beim ersten Release sollen es mal rund 75 Entries werden

    MfG
    If you have any problems feel free to mail me and I'll probably feel free to ignore you :p

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •