Wie programmiert man eine art Adressbuch nur mit mehr Features

  • VB.NET

Es gibt 25 Antworten in diesem Thema. Der letzte Beitrag () ist von Vatter.

    Wie programmiert man eine art Adressbuch nur mit mehr Features

    Hallo Forum,

    Ich bin noch ein Anfänger in Visual Basic deswegen werden meine Fragen ein wenig sagen wir mal "Blöd" sein ^^

    Also zu meiner Frage,

    Ich würde gerne ein Programm Programmieren was wie ein Adressbuch ist nur Detailierter, ich meine das so das man bei der Form (Form1) auf Hinzufügen (Button1) Klickt
    danach öffnet sich eine 2te Form (Form2) Dort sind Textboxen eine ist für den Namen... ect. Aber wenn man dann bei der Form2 auf Hinzufügen klickt schließt sich die Form2 wieder und bei der Form 1 erscheint eine Tabelle wo dann die Informationen stehen

    Ich habe in den Anhang ein Bild gegeben damit ihr wisst wie ich das haben will

    Bitte helft mir ich hab keine Ahnung wie ich das anfangen soll ich hab die 2 Formen und die Codes fürs Hinzufügen in der Form1 aber den Rest weiß ich ned :S

    Ich bitte euch um Hilfe ihr Profis ;D
    Bilder
    • Unbenannt.png

      20,13 kB, 1.036×501, 474 mal angesehen
    Hey.

    Ich würde dir empfehlen, das Ganze mit einer Datenbank und Databinding machen, für solche Aufgaben ist das genau richtig.
    Allerdings kenne ich mich damit nicht sehr gut aus, da wirst du auf jemanden warten müssen, der mehr Erfahrung hat.
    Aber ein Stichwort konnte ich dir geben. ;)

    Noch eine Sache: Ich würde dir empfehlen, deine Controls so zu benennen, dass man sofort sieht, für was sie gedacht sind.
    Stell dir vor, du hast ein riesen Projekt mit 50 Controls auf einem Form und willst wissen, wofür Button12 ist. Nennst du ihn z.B. "BtnSchliessen", ist das Ganze schon viel übersichtlicher.
    Musst du nicht so machen, gibt ja Leute, die auch so klarkommen, nur ein gut gemeinter Hinweis. :)
    Danke für deine Schnelle Antwort =))

    Ja ich hab schon überlegt eine Datenbank zu erstellen aber 1. weiß ich ned wo ich die erstellen muss und 2. Will ich das gleiche Programm aber mit Datenbank nur ich kenn die Codes nicht für die ich das Brauche


    Edit by LaMa5:
    - Das vollständige Zitieren von Beiträgen ('Fullquotes'), die direkt über dem eigenen stehen, ist völlig unnötig und daher nicht erlaubt. (Boardregeln §4.3f)
    --> Vollzitat entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Du bastelst dir ein eigenes UserControl, welches erstmal aus einen Panel mit Autoscroll auf true besteht. Damit wird immer gescrollt, falls nicht alles dargestellt werden kann. Dann zeichnest du einfach Soviele Rechtecke untereinander wie du Einträge hast, und beschriftest dort. Alternativ einfach Labels und Panels mit Border deklarieren und via Controls.Add hinzufügen. Das Speichern kannst du wie gesagt mit einer Datenbank machen, es würde aber auch nichts gegen eine Txt-Datei sprechen, du musst dir nur einen Logischen aufbau ausdenken.

    Name
    Anschrift
    Telefon
    Email
    Name
    Anschrift
    Telefon
    Email

    usw.



    Grüße
    Ich find es ja super, dass ihr Links zum Lernen von VB weitergibt, nur bin ich eben der Ansicht, wer programmieren lernen will, soll auch lernen, sich Informationen selbst zu beschaffen. Erstens prägt sich das dann besser ein und zweitens regt das zum weiterlernen an. (Hab ich von meinem Vater damals, der mich jeden Kleinkram nachschauen lassen hatte ^^).

    Endlich 2T: Das mit den Datenbanken müsste dir nach den Links klar sein. Die VB Links hab ich mir jetzt nich angesehen. Zu deiner Frage mit Öffnen und schließen der 2. Form kann ich dir noch schnell helfen, bevor ich weg muss:

    In Form1 zum öffnen:

    VB.NET-Quellcode

    1. Form2.show


    In Form2 zum schließen:

    VB.NET-Quellcode

    1. Me.Close

    ThuCommix schrieb:

    Du bastelst dir ein eigenes UserControl, welches erstmal aus einen Panel mit Autoscroll auf true besteht. Damit wird immer gescrollt, falls nicht alles dargestellt werden kann. Dann zeichnest du einfach Soviele Rechtecke untereinander wie du Einträge hast, und beschriftest dort. Alternativ einfach Labels und Panels mit Border deklarieren und via Controls.Add hinzufügen. Das Speichern kannst du wie gesagt mit einer Datenbank machen, es würde aber auch nichts gegen eine Txt-Datei sprechen, du musst dir nur einen Logischen aufbau ausdenken.
    Aber das hab ich mit der .txt hab ich ja schon geschaft und sogar dass die daten in der Gleichen Textbox wieder Auftauchen doch das ist mir zu umständlich ich wills eher LEichter haben die Daten abzurufen hab das heute erst in der VHS (Volkshochschule) gesehen, das ist bei denen ein Programm das sich mit der Datenbank verbindet und alle personen die eingespeichert sind in mehreren Tabellen zu sehen sind


    Edit by LaMa5:
    - Das vollständige Zitieren von Beiträgen ('Fullquotes'), die direkt über dem eigenen stehen, ist völlig unnötig und daher nicht erlaubt. (Boardregeln §4.3f)
    --> Vollzitat gekürzt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    @Forev3r:
    Ich kann ja schon Programmieren ich hab schon viele Programme programmiert nur dieses Programm krieg ich nicht hin ^^ also den Code form2.show und me.close kenn ich schon LANGE xD


    Edit by LaMa5:
    - Das vollständige Zitieren von Beiträgen ('Fullquotes'), die direkt über dem eigenen stehen, ist völlig unnötig und daher nicht erlaubt. (Boardregeln §4.3f)
    --> Vollzitat entfernt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    Dazu würd ich nen DataGridView + ne Datenbank nehmen und das ganze dann als xml schreiben/lesen. Die Funktionen WriteXML und ReadXML sind da schon von Vorteil und wirklich nicht schwer ;).
    Tuts gibts ne Menge, google einfach mal. MSDN würd ich dir da empfehlen.

    P.S. bitte nicht immer Vollzitate

    Boardregeln §4 3.f) schrieb:

    Das vollständige Zitieren von Beiträgen ("Fullquotes"), die direkt über dem eigenen stehen, ist völlig unnötig und daher nicht erlaubt. Auch wenn sich dazwischen schon mehrere Beiträge befinden, sollte man nur das zitieren, was unbedingt erforderlich ist. Gerade sehr große Voll-Zitate schaden der Übersicht enorm.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „BjöNi“ ()

    Hier übrigens noch nen ausführliches Tut zum einlesen von XML-Daten:
    und ein weniger ausführlicher Codeausschnitt zum abspeichern (solltest du aber auch verstehen, wenn du das einlesen kannst):
    falls du noch suchst ;)
    Danke das Probier ich gleich :DDD

    EDIT:
    Ich hab den ersten Link hinbekommen also das tut beim 1. Link aber das tut beim 2. Ned xD

    Ich hab jetzt eine Andere idee für dieses Programm und zwar

    Das man auf Hinzufügen Klickt, es Öffnet sich ein Fenster und man gibt die Daten ein. Wenn man auf Speichern klickt speichert es sich in einer .txt
    Soweit komm ich.

    Nun würde ich es gerne so machen das in einer Combobox angezeigt wird welche .txt sich z.b im Data Ordner befinden aber wie stelle ich das an ???


    PS: Die .txt speichert es Automatisch im DataOrdner der sich in dem Verzeichniss befindet indem die .exe ist


    Edit by LaMa5:
    - Bitte keine Doppelpost's, es gibt eine 'Bearbeiten' Funktion (Boardregeln §4.1e)
    --> Beiträge zusammengefügt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMa5“ ()

    DarkestMan schrieb:

    Nun würde ich es gerne so machen das in einer Combobox angezeigt wird welche .txt sich z.b im Data Ordner befinden aber wie stelle ich das an ???

    Meinst du vielleicht sowas?

    VB.NET-Quellcode

    1. Public Class Form1
    2. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    3. For Each Datei In My.Computer.FileSystem.GetFiles("DEIN_ORDNER")
    4. Dim File As String = My.Computer.FileSystem.GetName(Datei)
    5. If File.Split(CChar(".")).Last = "txt" Then
    6. ComboBox1.Items.Add(File)
    7. End If
    8. Next
    9. End Sub
    10. End Class
    Wichtig: Bitte nicht einfach kopieren, sondern auch verstehen!
    @Bjöni: Solche Kopfstände sind in VB gar notwendig

    VB.NET-Quellcode

    1. For Each Datei In My.Computer.FileSystem.GetFiles("DEIN_ORDNER")
    2. If Datei.ToLower.EndsWith(".txt") Then
    3. ComboBox1.Items.Add(File)
    4. End If
    5. Next


    Noch besser: Man vertraut sich den io.directory-Namespace an, und nicht dem vereinfachten My-Namespace.
    Dann sieht das so aus:

    VB.NET-Quellcode

    1. For Each datei In IO.Directory.GetFiles("Dein Pfad", "*.txt")
    2. ComboBox1.items.add(datei)
    3. Next
    Stimmt @der_Kurt:, hast mich übrzeugt... ;)

    @DarkestMan:: Kannst dir ja aussuchen, was du verwendest, ich versteh aber nicht ganz, warum "Last" bei dir nicht funzt, bei mir tuts das Problemlos ^^