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

  • Autoit Dropdownliste

    • autoBert
    • 12. Februar 2011 um 16:59
    Zitat von Tru5T

    autoBert
    Danke für deine Hilfe das zweite Skript von dir ist perfekt für meine Zwecke :D :D
    Ich habe es noch etwas angepasst damit ich bei jeder Auswahl eine andere Aktion ausführen kann

    war ja nur als Beispiel gedacht, damit du siehst wie man Combos aus Textdateien füllen kann, da kann soetwas nie 100% passen.

    Zitat von Tru5T

    @All
    Ich bin positiv überrascht das mein Problem soo schnell beheben bzw. geklärt werden konnte :) :)
    Danke für eure Antworten und eurer Hilfe

    Ja, das Forum hier ist schneller als die meisten Supportabteilungen von Firmen.

    mfg autoBert

  • PID herausfinden

    • autoBert
    • 12. Februar 2011 um 16:53

    @tuttifrutti:

    Zitat von MasterOfTime

    PS: Das Programm hat kein Fenster.

    @MasterOfTime: warum verwendest du nicht einfach

    [autoit]

    run

    [/autoit]

    da bekommst du die PID zurück,

    mfg autoBert

  • Script schließen -> batch datei ausführen

    • autoBert
    • 12. Februar 2011 um 16:48

    @Mod/Admin,

    wie ich dem Namen der BATch-Datei

    Zitat von McGangster

    ShellExecute("Gen.bat", "", @ScriptDir, "open", @SW_HIDE)

    zu entnehmen glaube will er damit seinen KEY-GENerator für den schon 4 Thread's im Papierkorb liegen verbreiten.
    Bei seinen "Programmierkünsten" wird er zwar hinterher warschein's von den Benutzern gesteinigt aber man sollte es erst gar nicht dazu kommen lassen,

    @McGangster, ich denke du bist definitiv im falschen Forum

    mfg autoBert

  • Progressbar in Update Funktion einbauen

    • autoBert
    • 12. Februar 2011 um 16:37

    Hallo Ghostleader,

    ich habe hier einmal die func loadfile veränderte und meine (leicht verädnerte calcPerformance hinten angehängt:

    Spoiler anzeigen
    [autoit]

    #Include <Date.au3> ;am Anfang des Skriptes einbauen

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

    Func LOADFILE($INETADRESS, $LOCALFILE) ;vorhandene func austauschen
    Local $iSize = InetGetSize($INETADRESS)
    Local $tStart = TimerInit(), $tDiff
    Dim $aData[3]
    Local $HDOWNLOAD = InetGet($INETADRESS, $LOCALFILE, 17, 1)
    Do
    $tDiff = TimerDiff($tStart)
    If $aData[0] > 0 Then
    _CalcPerformance($iSize, $aData[0], $aData[2], $tDiff)
    EndIf
    $aData = InetGetInfo($HDOWNLOAD, -1)
    Sleep(250)
    Until $aData[2]
    Local $aData = InetGetInfo($HDOWNLOAD)
    InetClose($HDOWNLOAD)
    If $aData[3] = True Then
    Return 1
    Else
    Return 0
    EndIf
    EndFunc ;==>LOADFILE

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

    Func _CalcPerformance($iSize, $iRead, $bDone, $tDiff) ;zusätzliche neue func hinter LoadFile einfügen
    Local $sMSG
    $iToDo = Round(($iSize - $iRead) / 1024, 2)
    $nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
    $iPercent = Round($iRead / $iSize * 100, 2)
    if ($iSize = 0) And Not $bDone Then
    $iRTime = "unbekannt"
    Else
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    EndIf
    $sMSG = Round($iRead / 1024, 0) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
    $sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
    If Not $bDone Then
    $sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
    ;ConsoleWrite($sMSG & @CRLF)
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
    EndIf
    TrayTip("downloading", $sMSG, 10, 16)
    EndFunc ;==>_CalcPerformance

    [/autoit]

    wenn du dieses Skriptteil einbaust habt ihr zumindest einen Traytipp, aber bitte nicht im Original sondern als neue Version speichern. Den Einbau in eure GUI solltest du eurem Programmierer überlassen, da ich ja nicht denke das du bereit bist den kompletten Source hier oder per PN an jemanden fremden zu geben,

    misterspeed,

    Zitat

    1 - Die Größe des Downloads (ist nicht immer vorhanden).


    mfg autoBert

  • Guictrlread gibt zu viele Daten aus!

    • autoBert
    • 12. Februar 2011 um 16:11

    Hallo Emperormatem,

    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/TutorialSehr hilfreich ist auch das Buch von peethebee

    dein Problem wurde meines Erachtens ja schon von misterspeed gelöst, wenn du es auch als gelöst ansiehst wäre es schön wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • WinWaitAuswahl...drehe mich im Kreise...

    • autoBert
    • 12. Februar 2011 um 16:06

    Halo Manne363,

    da die Fenstertitel der Messageboxen ja identisch sind kannst du es so machen:

    Spoiler anzeigen
    [autoit]

    #include <ProgressConstants.au3>
    #include <SendMessage.au3>
    $ProgressHandle = ControlGetHandle("Fenstertitel", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    ;$Mbam = """M:\Program Files\Malwarebytes' Anti-Malware\mbam.exe"" /UPDATE"
    $Mbam = """C:\Programme\Malwarebytes' Anti-Malware\mbam.exe"" /UPDATE"

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

    Run($Mbam)
    WinWaitActive("Malwarebytes' Anti-Malware Aktualisierung", "")
    $ProgressHandle = ControlGetHandle("Malwarebytes' Anti-Malware Aktualisierung", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    Sleep(5000) ;da die Progressbar 1 auch schon vorher 1* erscheint

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

    Do
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)
    MsgBox(1, "Info", $progressbarPOS, 5);=1 = am Ende?
    Until ($progressbarPOS = "1") or WinExists("Malwarebytes' Anti-Malware","")

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

    WinWaitActive("Malwarebytes' Anti-Malware","")
    $MbamInfo = ControlGetText("Malwarebytes' Anti-Malware", "", "[CLASS:Static; INSTANCE:2]")
    ControlClick("Malwarebytes' Anti-Malware", "", "[CLASS:Button; INSTANCE:1]")
    MsgBox(1, "Info", $MbamInfo, 10)
    Exit

    [/autoit]

    die Abbruchbdeingung für die Progressbarschleife habe ich verändert, da die Verbindung zum Server ja auch misslingen kann,

    mfg autoBert

  • Progressbar in Update Funktion einbauen

    • autoBert
    • 12. Februar 2011 um 15:14

    Hallo Ghostleader,

    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/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Problem: Ich bin der gleichen Meinung wie misterspeed. Für mich sieht es so aus als ob nur eine einzige Datei heruntergeladen wird und das in einer Routine, die du nicht gepostet hast. Des weiteren ist nicht zu erkennen ob bereits eine GUI existiert.
    Hier ein Downloadbeispiel (lädt die dt. Hilfe herunter) und zeigt den Fortschritt als Tray-Tipp:

    Spoiler anzeigen
    [autoit]

    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_UseUpx=n
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <Date.au3>
    #include <array.au3>

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

    HttpSetUserAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.7) Gecko/20100713 Firefox/3.6.7") ; User-Agent (Header) von AutoIt3 ändern, da beim Webhoster dieser gesperrt ist

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

    Global $tDiff, $iToDo, $iRTime, $sMSG, $nKBPerSec
    $sUrl = "http://translation.autoit.de/autoitinfo/hilfedateien/AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    ;url eventell gegen einen anderen größeren Download tauschen, dann aber bitte auch $sPath ändern
    $sPath = @ScriptDir & "\AutoIt-Hilfe-Deutsch-3.3.6.1-Stand-07_09_10.zip"
    Global $iSize = InetGetSize($sUrl) ;siehe Hilfe zu InetgetSize
    Global $tStart = TimerInit()
    $hDownLoad = InetGet($sUrl, $sPath, 1, 1)
    Dim $aData[3]

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

    Do
    Sleep(250)
    If $aData[0] > 0 Then
    _CalcPerformance($aData[0], $aData[2])
    TrayTip("downloading", $sMSG, 10, 16)
    EndIf
    $aData = InetGetInfo($hDownLoad, -1)
    Until $aData[2]
    $aData = InetGetInfo($hDownLoad, -1)
    _CalcPerformance($aData[0], $aData[2])

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

    InetClose($hDownLoad) ; Handle schließen um die Resourcen freizugeben.
    MsgBox(0, "", "Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")
    ConsoleWrite("Bytes gelesen: " & $aData[0] & @CRLF & _
    "Größe: " & $aData[1] & @CRLF & _
    "beendet?: " & $aData[2] & @CRLF & _
    "Erfolgreich?: " & $aData[3] & @CRLF & _
    "@error: " & $aData[4] & @CRLF & _
    "@extended: " & $aData[5] & @CRLF & @CRLF & _
    "KiloBytes/sec: " & $nKBPerSec & @CRLF & _
    "benötigte Teit: " & Round($tDiff / 1000, 0) & " Sekunden")

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

    ;FileDelete(@ScriptDir & "\Testdownload.htm")

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

    Func _CalcPerformance($iRead, $bDone)

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

    $tDiff = TimerDiff($tStart)
    $iToDo = Round(($iSize - $iRead) / 1024, 2)
    $nKBPerSec = Round($iRead / $tDiff * 1000 / 1024, 2)
    $iPercent = Round($iRead / $iSize * 100, 2)
    if ($iSize = 0) And Not $bDone Then
    $iRTime = "unbekannt"
    Else
    $iRTime = Round($iToDo / $nKBPerSec, 0)
    EndIf
    $sMSG = Round($iRead / 1024, 0) & "/" & Round($iSize / 1024, 0) & " KB " & " = " & $iPercent & "%" & @CRLF
    $sMSG &= "durchschnittlich KB/s = " & $nKBPerSec & @CRLF ;& "aktuell: KB/s " & $nKBAct & @CRLF
    If Not $bDone Then
    $sMSG = $sMSG & "vermutlich zu Ende:" & StringLeft(StringRight(_DateAdd('s', $iRTime, _NowCalc()), 8), 5)
    ;ConsoleWrite($sMSG & @CRLF)
    Else
    $sMSG = $sMSG & "benötigte Zeit = " & Round($tDiff / 1000, 0)
    EndIf
    ;if $iSize > 0 Then $sMSG = $sMSG & " sec"
    EndFunc ;==>_CalcPerformance

    [/autoit]

    wenn wie du sagst der Zustand mit der fehlenden Info schon länger existiert das Programm aber ansonsten läuft würde ich dir raten es so zu lassen wie es ist und abwarten bis der zuständige Programmierer erreichbar ist

    mfg autoBert

  • _IELoadWait($oIE) oder: Flash erfassen / oder woher weiss ich wann die Webseite geladen ist?

    • autoBert
    • 11. Februar 2011 um 23:34

    Schau dir Shockwave Flash Object von @weedhead an, ist zwar schon 4 Jahre alt, funktioniert aber gut,

    mfg autoBert

  • Autoit Dropdownliste

    • autoBert
    • 11. Februar 2011 um 23:06
    Zitat von Tru5T

    ich wollte quasi dieses "Dropdownfeld" nicht selbst ausfüllen sondern ausfüllen lasen und zwar mit dem Inhalt einer Datei


    In

    • [Beispiel] MiniUrl-Manager (kleiner Webseitenverwalter)
    • [Beispiel] Textbausteine verwalten (kleines Update)

    befülle ich eine Combo aus einer INI-Datei.

    und hier noch ein Beispiel mit einer Textdatei:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GuiComboBox.au3>
    #include <GUIConstantsEx.au3>
    #include <array.au3>
    #include <File.au3>

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

    Const $sCSV = @ScriptDir & "\cboKFZ.TXT"
    Const $sElect = "bitte auswählen"
    Dim $aKFZ, $aSplit, $scboChr = ""
    _FileReadToArray($sCSV, $aKFZ)
    _ArraySort($aKFZ)
    For $i = 1 To UBound($aKFZ) - 1
    ConsoleWrite($i & $aKFZ[$i] & @CRLF)
    $scboChr &= $aKFZ[$i]& "|"
    Next
    ConsoleWrite($scboChr & @CRLF)

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

    $hGui = GUICreate("Combobox aus TXT-Datei", 250, 85, 302, 218)
    $idCboKFZ = GUICtrlCreateCombo($sElect, 8, 8, 200, 25)
    GUICtrlSetTip(-1,"Automarke auswählen")
    GUICtrlSetData(-1, $scboChr)
    $idBtnINFO = GUICtrlCreateButton("&Info", 8, 40)
    GUICtrlSetState(-1,$Gui_DISABLE)
    GUICtrlSetTip(-1,"MsgBox zeigen")
    $idBtnExit = GUICtrlCreateButton("Be&enden", 70, 40)
    GUICtrlSetTip(-1,"Programm beenden")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $idBtnExit
    Exit
    Case $idCboKFZ
    if GUICtrlRead($idCboKFZ) = $sElect Then
    GUICtrlSetState($idBtnINFO,$Gui_DISABLE)
    Else
    GUICtrlSetState($idBtnINFO,$Gui_ENABLE)
    EndIf
    Case $idBtnINFO
    MsgBox(0,"Info",GUICtrlRead($idCboKFZ))
    EndSwitch
    WEnd

    [/autoit]

    die Datei cboKFZ.TXT hat bei mir folgenden Inhalt:

    Code
    Audi
    Bmw
    Opel
    Ford
    Volkswagen
    Renault
    Peugeot

    und muss im gleichen Verzeichnis wie das Skript liegen,

    mfg autoBert

  • Autoit Dropdownliste

    • autoBert
    • 11. Februar 2011 um 18:12

    Hallo Tru5T,

    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/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deinem Problem, schau dir dieses Skript an:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ComboConstants.au3>
    #include <GuiComboBox.au3>
    #include <File.au3>
    #include <array.au3>

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

    Global $szDrive, $szDir, $szFName, $szExt

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

    $idGUI = GUICreate("Flaggen", 300, 115)
    $idcbo = GUICtrlCreateCombo("", 10, 10, 180, 80, BitOR($CBS_SORT, $GUI_SS_DEFAULT_COMBO))
    $idNeu = GUICtrlCreateButton("...", 200, 10, 30, 25)
    GUICtrlSetTip(-1,"Länder hinzufügen")
    $idVorschau = GUICtrlCreatePic(@ScriptDir & "\Flaggen\NA.gif", 210, 40, 72, 48)
    ;$idInfo = GUICtrlCreateButton("&alle auslesem", 10, 90, 180, 25)
    $idZeigen = GUICtrlCreateButton("&Zeigen", 10, 90, 180, 25)
    GUICtrlSetTip(-1,"Flagge für ausgewähltes Land Zeigen")
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    #cs
    Case $idInfo
    $count = _GUICtrlComboBox_GetCount($idcbo)
    Dim $acbo[$count]
    $acbo = _GUICtrlComboBox_GetListArray($idcbo)
    _ArrayDisplay($acbo)
    #ce
    Case $idNeu
    $sAlt = GUICtrlRead($idcbo)
    $sMessage = "Um mehrere Länder auszuwählen, ist die Strg-Taste oder die Shift-Taste zu drücken."
    $sPlus = FileOpenDialog($sMessage, @ScriptDir & "\Flaggen", "Bilder (*.gif)", 7, "", $idGUI)
    If @error Then
    MsgBox(4096, "", "Keine Datei(en) ausgewählt")
    Else
    $aFiles = StringSplit($sPlus, "|")
    If $aFiles[0] > 1 Then ;trifft nur bei Mehrfachauwal zu
    ;$aFiles[0] enthält Anzahl der Strings
    ;$aFiles[1] enthält den Pfad für alle ausgewählten Bilder
    ;$aFiles[2] enthält 1. Bild
    ;$aFiles[n+1] enthält n. Bild

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

    ;Rückgabe des Fileopenialogs in einzzenlne Strings für Array splitten
    ;_ArrayDisplay($aFiles) ;Array anzeigen nur zu Verständnisuwecken evtl. aktivieren

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

    For $i = 2 To $aFiles[0]
    _GUICtrlComboBox_AddString ($idcbo, StringReplace($aFiles[$i],".gif",""))
    Next
    Else ;nur eine Datei ausgewählt
    ConsoleWrite($aFiles[1] & @CRLF)
    _PathSplit($aFiles[1], $szDrive, $szDir, $szFName, $szExt)
    _GUICtrlComboBox_AddString ($idcbo, $szFName)
    EndIf
    EndIf

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

    Case $idZeigen
    GUICtrlSetImage($idVorschau, @ScriptDir & "\Flaggen\" & GUICtrlRead($idcbo) & ".gif")
    EndSwitch
    WEnd

    [/autoit]

    dazu benötigst du noch Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    mfg autoBert

    Dateien

    Flaggen.zip 182,85 kB – 291 Downloads
  • WinWaitAuswahl...drehe mich im Kreise...

    • autoBert
    • 11. Februar 2011 um 16:25

    Hallo manne363,

    der Gedanke war den TimeOut-Parameter von WinWait zu benutzen. Leider hat sich ein # hinter das Until gemoggelt und dabei die 1 gelöscht.

    Es geht aber noch schöner:

    Spoiler anzeigen
    [autoit]

    #include <ProgressConstants.au3>
    #include <SendMessage.au3>
    $ProgressHandle = ControlGetHandle("Fenstertitel", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    $Mbam = """M:\Program Files\Malwarebytes' Anti-Malware\mbam.exe"" /UPDATE"

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

    Run($Mbam)
    WinWaitActive("Malwarebytes' Anti-Malware Aktualisierung", "")
    $ProgressHandle = ControlGetHandle("Malwarebytes' Anti-Malware Aktualisierung", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    Do
    MsgBox(1, "Info", $progressbarPOS, 5);=1 = am Ende?
    Until $progressbarPOS = "1"

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

    do
    if WinExists("Malwarebytes' Anti-Malware","Die Datenbank wurde erfolgreich") Then ExitLoop
    if WinExists("Malwarebytes' Anti-Malware","Die Datenbank wurde nicht",5) Then ExitLoop
    until 1

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

    $MbamInfo = ControlGetText("Malwarebytes' Anti-Malware", "", "[CLASS:Static; INSTANCE:2]")
    ControlClick("Malwarebytes' Anti-Malware", "", "[CLASS:Button; INSTANCE:1]")
    MsgBox(1, "Info", $MbamInfo, 10)
    Exit

    [/autoit]

    diesmal hoffentlich ohne Tippfehler,

    Edit: Fenstertitel/Text musst du auf die 2 unterschiedlichen Melungen anpassen
    mfg autoBert

  • RegWrite mit DWORD probleme

    • autoBert
    • 11. Februar 2011 um 16:05
    Zitat von Parry Hotter

    autoBert
    Das klappt so.


    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

  • Mainboard Modell _eindeutig_ identifizieren

    • autoBert
    • 11. Februar 2011 um 15:51

    Hallo Schnebdreleg,

    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/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage: Falls du es nur benötigst um deine MainBoard's zu inventarisieren kannst du _WinAPI_UniqueHardwareID aus der WinAPIEx UDF von @Yashied verwenden, ansonsten fällt mir keine Lösung ein,

    mfg autoBert

  • Bei Mausklick in GUI soll _Func() ausgeführt wrden.

    • autoBert
    • 11. Februar 2011 um 15:39
    Zitat von danielsan85

    Würde das mein Problem lösen? Ich sehe da den zusammenhang nicht.


    Meines Erachtens nach ja aber lad es dir einfach herunter und starte das Beispiel. Danach kannst du ja entscheiden,

    mfg autoBert

  • Explorer Control

    • autoBert
    • 11. Februar 2011 um 15:23

    Hallo MichaelB,

    du könntest die Controls für einen Eintrag jeweils auf eine Hilfs-Gui legen. Mache einmal ein Skript soweit fertig, dass es für einen Eintrag funktioniert und poste es dann hier,

    mfg autoBert

  • WinWaitAuswahl...drehe mich im Kreise...

    • autoBert
    • 11. Februar 2011 um 15:17

    Hallo <Manne363,

    teste einmal dieses Skript:

    Spoiler anzeigen
    [autoit]

    #include <ProgressConstants.au3>
    #include <SendMessage.au3>
    $ProgressHandle = ControlGetHandle("Fenstertitel", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    $Mbam = """M:\Program Files\Malwarebytes' Anti-Malware\mbam.exe"" /UPDATE"

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

    Run($Mbam)
    WinWaitActive("Malwarebytes' Anti-Malware Aktualisierung", "")
    $ProgressHandle = ControlGetHandle("Malwarebytes' Anti-Malware Aktualisierung", "", "msctls_progress321") ; Handle zur 1. Progressbar des Fensters "Fenstertitel" holen
    $progressbarPOS = _SendMessage($ProgressHandle, $PBM_GETPOS)

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

    Do
    MsgBox(1, "Info", $progressbarPOS, 5);=1 = am Ende?
    Until $progressbarPOS = "1"

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

    do
    if WinWait("Malwarebytes' Anti-Malware","Die Datenbank",5) Then ExitLoop
    if WinWait("Malwarebytes' Anti-Malware","Die Datenbank",5) Then ExitLoop
    until#

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

    $MbamInfo = ControlGetText("Malwarebytes' Anti-Malware", "", "[CLASS:Static; INSTANCE:2]")
    ControlClick("Malwarebytes' Anti-Malware", "", "[CLASS:Button; INSTANCE:1]")
    MsgBox(1, "Info", $MbamInfo, 10)
    Exit

    [/autoit]

    mfg autoBert

  • Bei Mausklick in GUI soll _Func() ausgeführt wrden.

    • autoBert
    • 11. Februar 2011 um 15:05

    Hallo danielsan,

    du solltest dir GDIPlusObjekt.au3 von stayawayknight anschauen,

    mfg autoBert

  • Spritkostenrechner

    • autoBert
    • 11. Februar 2011 um 02:10

    Hallo Thooledo,

    praktisches Skript, jedoch durch deine frühzeitige Rundung ergibt sich bei den Kosten für 100 km eine Rundungsdifferenz. Ich würde beim errechnen gar nicht runden und es erst in der Ausgabe mit Stringformat formatieren, das würde dann so gehen:

    [autoit]

    Func _rechnen()
    $ergebnis1 = GUICtrlRead($liter) / GUICtrlRead($km)
    $ergebnis2 = GUICtrlRead($liter) / GUICtrlRead($km) * 100
    $ergebnis3 = $ergebnis1 * GUICtrlRead($geld)
    $ergebnis4 = $ergebnis2 * GUICtrlRead($geld)
    GUIDelete($eingabe)
    HotKeySet("{Enter}", "_Exit")
    $ausgabe = GUICreate("Sprit", 270, 180)
    GUICtrlCreateLabel(StringFormat("Verbraucht auf einem Kilometer %.3f Liter", $ergebnis1 ), 30, 30)
    GUICtrlCreateLabel(StringFormat("Bezahlt für einen Kilometer %.3f Euro" , $ergebnis3), 30, 60)
    GUICtrlCreateLabel(StringFormat("Verbraucht auf 100 Kilometer %.2f Liter" , $ergebnis2), 30, 90)
    GUICtrlCreateLabel(StringFormat("Bezahlt für 100 Kilmoter %.2f Euro" , $ergebnis4), 30, 120)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    GUISetState(@SW_SHOW)
    EndFunc ;==>_rechnen

    [/autoit]


    Ebenso würde ich die Funktion HotkeySet meiden, da die Entertaste dadurch systemweit belegt ist.

    Skriptidee: so umbauen, dass man bei jedem Tanken eintragen kann, evtl. auch Werkstatt-Rechnungen, Versicherungsrechnung, KFZ-Steuer aber auf jedenfall Öl mit einbeziehen

    mfg autoBert

  • RegWrite mit DWORD probleme

    • autoBert
    • 11. Februar 2011 um 01:33

    Hallo Parry Hotter

    so sollte es klappen:

    [autoit]

    #RequireAdmin
    $KEY_Fav = "HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder"
    RegWrite($KEY_Fav, "Attributes", "REG_DWORD", 0xa9400100)

    [/autoit]

    mfg autoBert

  • Textdatei...Verändern? :D

    • autoBert
    • 11. Februar 2011 um 00:14

    Hallo Alisamix,

    da ich meinem NetBook keine hochexplosiven Sachen (Seeminen, Auftragsbomben) antue, hier eine Lösung für den Text wie in Post #1:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <File.au3>

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

    Dim $aSource
    _FileReadToArray("final.txt", $aSource)
    Dim $aSplitted[$aSource[0]][3]

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

    For $i = 1 To $aSource[0]
    $aItem = StringSplit($aSource[$i], "^")
    ; _ArrayDisplay($aItem,"Item splitted")
    $aSplitted[$i - 1][0] = $aItem[1] & "^" & $aItem[2]
    $aSplitted[$i - 1][1] = $aItem[3]
    $aSplitted[$i - 1][2] = $aItem[4] & "^" & $aItem[5]
    Next
    ;_ArrayDisplay($aSplitted, "Splittet not Unique")

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

    $aNew = _ArrayUnique($aSplitted)
    _ArrayDelete($aNew, 0)
    ;_ArrayDisplay($aNew, "New before stringed")
    For $i = 0 To UBound($aNew) - 1
    $aFound = _ArrayFindAll($aSplitted, $aNew[$i])
    ;_ArrayDisplay($aFound)
    $sItems = ""
    $iLast = UBound($aFound) - 1
    For $j = 0 To $iLast
    $sItems &= $aSplitted[$aFound[$j]][1]
    if $j <> $iLast Then $sItems &= "#"
    Next
    $aNew[$i] = $aNew[$i] & "^" & $sItems & "^" & $aSplitted[$i][2]
    Next
    _ArrayDisplay($aNew, "New String")
    _FileWriteFromArray(@ScriptDir & "\NEW.txt",$aNew)

    [/autoit]

    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™