1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. wolkenloser

Beiträge von wolkenloser

  • exe Dateien mit leerzeichen

    • wolkenloser
    • 16. Februar 2006 um 16:48
    Zitat

    Original 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 '

  • Moderen ICONS ?

    • wolkenloser
    • 15. Februar 2006 um 18:25

    Ich meinte eigendlich Smilies , nicht ICONS

  • Moderen ICONS ?

    • wolkenloser
    • 15. Februar 2006 um 18:25

    Ja, fürs forum !

    kannst Du dich mal mit GunFood kurzschließen, ob man deine Icons verwenden kann ?

  • Moderen ICONS ?

    • wolkenloser
    • 15. Februar 2006 um 14:48

    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 ?

  • AutoItGUIBuilder

    • wolkenloser
    • 15. Februar 2006 um 14:46

    Gibts hier noch mal ein UPDATE ?

    währe echt schade wenn sich das im Sande verläuft

  • Tool Bar

    • wolkenloser
    • 14. Februar 2006 um 22:20

    ja Schade, Du hast recht

    Da fehlt noch was.
    Ich gucke mal ob sich da was findet....

  • Listview per doppelcklick

    • wolkenloser
    • 14. Februar 2006 um 21:38

    Yippie , jetzt klappt alles.

    Das Problem lag bei

    Code
    GUICtrlDelete($Button1)
    GUICtrlDelete($Button2)

    Ich machs jetzt mit
    GUICtrlSetState($Button1, $GUI_HIDE) bzw
    GUICtrlSetState($Button1, $GUI_SHOW)

    Dann geht es :-))


    C
    #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
  • Tool Bar

    • wolkenloser
    • 14. Februar 2006 um 20:36

    Ich habe gerade was cooles gefunden
    Viel Spaß damit...

  • Tool Bar

    • wolkenloser
    • 14. Februar 2006 um 20:33

    .

  • Passwort per AutoIt Script aendern

    • wolkenloser
    • 14. Februar 2006 um 18:34

    Wie lautet denn der Syntax für ein VB script ?
    Was auf jeden Fall geht:
    Alles was man über START->AUSFÜHREN starten kann, geht auch mit:

    Code
    #include <Process.au3>
    $command = "start www . autoit . de "
    _RunDOS($command)
  • Passwort per AutoIt Script aendern

    • wolkenloser
    • 14. Februar 2006 um 16:13

    Du kannst es mit dem DOS Befehl NET USER machen

    Zitat


    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.

    Alles anzeigen
  • Listview per doppelcklick

    • wolkenloser
    • 14. Februar 2006 um 13:05

    Kann hier nochmal einer gucken woran es liegen kann, ich finde es einfach nicht :-((

    Code
    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.
  • Screensaver?

    • wolkenloser
    • 13. Februar 2006 um 19:04

    Kann man eine EXE Datei als SCR abspeichern die dann auch noch funktioniert ??
    Das wäre mir neu....


    .....

    aber es geht tatsächlich !

  • Listview per doppelcklick

    • wolkenloser
    • 13. Februar 2006 um 13:54

    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

    C
    #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
  • Listview per doppelcklick

    • wolkenloser
    • 12. Februar 2006 um 19:04

    Hi,
    Danke, das konnte ich gut in mein Script einbauen, auch wenn ich nicht ganz verstehe das in der Funktion macht ?

    Code
    > 0 And _GUICtrlListViewGetHotItem ($lvctrl) = _GUICtrlListViewGetCurSel ($lvctrl)


    Also oben mußte dann das hinzu

    Code
    Global Const $THRESHOLD = Number(RegRead("HKEY_CURRENT_USER\Control Panel\Mouse", "DoubleClickSpeed"))
    Global $TIMER = TimerInit()

    Das GUI braucht auch einen anderen Aufruf

    Code
    GUICreate("Telefonlisten",540,315, 100,200,$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)


    und eine Funktion:

    Code
    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 ?

  • Listview per doppelcklick

    • wolkenloser
    • 11. Februar 2006 um 21:41

    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

  • Listview per doppelcklick

    • wolkenloser
    • 10. Februar 2006 um 17:08

    Ich muß doch mal eben einen Beitrag für umme schreiben, dann sind wir gleichauf :)
    122 Stück

  • Listview per doppelcklick

    • wolkenloser
    • 10. Februar 2006 um 15:49

    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.....

  • Listview per doppelcklick

    • wolkenloser
    • 10. Februar 2006 um 06:11

    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 ?

  • Nummerrierung eines Array Eintrages

    • wolkenloser
    • 10. Februar 2006 um 06:05

    Hallo Hier das fertige Script zu meiner kleinen Telefonliste:-)

    C
    #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

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™