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

Beiträge von autoBert

  • Prozesse schliessen die im Inifile gelistet sind

    • autoBert
    • 23. September 2011 um 18:51

    Hallo surfy,

    du kannst es so machen:

    Spoiler anzeigen
    [autoit]

    #include <array.au3>

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

    $config = (@ScriptDir & "\UserInfo.ini")
    $titel = IniRead($config, "Configuration", "Titel", "NichtGefunden")
    $zeile1 = IniRead($config, "Configuration", "Zeile1", "NichtGefunden")
    $zeile2 = IniRead($config, "Configuration", "Zeile2", "NichtGefunden")
    $zeile3 = IniRead($config, "Configuration", "Zeile3", "NichtGefunden")
    $zeile4 = IniRead($config, "Configuration", "Zeile4", "NichtGefunden")
    $zeile5 = IniRead($config, "Configuration", "Zeile5", "NichtGefunden")
    $aToClose = IniReadSection($config, "Prozesse")
    _ArrayDisplay($aToClose)

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

    Opt("TrayMenuMode", 1)
    Global $iKill = 0
    ;While 1
    TrayTip($titel, @LF & $zeile1 & @LF & @LF & $zeile2 & @LF & @LF & $zeile3 & @LF & @LF & $zeile4 & @LF & @LF & $zeile5, 5, 1)
    $list = ProcessList()
    For $i = 1 To $list[0][0]
    For $j = 1 To $aToClose
    If $list[$i][0] = $aToClose[$j][0] Then ;hier ist es wichtig die beiden Laufvariablen der Schleifen nicht zu verwechseln
    ToolTip($titel & ", terminated process: " & $list[$i][0], 550, 0)
    ;RunWait(@ComSpec & ' /c taskkill.exe /F /IM ' & $list[$i][0], @WindowsDir, @SW_HIDE)
    $iKill += 1
    Sleep(5000) ;damit der Tooltipp auch mind. 5 sec sichtbar ist
    EndIf
    Next
    Next
    Sleep(1000)
    ;WEnd

    [/autoit]
  • Prozesse schliessen die im Inifile gelistet sind

    • autoBert
    • 23. September 2011 um 15:04

    Hallo surfy,

    nimm

    [autoit]

    IniReadSection

    [/autoit]

    dann hast du alle zu schliessenden in einem Array. Deinen Swicht .. Case .. Endswitch Teil tauschst du gegen eine For .. Next Schleife. In dieser prüfst du dann ob das aktuelle Element des WinList-Array im IniSection-Array entahalten ist.,

    mfg autoBert

  • TreeView-(Un)Checked-Example

    • autoBert
    • 23. September 2011 um 04:44

    Hallo skull693,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial Sehr hilfreich ist auch das Buch von peethebee .

    und jetzt zu deiner Frage: genau das macht dieses Beispiel ja. Da es keine direkten Funktionen (Befehle) dafür gibt hat Oscar diese für dieses Beispiel entwickelt. Zum besseren Verständnis arbeitest du das Skript durch und schaust dir zu jedem dir bisher nicht bekannten Befehl die Hilfe und die Beispiele dazu an,

    mfg autoBert

  • ersten Eintrag in Liste wählen

    • autoBert
    • 23. September 2011 um 03:46

    nur der Vollstänndigkeit halber das ganze funktioniert auch mit GuiCtrlSetData und _ArraySort:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <Array.au3>

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

    $Form1 = GUICreate("Form1", 276, 118, 192, 124)
    $List1 = GUICtrlCreateList("", 8, 8, 121, 97)
    Local $Array_Name[6] = ["","Klaus","Steffen","Ute","Otto","Paula"]
    $Array_Name[0] = UBound($Array_Name)
    _ArraySort($Array_Name,0,1) ;sortiert ab Index 1 bis Ende
    For $i = 1 to $Array_Name[0] - 1
    GuiCtrlSetData($List1,$Array_Name[$i])
    Next
    GUICtrlSetData(-1,$Array_Name[1],$Array_Name[1]) ;Element mit Index 1 als Default setzen
    $Input1 = GUICtrlCreateInput("", 144, 8, 121, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GuiCtrlSetData($Input1,GUICtrlRead($List1))
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $List1
    GuiCtrlSetData($Input1,GUICtrlRead($List1))
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • WinActivate funktioniert nicht zuverlässig... :(

    • autoBert
    • 23. September 2011 um 03:06

    Hallo argonautik,

    poste doch bitte deinen aktuelles Skript inkl. url

    mfg autoBert

  • MsgBox schliessen nach beginn einer Aktion wie z.B. Installation

    • autoBert
    • 22. September 2011 um 09:30

    Hallo Mike280399,

    ich sehe nur eine MsgBox und danach kommt nichts mehr, es ist die Fertigmeldung. Wenn du MsgBoxen beenden willst kannst du auch einen TimeOut-Parameter setzen. Damit MsgBoxen nicht durch Userbediennung hinter dem eigentlich Anwendunsfenster verschwinden solltest du auch das Parent-Window angeben. Das ganze sähe dann bei dir so aus:

    [autoit]

    MsgBox(0, "Feddich", " Registry gesichert unter: C:\RegistryBackup",20,$Form1_1)

    [/autoit]

    Das ganze findet man übrigens in der Hilfe unter MsgBox (wo auch sonst).

    Edit: habe ich dich etwa falsch verstanden ?(

    mfg autoBert

  • WinActivate funktioniert nicht zuverlässig... :(

    • autoBert
    • 22. September 2011 um 07:45

    Hallo argonautik,

    das ist kein Problem von WinActivate sondern liegt an der Art wie diese PopUp's erzeugt werden. Du könntest wenn so ein PopUp aktiv ist auch nicht über die Taskleiste dieses Browserfenster aktivieren, interessant wäre aber zu wissen bei welcher Webseite solche (warscheins BinLayerAd) Fenster erscheinen. Du läufst Gefahr dir durch MouseClick-Aktionen deines Skriptes in eine Abofalle zu laufen,

    mfg autoBert

  • Schleife in Installationsskript

    • autoBert
    • 22. September 2011 um 01:52

    Hallo Mike280399,

    versuch es einmal so:

    Spoiler anzeigen
    [autoit]

    ; Ausführen RegistryBackup und warten bis fertig setzt voraus das RegBackUp.cmd sich beendet sonst geht danach nichts mehr
    ShellExecuteWait("Regbackup.cmd")

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

    ; Installation von Ccleaner
    ShellExecute("ccsetup310_slim.exe")
    WinWaitActive("Installer Language","Please select a language.")
    Send("{ENTER}")

    [/autoit]

    mfg autoBert

  • Vollbild Button benutzen?

    • autoBert
    • 21. September 2011 um 21:55

    Hallo Styler334,

    du musst in deinem Skript das entsprechende Event: $GUI_EVENT_MAXIMIZE abfragen. Alle Events findest du in der Hilfe zu

    [autoit]

    GuiGetMsg

    [/autoit]

    mfg autoBert

  • GUICtrlSetData

    • autoBert
    • 21. September 2011 um 17:41

    Hallo TOYY1,

    auch das funktioniert mit GuiCtrlSetData das Problem ist aber das $test nicht den Wert sondern die Position des Elementes enthält. Poste dein komplettes Skript und ich zeige es dir.

    mfg autoBert

  • Pfeiltastensteuerung; _IsPressed() + DLL

    • autoBert
    • 21. September 2011 um 17:25

    Hallo pete_gzome,

    der sleep() im Beispiel ist dafür das der zuständige Prozessorkern nicht zu 100% ausgelastet wird. Das dein Skript deswegen abstürzt kann ich mir zwar nicht vorstellen, aber da du eine Gui hast und GuiGetmsg benutzt kannst du darauf verzichten denn

    Zitat

    Bemerkungen (zu GuiGetmsg

    Diese Funktion gibt die CPU automatisch wieder frei, wenn es erforderlich ist, so dass sie ruhig in Dauerschleifen benutzt werden kann, ohne die CPU vollständig auszulasten.

    Quelle: dt. Hilfe

    mfg autoBert

  • Tasten hintereinander drücken --> Form2 zeigen

    • autoBert
    • 21. September 2011 um 16:58
    Zitat von TOYY1

    Es wäre natürlich schön, wenn es ein Beispielskript gibt, wo alle Funktionen aufgeführt werden. Oder eine Erklärung wofür jede Funktion ist (Syntax).

    Da die HotString.au3 keine UDF ist die standardmässig mit AutoIt ausgeliefert wird musst du dich mit deinem Wunsch an den Author wenden.

    mfg autoBert

  • GUICtrlSetData

    • autoBert
    • 21. September 2011 um 16:46

    Hallo TOYY1,

    eigentlich hättest du darauf selbst kommen können, so:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 276, 118, 192, 124)
    $List1 = GUICtrlCreateList("", 8, 8, 121, 97)
    GUICtrlSetData(-1, "1|2|3")
    GUICtrlSetData(-1,"1","1") ; Antwort zu Frage 2 dadurch wird die 1 ausgewählt
    $Input1 = GUICtrlCreateInput("", 144, 8, 121, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GuiCtrlSetData($Input1,GUICtrlRead($List1)) ;Antwort zu Frage 3
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $List1
    GuiCtrlSetData($Input1,GUICtrlRead($List1)) ;Antwort zu Frage 3
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • PNG Button.

    • autoBert
    • 21. September 2011 um 16:33
    Zitat von slash

    Klasse =) es funktioniert. Jedoch legt sich über das gui png eine graue fläche auf der dann der button is. also das gui pic wird nur kurz angezeigt ?

    Dann wende dich an den Author der UDF_Skin_GUI.au3.

    Du kannst aber auch hier in diesen Forum nach Lösungen suchen: UEZ hat schon mehrmals eine gepostet die sowohl unter XP, Vusta und Win/ funktioniert,

    mfg autoBert

  • String alle X-Zeichen ein "|" einfügen

    • autoBert
    • 21. September 2011 um 02:26

    Eine andere Möglichkeit:

    Spoiler anzeigen
    [autoit]

    $text = "ABCDABCDABCDABCDABCD"
    $aVarChars = StringSplit($text,"")
    $sNew = ""

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

    for $i = 1 to $aVarChars[0]
    $sNew &= $aVarChars[$i]
    if mod($i,4) = 0 Then $sNew &= "|"
    Next

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

    MsgBox(0,"Neu:",$sNew)

    [/autoit]

    mfg autoBert

  • Arbeitszeit zusammenrechnen

    • autoBert
    • 20. September 2011 um 22:59

    Hallo Egon577,

    ich habe dein Skript überarbeitet:

    Spoiler anzeigen
    [autoit]

    ; Arbeitszeit Mel
    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #include<WindowsConstants.au3>
    #include<ListViewConstants.au3>
    #include<ButtonConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<Guilistview.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GuiComboBox.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <String.au3>
    #include <UpdownConstants.au3>

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

    Opt('GUIOnEventMode', 1)

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

    $sDBFile = @ScriptDir & "\datenbank.txt"
    $iEdit = -1

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

    Global $nGesamt = 0 ;<====================

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

    #Region Hauptfenster
    ; GUI
    $MainGui=GuiCreate("Arbeitszeit Bosch", 620, 600)
    GuiSetIcon(@SystemDir & "\notepad.exe", 0)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_END")

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

    ; GUI LOGO
    GUICtrlCreatePic("logo_de.jpg", 0, 0, 620, 42)

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

    ; GUI DATUM
    $Date=GUICtrlCreateDate("", 20, 50, 200, 20)

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

    ; GUI Auswahl
    $combo1=GUICtrlCreateCombo("Art", 230, 50, 150, 20, 0x0003)
    GUICtrlSetData($combo1, "Arbeit|Berufsschule Donnerstag|Berufsschule Freitag|Sonstige")
    GUICtrlCreateLabel("Pause:", 50, 84)
    GUICtrlSetOnEvent($Combo1,"_Sonstige")
    $Radio=GuiCtrlCreateRadio("Ja", 100, 80)
    GuiCtrlSetState(-1, $GUI_CHECKED)
    GuiCtrlCreateRadio("Nein", 140, 80)
    $Eingabe=GUICtrlCreateInput("Wenn Sonstige", 230, 80, 150, 20)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel("Beginn:", 390, 53)
    $UpDownB1=GUICtrlCreateInput("7", 440, 50, 40, 20,$UDS_WRAP)
    GUICtrlCreateUpdown($UpDownB1)
    GUICtrlSetLimit(-1, 20, 7)
    $UpDownB2=GUICtrlCreateInput("0", 490, 50, 40, 20,$UDS_WRAP)
    GUICtrlCreateUpdown($UpDownB2)
    GUICtrlSetLimit(-1, 59, 0)
    GUICtrlCreateLabel("Ende:", 390, 83)
    $UpDownE1=GUICtrlCreateInput("7", 440, 80, 40, 20,$UDS_WRAP)
    GUICtrlCreateUpdown($UpDownE1)
    GUICtrlSetLimit(-1, 20, 7)
    $UpDownE2=GUICtrlCreateInput("0", 490, 80, 40, 20,$UDS_WRAP)
    GUICtrlCreateUpdown($UpDownE2)
    GUICtrlSetLimit(-1, 59, 0)
    GUICtrlCreateLabeL("Summe:", 510, 520)
    $Summe=GUICtrlCreateLabel("", 510, 540, 90, 20, 0x1000)

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

    ;GUI Button
    $Button=GUICtrlCreateButton("OK", 540, 80, 60, 20)
    GUICtrlSetOnEvent(-1,"_Anwenden")
    ;GUICtrlSetOnEvent($Button, "_Summe") ;<============ jetzt unnötig die Funktion gab es eh noch nicht wäre aber wegen der nächsten Zeile eh nicht ausgeführt worden
    GUICtrlSetOnEvent($Button, "_Anwenden") ;hier war fälschlicherweise _Save

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

    ; GUI Liste
    $hListView=GUICtrlCreateListView("Datum|Art|Arbeitsbeginn|Arbeitsende|Stunden", 20, 110, 580, 400)
    $hLVHandle=GUICtrlGetHandle($hListView)
    _GUICtrlListView_SetColumn($hLVHandle, 0, "Datum", 175, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 1, "Art", 130, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 2, "Arbeitsbeginn", 90, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 3, "Arbeitsende", 90, 0)
    _GUICtrlListView_SetColumn($hLVHandle, 4, "Stunden", 90, 0)

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

    #EndRegion Hauptfenster

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

    ; GUI MESSAGE LOOP
    GuiSetState()

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

    _Sonstige()
    If FileExists($sDBFile) Then Load()

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _Sonstige()
    If GUICtrlRead($combo1) = "Sonstige" Then
    GUICtrlSetState($Eingabe, $GUI_ENABLE)
    GUICtrlSetState($Eingabe, $GUI_FOCUS)
    ElseIf GUICtrlRead($combo1) = "Berufsschule Donnerstag" Then
    GUICtrlSetData($UpDownB1, "8")
    GUICtrlSetData($UpDownB2, "00")
    GUICtrlSetData($UpDownE1, "15")
    GUICtrlSetData($UpDownE2, "45")
    GUICtrlSetData($Eingabe, "Wenn Sonstige")
    GUICtrlSetState($Eingabe, $GUI_DISABLE)
    Else
    GUICtrlSetData($Eingabe, "Wenn Sonstige")
    GUICtrlSetState($Eingabe, $GUI_DISABLE)
    EndIf
    EndFunc

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

    Func _Anwenden() ;in dieser Routine werden die Tagesstunden errechnet deshalb die Berechnung in eigene Varaible ausgelagert damit sie später addiert werden kann
    Local $nZeit
    If BitAND(GUICtrlRead($Radio),$GUI_CHECKED) Then ;<===================== siehe Hilfe zu Gui CtrlRead Bemerkungen
    If GUICtrlRead($combo1) = "Sonstige" Then
    $nZeit = ((GUICtrlRead($UpDownE1)*60 + GUICtrlRead($UpDownE2))-(GUICtrlRead($UpDownB1)*60 + GUICtrlRead($UpDownB2)))/60
    GUICtrlCreateListViewItem(GUICtrlRead($Date) & "|" & GUICtrlRead($Eingabe) & "|" & GUICtrlRead($UpDownB1) & ":" & GUICtrlRead($UpDownB2) & "|" & GUICtrlRead($UpDownE1) & ":" & GUICtrlRead($UpDownE2) & "|" & $nZeit, $hListView)
    Else
    $nZeit = ((GUICtrlRead($UpDownE1)*60 + GUICtrlRead($UpDownE2))-(GUICtrlRead($UpDownB1)*60 + GUICtrlRead($UpDownB2)))/60
    GUICtrlCreateListViewItem(GUICtrlRead($Date) & "|" & GUICtrlRead($combo1) & "|" & GUICtrlRead($UpDownB1) & ":" & GUICtrlRead($UpDownB2) & "|" & GUICtrlRead($UpDownE1) & ":" & GUICtrlRead($UpDownE2) & "|" & $nZeit, $hListView)
    EndIf
    Else
    If GUICtrlRead($combo1) = "Sonstige" Then
    $nZeit = ((GUICtrlRead($UpDownE1)*60 + GUICtrlRead($UpDownE2))-(GUICtrlRead($UpDownB1)*60 + GUICtrlRead($UpDownB2)))/60-0.75
    GUICtrlCreateListViewItem(GUICtrlRead($Date) & "|" & GUICtrlRead($Eingabe) & "|" & GUICtrlRead($UpDownB1) & ":" & GUICtrlRead($UpDownB2) & "|" & GUICtrlRead($UpDownE1) & ":" & GUICtrlRead($UpDownE2) & "|" & $nZeit, $hListView)
    Else
    $nZeit = ((GUICtrlRead($UpDownE1)*60 + GUICtrlRead($UpDownE2))-(GUICtrlRead($UpDownB1)*60 + GUICtrlRead($UpDownB2)))/60-0.75
    GUICtrlCreateListViewItem(GUICtrlRead($Date) & "|" & GUICtrlRead($combo1) & "|" & GUICtrlRead($UpDownB1) & ":" & GUICtrlRead($UpDownB2) & "|" & GUICtrlRead($UpDownE1) & ":" & GUICtrlRead($UpDownE2) & "|" & $nZeit, $hListView)
    EndIf
    EndIf
    $nGesamt += $nZeit ;<==============
    GUICtrlSetData($Summe,$nGesamt) ;<==============
    EndFunc

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

    Func _End()
    Save()
    GUIDelete($MainGui)
    Exit
    EndFunc

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

    Func Load() ; Datenbank-Datei laden
    Local $sItem, $aTmp
    Local $hFile = FileOpen($sDBFile, 0) ; Datei zum lesen öffnen
    $nGesamt = 0
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    _GUICtrlListView_BeginUpdate($hLVHandle) ; Listview sperren
    While True ; Endlosschleife
    $sItem = FileReadLine($hFile) ; Zeile aus der Datei lesen
    If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
    $aTmp = StringSplit($sItem,"|") ;<=============
    ;_ArrayDisplay($aTmp)
    $nGesamt += $aTmp[5] ;<=========== Tagesarbeitszeit hinzuaddieren
    GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
    WEnd
    _GUICtrlListView_EndUpdate($hLVHandle) ; Listview wieder freigeben
    FileClose($hFile) ; Datei schließen
    EndIf
    GUICtrlSetData($Summe,$nGesamt) ;<=========== Summe anzeigen
    EndFunc ;==>Load

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

    Func Save() ; Datenbank-Datei speichern
    Local $sItem
    Local $iCount = _GUICtrlListView_GetItemCount($hLVHandle) - 1 ; Anzahl der Listview-Einträge holen
    Local $hFile = FileOpen($sDBFile, 2) ; Datei zum speichern (überschreiben) öffnen
    If $hFile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
    For $i = 0 To $iCount ; Schleife, um alle Listview-Einträge durchzugehen
    $sItem = _GUICtrlListView_GetItemTextString($hLVHandle, $i) ; die Werte aus dem Listview-Eintrag holen
    FileWriteLine($hFile, $sItem) ; und in die Datei schreiben
    Next
    FileClose($hFile) ; Datei schließen
    EndIf
    EndFunc ;==>Save

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

    ;Func _Summe()

    [/autoit]

    die Änderungen habe ich mit ;<====== gekennzeichnet

    mfg autoBert

  • GUICtrlSetData

    • autoBert
    • 20. September 2011 um 21:13

    Hallo TOYY1,

    die 1. Frage habe ich nicht verstanden, der Anwender kann doch eh nur vorhanden Inhalt aus der List wählen. Die beiden anderen Antworten findest du im Skript:

    Spoiler anzeigen
    [autoit]

    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GUIListBox.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 276, 118, 192, 124)
    $List1 = GUICtrlCreateList("", 8, 8, 121, 97)
    GUICtrlSetData(-1, "1|2|3")
    GUICtrlSetData(-1,"1","1") ; Antwort zu Frage 2 dadurch wird die 1 ausgewählt
    $Input1 = GUICtrlCreateInput("", 144, 8, 121, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $List1
    GuiCtrlSetData($Input1,GUICtrlRead($List1)) ;Antwort zu Frage 3
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • PNG Button.

    • autoBert
    • 20. September 2011 um 19:47
    Zitat von slash

    Geht iwie nicht:

    Fehler:

    Spoiler anzeigen

    C:\Users\Slash\Desktop\MW2\AutoIt v3 Script (neu).au3 (26) : ==> Variable used without being declared.:
    $btn_min = _GUICtrlPic_Create($min , 465, 6, 14, 14, $SS_CENTERIMAGE + $SS_SUNKEN, Default)
    $btn_min = _GUICtrlPic_Create($min , 465, 6, 14, 14, ^ ERROR

    Der Fehler liegt an einer Konstanten die fehlt, wenn du

    [autoit]

    #include <StaticConstants.au3>

    [/autoit]

    einfügst sollte es funktionieren. In solchen Fällen hilf ALT-T Compile => Haken bei Add required Constants *.au3 to your script => Save only und erneut mit F5 starten.

    mfg autoBert

  • Zahlen aus Textdatei summieren

    • autoBert
    • 20. September 2011 um 18:19

    Hallo Egon577,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial Sehr hilfreich ist auch das Buch von peethebee .

    und hier ein kleines Beispiel wie man Positionen in einer LV addieren kann:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GuiListView.au3>
    #include <Array.au3>

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

    Global $Listart[20], $idLV_Positionen, $Listarttime[20], $Listart2[20], $idLV_Summen, $Listart2time[20]
    $Form1 = GUICreate("Form1", 678, 537, 192, 114)
    $idLV_Positionen = GUICtrlCreateListView("Name |Liter", 80, 56, 505, 129)
    GUICtrlCreateListViewItem("Wasser|2", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|2", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|3", $idLV_Positionen)
    GUICtrlCreateListViewItem("Cola|7", $idLV_Positionen)
    GUICtrlCreateListViewItem("Bier|3", $idLV_Positionen)
    $idLV_Summen = GUICtrlCreateListView("Name |Liter", 81, 287, 505, 129)

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

    $Button1 = GUICtrlCreateButton("Button1", 216, 216, 219, 49, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    $count = _GUICtrlListView_GetItemCount($idLV_Positionen)
    Dim $aTmp[$count][2]
    For $i = 0 To $count -1
    $aSplit = _GUICtrlListView_GetItemTextArray($idLV_Positionen,$i)
    $aTmp[$i][0] = $aSplit[1]
    $aTmp[$i][1] = $aSplit[2]
    Next
    _ArraySort($aTmp)
    $aUnique = _ArrayUnique($aTmp)
    $iGesamt = 0
    for $i = 1 to $aUnique[0]
    $aFind = _ArrayFindAll($aTmp,$aUnique[$i])
    $iMenge = 0
    for $j = 0 to UBound($aFind) -1
    $iMenge += $aTmp[$aFind[$j]][1]
    Next
    $iGesamt += $iMenge
    GUICtrlCreateListViewItem($aUnique[$i] & "|" & $iMenge,$idLV_Summen)
    Next
    GUICtrlCreateListViewItem("Gesamt: |" & $iGesamt,$idLV_Summen)
    EndSwitch
    WEnd

    [/autoit]

    Wie du siehst ist es am einfachsten in der Schleife in der die LV-Items erzeugt werden auf zu summieren und am Ende ein LV-Item mit der Gesamtsumme an zu hängen,

    mfg autoBert

  • PNG Button.

    • autoBert
    • 20. September 2011 um 17:57

    Hallo slash,

    schau dir https://autoit.de/index.php?page…ight=GuiCtrlPic von @Großvater an,

    mfg autoBert

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™