Einsatztagebuch der Feuerwehr

  • VB.NET

Es gibt 37 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    @Michael K.
    Wozu das Gedöns mit den Textdateien? Wie soll man sowas mal erweitern geschweige denn in 1/2 Jahr noch durchsteigen, welche Textdatei was beinhaltet?
    Zudem werden die Daten in Textboxen gehalten, was aufwändige Formatierungen bei Datumse und Zahlen zur Folge hat. Sortieren von Daten erfolgt (wenn man nicht genau aufpasst) idR immer alphabetisch, was bedeutet. dass 2 > 20 ist und der 5.1.2012 nach dem 3.12.2012 kommt. Bei sowas könnt ich jedesmal austicken. Da werden Codeschlangen mit unendlichen Zeilen produziert.

    Hier mal ne Kurzfassung für Datenbinding:
    Neues Projekt (Form) erstellen
    Ein Dataset hinzufügen, ein graphischer Designer öffnet sich
    Im Dataset eine Tabelle anlegen und benamen
    In der Tabelle Eigenschaften definieren: ID (als Integer), Vorname (String), Name(String), geb(DateTime)
    Spalte ID als Primärschlüssel festlegen, kein Autoinkrement
    Doppelklick ins Fenster um den Code des Dataset anzuzeigen und Dataset Initialize-Event eintragen
    In diesem Event Me.MeineTabelle.ID_Column.Autoinkrement=true
    Fenster schließen.
    Auf der Form ein Süpltcontainer o.ä. mit hor. teilung anlegen
    Das Datenquellenfenster öffnen(unter der Toolbox)
    Das Tabellensymbol aus dem DatenquFenster auf die Form ziehen
    Es erscheint ein Datagridview mit allen Spalten der Tabelle (Die Spalten lassen sich noch formatieren)
    Der Bindingnavigator kann eig wech
    Wichtig sind das lokale Dataset und die Bindingsource
    Jetzt kannst du schon starten und im DGV Daten eintragen, löschen, ändern...
    Nun fehlen nur noch Speichern und laden (Dattaset.WriteXML(Pfad), Dataset.ReadXML(Pfad)

    Mit dieser einfachen Anwendung kannst du schon allerhand machen und hast nur 3 Zeilen Code geschrieben! Spalten sortieren, editieren, alles schon fertig.
    Und ähnlich einfach gehts weiter...

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:

    Michael K. schrieb:

    wie ich es am einfachsten finde.

    Gerade da liegt der Hund begraben, der Hase im Pfeffer und des Pudels Kern. Vordergründig ist es erstma einfach die Inhalte der textboxen über Textdateien wegzuspeichern und zurückzuholen. Der Ärger beginnt mit den Sonderwünschen, wenn man in seinen Daten Suchen, sortieren und annere schöne Sachen machen will. Dann gibts nen Codegewusel, dass man sehr schnell den Überblick verliert. Zum Schluß bleibt dann oft entweder nischt halbes und nischt ganzes oder ein Komplettabriß und Neubau.
    Ich verwende zum Speichern und bearbeiten von Daten ausschließlich Datasets, auch wenn nur 1 Tabelle drin ist. Alle Daten sind typsicher zu verwenden, die Bindingsource erlaubt das Navigieren, sortieren Filtern usw. Es ist alles vorhanden, man musses nur noch aufrufen. Ich will nicht verschweigen, dass es auch da hin und wieder Pferdefüßchen gibt, aber es ist fast alles lösbar.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Okay danke leute für die vielen antworten ;)

    @Vatter...kannst du mir das nochmal genauer erläutern bitte...weil ich habe es irgendwie noch nicht ganz verstanden ...tut mir sehr leid...es hört sich gut an aber ich blicke noch nicht so ganz durch :(

    Vielen Dank schon mal im vorraus ;) :D ;)
    Geh mal erstma die Links durch und spiel das nach. Es dauert erstma nen bisserl, aber dann schnaggelts schon. Erfinder des Rades hat da noch mehr so Tipps parat. (Der hat auch allerhand in seiner Signatur)
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Also ...ich habe mich für noch keine Variante entschieden...ich will eine nehmen , mit welcher ich alle angelegten Einsätze bestens auf einen Blick verwalten kann...welche Variante ist denn dazu am besten geeignet?

    Eine weitere frage hat sich mir nun ergeben...und zwar möchte ich dem Anwender die Möglichkeit geben, mit Hilfe einer Combobox den Einsatzort zu wählen...dann gibt es die Möglichkeit die straße in der sich der Einsatz befindet zu wählen, ebenfalls in einer Combobox...ich hätte es gerne so , das wenn ich beim Einsatzort z.b. Musterstadt nehme , bei den Straßennamen auch nur die Straßen angezeigt werden , welche sich in Musterstadt befinden...wenn ich jetzt den Ort ändere in z.b. Musterort , dann sollen wiederum nur die Straßennamen aus Musterort angezeigt werden...genauso bei den ausgerücktten fahrzeugen und dem funkverkehr...beim funkverkehr sollen nur die Fahrzeuge bzw. Funkrufnamen per Combobox anwahlbar sein, welche ich auch als ausgerückt ausgewählt habe....wie kann ich das am geschicktesten angehen? ?(

    Mit freundlichen Grüßen
    Ich :P :D
    So mal ganz vom Thema ab... Ich denke du würdest dir viel Arbeit sparen, wenn du mit Datagrids arbeiten würdest. oO
    Im Grunde könntest du nen Großteil der Controls durch zwei Datagrids (Fahrzeuge & Funkverkehr) erschlagen. Zudem wären diese dann auch erweiterbar.
    Du kannst ja jedes Feld im Datagrid auch als Combobox oder Checkbox usw. hinterlegen.

    Dann könntest du auch direkt alles in einem Dataset designen und viel Logik und Aufwand wäre dahin.

    Die Uhrzeit könntest du auch durch ein extra hierfür vorgesehenes Control "DateTimePicker" ersetzen.

    Ansonsten ne gute Idee. Kenne es vom THW her ;)

    Auch hast du bei den Hausnummern vergessen dass 129 gaaaanz wo anders sein kann als 129A.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Ich kann mich nur wiederholen:
    Vergiß zunächst die Bedienoberfläche und beschäftige dich mit dem Datenmodell. Ein sauber aufgebautes Datenmodell ist die absolute Grundlage für dein Vorhaben.
    Beispiel:
    Tabelle Städte enthält alle benötigten Städte für deine Einsatzorte
    Tabelle Strassen enthält alle Strassen aller Städte. Jeder Datensatz (jede Strasse) enthält einen Verweis auf die Stadt in Form der ID_Stadt.
    Nun der Clou: Eine Tabellenbeziehung 1:n zwischen den beiden Tabellen wird erzeugt. das bedeutet, dass Jede Stadt beliebig viele Strassen haben kann, jede Strasse aber nur einmal in der jeweiligen Stadt existiert. Das passiert alles mit dem Designer de Dataset. Und diese Beziehung läst sich aus dem Datenquellenfenster auf deine Form ziehen. Dabei erhältst du ein Datagrid der übergeordneten Tabelle (Städte) und ein Datagrid der untergeordneten Strassentabelle. Wählst du in DGVStadt eine Stadt aus, werden in DGVStrasse nur die zugehörigen Strassen angezeigt. Das ganze geht ohne 1 Zeile Code. Das lässt sich über die Filtereigenschaftd er Bindingsource noch verfeinern, in dem du Filterausdrücke in Textboxen eingibst.

    picoflop schrieb:

    Du brauchst eine "Quelle" die dir zu einem beliebigen Ort alle Strassen liefert. Ohne gehts ja wohl nicht.
    Dafür gibs bestimmt eine Internetquelle, die man anzapfen kann? Aber ich denke, ihm sollte sich zunächst nen Datenmodell zulegen um zu erkennen, welcher rattenschwanz da noch auf ihn zukömmt.
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup:
    Ich würde solche Dinge nicht starr halten. Auch wenn es Bedienkomfort ist...
    Aber es gibt öfter mal ne neue Straße... Und du müsstest dann direkt die Datenhaltung anpassen oO
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    MemoAnMichSelbst schrieb:

    Aber es gibt öfter mal ne neue Straße... Und du müsstest dann direkt die Datenhaltung anpassen

    Ebent... Und des kann man ja in son an ein typisiertes Dataset gebundenes Datagrid sehr leicht erreichen. Ich hab mal nen klitzekleines DemoProjekt vermurkst um mal ansatzweise die Leistungsfähigkeit von sowas zu zeigen. Und das mit nur ein par Zeilen Code.

    EinsatzDemo.zip

    Sieh dir auch die EinsatzDS.vb und vor allem das Dataset an sich an. Ein par Datensätze sind auch schonmal hintergelegt. Da kannste einfach mal mit rumspieln. Ist allerdingens VB2010.

    Fiel Fergnügen

    Vatter
    :thumbsup: Seit 26.Mai 2012 Oppa! :thumbsup: