möchte eine einfache Kunden Datenbank erstellen und in der Oberfläche soll die Möglichkeit bestehen das ich
-Kunden bearbeiten
-Kunden anlegen
-Kunden Suchen
kann aber es funktioniert nicht, kann mir dabei jemand helfen???
mein Script:
Spoiler anzeigen
C
#include <file.au3>
#include <Array.au3>
#include <GUIConstants.au3>
#include <GuiListview.au3>
#include <GUICombo.au3>
Opt("TrayIconDebug", 1)
dim $aRecords, $x, $listview, $Anrede, $name, $vorname, $Strasse, $Hausnummer, $Ort, $einfuegen, $Button_Abbrechen, $Button_Beenden, $Button_KundenAnlegen, $Button_KundenBearbeiten, $Button_Speichern, $Button_Suche, $Button_Suchen, $uebernehmen, $nr, $x_n, $Anrede_read, $vorname_read, $name_read, $Strasse_read, $Ort_read, $PLZ_read
Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
Global $TIMER = TimerInit()
$Picture_file = ""
$Listview = ""
if FileExists ("*.bmp") Then
$Picture = _FileListToArray(@ScriptDir,"*.Bmp", 1)
For $i = 1 To $Picture[0]
$Picture_file = $Picture[$i]
Next
EndIf
if FileExists ("*.jpg") Then
$Picture = _FileListToArray(@ScriptDir,"*.Jpg", 1)
For $i = 1 To $Picture[0]
$Picture_file = $Picture[$i]
Next
EndIf
$file = @ScriptDir & "\KundenDaten.dat"
$fileName = StringTrimRight($file, 4)
GUICreate($fileName,750,500, 100,200,BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
$statuszeile = GUICtrlCreateLabel("Gerade verwendete Datei ist " & $file,10, 480,520,20,-1 )
$ListviewItem = "Anrede|Vorname|Name|Strasse|Nr.|PLZ|Ort"
$listview = GUICtrlCreateListView ($ListviewItem,25,25,380,335)
$picture = GUICtrlCreatePic($Picture_file, 530,30,200,200)
$Checkbox_KundenBenachrichtigen = GuiCtrlCreateCheckbox("Kunden benachrichtigen", 25, 370, 250, 20)
$Button_Beenden = GuiCtrlCreateButton("Beenden", 10, 440, 100, 30)
$Button_KundenSuche = GuiCtrlCreateButton("Kunden Suche", 120, 440, 100, 30)
$Button_KundenBearbeiten = GuiCtrlCreateButton("Kunden Bearbeiten", 230, 440, 100, 30)
$Button_KundenAnlegen = GuiCtrlCreateButton("Kunden Anlegen", 340, 440, 100, 30)
$Kalender = GUICtrlCreateMonthCal("Kalender", 530, 240, 200, 200)
$Group_Suchergebnisse = GuiCtrlCreateGroup("Suchergebnisse", 10, 10, 410, 360)
GuiSetState()
If Not _FileReadToArray($file, $aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $x = 1 to $aRecords[0]
if $aRecords[$x] = "" Then
_ArrayDelete($aRecords,$x)
$help = $aRecords[0]
$aRecords[0]= $help-1
Else
GUICtrlCreateListViewItem($aRecords[$x],$listview)
EndIf
Next
GUICtrlSetState($listview ,$GUI_FOCUS)
Dim $B_DESCENDING[ _GUICtrlListViewGetSubItemsCount ($listview) ]
;Func uhrzeit()
; Sleep(100)
; local $time
; $time = @Hour & ":" & @Min & ":" & @SEC
; return $time
;EndFunc
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_EVENT_PRIMARYDOWN
_getLVItem_dbclick($listview)
Case $msg = $listview
_GUICtrlListViewSort ($listview, $B_DESCENDING, GUICtrlGetState($listview))
Case $msg = $Button_Beenden
ExitLoop
Case $msg = $Button_KundenSuche
GuiCreate("Kundensuche", 364, 152,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
$Input_1 = GuiCtrlCreateInput("", 20, 50, 100, 20)
$Input_2 = GuiCtrlCreateInput("", 120, 50, 100, 20)
$Input_3 = GuiCtrlCreateInput("", 220, 50, 100, 20)
$Label_4 = GuiCtrlCreateLabel("Name", 20, 30, 100, 20)
$Label_5 = GuiCtrlCreateLabel("Ort", 220, 30, 100, 20)
$Label_6 = GuiCtrlCreateLabel("Vorname", 120, 30, 100, 20)
$Button_Suchen = GuiCtrlCreateButton("Suchen", 20, 90, 100, 30)
$Button_Abbrechen = GuiCtrlCreateButton("Abbrechen", 130, 90, 100, 30)
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Button_Suchen
;;;
case $msg = $Button_Abbrechen
ExitLoop
Case Else
EndSelect
WEnd
GUISetState(@SW_HIDE)
Case $msg = $Button_KundenBearbeiten
bearbeiten()
refresh()
Case $msg = $Button_KundenAnlegen
;;;
Case Else
EndSelect
WEnd
func bearbeiten()
GuiCreate("Kunden bearbeiten", 279, 322,-1, -1 , BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
;Label
$VornameText = GuiCtrlCreateLabel("Vorname", 30, 90, 100, 20)
$nameText = GuiCtrlCreateLabel("Name", 140, 90, 100, 20)
$StrasseText = GuiCtrlCreateLabel("Strasse", 30, 140, 150, 20)
$HausnummerText = GuiCtrlCreateLabel("Nr.", 190, 140, 50, 20)
$PLZText = GuiCtrlCreateLabel("PLZ", 30, 190, 50, 20)
$OrtText = GUICtrlCreateLabel("Ort", 90, 190, 150, 20)
;Input
$Anrede = GuiCtrlCreateCombo("", 30, 50, 80, 21)
$AnredeText = GUICtrlSetData(-1,"Herr|Frau|Firma","Anrede")
$vorname = GuiCtrlCreateInput("", 30, 110, 100, 20)
$name = GuiCtrlCreateInput("", 140, 110, 100, 20)
$Strasse = GuiCtrlCreateInput("", 30, 160, 150, 20)
$Hausnummer = GuiCtrlCreateInput("", 190, 160, 50, 20)
$PLZ = GuiCtrlCreateInput("", 30, 210, 50, 20)
$Ort = GuiCtrlCreateInput("", 90, 210, 150, 20)
;Button
$Button_Speichern = GuiCtrlCreateButton("Speichern", 30, 260, 100, 30)
$Button_Abbrechen = GuiCtrlCreateButton("Abbrechen", 140, 260, 100, 30)
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
$Datensatz = StringSplit($aRecords[$nr],"|")
If $Datensatz[0] > 0 Then GUICtrlSetData($Anrede,$Datensatz[1])
If $Datensatz[0] > 1 Then GUICtrlSetData($vorname,$Datensatz[2])
If $Datensatz[0] > 2 Then GUICtrlSetData($name,$Datensatz[3])
If $Datensatz[0] > 3 Then GUICtrlSetData($Strasse,$Datensatz[4])
If $Datensatz[0] > 4 Then GUICtrlSetData($Hausnummer,$Datensatz[5])
If $Datensatz[0] > 5 Then GUICtrlSetData($PLZ,$Datensatz[6])
If $Datensatz[0] > 6 Then GUICtrlSetData($Ort,$Datensatz[7])
GuiSetState()
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
case $msg = $Button_Speichern
$Anrede_read = GUICtrlRead($Anrede)
$Vorname_read = GUICtrlRead($vorname)
$Name_read = GUICtrlRead($name)
$Strasse_read = GUICtrlRead($Strasse)
$Hausnummer_read = GUICtrlRead($Hausnummer)
$PLZ_read = GUICtrlRead($PLZ)
$Ort_read = GUICtrlRead($Ort)
_ArrayDelete($aRecords,$nr)
_ArrayInsert($aRecords,$nr,$Anrede_read & "|" & $Vorname_read & "|" & $Name_read & "|" & $Strasse_read & "|" & $Hausnummer_read & "|" & $PLZ_read & "|" & $Ort_read)
speichern()
ExitLoop
Case $msg = $Button_Abbrechen
ExitLoop
Case Else
EndSelect
WEnd
GUISetState(@SW_HIDE)
EndFunc
Func speichern()
FileOpen($file,2 )
For $x = 1 to $aRecords[0]
FileWriteLine($file,$aRecords[$x])
FileClose($file)
Next
EndFunc
Func hinzufuegen()
$Anrede_read = GUICtrlRead($Anrede)
$Vorname_read = GUICtrlRead($vorname)
$Name_read = GUICtrlRead($name)
$Strasse_read = GUICtrlRead($Strasse)
$Hausnummer_read = GUICtrlRead($Hausnummer)
$PLZ_read = GUICtrlRead($PLZ)
$Ort_read = GUICtrlRead($Ort)
$new = $aRecords[0]+1
_ArrayInsert($aRecords,$new,$Anrede_read & "|" & $Vorname_read & "|" & $Name_read & "|" & $Strasse_read & "|" & $Hausnummer_read & "|" & $PLZ_read & "|" & $Ort_read)
$aRecords[0] = $new
speichern()
refresh()
EndFunc
Func uebernehmen()
$Anrede_read = GUICtrlRead($Anrede)
$Vorname_read = GUICtrlRead($vorname)
$Name_read = GUICtrlRead($name)
$Strasse_read = GUICtrlRead($Strasse)
$Hausnummer_read = GUICtrlRead($Hausnummer)
$PLZ_read = GUICtrlRead($PLZ)
$Ort_read = GUICtrlRead($Ort)
_ArrayDelete($aRecords,$nr)
_ArrayInsert($aRecords,$nr,$Anrede_read & "|" & $Vorname_read & "|" & $Name_read & "|" & $Strasse_read & "|" & $Hausnummer_read & "|" & $PLZ_read & "|" & $Ort_read)
speichern()
refresh()
EndFunc
Func loeschen()
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
$new = $aRecords[0]-1
_ArrayDelete($aRecords,$nr)
$aRecords[0] = ""
$aRecords[0] = $new
speichern()
refresh()
EndFunc
func refresh()
$new = $aRecords[0]
$aRecords[0] = ""
_ArraySort($aRecords)
$aRecords[0] = $new
GUICtrlDelete($listview)
$listview = GUICtrlCreateListView ($ListviewItem ,10,10,500,230)
For $x = 1 to $aRecords[0]
GUICtrlCreateListViewItem($aRecords[$x],$listview)
Next
GUICtrlSetState($listview ,$GUI_FOCUS)
EndFunc
Func _getLVItem_dbclick(ByRef $lvctrl)
Dim $MousePos = GUIGetCursorInfo()
If ($MousePos[4] == $lvctrl And GUICtrlRead($lvctrl) > 0 And _GUICtrlListViewGetHotItem ($lvctrl) = _GUICtrlListViewGetCurSel ($lvctrl)) Then
$timerdiff = TimerDiff($TIMER)
If $timerdiff <= $THRESHOLD Then
$TIMER = TimerInit()
bearbeiten()
EndIf
$TIMER = TimerInit()
EndIf
EndFunc
Alles anzeigen