Erstes kleines Projekt (Adressbuch)



  • @CSS
    Die MS Access war auch meine Überlegung. Habe mich aber dann dafür entschieden das ich die ganzen Daten mit hilfe von SQLite abspeichere...



  • Du musst du Daten aber unbedingt vorladen!

    Wird das jetzt was mit OpenSource?

    MfG CSS



  • Wieso muss ich die Daten unbedingt vorladen??? Ich kann auf SQLite genau so einfach zugreifen und dies ebenfalls so einfach verwenden wie ne Accessdatei...
    Naja, als OpenSource war es eigentlich nicht geplant sondern eher als Projekt zum lernen. Kann den source aber gerne zum download bereitstellen. Wäre absolut kein problem...



  • Wenn due deine Daten vorlädst, ermöglichst du dem Nutzer ein schnellers Verwalten der Daten.

    MfG CSS



  • Achso, das ist war. Wobei man hier auch drauf achten muss wieviel datensätze in der DB irgendwann mal liegen könnten. Bei dem kleinen Projekt sollte dies aber kein problem darstellen 🙂



  • @guenni81, was hällst du eigendlich von XML statt einer "richtigen" Datenbank. Damit könnten dann Fremdanwendungen leicht auf die jeweiligen Daten zugreifen. Somit bräuchte man nur ein Zentralen Adressbuch und könnte dieses dann von verschiedenen Anwendungen nutzen lassen...in der Theorie zumindest 🙂



  • @Herrmann
    Die idee ist nicht schlecht, dies ist aber ebenfalls mit sqlite und access möglich. Mal abgesehen davon hab ich bis jetzt noch keine erfahrungen mit xml und c++ gemacht...



  • Also die Sources hätt ich gerne, könnte dir das dann erweitern, aber ich arbeite nicht mit MFC, sondern nur mit Borland C++ Builder 3, 5 und 6 und dann noch Dev-C++ 4.9.9.0, MFC verabscheue ich, weil's von MS kommt ^^ auch wenn ich Windows benutze, dennoch... naja, wie dem auch sei, was die DB angeht: man kann Exportfunktionen schreiben, für Outlookuser... einfach in eine CSV-Datei schreiben ^^ - darauf kann dann jede andere anwendung (theoretisch) zugreifen.



  • Mal ein herzliches Dankeschön an alle. Da so viel verschiedene Datenbanken vorgeschlagen wurden wäre es vielleicht ne idee ein Interface zu realisieren mit der man die DLL Datei austauschen könnte und somit auf verschiedene Datenbanken zugreifen könnte.



  • Wieso sollte man die Daten vorladen?

    Wenn ich jetzt mal von 10000 Datensätzen ausgehe dann dauert so eine suche nicht länger als 0,X sekunden.
    Sollte ich alles Daten vorladen dann dauert der Start schon X Sekunden.
    Was das auch noch Speicher benötigt möchte ich jetzt nicht gesondert erwähnen.
    Für sowas sind Datenbanken da.



  • @Unix-Tom
    Da hast du recht. Somit lassen wir das vorladen wegfallen.



  • @Windoof
    Deine Idee mit dem Modularen aufbau gefällt mir. Nur habe ich das problem das ich nicht weiss wie man sowas realisiert. Wie muss man sowas planen??? Wie kann ich eine Schnittstelle schaffen die mir komplett neue Menüeinträge erstellt??? Wie kann ich es realisieren das der User sich die Datenbank dir er nutzen will selbst aussuchen kann???



  • OK, nach einigem Testen wegen dem Modularen Aufbau hab ich mich doch vorerst anderster entschieden und lass das mit dem Modular sein.
    Es wird eine SDI Anwendung die CFormViews nutzt. Die Views hab ich soweit alle fertig und man kann zwischen diesen auch hin und her switchen.
    Ich hoffe das ich am Wochenende noch dazu komm die kompletten Datenbankfunktionen zu schreiben, dann dürfte dieses Kleine projekt auch schon wieder so ziemlich fertig sein.



  • guenni81 schrieb:

    Ich hoffe das ich am Wochenende noch dazu komm die kompletten Datenbankfunktionen zu schreiben, dann dürfte dieses Kleine projekt auch schon wieder so ziemlich fertig sein.

    Kleiner Tipp: wenn du noch ein bzw. zwei Interfaces zwischen deine Adressen und SQLite schiebst kannst du prinzipiell soviele verschiedene Im- & Exporter implementieren wie du Lust hast. Dadurch lässt sich evtl auch leichter eine Synchronisation mit anderen Adressdateien/-datenbanken realisieren.



  • Die Interfaces für die DB sind schon angedacht. Es sollen ja mehrere Datenbanken am schluss genutzt werden können...



  • Wer es sich mal anschauen will, hier gehts zum download
    http://mitglied.lycos.de/guenni1981/adressbuch/



  • ich hab mir das programm mal angeschaut und hab folgenden fehler gefunden:
    ➡ die spaltenbeschrifftungen "Vorname" und "Nachname" sind in der CListView-Hauptansicht vertauscht

    ansonsten find ich noch wäre zu verbesserern
    ➡ ordnen der namen
    ➡ wahlweises anzeigen der anderen daten in weitern spalten
    ➡ beim export läuft die fortschrittanzeige bis auf 100% aber man merkt nicht richtig, dass er schon fertig ist (vl wieder auf 0 zurücksetzten)
    ➡ nach dem suchen muss man einmal nach einem lehren string suchen um wieder die vollständige liste zu bekommen

    aber gefällt mir eigentlich ganz gut



  • Eigentlich ganz nett, aber

    • Deine Titelleiste ist kapput 😉 Minimieren & Schließen wäre nicht schlecht
    • Die Fenstergröße verändern zu können wär auch ganz nett
    • Kontakt hinzufügen, Export/Import und so hätte ich wohl eher als Dialog oder separates Widget realisiert
    • Beim Kontakt bearbeiten fragst du noch mal nach wenn ich auf "Änderungen Speichern" klicke ob ich das wirklich will (nervig; vielleicht optional verschiedene Warning Levels), wenn ich nochmal auf den ToolButton drücke nicht (auch nervig; vielleicht mal nachfragen ob ich meine ganze Arbeit wirklich verwerfen will;))
    • Die Dateitypen beim Export (Radio/SaveDialog) sollten miteinander korrespondieren
    • Fehlermeldung beim Export, nur Typ angegeben: "eine unbekannte Datei enthält eine ungültige Pfadangabe." 🙂
    • Dein CSV-Export ist kaputt 😞 Schau dich mal auf www.wotsit.org um, Stichwort Escaping
    • Wahlweise Nicht-Excel-CSV wäre auch ganz nett
    • Nur ausgewählte Einträge zu exportieren wäre schon hilfreich
    • Import funktioniert gar nicht?
    • Für den Import: Wahlweise laden oder hinzufügen wäre nützlich


  • tuempl schrieb:

    ich hab mir das programm mal angeschaut und hab folgenden fehler gefunden:
    ➡ die spaltenbeschrifftungen "Vorname" und "Nachname" sind in der CListView-Hauptansicht vertauscht

    ansonsten find ich noch wäre zu verbesserern
    ➡ ordnen der namen
    ➡ wahlweises anzeigen der anderen daten in weitern spalten
    ➡ beim export läuft die fortschrittanzeige bis auf 100% aber man merkt nicht richtig, dass er schon fertig ist (vl wieder auf 0 zurücksetzten)
    ➡ nach dem suchen muss man einmal nach einem lehren string suchen um wieder die vollständige liste zu bekommen

    aber gefällt mir eigentlich ganz gut

    Zu 1) Hab ich komplett übersehen und ist anscheinend auch niemandem aufgefallen, Fehler behoben
    Zu 2) Die Select Klausel beinhalted ein Order by um die Namen zu sortieren. Der Fehler liegt einfach
    darin, dass SQLite3 die Groß- und Kleinschreibung beachtet und deswegen nicht korrekt sortiert. Fehler wurde behoben
    Zu 3) Fand ich überflüssig, da man dies unter details komplett sieht, könnte man aber nachträglich noch
    einbauen
    Zu 4) Es wird jetzt eine Messagebox ausgegeben die mitteilt das die Daten korrekt exportiert/importiert
    wurden

    Neue Versionen stehen online...



  • finix schrieb:

    Eigentlich ganz nett, aber

    • Deine Titelleiste ist kapput 😉 Minimieren & Schließen wäre nicht schlecht
    • Die Fenstergröße verändern zu können wär auch ganz nett
    • Kontakt hinzufügen, Export/Import und so hätte ich wohl eher als Dialog oder separates Widget realisiert
    • Beim Kontakt bearbeiten fragst du noch mal nach wenn ich auf "Änderungen Speichern" klicke ob ich das wirklich will (nervig; vielleicht optional verschiedene Warning Levels), wenn ich nochmal auf den ToolButton drücke nicht (auch nervig; vielleicht mal nachfragen ob ich meine ganze Arbeit wirklich verwerfen will;))
    • Die Dateitypen beim Export (Radio/SaveDialog) sollten miteinander korrespondieren
    • Fehlermeldung beim Export, nur Typ angegeben: "eine unbekannte Datei enthält eine ungültige Pfadangabe." 🙂
    • Dein CSV-Export ist kaputt 😞 Schau dich mal auf www.wotsit.org um, Stichwort Escaping
    • Wahlweise Nicht-Excel-CSV wäre auch ganz nett
    • Nur ausgewählte Einträge zu exportieren wäre schon hilfreich
    • Import funktioniert gar nicht?
    • Für den Import: Wahlweise laden oder hinzufügen wäre nützlich

    Zu 1) Dies ist Absicht, dass man nicht Maximieren und Minimieren kann, den Schließen Button habe ich soeben hinzugefügt.
    Zu 2) Dies ist ebenfalls Absicht, da sich ansonsten die komplette Formview verziehen würde und das nicht so schön aussieht.
    Zu 3) Hätte man machen können, hab mich aber entschieden dies so zu realisieren.
    Zu 4) Finde ich ok so, da dies bei anderen Programme auch so gehandhabt wird (Beispiel MSWord). Das mit den Error Levels wäre ne idee.
    Zu 5) Es wird jetzt immer die passende Dateiendung angehängt
    Zu 6) Es wird jetzt überprüft ob ein Dateiname angegeben wurde...
    Zu 7) Hoffe das der Export nun korrekt ist.
    Zu 😎 Hierzu könnte man das Programm erweitern
    Zu 9) Hier könnte man ebenfalls das programm erweitern
    Zu 10) Der Import funktioniert bei mir ohne Probleme.
    Zu 11) Beim Import wird automatisch verglichen ob der Name schon in der DB vorhanden ist, und wenn nicht, wird dieser Datensatz hinzugefügt, ansonsten übersprungen.


Anmelden zum Antworten