Anfänger problem

  • Hallo alle zusallen

    ich habe mir eine kleine datenbank geschrieben zum speichern von email adressen anhand kundennummern.

    ich möchte das er vor dem speichern prüft ob der eintrag schon vorhanden ist. habe eine grobe idee aber kamm
    mit keiner lösung zum erfolg. ich kriegte egal was ich machte die meldung das der eintrag schon vorhanden sei.

    wie muss ich dasmachen.

    [autoit]

    include <GUIConstants.au3>

    [/autoit][autoit][/autoit][autoit]

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 489, 280, 193, 125)
    $Speichern = GUICtrlCreateTab(0, 0, 481, 265)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Suchen")
    $Kundennummer = GUICtrlCreateLabel("Kundennummer", 16, 40, 78, 17)
    $Input1 = GUICtrlCreateInput("", 16, 72, 129, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 16, 128, 129, 33, 0)
    $TabSheet2 = GUICtrlCreateTabItem("Speichern")
    $Accountnummer = GUICtrlCreateLabel("Accountnummer", 16, 40, 81, 17)
    $Input2 = GUICtrlCreateInput("", 16, 72, 105, 21)
    $Emailadresse = GUICtrlCreateLabel("Emailadresse", 16, 120, 66, 17)
    $Input3 = GUICtrlCreateInput("", 16, 160, 281, 21)
    $Button2 = GUICtrlCreateButton("Speichern", 232, 48, 193, 41, 0)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    [/autoit][autoit][/autoit][autoit]

    case $Button2

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    If ; hier komme ich nicht weiter ich weiss das ich es mit IniRead machen muss weiss aber nicht wie

    [/autoit][autoit][/autoit][autoit]

    IniWrite( "C:\base.ini", "Name", GUICtrlRead($Input2), GUICtrlRead($Input3))
    MsgBox ( 0, "Kundendaten", "Gespeichert")
    GUICtrlSetData($Input2, "")
    GUICtrlSetData($Input3, "")

    [/autoit][autoit][/autoit][autoit]

    Else
    MsgBox (0, "Account", "Der account ist bereits vorhanden")

    [/autoit][autoit][/autoit][autoit]

    EndIf

    [/autoit][autoit][/autoit][autoit]

    Case $Button1
    $name2 = IniRead("c:\base.ini", "Name", GUICtrlRead($Input1), "0")

    [/autoit][autoit][/autoit][autoit]

    MsgBox(0, "Dein Name", $name2)
    GUICtrlSetData($Input1, "")

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit][autoit][/autoit][autoit]

    EndSwitch
    WEnd

    [/autoit]

    danke

    Einmal editiert, zuletzt von Adamkaller (6. Oktober 2011 um 07:29)

  • Hallo,
    du solltest dir angewöhnen aussagekräftige Titel zu verwenden!

    [autoit]


    IniReadSection()
    und
    _ArraySearch()

    [/autoit]


    sind wohl die Befehle, die du suchst.
    z.B. so:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <Array.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 489, 280, 193, 125)
    $Speichern = GUICtrlCreateTab(0, 0, 481, 265)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
    $TabSheet1 = GUICtrlCreateTabItem("Suchen")
    $Kundennummer = GUICtrlCreateLabel("Kundennummer", 16, 40, 78, 17)
    $Input1 = GUICtrlCreateInput("", 16, 72, 129, 21)
    $Button1 = GUICtrlCreateButton("Suchen", 16, 128, 129, 33, 0)
    $TabSheet2 = GUICtrlCreateTabItem("Speichern")
    $Accountnummer = GUICtrlCreateLabel("Accountnummer", 16, 40, 81, 17)
    $Input2 = GUICtrlCreateInput("", 16, 72, 105, 21)
    $Emailadresse = GUICtrlCreateLabel("Emailadresse", 16, 120, 66, 17)
    $Input3 = GUICtrlCreateInput("", 16, 160, 281, 21)
    $Button2 = GUICtrlCreateButton("Speichern", 232, 48, 193, 41, 0)
    GUICtrlCreateTabItem("")
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $Names
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button2
    $Names = IniReadSection(@ScriptDir & "\base.ini", "Name")
    If _ArraySearch($Names, GUICtrlRead($Input2)) = -1 Then
    IniWrite(@ScriptDir & "\base.ini", "Name", GUICtrlRead($Input2), GUICtrlRead($Input3))
    MsgBox(0, "Kundendaten", "Gespeichert")
    GUICtrlSetData($Input2, "")
    GUICtrlSetData($Input3, "")
    Else
    MsgBox(0, "Account", "Der account ist bereits vorhanden")
    GUICtrlSetData($Input2, "")
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case $Button1
    $name2 = IniRead(@ScriptDir & "\base.ini", "Name", GUICtrlRead($Input1), "0")
    MsgBox(0, "Dein Name", $name2)
    GUICtrlSetData($Input1, "")

    [/autoit] [autoit][/autoit] [autoit]

    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Viele Grüße,
    RapIt

  • Hallo RapIt

    Werde mir beim nächsten Titel was einfallen lassen war nur sehr im stress gestern.

    Ich danke dir vielmals das war genau das was ich gesucht hatte.

    Gruß

    Adamkaller