So lassen sich auf jeden Fall ein paar Gedankengänge sparen!
LG Kleiner
So lassen sich auf jeden Fall ein paar Gedankengänge sparen!
LG Kleiner
Vielen Dank BugFix!
Aber so habe ich lernen können auf eigener weise wie man es lösen kann!
Aber das, das so einfach gemacht wurde klasse!
LG Kleiner
Hallo Liebe Leute!
Ich bastel gerade vbs in autoit - zu verarbeiten habe das erste Skript fertig und möchte das mal vorstellen vielleicht hat ja einer eine bessere Lösung oder ein paar anregungen!
Es geht um: Wmic in vbs zu autoit
CIM_DataFile
"CIM_DataFile" ist ein Typ einer logischen Datei, eine Namensammlung von Daten und ausführbarem Code. Zurzeit gibt der Anbieter Dateien auf Festplatten und Dateien auf zugeordneten logischen Datenträgern zurück. Zukünftig werden nur Instanzen von Dateien auf lokalen Festplatten zurückgegeben.
Beide code sammeln infos in der log : Bei mir über 150 MB
Der kleine aber mit vielen Infos:
#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit];---------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit];CIM_DataFile
[/autoit] [autoit][/autoit] [autoit];"CIM_DataFile" ist ein Typ einer logischen Datei, eine Namensammlung
;von Daten und ausführbarem Code.Das Verhalten des Anbieters, der
;diese Klasse unterstützt wird in zukünftigen Versionen geändert.
;Zurzeit gibt der Anbieter Dateien auf Festplatten und Dateien auf
;zugeordneten logischen Datenträgern zurück. Zukünftig werden nur
;Instanzen von Dateien auf lokalen Festplatten zurückgegeben.
;Unterstützung
;Unterstützt auf allen Windows-Versionen.
;Namespace
;Die Klasse CIM_DataFile stammt aus dem WMI-Namensraum root\cimv2
;---------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];---------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; >>>> Original CIM_DataFile .vbs <<<<
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]; strServer = "."
[/autoit] [autoit][/autoit] [autoit]; Set objWMI = GetObject("winmgmts://" & strServer & "/root\cimv2")
; Set objInstances = objWMI.InstancesOf("CIM_DataFile",48)
; For Each objInstance in objInstances
; WScript.Echo objInstance.getObjectText_
; Next
;---------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$strServer = "."
[/autoit] [autoit][/autoit] [autoit]Local $objWMI = ObjGet("winmgmts://" & $strServer & "/root\cimv2")
Local $objInstances = $objWMI.InstancesOf("CIM_DataFile",48)
Global $intLog = FileOpen(@ScriptDir & '\CIM_DataFile.log', 2)
[/autoit] [autoit][/autoit] [autoit]For $objInstance in $objInstances
_Log($objInstance.getObjectText_)
Next
Func _Log($Log = "", $inLine = 0)
Local $st
If StringLeft($Log, 1) <> ">" Then $st = "- "
FileWriteLine($intLog, $st & $Log & _Iif($inLine = 1, @CRLF, ""))
EndFunc ;==>_WriteLog
Func _Ende()
FileClose($intLog)
EndFunc ;==>_Ende
Der große:
#include <Misc.au3>
[/autoit] [autoit][/autoit] [autoit];---------------------------------------------------------------------
;
; CIM_DataFile
;
; "CIM_DataFile" ist ein Typ einer logischen Datei, eine Namensammlung
; von Daten und ausführbarem Code.Das Verhalten des Anbieters, der
; diese Klasse unterstützt wird in zukünftigen Versionen geändert.
; Zurzeit gibt der Anbieter Dateien auf Festplatten und Dateien auf
; zugeordneten logischen Datenträgern zurück. Zukünftig werden nur
; Instanzen von Dateien auf lokalen Festplatten zurückgegeben.
;
; Unterstützung
; Unterstützt auf allen Windows-Versionen.
;
; Namespace
; Die Klasse CIM_DataFile stammt aus dem WMI-Namensraum root\cimv2
;
;---------------------------------------------------------------------
;---------------------------------------------------------------------
;
; >>>> Original CIM_DataFile .vbs <<<<
;
;
; strServer = "."
;
; Set objWMI = GetObject("winmgmts://" & strServer & "/root\cimv2")
; Set objInstances = objWMI.InstancesOf("CIM_DataFile",48)
;
; On Error Resume Next
; For Each objInstance in objInstances
; With objInstance
; WScript.Echo .AccessMask
; WScript.Echo .Archive
; WScript.Echo .Caption
; WScript.Echo .Compressed
; WScript.Echo .CompressionMethod
; WScript.Echo .CreationClassName
; WScript.Echo .CreationDate
; WScript.Echo .CSCreationClassName
; WScript.Echo .CSName
; WScript.Echo .Description
; WScript.Echo .Drive
; WScript.Echo .EightDotThreeFileName
; WScript.Echo .Encrypted
; WScript.Echo .EncryptionMethod
; WScript.Echo .Extension
; WScript.Echo .FileName
; WScript.Echo .FileSize
; WScript.Echo .FileType
; WScript.Echo .FSCreationClassName
; WScript.Echo .FSName
; WScript.Echo .Hidden
; WScript.Echo .InstallDate
; WScript.Echo .InUseCount
; WScript.Echo .LastAccessed
; WScript.Echo .LastModified
; WScript.Echo .Manufacturer
; WScript.Echo .Name
; WScript.Echo .Path
; WScript.Echo .Readable
; WScript.Echo .Status
; WScript.Echo .System
; WScript.Echo .Version
; WScript.Echo .Writeable
; End With
; On Error Goto 0
; Next
;---------------------------------------------------------------------
Local $strServer = "."
[/autoit] [autoit][/autoit] [autoit]Local $objWMI = ObjGet("winmgmts://" & $strServer & "/root\cimv2")
Local $objI = $objWMI.InstancesOf("CIM_DataFile", 48)
Global $intLog = FileOpen(@ScriptDir & '\CIM_DataFile.log', 2)
; ----------------------------------------------------------------------------
;
; Autor >> Kleiner27 << http://www.AutoIt.de
;
; ----------------------------------------------------------------------------
For $objI In $objI
With $objI
_Log(.AccessMask); Die Eigenschaft "AccessMask" ist ein Bitarray, das die Zugriffsrechte für die Datei oder das Verzeichnis des Benutzers oder der Gruppe darstellt
_Log(.Archive); Die Eigenschaft "Archive" ist ein boolescher Wert, der angibt, ob die Datei archiviert werden soll
[/autoit] [autoit][/autoit] [autoit]_Log(.Caption) ;Die Eigenschaft "Caption" gibt eine kurze Textbeschreibung (eine Zeile) des Objekts an
[/autoit] [autoit][/autoit] [autoit]_Log(.Compressed);Die Eigenschaft "Compressed" ist ein boolescher Wert, der angibt, dass die Datei komprimiert ist
[/autoit] [autoit][/autoit] [autoit]_Log(.CompressionMethod);Die Eigenschaft "CompressionMethod" ist eine formfreie Zeichenfolge, die den Algorithmus oder das Programm zum Komprimieren
;der logischen Datei angibt. Wenn es nicht möglich ist, das Komprimierungsschema zu beschreiben, wird Folgendes angegeben: "Unbekannt", wenn nicht bekannt ist
;, ob die logische Datei komprimiert ist. "Komprimiert", wenn die Datei komprimiert ist, aber das Komprimierungsschema unbekannt ist. "Nicht komprimiert"
;, wenn die logische Datei nicht komprimiert ist.
_Log(.CreationClassName);Die Eigenschaft "CreationClassName" gibt den Klassennamen an
[/autoit] [autoit][/autoit] [autoit]_Log(.CreationDate);Die Eigenschaft "CreationDate" gibt das Erstellungsdatum der Datei an.
[/autoit] [autoit][/autoit] [autoit]_Log(.CSCreationClassName);Die Eigenschaft "CSCreationClassName" gibt die Klasse des Computersystems an.
[/autoit] [autoit][/autoit] [autoit]_Log(.CSName);Die Eigenschaft "CSName" gibt den Namen des Computersystems an.
[/autoit] [autoit][/autoit] [autoit]_Log(.Description);Die Eigenschaft "Description" gibt eine Textbeschreibung des Objekts an.
[/autoit] [autoit][/autoit] [autoit]_Log(.Drive);Die Eigenschaft "Drive" gibt den Laufwerkbuchstaben (einschließlich Doppelpunkt) der Datei an. Beispiel: c:
[/autoit] [autoit][/autoit] [autoit]_Log(.EightDotThreeFileName);Die Eigenschaft "EightDotThreeFileName" gibt den DOS-kompatiblen Namen der Datei an. Beispiel: c:\progra~1
[/autoit] [autoit][/autoit] [autoit]_Log(.Encrypted);Die Eigenschaft "Encrypted" ist ein boolescher Wert, der angibt, dass die Datei verschlüsselt ist.
[/autoit] [autoit][/autoit] [autoit]_Log(.EncryptionMethod);Die Eigenschaft "EncryptionMethod" ist eine formfreie Zeichenfolge, die den Algorithmus oder das Programm zum
;Verschlüsseln der logischen Datei angibt. Wenn es z. B. aus Sicherheitsgründen nicht möglich ist, das Verschlüsselungsschema zu beschreiben
;, wird Folgendes angegeben: "Unbekannt", wenn nicht bekannt ist, ob die logische Datei verschlüsselt ist. "Verschlüsselt", wenn die Datei verschlüsselt
;ist, aber das Verschlüsselungsschema unbekannt ist. "Nicht verschlüsselt", wenn die logische Datei nicht verschlüsselt ist.
_Log(.Extension);Die Eigenschaft "Extension" gibt die Erweiterung der Datei ohne Punkt an. Beispiel: txt, mof, mdb.
[/autoit] [autoit][/autoit] [autoit]_Log(.FileName);Die Eigenschaft "FileName" gibt den Namen der Datei ohne Erweiterung an. Beispiel: autoexe
[/autoit] [autoit][/autoit] [autoit]_Log(.FileSize);Die Eigenschaft "FileSize" gibt die Datengröße in Bytes an.
[/autoit] [autoit][/autoit] [autoit]_Log(.FileType);Die Eigenschaft "FileType" stellt den in der Eigenschaft "Extension" angegebenen Dateityp dar.
[/autoit] [autoit][/autoit] [autoit]_Log(.FSCreationClassName);Die Eigenschaft "FSCreationClassName" gibt die Klasse des Dateisystems an.
[/autoit] [autoit][/autoit] [autoit]_Log(.FSName);Die Eigenschaft "FSName" gibt den Namen des Dateisystems an.
[/autoit] [autoit][/autoit] [autoit]_Log(.Hidden);Die Eigenschaft "Hidden" ist ein boolescher Wert, der angibt, ob die Datei versteckt ist.
[/autoit] [autoit][/autoit] [autoit]_Log(.InstallDate);Die Eigenschaft "InstallDate" gibt an, wann das Objekt installiert wurde. Wenn der Wert nicht angegeben ist, kann das Objekt trotzdem installiert sein.
[/autoit] [autoit][/autoit] [autoit]_Log(.InUseCount);Die Eigenschaft "InUseCount" gibt die Anzahl der geöffneten Instanzen einer Datei an.
[/autoit] [autoit][/autoit] [autoit]_Log(.LastAccessed);Die Eigenschaft "LastAccessed" gibt an, wann zuletzt auf die Datei zugegriffen wurde.
[/autoit] [autoit][/autoit] [autoit]_Log(.LastModified);Die Eigenschaft "LastModified" gibt an, wann die Datei zuletzt geändert wurde.
[/autoit] [autoit][/autoit] [autoit]_Log(.Manufacturer);Herstellerzeichenfolge aus der Versionsressource, falls vorhanden.
[/autoit] [autoit][/autoit] [autoit]_Log(.Name);Die Eigenschaft "Name" gibt den vererbten Namen an, der als Schlüssel einer logischen Datei innerhalb eines Dateisystems dient.
;Es müssen vollständige Pfadnamen angegeben werden. Beispiel: c:\winnt\system\win.ini
_Log(.Path);Die Eigenschaft "Path" gibt den Pfad der Datei an, einschließlich umgekehrter Schrägstriche am Anfang und am Ende. Beispiel: \windows\system\
[/autoit] [autoit][/autoit] [autoit]_Log(.Readable);Die Eigenschaft "Readable" ist ein boolescher Wert, der angibt, ob die Datei gelesen werden kann.
[/autoit] [autoit][/autoit] [autoit]_Log(.Status);Die Eigenschaft "Status" gibt den aktuellen Status des Objekts an. Es können betriebsbereite oder nicht betriebsbereite Zustände
;definiert werden. Betriebsbereite Zustände sind "OK", "Heruntergestuft" und "Künftiger Fehler". "Künftiger Fehler" gibt an, dass ein Element
;ordnungsgemäß funktioniert, aber in naher Zukunft ein Fehler auftreten wird. Ein Beispiel ist eine SMART-aktivierte Festplatte. Nicht betriebsbereite
;Zustände sind "Fehler", "Starten", "Beenden" und "Dienst". "Dienst" kann während des erneuten Spiegelns eines Datenträgers, beim erneuten Laden einer
;Benutzerberechtigungsliste oder einem anderen administrativen Vorgang zutreffen. Nicht alle Vorgänge sind online.
_Log(.System);Die Eigenschaft "System" ist ein boolescher Wert, der angibt, ob die Datei eine Systemdatei ist.
[/autoit] [autoit][/autoit] [autoit]_Log(.Version); Versionszeichenfolge aus der Versionsressource, falls vorhanden.
[/autoit] [autoit][/autoit] [autoit]_Log(.Writeable);Die Eigenschaft "Writeable" ist ein boolescher Wert, der angibt, ob die Datei geschrieben werden kann.
[/autoit] [autoit][/autoit] [autoit]EndWith
Next
Func _Log($Log = "", $inLine = 0)
Local $st
If StringLeft($Log, 1) <> ">" Then $st = "- "
FileWriteLine($intLog, $st & $Log & _Iif($inLine = 1, @CRLF, ""))
EndFunc ;==>_Log
Func _Ende()
FileClose($intLog)
EndFunc ;==>_Ende
Viel spass!
LG Kleiner
Update: 17.11.2009
Post#1
LG Kleiner
Kein problem!
Überlege dir wo du anfangen willst und stell deine frage!
LG Kleiner
ICh dachte du meintest diesen teil von zuweisung das geht nicht!
Select
Case @GUI_CtrlId = $af
aber so kannst du mehrere zuweisungen machen!
[autoit]Switch @GUI_CtrlId
Case $1,$2,$3,$4 ;usw.
Edit:/ wenn auf gui´s ein button mit dem ersten beispiel eine zuweisung hat klapt es aber nicht zwei auf einer gui !
Lg Kleiner
Also wen ich mich nicht irre dann war dein frage und der post geht um GUICtrlSetOnEvent() und ja dann hast du dich total falsch ausgedrück!
Also was hast du den jetzt genau für ein problem?
Anmerkung: dein code soltest du schon allein schreiben! ![]()
LG Kleiner
Hey!
Also bei mir klapt es ich gebe in die input aus test zwecken https://autoit.de/www.googel.com ein und dann ..... tada
LG Kleiner
Stimmt hast du recht! ![]()
So geht es auch!
[autoit]Func start()
GUICtrlSetData($Label1, " Die Installation läuft...")
GUICtrlDelete($button3)
GUICtrlDelete($button2)
$Zeit = GUICtrlCreateLabel("Noch etwa 120 Sekunden", 109, 136, 100, 25)
$II = 0
For $i = 120 To 0 Step -1
GUICtrlSetData($Zeit, "Noch etwa " & $i & " Sekunden")
Sleep(1000)
GUICtrlSetData($Progress1, $II)
GUICtrlSetData($label2, GUICtrlRead($Progress1) & "%")
$II += 0.84
Next
GUICtrlSetData($Label1, " Die Installation ist beendet!")
$schliessen = GUICtrlCreateButton("Schliessen", 109, 136, 100, 25)
GUICtrlSetColor($schliessen, 0x0000AA)
GUICtrlSetOnEvent(-1, "fertig")
EndFunc ;==>start
[/autoit]
wenn man noch ne 1 dran hängt dann sind die 100% ein paar mil-sec. schneller! ![]()
LG Kleiner
Hey!
Kleiner denkfehler von dir!
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1)
$Form1 = GUICreate("Installation", 315, 200, -1, -1)
GUISetBkColor(0x3366CC)
GUISetOnEvent($guI_EVENT_CLOSE, "close")
$Progress1 = GUICtrlCreateProgress(24, 88, 265, 25, 0x01)
GUICtrlSetData(-1, 0)
$label2 = GUICtrlCreateLabel("", 150, 63, 60, 14)
GUICtrlSetColor($label2, 0xFFFFFF)
$Label1 = GUICtrlCreateLabel("Möchten Sie die Installation starten?", 74, 24, 189, 17)
GUICtrlSetColor($Label1, 0xFFFFFF)
GUICtrlSetOnEvent(-1, "close")
$button2 = GUICtrlCreateButton("Start", 24, 136, 100, 25)
GUICtrlSetColor($button2, 0x0000AA)
GUICtrlSetOnEvent(-1, "start")
$button3 = GUICtrlCreateButton("Beenden", 190, 136, 100, 25)
GUICtrlSetColor($button3, 0x0000AA)
GUICtrlSetOnEvent(-1, "close")
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(100)
WEnd
Func close()
Exit
EndFunc ;==>close
Func start()
For $i = 0 To 100
GUICtrlSetData($Label1, " Die Installation läuft...")
GUICtrlDelete($button3)
GUICtrlDelete($button2)
$Zeit = GUICtrlCreateLabel("Noch etwa 120 Sekunden", 109, 136, 100, 25)
$II = 0
For $i = 120 To 0 Step -1
GUICtrlSetData($Zeit, "Noch etwa " & $i & " Sekunden")
Sleep(1000)
GUICtrlSetData($Progress1, $II)
GUICtrlSetData($label2, GUICtrlRead($Progress1) & "%")
$II += 1
Next
Sleep(500)
GUICtrlSetData($Label1, " Die Installation ist beendet!")
$schliessen = GUICtrlCreateButton("Schliessen", 109, 136, 100, 25)
GUICtrlSetColor($schliessen, 0x0000AA)
GUICtrlSetOnEvent(-1, "fertig")
Next
EndFunc ;==>start
Func fertig()
Exit
EndFunc ;==>fertig
LG Kleiner
Hey!
Ich hoffe das dein problem jetzt gelöst ist!
Wenn du eine gui estellst: alles was du darunter schreibst bist show oder hiden gehört alles zu der gui und wird auch so behandelt!
#include <FF.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <Date.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <String.au3>
Opt("WinTitleMatchMode", 2)
Opt("GUIOnEventMode", 1)
; Start Begrüßung
$splash = @ScriptDir & "\splash.gif"
SplashImageOn("", $splash, 265, 95, @DesktopWidth / 2 - 132, 200, 1)
Sleep(2000)
SplashOff()
; Ende Begrüßung
$title = "Swoop'er V 1.00"
TraySetToolTip($title)
$UName = IniRead(@ScriptDir & "/config.ini", "LogIn", "Name", "")
$PWord = IniRead(@ScriptDir & "/config.ini", "LogIn", "Passwort", "")
Global $varNAME
$item = InputBox("Hier das Produkt angeben!", "Bitte die exakte Seite des Produktes eingeben, dass sie beobachten wollen!", "", " M", 250, 150)
If @error = 1 Then _Exit()
Global $Swoop_Form, $Aktueller_Betrag, $Aktuelle_Zeit, $z_v, $bb, $new, $true_his, $Bids, $Obj_Name, $login, $imp_bb, $Form2, $Input1, $Input2, $login_label, $Label1, $login_save, $login_cancel
Global $his_bieter, $Input1, $Input2, $login_save, $login_cancel, $Form2,$item
#Region ### START Koda GUI section ###
$Swoop_Form = GUICreate($title, 275, 323, 465, 212)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
$Aktueller_Betrag = GUICtrlCreateInput("", 24, 16, 105, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))
$Aktuelle_Zeit = GUICtrlCreateInput("", 144, 16, 105, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))
$z_v = GUICtrlCreateButton("Zeigen", 156, 288, 89, 25, $WS_GROUP)
$bb = GUICtrlCreateButton("Bieten", 156, 256, 89, 25, $WS_GROUP)
$new = GUICtrlCreateButton("New", 249, 0, 26, 17, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Nyala")
$true_his = GUICtrlCreateLabel("", 48, 95, 180, 150)
GUICtrlSetFont(-1, 9, 400, 0, "Nyala")
$Bids = GUICtrlCreateGroup("Bids", 24, 72, 225, 170)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Obj_Name = GUICtrlCreateInput("", 24, 48, 225, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))
GUICtrlSetFont(-1, 8, 400, 0, "Segoe UI")
$login = GUICtrlCreateButton("LogIn", 249, 16, 26, 17, $WS_GROUP)
GUICtrlSetFont(-1, 7, 400, 0, "Nyala")
$imp_bb = GUICtrlCreateButton("BB", 249, 32, 26, 17, $WS_GROUP)
GUICtrlSetFont(-1, 8, 400, 0, "Nyala")
GUISetState()
WinSetOnTop($title, "", 1)
GUICtrlSetOnEvent($z_v, "_Showhide")
GUICtrlSetOnEvent($bb, "_Bid")
GUICtrlSetOnEvent($new, "_New")
GUICtrlSetOnEvent($login, "_LogIn_GUI")
#EndRegion ### END Koda GUI section ###
$Form2 = GUICreate("LogIn", 213, 97, 825, 486)
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit2");------------------------->zu schließen
$Input1 = GUICtrlCreateInput($UName, 64, 16, 137, 21)
$Input2 = GUICtrlCreateInput($PWord, 64, 40, 137, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
$login_label = GUICtrlCreateLabel("LogIn:", 8, 18, 45, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel("PW:", 8, 42, 29, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$login_save = GUICtrlCreateButton("Speichern", 16, 72, 81, 17, $WS_GROUP)
GUICtrlSetOnEvent($login_save, "_IniWrite")
$login_cancel = GUICtrlCreateButton("Abbrechen", 120, 72, 81, 17, $WS_GROUP)
GUISetState(@SW_HIDE,$Form2)
GUICtrlSetData($Input1, $UName)
GUICtrlSetData($Input2, _StringEncrypt(0, $PWord, "sW00p"))
Dim $history[10]
Dim $array[10][5]
Dim $array_alt[10][5]
$xpath_be = "//td[@id='a_current_price']" ; Aktueller Betrag
$xpath_ze = "//div[@id='countertime']" ; Aktuelle Zeit
$xpath_object = "//h3" ; Auktionsgegenstand
$xpath_betrag_alt = ""
For $i = 1 To 9 Step +1
$array[$i][3] = "//div[@id='stats_test']/table/tbody/tr[" & ($i + 1) & "]/td" ; 1 = Gebot, 2 = Name, 3 = Art des Gebotes
Next
While 1
Sleep(10) ; eine schleife das, das fenster auch offen bleibt
WEnd
_Starting()
[/autoit] [autoit][/autoit] [autoit]Func _Starting()
_FFStart($item, "default", 2, True)
If _FFIsConnected() = 1 Then
$varURL = _FFXpath("//div[@id='bilder_bottom']//td[1]/a/img", "src", 9)
$varNAME = "Object.gif"
InetGet($varURL, $varNAME)
GUICtrlCreatePic("Object.gif", 48, 256, 80, 60, BitOR($SS_NOTIFY, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUICtrlSetData($Obj_Name, _FFXpath($xpath_object))
_LogIn()
Else
MsgBox(48, "Achtung!", "Es ist ein Problem aufgetaucht!")
_Exit()
EndIf
EndFunc ;==>_Starting
Func _LogIn_GUI()
GUISetState(@SW_SHOW, $Form2)
EndFunc ;==>_LogIn_GUI
Func _LogIn()
If $UName <> "" And $PWord <> "" Then
If _FFXPath("//div[@id='bcsubtext2']//td[3]") <> $UName Then
_FFSetValueByName("login", $UName)
_FFSetValueByName("password", $PWord)
_FFFormSubmit()
_FFLoadWait()
If _FFXPath("//div[@id='bcsubtext2']//td[3]") <> $UName Then
MsgBox(48, "Achtung!", "Das Einloggen war leider nicht erfolgreich! Prüfen sie ihre Daten!")
EndIf
EndIf
EndIf
_History()
EndFunc ;==>_LogIn
Func _IniWrite()
IniWrite(@ScriptDir & "/config.ini", "LogIn", "Name", GUICtrlRead($Input1))
$PW = _StringEncrypt(1, GUICtrlRead($Input2), "sW00p")
IniWrite(@ScriptDir & "/config.ini", "LogIn", "Passwort", $PW)
GUISetState(@SW_HIDE, $Form2)
_LogIn()
EndFunc ;==>_IniWrite
Func _History()
While 1
$xpath_betr = _FFXPath($xpath_be)
$xpath_betrag = StringTrimRight($xpath_betr, 2) & " €"
$xpath_zeit = _FFXPath($xpath_ze)
GUICtrlSetData($Aktueller_Betrag, $xpath_betrag)
GUICtrlSetData($Aktuelle_Zeit, $xpath_zeit)
For $i = 1 To 9 Step +1
$bidder_1 = _FFXPath($array[$i][3], "textContent", 7)
If $bidder_1[0] <> 0 Then
If $bidder_1[3] = "Einzelgebot" Then $array[$i][0] = "EG"
If $bidder_1[3] = "BietButler" Then $array[$i][0] = "BB"
$array[$i][1] = $bidder_1[2]
$array[$i][2] = StringTrimRight($bidder_1[1], 2) & " €"
Else
$array[$i][0] = "" ; Bidtype / Typus des Gebotes
$array[$i][1] = "" ; Bidder / Bieter
$array[$i][2] = "" ; Bid / Gebot
EndIf
Next
If $xpath_betrag <> $xpath_betrag_alt Then
$label_data = ""
For $i = 1 To 9 Step +1
For $k = 1 To 9 Step +1
If $array[$i][2] = $array_alt[$k][2] Then
$array[$i][4] = $array_alt[$k][4]
ExitLoop
EndIf
If $k = 9 Then
$array[$i][4] = _NowTime(4)
EndIf
Next
If $array[$i][4] = "" Then
$array[$i][4] = _NowTime(4)
EndIf
$label_data &= $array[$i][4] & " - " & $array[$i][0] & " - " & $array[$i][1] & " - " & $array[$i][2] & @CRLF
Next
GUICtrlSetData($true_his, $label_data)
$xpath_betrag_alt = $xpath_betrag
$array_alt = $array
EndIf
WEnd
EndFunc ;==>_History
Func _Showhide()
$FF = WinGetTitle("[Class:MozillaUIWindowClass]") ; Sucht ein FireFox-Fenster
If BitAND(WinGetState($FF, ""), 2) Then
WinSetState($FF, "", @SW_HIDE)
GUICtrlSetData($z_v, "Zeigen")
Else
WinSetState($FF, "", @SW_SHOW)
WinSetState($FF, "", @SW_RESTORE)
GUICtrlSetData($z_v, "Verbergen")
EndIf
EndFunc ;==>_Showhide
Func _Bid()
_FFLinkClick("fehlermeldung", "href")
_History()
EndFunc ;==>_Bid
Func _New()
WinSetState($title, "", @SW_HIDE)
$item_2 = InputBox("Hier das Produkt angeben!", "Bitte die exakte Seite des Produktes eingeben, dass sie beobachten wollen!", "", " M", 250, 150)
WinSetState($title, "", @SW_SHOW)
If @error = 1 Then _History()
If @error = 0 Then
$item = $item_2
_Starting()
EndIf
EndFunc ;==>_New
Func _Exit()
If FileExists($varNAME) Then FileDelete($varNAME)
_FFQuit()
Exit
EndFunc ;==>_Exit
Func _Exit2()
GUISetState(@SW_HIDE,$Form2)
EndFunc
Ich habe eine while hinzugefügt und eine func zum schließen der zweiten gui !
Eine $item auf global gesetzt denn du solltest schauen das du nicht sachen vorher schon bearbeiten willst die och nicht erkannt sind das heist das die arbeit nach der erkennung statfindet!
LG Kleiner
Hey!
Ich habe deine code umgeschrieben wenn du erlaubst!
#include <GuiListView.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <WindowsConstants.au3>
Opt('GUIOnEventMode', 1)
If Not FileExists(@ScriptDir & "\settings.ini") Then
$hotkey = InputBox("HotKey Auswahl", "Gebe deinen gewünschten HotKey ein")
IniWrite(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", $hotkey)
Else
$inihotkey = IniRead(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", "")
EndIf
Global $Show = False
$inihotkey = IniRead(@ScriptDir & "\settings.ini", "Hotkey", "Selected Hotkey", ""); Diese Zeile muss nochmal geschrieben werden, damit auch beim ersten Start gelesen wird.
HotKeySet($inihotkey, "GuiShow")
HotKeySet("{ESC}", "_exit")
;Gui wird erstellt
$gui = GUICreate("TaskManager Light", 226, 522, -3, 1, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_TABSTOP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUISetOnEvent(-3, '_Ende')
Global $MenuItem1 = GUICtrlCreateMenu("Menü")
Global $MenuItem2 = GUICtrlCreateMenuItem("Prozess Schließen", $MenuItem1)
GUICtrlSetOnEvent(-1, '_Weiter')
Global $MenuItem3 = GUICtrlCreateMenuItem("Prozesse Updaten", $MenuItem1)
GUICtrlSetOnEvent(-1, '_Weiter')
Global $ListView1 = GUICtrlCreateListView("", 0, 40, 218, 448, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_CHECKBOXES))
Global $hListview = GUICtrlGetHandle($ListView1); Handle des Listviews
_GUICtrlListView_InsertColumn($hListview, 0, "Prozesse", 200)
GUISetState(@SW_HIDE);Gui verstecken
_ShowActiveProcesses($ListView1)
Func GuiShow()
$Show = True
GUISetState(@SW_SHOW, $gui)
EndFunc ;==>GuiShow
While 1 * Sleep(500)
If $Show = True then _LifeprozessUpdate(); Update wird nur ausgeführt wenn Gui sichtbar
WEnd
Func _Ende()
Exit
EndFunc
Func _Weiter()
Switch @GUI_CtrlId
Case $MenuItem2
_ProcessKill()
Case $MenuItem3
_LifeprozessUpdate()
EndSwitch
EndFunc
Func _ShowActiveProcesses($id)
$lst = ProcessList()
For $i = 1 To $lst[0][0]
GUICtrlCreateListViewItem($lst[$i][0], $id)
Next
EndFunc ;==>_ShowActiveProcesses
Func _exit()
Exit
EndFunc ;==>_exit
Func _ProcessKill()
$LVItemCount = _GUICtrlListView_GetItemCount($hListview)
For $i = $LVItemCount To 0 Step -1
$LVItemGetChecked = _GUICtrlListView_GetItemChecked($hListview, $i)
If $LVItemGetChecked = True Then
$PIDName = _GUICtrlListView_GetItemText($hListview, $i)
ProcessClose($PIDName)
_GUICtrlListView_DeleteItem($hListview, $i)
EndIf
Next
EndFunc ;==>_ProcessKill
Func _LifeprozessUpdate(); Prog by Raupi
Local $neueProzesse = ProcessList()
Local $NeueProzesseTemp[1]
Local $alteprozesse = _alteprozesse()
Local $ArraySearch
If $neueProzesse[0][0] = Ubound($alteprozesse) Then Return; Wenn Anzahl der Alten Prozesse gleich Anzahl der neuen Prozesse dann Abbruch Update
For $i = 2 To $neueProzesse[0][0]
$ArraySearch = _ArraySearch($alteprozesse, $neueProzesse[$i][0])
If @error Then
_GUICtrlListView_AddItem($hListView, $neueProzesse[$i][0], _GUICtrlListView_GetItemCount($hListView))
EndIf
_ArrayAdd($NeueProzesseTemp, $neueProzesse[$i][0])
Next
$NeueProzesseTemp[0] = UBound($NeueProzesseTemp) - 1
For $i = 1 To $alteprozesse[0]
_ArraySearch($NeueProzesseTemp, $alteprozesse[$i])
If @error Then
$ArraySearch = _ArraySearch($alteprozesse, $alteprozesse[$i])
_GUICtrlListView_DeleteItem($hListView, $ArraySearch - 1)
EndIf
Next
EndFunc ;==>_LifeprozessUpdate
Func _alteprozesse(); Prog by Raupi
Local $ItemAnzahl1 = _GUICtrlListView_GetItemCount($hListView)
Local $prozessListe[$ItemAnzahl1 + 1]
$prozessListe[0] = $ItemAnzahl1;
For $i = 1 To $ItemAnzahl1
$prozessListe[$i] = _GUICtrlListView_GetItemText($hListView, $i - 1, 0)
Next
Return $prozessListe;
EndFunc ;==>_alteprozesse
Lg Kleiner
Beispiel:
Anmerkung du braust die gui nicht in eine func stellen du hast sie ja sowieso versteckt!
Global $Form2,$Input1, $Input2,$login_label,$Label1 ,$login_save,$login_save,$login_cancel; am anfang des code
Func _LogIn_GUI()
$Form2 = GUICreate("LogIn", 213, 97, 825, 486)
;GUISetOnEvent()
$Input1 = GUICtrlCreateInput($UName, 64, 16, 137, 21)
$Input2 = GUICtrlCreateInput($PWord, 64, 40, 137, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
$login_label = GUICtrlCreateLabel("LogIn:", 8, 18, 45, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel("PW:", 8, 42, 29, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$login_save = GUICtrlCreateButton("Speichern", 16, 72, 81, 17, $WS_GROUP)
;GUICtrlSetOnEvent()
$login_cancel = GUICtrlCreateButton("Abbrechen", 120, 72, 81, 17, $WS_GROUP)
;GUICtrlSetOnEvent()
GUICtrlSetData($Input1, $UName)
GUICtrlSetData($Input2, _StringEncrypt(0, $PWord, "sW00p"))
GUISetState(@SW_SHOW); wie gesagt das brauchst du nicht sondern ----> GUISetState()
_History()
EndFunc ;==>_LogIn_GUI
LG Kleiner
Hey PrideRage !
Testest du dein code auch?
Denn meine cpu auslastung bei aktualisierung springt auf 25 - 40 %
LG Kleiner
Hey!
Global kannst du deine Variablen auch Deklariert aber du "mußt" GUICtrlSetOnEvent() immer unter auszuführenden GUICtrlCreate haben ansonsten weiß der code nicht woführ das sein soll!
Edit:/ habe dein edit übesehen die gui in der func
[autoit]$Form2 = GUICreate("LogIn", 213, 97, 825, 486)
$Input1 = GUICtrlCreateInput($UName, 64, 16, 137, 21)
$Input2 = GUICtrlCreateInput($PWord, 64, 40, 137, 21, BitOR($ES_PASSWORD, $ES_AUTOHSCROLL))
$login_label = GUICtrlCreateLabel("LogIn:", 8, 18, 45, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel("PW:", 8, 42, 29, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$login_save = GUICtrlCreateButton("Speichern", 16, 72, 81, 17, $WS_GROUP)
$login_cancel = GUICtrlCreateButton("Abbrechen", 120, 72, 81, 17, $WS_GROUP)
GUICtrlSetData($Input1, $UName)
GUICtrlSetData($Input2, _StringEncrypt(0, $PWord, "sW00p"))
GUISetState(@SW_SHOW)
[/autoit]
am anfang des code müßen alle Variablen auch Deklariert werden
GUISetState(@SW_SHOW)
[/autoit]
brauchst du nicht
GUISetState()
[/autoit]
das reicht aus
LG Kleiner
Moin Acanis!
Ich denke das wenn du die hilfe gelesen hast "hättest" dann würdest du dein fehler ganz schnell erkennen!!! ![]()
Ein Hinweis:
[autoit]Local $z_v = GUICtrlCreateButton("Zeigen", 156, 288, 89, 25, $WS_GROUP)
GUICtrlSetOnEvent($z_v, "_Showhide")
LG Kleiner
War nahe dran habe mir mal den spass Gegönt!
#include <FF.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <Date.au3>
#include <ButtonConstants.au3>
#include <StaticConstants.au3>
#include <String.au3>
; Start Begrüßung$splash = @ScriptDir & "\splash.gif"SplashImageOn("", $splash, 265, 95, @DesktopWidth / 2 - 132, 200, 1)Sleep(2000)SplashOff(); Ende Begrüßung
$title = "Swoop'er V 1.00"
TraySetToolTip($title)
$UName = IniRead(@ScriptDir & "/config.ini", "LogIn", "Name", "")
$PWord = IniRead(@ScriptDir & "/config.ini", "LogIn", "Passwort", "")
Global $varNAME$item = InputBox("Hier das Produkt angeben!", "Bitte die exakte Seite des Produktes eingeben, dass sie beobachten wollen!", "", " M", 250, 150)
If @error = 1 Then _Exit()
#Region ### START Koda GUI section ###$Swoop_Form = GUICreate($title, 275, 323, 465, 212)$Aktueller_Betrag = GUICtrlCreateInput("", 24, 16, 105, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))$Aktuelle_Zeit = GUICtrlCreateInput("", 144, 16, 105, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))$z_v = GUICtrlCreateButton("Zeigen", 156, 288, 89, 25, $WS_GROUP)$bb = GUICtrlCreateButton("Bieten", 156, 256, 89, 25, $WS_GROUP)$new = GUICtrlCreateButton("New", 249, 0, 26, 17, $WS_GROUP)GUICtrlSetFont(-1, 8, 400, 0, "Nyala")$true_his = GUICtrlCreateLabel("", 48, 95, 180, 150)GUICtrlSetFont(-1, 9, 400, 0, "Nyala")$Bids = GUICtrlCreateGroup("Bids", 24, 72, 225, 170)GUICtrlCreateGroup("", -99, -99, 1, 1)$Obj_Name = GUICtrlCreateInput("", 24, 48, 225, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_READONLY))GUICtrlSetFont(-1, 8, 400, 0, "Segoe UI")$login = GUICtrlCreateButton("LogIn", 249, 16, 26, 17, $WS_GROUP)GUICtrlSetFont(-1, 7, 400, 0, "Nyala")$imp_bb = GUICtrlCreateButton("BB", 249, 32, 26, 17, $WS_GROUP)GUICtrlSetFont(-1, 8, 400, 0, "Nyala")GUISetState(@SW_SHOW)WinSetOnTop($title, "", 1)#EndRegion ### END Koda GUI section ###
Opt("WinTitleMatchMode", 2) Opt("GUIOnEventMode", 1)
Global $his_bieter, $Input1, $Input2, $login_save, $login_cancel, $Form2Dim
$history[10]
Dim $array[10][5]
Dim $array_alt[10][5]
$xpath_be = "//td[@id='a_current_price']" ; Aktueller Betrag$xpath_ze = "//div[@id='countertime']" ; Aktuelle Zeit$xpath_object = "//h3" ; Auktionsgegenstand$xpath_betrag_alt = ""
For $i = 1 To 9 Step +1
$array[$i][3] = "//div[@id='stats_test']/table/tbody/tr[" & ($i + 1) & "]/td" ; 1 = Gebot, 2 = Name, 3 = Art des GebotesNext
_Starting()
Next
Func _Starting()
_FFStart($item, "default", 2, True
If _FFIsConnected() = 1 Then
$varURL = _FFXpath("//div[@id='bilder_bottom']//td[1]/a/img", "src", 9)
$varNAME = "Object.gif" InetGet($varURL, $varNAME)
GUICtrlCreatePic("Object.gif", 48, 256, 80, 60, BitOR($SS_NOTIFY, $WS_GROUP, $WS_BORDER, $WS_CLIPSIBLINGS))
GUICtrlSetData($Obj_Name, _FFXpath($xpath_object))
_LogIn()
Else
MsgBox(48, "Achtung!", "Es ist ein Problem aufgetaucht!")
_Exit()
EndIf
EndFunc ;==>_Starting
Func _LogIn_GUI()
$Form2 = GUICreate("LogIn", 213, 97, 825, 486)
$Input1 = GUICtrlCreateInput($UName, 64, 16, 137, 21)
$Input2 = GUICtrlCreateInput($PWord, 64, 40, 137, 21,
BitOR($ES_PASSWORD, $ES_AUTOHSCROLL)) $login_label = GUICtrlCreateLabel("LogIn:", 8, 18, 45, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$Label1 = GUICtrlCreateLabel("PW:", 8, 42, 29, 22)
GUICtrlSetFont(-1, 10, 800, 0, "Palatino Linotype")
$login_save = GUICtrlCreateButton("Speichern", 16, 72, 81, 17, $WS_GROUP)
$login_cancel = GUICtrlCreateButton("Abbrechen", 120, 72, 81, 17, $WS_GROUP)
GUICtrlSetData($Input1, $UName) GUICtrlSetData($Input2, _StringEncrypt(0, $PWord, "sW00p"))
GUISetState(@SW_SHOW)
_History()
EndFunc ;==>_LogIn_GUI
Func _LogIn()
If $UName <> "" And $PWord <> "" Then
If_FFXPath("//div[@id='bcsubtext2']//td[3]") <> $UName Then
_FFSetValueByName("login", $UName)
_FFSetValueByName("password", $PWord)
_FFFormSubmit() _FFLoadWait()
If _FFXPath("//div[@id='bcsubtext2']//td[3]") <> $UName Then
MsgBox(48, "Achtung!", "Das Einloggen war leider nicht erfolgreich! Prüfen sie ihre Daten!") EndIf
EndIf
EndIf
_History()
EndFunc ;==>_LogIn
Func _IniWrite()
IniWrite(@ScriptDir & "/config.ini", "LogIn", "Name", GUICtrlRead($Input1)) $PW = _StringEncrypt(1, GUICtrlRead($Input2), "sW00p")
IniWrite(@ScriptDir & "/config.ini", "LogIn", "Passwort", $PW)
GUISetState(@SW_HIDE, $Form2) _LogIn()
EndFunc ;==>_IniWrite
Func _History()
While 1
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
GUICtrlSetOnEvent($z_v, "_Showhide")
GUICtrlSetOnEvent($bb, "_Bid")
GUICtrlSetOnEvent($new, "_New")
GUICtrlSetOnEvent($login, "_LogIn_GUI")
GUICtrlSetOnEvent($login_save, "_IniWrite")
$xpath_betr = _FFXPath($xpath_be) $xpath_betrag = StringTrimRight($xpath_betr, 2) & " €" $xpath_zeit = _FFXPath($xpath_ze)
GUICtrlSetData($Aktueller_Betrag, $xpath_betrag)
GUICtrlSetData($Aktuelle_Zeit, $xpath_zeit)
For $i = 1 To 9 Step +1$bidder_1 = _FFXPath($array[$i][3], "textContent", 7)
If $bidder_1[0] <> 0 Then
If $bidder_1[3] = "Einzelgebot" Then $array[$i][0] = "EG"
If $bidder_1[3] = "BietButler" Then $array[$i][0] = "BB" $array[$i][1] = $bidder_1[2] $array[$i][2] = StringTrimRight($bidder_1[1], 2) & " €"
Else
$array[$i][0] = "" ; Bidtype / Typus des Gebotes$array[$i][1] = "" ; Bidder / Bieter$array[$i][2] = "" ; Bid / GebotEndIfNext
If $xpath_betrag <> $xpath_betrag_alt Then $label_data = "" For $i = 1 To 9 Step +1 For $k = 1 To 9 Step +1
If $array[$i][2] = $array_alt[$k][2] Then $array[$i][4] = $array_alt[$k][4] ExitLoop
EndIf
If $k = 9 Then $array[$i][4] = _NowTime(4)
Next
$label_data &= $array[$i][4] & " - " & $array[$i][0] & " - " & $array[$i][1] & " - " & $array[$i][2] & @CRLF
GUICtrlSetData($true_his, $label_data) $xpath_betrag_alt = $xpath_betrag$array_alt = $array
If $array[$i][4] = "" Then
$array[$i][4] = _NowTime(4)
EndIf
WEnd
EndFunc ;==>_History
Func _Showhide()
$FF = WinGetTitle("[Class:MozillaUIWindowClass]") ; Sucht ein FireFox-FensterIf BitAND(WinGetState($FF, ""), 2) ThenWinSetState($FF, "", @SW_HIDE)GUICtrlSetData($z_v, "Zeigen")ElseWinSetState($FF, "", @SW_SHOW)WinSetState($FF, "", @SW_RESTORE)GUICtrlSetData($z_v, "Verbergen")EndIfEndFunc ;==>_Showhide
EndFunc ;==>_Showhide
Func _Bid()
_FFLinkClick("fehlermeldung", "href")
_History()
EndFunc ;==>_Bid
Func _New()
WinSetState($title, "", @SW_HIDE) $item_2 = InputBox("Hier das Produkt angeben!", "Bitte die exakte Seite des Produktes eingeben, dass sie beobachten wollen!", "", " M", 250, 150)
WinSetState($title, "", @SW_SHOW)
If @error = 1 Then _History()
If @error = 0 Then
$item = $item_2_Starting()
EndIf
EndFunc ;==>_New
Func _Exit()
If FileExists($varNAME) Then
FileDelete($varNAME)
_FFQuit()
EndIf
Exit
EndFunc ;==>_Exit
LG Kleiner
Habe ich übersehen!
Am ende bleiben denn doch nur zwei If und zwei Array
Lg Kleiner