ZitatOriginal von webrunner
der Programmaufruf sieht wie folgt aus:
run("test test.exe", "C:\test1\test20\")gruss
Versuchs mal so:
run('"test test.exe"', "C:\test1\test20\")
also vor und nach den Anfüfringszeichen noch ein Hochkomma '
ZitatOriginal von webrunner
der Programmaufruf sieht wie folgt aus:
run("test test.exe", "C:\test1\test20\")gruss
Versuchs mal so:
run('"test test.exe"', "C:\test1\test20\")
also vor und nach den Anfüfringszeichen noch ein Hochkomma '
Ich meinte eigendlich Smilies , nicht ICONS
Ja, fürs forum !
kannst Du dich mal mit GunFood kurzschließen, ob man deine Icons verwenden kann ?
Hi,
was ich ein bischen vermisse sind die moderneren ICONS wie z.B Bei windows-unattende.de
Ist da was machbar, das wir hier noch ein bischen aufrüsten können ?
Gibts hier noch mal ein UPDATE ?
währe echt schade wenn sich das im Sande verläuft
ja Schade, Du hast recht
Da fehlt noch was.
Ich gucke mal ob sich da was findet....
Yippie , jetzt klappt alles.
Das Problem lag bei
Ich machs jetzt mit
GUICtrlSetState($Button1, $GUI_HIDE) bzw
GUICtrlSetState($Button1, $GUI_SHOW)
Dann geht es :-))
#include <file.au3>
#include <Array.au3>
#include <GUIConstants.au3>
#include <GuiListview.au3>
Opt("TrayIconDebug", 1) ; zeigt am trayicon welchen Befehl das Script gerade Ausführt
dim $aRecords, $x, $listview, $name, $vorname, $tel, $mobil, $handy, $einfuegen, $Button1, $Button2, $uebernehmen, $nr, $x_n
Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
Global $TIMER = TimerInit()
;~ $file = "C:\Centura3\publictelefon.csv"
$file = "C:\publictelefon.csv"
GUICreate("Telefonlisten",540,315, 100,200,$WS_OVERLAPPEDWINDOW)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,520,230)
$bearbeiten = GUICtrlCreateButton("Bearbeiten",10,250,80,20)
$speichern = GUICtrlCreateButton("Datei speichern",100,250,80,20)
$anlegen = GUICtrlCreateButton("Datensatz anlegen",190,250,100,20)
$loeschen = GUICtrlCreateButton("Datensatz löschen",300,250,100,20)
$array = GUICtrlCreateButton("Array anzeigen",410,250,100,20)
;---Editfeld
$name = GUICtrlCreateInput("Name",10, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$vorname = GUICtrlCreateInput("Vorname",100, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$tel = GUICtrlCreateInput("Telefon",190, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$mobil = GUICtrlCreateInput("Schnurlos",280, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$handy = GUICtrlCreateInput("Handy",370, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$Button1 = GUICtrlCreateButton("übernehmen",460,280,70,20)
GUICtrlSetState($Button1, $GUI_HIDE)
;~ $Button1 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
$Button2 = GUICtrlCreateButton("hinzufügen",460,280,70,20)
GUICtrlSetState($Button2, $GUI_HIDE)
;~ $Button2 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
GUISetState()
;--- PROGRAMM ABLAUF
If Not _FileReadToArray($file, $aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
;~ _ArrayDisplay($aRecords,"")
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
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_EVENT_PRIMARYDOWN
_getLVItem_dbclick($listview)
case $msg = $bearbeiten
bearbeiten()
case $msg = $speichern
speichern()
Case $msg = $anlegen
anlegen()
Case $msg = $Button1
uebernehmen()
Case $msg = $Button2
hinzufuegen()
Case $msg = $loeschen
loeschen()
case $msg = $array
_ArrayDisplay($aRecords, "Array Anzeigen")
Case Else
;~ ;;;
EndSelect
WEnd
;--- PROGRAMM ABLAUF ende
;--- FUNKTIONEN
func bearbeiten()
;~ $Button1 = GUICtrlCreateButton("übernehmen",460,280,70,20)
GUICtrlSetState($Button1, $GUI_SHOW)
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
;~ MsgBox(0,"",$aRecords[$nr])
$Datensatz = StringSplit($aRecords[$nr],"|")
;~ MsgBox(0,"Datensatz hat n Elemente, n= ",$Datensatz[0])
If $Datensatz[0] > 0 Then GUICtrlSetData($name,$Datensatz[1])
If $Datensatz[0] > 1 Then GUICtrlSetData($vorname,$Datensatz[2])
If $Datensatz[0] > 2 Then GUICtrlSetData($tel,$Datensatz[3])
If $Datensatz[0] > 3 Then GUICtrlSetData($mobil,$Datensatz[4])
If $Datensatz[0] > 4 Then GUICtrlSetData($handy,$Datensatz[5])
;~ _ArrayDisplay($Datensatz,"")
EndFunc
Func speichern()
FileOpen($file,2 )
For $x = 1 to $aRecords[0]
FileWriteLine($file,$aRecords[$x])
FileClose($file)
Next
EndFunc
func anlegen()
MsgBox(4096,"Datensatz anlegen","Bitte die entsprechenden Felder füllen" & @CR & @CR & 'Dann "hinzufügen" auswählen')
;~ $Button2 = GUICtrlCreateButton("hinzufügen",460,280,70,20)
GUICtrlSetState($Button2, $GUI_SHOW)
EndFunc
Func hinzufuegen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
$new = $aRecords[0]+1
_ArrayInsert($aRecords,$new,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
$aRecords[0] = $new
refresh()
EndFunc
Func uebernehmen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
;~ MsgBox(0,"",$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
_ArrayDelete($aRecords,$nr)
_ArrayInsert($aRecords,$nr,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
Func loeschen()
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
$new = $aRecords[0]-1
_ArrayDelete($aRecords,$nr)
;~ _ArrayDisplay($aRecords,"")
$aRecords[0] = ""
;~ _ArraySort($aRecords)
$aRecords[0] = $new
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
func refresh()
$new = $aRecords[0]
$aRecords[0] = ""
_ArraySort($aRecords)
$aRecords[0] = $new
GUICtrlDelete($listview)
;~ GUICtrlDelete($Button1)
;~ GUICtrlDelete($Button2)
GUICtrlSetState($Button1, $GUI_HIDE)
GUICtrlSetState($Button2, $GUI_HIDE)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,500,230);,$LVS_SORTDESCENDING)
For $x = 1 to $aRecords[0]
GUICtrlCreateListViewItem($aRecords[$x],$listview)
Next
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
Ich habe gerade was cooles gefunden
Viel Spaß damit...
Du kannst es mit dem DOS Befehl NET USER machen
ZitatAlles anzeigen
Net userFügt Benutzerkonten hinzu, ändert sie oder zeigt Informationen über Benutzerkonten an.Syntax
net user [Benutzername [Kennwort | *] [Optionen]] [/domain]net user [Benutzername {Kennwort | *} /add [Optionen] [/domain]]
net user [Benutzername [/delete] [/domain]]
Parameter
UserName
Gibt den Namen des Benutzerkontos an, das hinzugefügt, gelöscht, geändert oder angezeigt werden soll. Die maximale Länge eines Benutzerkontonamens beträgt 20 Zeichen.
Kennwort
Weist dem Benutzerkonto ein Kennwort zu oder ändert es. Geben Sie ein Sternchen (*) ein, damit eine Eingabeaufforderung für das Kennwort angezeigt wird. Wenn Sie Ihr Kennwort hier eingeben, wird es bei der Eingabe nicht angezeigt.
/domain
Führt die Operation auf dem Domänencontroller in der primären Domäne des Computers aus.
Optionen
Gibt eine Befehlszeilenoption an. Die folgende Tabelle listet gültige Befehlszeilenoptionen auf, die Sie verwenden können.
Kann hier nochmal einer gucken woran es liegen kann, ich finde es einfach nicht :-((
Es gibt bei mir aber noch das Problem, wenn ich einen Datensatz übernommen habe kommt es immer zu einem komischen Effekt wenn mann den ersten Eintrag anklickt (ein klick reicht schon)
Dann verdoppelt sich bei mir der letzte bearbeitete Eintrag immer wieder, und der Erste bleibt somit (mit der Maus) unerreichbar. Mit den Pfeiltasten geht es allerdings.
Kann man eine EXE Datei als SCR abspeichern die dann auch noch funktioniert ??
Das wäre mir neu....
.....
aber es geht tatsächlich !
Hallo, jetzt klappt es fast perfekt
ich habe noch was an der Einlesefunktion geändert, so das Leerzeilen direkt aus dem Array entfernt werden, so das diese nicht mehr auftauchen.
Es gibt bei mir aber noch das Problem, wenn ich einen Datensatz übernommen habe kommt es immer zu einem komischen Effekt wenn mann den ersten Eintrag anklickt (ein klick reicht schon)
Dann verdoppelt sich bei mir der letzte bearbeitete Eintrag immer wieder, und der Erste bleibt somit (mit der Maus) unerreichbar. Mit den Pfeiltasten geht es allerdings.
ich hab schon fas den Eindruck als wenn die Doppelcklickfunktion irgendwei nicht beendet wird....
Hier nochmal mein komplettes Script
#include <file.au3>
#include <Array.au3>
#include <GUIConstants.au3>
#include <GuiListview.au3>
Opt("TrayIconDebug", 1) ; zeigt am trayicon welchen Befehl das Script gerade Ausführt
;~ #NoTrayIcon; AutoIt-Icon nicht im Windows-Tray-Bereich zeigen
dim $aRecords, $x, $listview, $name, $vorname, $tel, $mobil, $handy, $einfuegen, $Button1, $Button2, $uebernehmen, $nr, $x_n
Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
Global $TIMER = TimerInit()
;~ $file = "C:\Centura3\publictelefon.csv"
$file = "C:\publictelefon.csv"
GUICreate("Telefonlisten",540,315, 100,200,$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,520,230)
$bearbeiten = GUICtrlCreateButton("Bearbeiten",10,250,80,20)
$speichern = GUICtrlCreateButton("Datei speichern",100,250,80,20)
$anlegen = GUICtrlCreateButton("Datensatz anlegen",190,250,100,20)
$loeschen = GUICtrlCreateButton("Datensatz löschen",300,250,100,20)
$array = GUICtrlCreateButton("Array anzeigen",410,250,100,20)
;---Editfeld
$name = GUICtrlCreateInput("Name",10, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$vorname = GUICtrlCreateInput("Vorname",100, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$tel = GUICtrlCreateInput("Telefon",190, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$mobil = GUICtrlCreateInput("Schnurlos",280, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$handy = GUICtrlCreateInput("Handy",370, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$Button1 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
$Button2 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
GUISetState()
;--- PROGRAMM ABLAUF
If Not _FileReadToArray($file, $aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
;~ _ArrayDisplay($aRecords,"")
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
; Ich zerstöre diese direkt wieder , weil sonnst immer direkt die Funktion für Button1 ausgeführt wird
; Vielleicht weiß jemand warum ?
GUICtrlDelete($Button1)
GUICtrlDelete($Button2)
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $GUI_EVENT_PRIMARYDOWN
_getLVItem_dbclick($listview)
case $msg = $bearbeiten
bearbeiten()
case $msg = $speichern
speichern()
Case $msg = $anlegen
anlegen()
Case $msg = $Button1
uebernehmen()
Case $msg = $Button2
hinzufuegen()
Case $msg = $loeschen
loeschen()
case $msg = $array
_ArrayDisplay($aRecords, "Array Anzeigen")
Case Else
;~ ;;;
EndSelect
WEnd
;--- PROGRAMM ABLAUF ende
;--- FUNKTIONEN
func bearbeiten()
$Button1 = GUICtrlCreateButton("übernehmen",460,280,70,20)
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
;~ MsgBox(0,"",$aRecords[$nr])
$Datensatz = StringSplit($aRecords[$nr],"|")
;~ MsgBox(0,"Datensatz hat n Elemente, n= ",$Datensatz[0])
If $Datensatz[0] > 1 Then GUICtrlSetData($name,$Datensatz[1])
If $Datensatz[0] > 1 Then GUICtrlSetData($vorname,$Datensatz[2])
If $Datensatz[0] > 2 Then GUICtrlSetData($tel,$Datensatz[3])
If $Datensatz[0] > 3 Then GUICtrlSetData($mobil,$Datensatz[4])
If $Datensatz[0] > 4 Then GUICtrlSetData($handy,$Datensatz[5])
;~ _ArrayDisplay($Datensatz,"")
EndFunc
Func speichern()
FileOpen($file,2 )
For $x = 1 to $aRecords[0]
FileWriteLine($file,$aRecords[$x])
FileClose($file)
Next
EndFunc
func anlegen()
MsgBox(4096,"Datensatz anlegen","Bitte die entsprechenden Felder füllen" & @CR & @CR & 'Dann "hinzufügen" auswählen')
$Button2 = GUICtrlCreateButton("hinzufügen",460,280,70,20)
EndFunc
Func hinzufuegen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
$new = $aRecords[0]+1
_ArrayInsert($aRecords,$new,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
$aRecords[0] = $new
refresh()
EndFunc
Func uebernehmen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
;~ MsgBox(0,"",$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
_ArrayDelete($aRecords,$nr)
_ArrayInsert($aRecords,$nr,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
Func loeschen()
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
$new = $aRecords[0]-1
_ArrayDelete($aRecords,$nr)
;~ _ArrayDisplay($aRecords,"")
$aRecords[0] = ""
;~ _ArraySort($aRecords)
$aRecords[0] = $new
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
func refresh()
$new = $aRecords[0]
$aRecords[0] = ""
_ArraySort($aRecords)
$aRecords[0] = $new
GUICtrlDelete($listview)
GUICtrlDelete($Button1)
GUICtrlDelete($Button2)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,500,230);,$LVS_SORTDESCENDING)
For $x = 1 to $aRecords[0]
GUICtrlCreateListViewItem($aRecords[$x],$listview)
Next
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
bearbeiten()
EndIf
$TIMER = TimerInit()
EndIf
EndFunc
Alles anzeigen
Hi,
Danke, das konnte ich gut in mein Script einbauen, auch wenn ich nicht ganz verstehe das in der Funktion macht ?
Also oben mußte dann das hinzu
Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
Global $TIMER = TimerInit()
Das GUI braucht auch einen anderen Aufruf
GUICreate("Telefonlisten",540,315, 100,200,$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
und eine Funktion:
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
bearbeiten()
EndIf
$TIMER = TimerInit()
EndIf
EndFunc
Alles anzeigen
Jetzt klappt es (fast) so wie ich es haben wollte.
Ein Problem besteht allerdings noch.
Wenn ich einen Datensat speichere oder hinzufüge wird im Array[1] eine Wert = "" hinzugefügt.
das gibt oben immer so häßliche Leerzeilen.
Hab ich da was übersehen, oder woher kommen die Leerzeilen ?
Ich meine Wenn ich den Eintrag (zeile) doppelklicke möchte ich den Datensatz (Zeile) auslesen und meiner Funktion für Doppelklick übergeben-.
Jetzt mache ich das so, das ich die Zeile markiere und dann auf einen Button "Bearbeiten" drücke.
Genau das soll per doppelklick funktionieren
Ich muß doch mal eben einen Beitrag für umme schreiben, dann sind wir gleichauf
122 Stück
Jetzt dachte ich, wenn ich mal ein Problem hab bekomme ich mal einen Tip und dann das...
Ich kann ja mal Verona anrufen, die hat ja im Moment Stress mit Franjo und vielleicht findet Sie ja ein Antwort.....
Hallo, noch eine Frage zum vorhergehendem Script der Telefonliste.
Ich arbeite dort mit einer Liste:
Es ist ja quasi in der Listfunktion schon drin, daß beim Tippen direkt zu einem Treffer gesprungen wird.
Dieser ist dann auch automatisch "selektiert"
Aber wie bekommt man es hin, das man diesen Eintrag per DOPPELCKLICK weiterverarbeitet ?
Hallo Hier das fertige Script zu meiner kleinen Telefonliste:-)
#include <file.au3>
#include <Array.au3>
#include <GUIConstants.au3>
Opt("TrayIconDebug", 1) ; zeigt am trayicon welchen Befehl das Script gerade Ausführt
;~ #NoTrayIcon; AutoIt-Icon nicht im Windows-Tray-Bereich zeigen
;~ ToolTip("bei Problemen, bitte Hr. Meyer (EXEL-Hünxe) anrufen (01727421524)")
dim $aRecords, $x, $listview, $name, $vorname, $tel, $mobil, $handy, $einfuegen, $Button1, $Button2, $uebernehmen, $nr, $x_n
$file = "C:\publictelefon.csv"
GUICreate("Telefonlisten",540,315, 100,200,-1,$WS_EX_ACCEPTFILES)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,520,230)
$bearbeiten = GUICtrlCreateButton("Bearbeiten",10,250,80,20)
$speichern = GUICtrlCreateButton("Datei speichern",100,250,80,20)
$anlegen = GUICtrlCreateButton("Datensatz anlegen",190,250,100,20)
$loeschen = GUICtrlCreateButton("Datensatz löschen",300,250,100,20)
$array = GUICtrlCreateButton("Array anzeigen",410,250,100,20)
;---Editfeld
$name = GUICtrlCreateInput("Name",10, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$vorname = GUICtrlCreateInput("Vorname",100, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$tel = GUICtrlCreateInput("Telefon",190, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$mobil = GUICtrlCreateInput("Schnurlos",280, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$handy = GUICtrlCreateInput("Handy",370, 280,80,20,-1 ,$WS_EX_CLIENTEDGE )
$Button1 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
$Button2 = GUICtrlCreateButton("",1460,280,70,20); Buttons sollen nicht sichtbar sein !
GUISetState()
;--- PROGRAMM ABLAUF
If Not _FileReadToArray($file, $aRecords) Then
MsgBox(4096,"Error", " Error reading log to Array error:" & @error)
Exit
EndIf
For $x = 1 to $aRecords[0]
GUICtrlCreateListViewItem($aRecords[$x],$listview)
Next
; Ich zerstöre diese direkt wieder , weil sonnst immer direkt die Funktion für Button1 ausgeführt wird
; Vielleicht weiß jemand warum ?
GUICtrlDelete($Button1)
GUICtrlDelete($Button2)
While 1
$msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
case $msg = $bearbeiten
bearbeiten()
case $msg = $speichern
speichern()
Case $msg = $anlegen
anlegen()
Case $msg = $Button1
uebernehmen()
Case $msg = $Button2
hinzufuegen()
Case $msg = $loeschen
loeschen()
case $msg = $array
_ArrayDisplay($aRecords, "Array Anzeigen")
Case Else
;~ ;;;
EndSelect
WEnd
;--- PROGRAMM ABLAUF ende
;--- FUNKTIONEN
func bearbeiten()
$Button1 = GUICtrlCreateButton("übernehmen",460,280,70,20)
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
;~ MsgBox(0,"",$aRecords[$nr])
$Datensatz = StringSplit($aRecords[$nr],"|")
;~ MsgBox(0,"Datensatz hat n Elemente, n= ",$Datensatz[0])
If $Datensatz[0] > 0 Then GUICtrlSetData($name,$Datensatz[1])
If $Datensatz[0] > 1 Then GUICtrlSetData($vorname,$Datensatz[2])
If $Datensatz[0] > 2 Then GUICtrlSetData($tel,$Datensatz[3])
If $Datensatz[0] > 3 Then GUICtrlSetData($mobil,$Datensatz[4])
If $Datensatz[0] > 4 Then GUICtrlSetData($handy,$Datensatz[5])
;~ _ArrayDisplay($Datensatz,"")
EndFunc
Func speichern()
FileOpen($file,2 )
For $x = 1 to $aRecords[0]
FileWriteLine($file,$aRecords[$x])
FileClose($file)
Next
EndFunc
func anlegen()
MsgBox(4096,"Datensatz anlegen","Bitte die entsprechenden Felder füllen" & @CR & @CR & 'Dann "hinzufügen" auswählen')
$Button2 = GUICtrlCreateButton("hinzufügen",460,280,70,20)
EndFunc
Func hinzufuegen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
$new = $aRecords[0]+1
_ArrayInsert($aRecords,$new,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
$aRecords[0] = $new
refresh()
EndFunc
Func uebernehmen()
$name_read = GUICtrlRead($name)
$vorname_read = GUICtrlRead($vorname)
$tel_read = GUICtrlRead($tel)
$mobil_read = GUICtrlRead($mobil)
$handy_read = GUICtrlRead($handy)
;~ MsgBox(0,"",$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
_ArrayDelete($aRecords,$nr)
_ArrayInsert($aRecords,$nr,$name_read & "|" & $vorname_read & "|" & $tel_read & "|" & $mobil_read & "|" & $handy_read)
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
Func loeschen()
$nr = ControlListView("","",$listview,"GetSelected")
$nr = $nr+1
$new = $aRecords[0]-1
_ArrayDelete($aRecords,$nr)
;~ _ArrayDisplay($aRecords,"")
$aRecords[0] = ""
;~ _ArraySort($aRecords)
$aRecords[0] = $new
;~ _ArrayDisplay($aRecords,"")
refresh()
EndFunc
func refresh()
$new = $aRecords[0]
$aRecords[0] = ""
_ArraySort($aRecords)
$aRecords[0] = $new
GUICtrlDelete($listview)
GUICtrlDelete($Button1)
GUICtrlDelete($Button2)
$listview = GUICtrlCreateListView ("Name |Vorname |Telefon|Schnurlos|Handy ",10,10,500,230);,$LVS_SORTDESCENDING)
For $x = 1 to $aRecords[0]
GUICtrlCreateListViewItem($aRecords[$x],$listview)
Next
EndFunc
Alles anzeigen