Um welche Seite geht es denn?
Hab schon eine Idee, wüsste aber zuerst gerne, um welche Seite es geht
Beiträge von TheLuBu
-
-
Durch die Vorgabe der Aufgabe ist das Auslassen von geraden Zahlen nicht erlaubt
ZitatThat means especially that you shouldn't optimize by using pre-computed wheels, i.e. don't assume you need only to cross out odd numbers (wheel based on 2), numbers equal to 1 or 5 modulo 6 (wheel based on 2 and 3), or similar wheels based on low primes.
Ich werde auch noch ein bisschen weiter testen, danke schonmal für die Anregungen
-
Hallo liebe Community,
Ich habe mich ein bisschen durch http://rosettacode.org gewühlt und bin auf das Sieb des Eratosthenes gestoßen.Ich habe mir meine Gedanken dazu gemacht und den folgenden Code auch schon eingefügt:
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit]
$Input = InputBox("Integer", "Enter biggest Integer")
$timer = TimerInit()
Global $array[$Input][2], $retarray[1], $counter = 0, $txt = ""
For $i = 2 To UBound($array)
$array[$i - 1][0] = $i
$array[$i - 1][1] = -1
Next
For $i = 1 To UBound($array) - 1
If $array[$i][1] = -1 Then
$array[$i][1] = 1
_ArrayAdd($retarray, $array[$i][0])
$counter += 1
For $k = $i To UBound($array) - 1 Step $array[$i][0]
$array[$k][1] = 0
Next
EndIf
Next
$retarray[0] = $counter
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : TimerDiff($Timer) = ' & TimerDiff($Timer) & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
_ArrayDisplay($retarray)Ich würde jetzt gerne von euch wissen, ob man das noch irgendwie schneller machen könnte.
Ich würde gerne das Ausgabeformat (Array mit den Primzahlen und Anzahl der Primzahlen in $array[0]) beibehalten, ich weiß das es mit einem String schneller gehen würde (ohne das _ArrayAdd). Ich komme jetzt bei Input = 1000 auf ~ 25ms, würde aber gerne wissen, ob es noch schneller geht -
Spoiler anzeigen
[autoit]#include <array.au3>
[/autoit] [autoit][/autoit] [autoit]Global $a_VideoPortals[5][2] = [ _
[/autoit] [autoit][/autoit] [autoit]
["Name","URL"], _
["Youtube","www.youtube.com"], _
["Vimeo","www.vimeo.com"], _
["Clipfish","www.clipfish.de"], _
["MyVideo","www.myvideo.de"] _
]Global $a_SearchMachines[5][2] = [ _
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
["Name","URL"], _
["Google","www.google.de"], _
["Lycos","www.lycos.de"], _
["Yahoo","www.yahoo.de"], _
["Alta Vista","www.altavista.com"] _
];########################################
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Global $a_List3text[5][2] = [ _
["Name","Description"], _
["Google","Text über Google"], _
["Lycos","Text über Lycos"], _
["Yahoo","Text über Yahoo"], _
["Alta Vista","Text über Alta Vista"] _
]
;########################################Global $a_Find
[/autoit] [autoit][/autoit] [autoit]$h_Gui = GUICreate ("", 550, 250)
[/autoit] [autoit][/autoit] [autoit]
$h_List1 = GUICtrlCreateList ("", 10, 10, 160, 160)
$h_List2 = GUICtrlCreateList ("", 180, 10, 160, 160)
$h_List3 = GUICtrlCreateList ("", 350, 10, 160, 160)$h_Go = GUICtrlCreateButton("Go", 10, 200, 50, 26)
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData ($h_List1, "Die Besten Videoportale|Die Besten Suchmaschinen")
[/autoit] [autoit][/autoit] [autoit]GUISetState (@SW_SHOW, $h_Gui)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While True
[/autoit]
Switch GUIGetMsg ()
Case -3
Exit
Case $h_List1
$s_Read = GUICtrlRead ($h_List1)
Switch $s_Read
Case "Die Besten Videoportale"
$a_Find = $a_VideoPortals
Case "Die Besten Suchmaschinen"
$a_Find = $a_SearchMachines
Case Else
$a_Find = -1
EndSwitch
if $a_Find <> -1 Then
$newString=""
GUICtrlSetData ($h_List2, $newString)
For $i = 1 To UBound ($a_Find) - 1
$newString &= $a_Find[$i][0] & "|"
Next
GUICtrlSetData ($h_List2, StringTrimRight($newString,1))
EndIf
;################################################################
Case $h_List2
$s_Read = GUICtrlRead ($h_List2)
For $i = 1 To UBound($a_List3text) -1
If $s_Read = $a_List3text[$i][0] Then
GUICtrlSetData ($h_List3, "")
GUICtrlSetData($h_List3, $a_List3text[$i][1])
ExitLoop
EndIf
Next
;################################################################
Case $h_Go
$s_Read = GUICtrlRead ($h_List1)
Switch $s_Read
Case "Die Besten Videoportale"
$a_Find = $a_VideoPortals
Case "Die Besten Suchmaschinen"
$a_Find = $a_SearchMachines
Case Else
$a_Find = -1
EndSwitch
if $a_Find <> -1 Then
$s_Read = GUICtrlRead ($h_List2)
For $i = 1 To UBound ($a_Find) - 1
If $s_Read = $a_Find[$i][0] Then
ShellExecute ($a_Find[$i][1])
ExitLoop
EndIf
Next
EndIf
EndSwitch
WEndDas mit ###### eingefasste ist, was ich geschrieben habe.
-
Das wird noch kompliziert mit dir...
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]#region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 633, 451, 193, 115)
$Input1 = GUICtrlCreateInput("", 40, 32, 193, 21)
$Input2 = GUICtrlCreateInput("", 40, 64, 193, 21)
$Input3 = GUICtrlCreateInput("", 40, 88, 193, 21)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $nMsg = $Input1
If GUICtrlRead($Input1) > 10 Then
GUICtrlSetData($Input3, GUICtrlRead($Input1) * GUICtrlRead($Input2))
Else
GUICtrlSetData($Input3, GUICtrlRead($Input1) - 2)
EndIf
EndSwitch
WEnd
Hier nochmal als Beispiel.Wenn der Wert in $Input1 größer als 10 ist dann wird die erste Aufgabe gelöst,sonst die zweite Aufgabe
-
Oben deklarieren:
[autoit]Global $a_List3text[5][2] = [ _
[/autoit]
["Name","Description"], _
["Google","Text über Google"], _
["Lycos","Text über Lycos"], _
["Yahoo","Text über Yahoo"], _
["Alta Vista","Text über Alta Vista"] _
]Und das hier unten in den Switch packen
[autoit]Case $h_List2
[/autoit]
$s_Read = GUICtrlRead ($h_List2)
For $i = 1 To UBound($a_List3text) -1
If $s_Read = $a_List3text[$i][0] Then
GUICtrlSetData ($h_List3, "")
GUICtrlSetData($h_List3, $a_List3text[$i][1])
ExitLoop
EndIf
Next -
Jeder Rechenschritt wird für sich abgearbeitet
[autoit]GUICtrlSetData($Input3, GUICtrlRead($Input1) * GUICtrlRead($Input2))
[/autoit]
[autoit]
Der Rechenschritt wird ausgerechnet und in das Inputfeld geschriebenGUICtrlSetData($Input3, GUICtrlRead($Input1) -2)
[/autoit]
Rechenschritt wird ausgeführt und in das selbe Inputfeld geschrieben.Der 2te Rechenschritt überschreibt aber die Anzeige des ersten Rechenschritts.
Dein Problem habe ich aber auch noch immer nicht verstanden.
-
Was für Infos willst du denn noch anzeigen?
-
Und entferne mal
[autoit]Opt("GUIOnEventMode", 1)
[/autoit]aus deinem Script
-
[autoit]
While 1
[/autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Run(@SystemDir&"\rundll32.exe C:\WINDOWS\system32\printui.dll,PrintUIEntry /in /n ""\\server\Canon iR400 EG")
EndSwitch
WEndProbier es mal so
-
_FTP_GetFilesFolder_Rekursiv
[autoit]; #FUNCTION#
[/autoit] [autoit][/autoit] [autoit]
;==================================================================================================
; Function Name: _FTP_GetFilesFolder_Rekursiv($oFTPConnect, $sFolder = "", $iDir = -1, $sExt = "*")
; Description: Rekursive Auflistung von Ordnern
; Parameter(s): $oFTPConnect FTP Connection, wie sie von _FTP_Connect() zurückgegeben wird
; $sFolder der Basispfad für die Auflistung ("" ist unterste Ebene)
; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
; $sExt Erweiterung für Dateiauswahl "*" für alle (Standard)
; Return Value(s): Array mit den gefundenen Pfaden der Dateien und/oder Ordner
; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
; Author(s): TheLuBu ([email='LuBu@veytal.com'][/email])
; Modified.......:
; Remarks .......:
; Related .......: _FTPGetAllFolders
; Link ..........;
;
;==================================================================================================
Func _FTP_GetFilesFolder_Rekursiv($oFTPConnect, $sFolder = "", $iDir = -1, $sExt = "*")
Local $retarray[16777216], $list, $counter = 1
Global $__RemoteFolderListResult[1]
__FTPGetAllFolders($sFolder)
Switch $iDir
Case -1, 0
For $i = 1 To UBound($__RemoteFolderListResult) - 1
_FTP_DirSetCurrent($oFTPConnect, $__RemoteFolderListResult[$i])
If $iDir = -1 Then
$retarray[$counter] = $__RemoteFolderListResult[$i]
$counter += 1
EndIf
$list = _FTP_ListToArray($oFTPConnect, 2)
For $k = 1 To $list[0]
If $sExt <> '*' Then
If StringRight($list[$k], StringLen($sExt)) = $sExt Then
$retarray[$counter] = $__RemoteFolderListResult[$i] & "/" & $list[$k]
$counter += 1
EndIf
Else
$retarray[$counter] = $__RemoteFolderListResult[$i] & "/" & $list[$k]
$counter += 1
EndIf
Next
Next
$retarray[0] = $counter
ReDim $retarray[$counter + 1]
Return $retarray
Case 1
$retarray = $__RemoteFolderListResult
$__RemoteFolderListResult = ""
Return $retarray
EndSwitch
EndFunc ;==>_FTP_GetFilesFolder_RekursivFunc __FTPGetAllFolders($oFTPConnect, $sFolder = "")
[/autoit]
If Not IsDeclared("RemoteFolderListResult") Then Global $__RemoteFolderListResult[1]
Local $Check
If $sFolder = "" Then
_FTP_DirSetCurrent($oFTPConnect, "/")
Else
_FTP_DirSetCurrent($oFTPConnect, $sFolder)
EndIf
$FTPFolderList = _FTP_ListToArray($oFTPConnect, 1)
_ArrayAdd($__RemoteFolderListResult, _FTP_DirGetCurrent($oFTPConnect))
If not IsArray($FTPFolderList) Or $FTPFolderList[0] = 0 Or ($FTPFolderList[0] = 2 AND $FTPFolderList[1] = "." AND $FTPFolderList[2] = "..") Then
$Check = False
While $Check = False
$t = StringLeft(_FTP_DirGetCurrent($oFTPConnect), StringInStr(_FTP_DirGetCurrent($oFTPConnect), "/", 0, -1) - 1)
_FTP_DirSetCurrent($oFTPConnect, $t)
If $t = "" Then _FTP_DirSetCurrent($oFTPConnect,"/")
$tmp_FTPFolderList = _FTP_ListToArray($oFTPConnect, 1)
If @error Then $tmp_FTPFolderList = _FTP_ListToArray($oFTPConnect, 1)
For $i = 1 To $tmp_FTPFolderList[0]
If $tmp_FTPFolderList[$i] = "." or $tmp_FTPFolderList[$i] = ".." Then ContinueLoop
If _ArraySearch($__RemoteFolderListResult, _FTP_DirGetCurrent($oFTPConnect) & "/" & $tmp_FTPFolderList[$i]) = -1 Then
$Check = True
ExitLoop
EndIf
Next
WEnd
Return 0
EndIf
For $Subfolder = 1 To $FTPFolderList[0]
If $FTPFolderList[$Subfolder] = "." or $FTPFolderList[$Subfolder] = ".." Then ContinueLoop
_FTPGetAllFolders(_FTP_DirGetCurrent($oFTPConnect) & "/" & $FTPFolderList[$Subfolder])
Next
EndFunc ;==>_FTPGetAllFoldersHier eine Funktion, die ich für einen anderen User geschrieben habe, vielleicht kann die ja jemand brauchen.
Ihr könnt damit alle Dateien und/ oder Ordner auf einem Webspace anzeigen lassen.Feedback zu Bugs oder Änderungen ist erwünscht
-
Ich nehme an...der Fehler tritt mit einem der Includes aus...er hat ja nur <200 Zeilen
Beim zusammenschmeißen des QUellcodes werden Includes vorangestellt
Wenn du nur 50 Zeilen Code hast, aber 20 Includes, kann ein Fehler bei dir im Script stecken, die compilierte Nachricht zeigt aber eine Fehlerzeile > 50 an -
Hab dein Script mal compiliert und ausgeführt, erhalte ebenfalls den Fehler.
[autoit]
Bei mir liegt es daran, das er$ZielOrdner = IniRead($Ini,$i,"Pfad","")
[/autoit]
[autoit]
auslesen will, im Standardfall "D:\Sicherung\DBXXXX\"
Ich habe keine Festplatte D:, aber das gibt noch nicht die Fehlermeldung, sondern erst$fileList = _FileListToArray($ZielOrdner, $Type, 1)
[/autoit]
[autoit]
Da Die Festplatte bzw. der Ordner nicht existiert, gibt _FileListToArray 0 zurück, kein Array.
Hier fragst du aber den Inhalt eines Elements aus $filelist ab$Datex = FileGetTime($ZielOrdner & "\" & $fileList[$letzte_position], 1, 0)
[/autoit]
Bei mir Fehler im kompilierten zustand 4554Hoffe ich konnte helfen
-
Spoiler anzeigen
[autoit]#include <FTPEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
$open = _FTP_Open("myftp")
$server = ""
$user = ""
$pass = ""
$FTPConnect = _FTP_Connect($open, $server, $user, $pass)
$Return_folders = _FTP_GetFilesFolder_Rekursiv($FTPConnect, "", 1)
_ArrayDisplay($Return_folders)
_FTP_Close($open); #FUNCTION#
[/autoit] [autoit][/autoit] [autoit]
;==================================================================================================
; Function Name: _FTP_GetFilesFolder_Rekursiv($FTPConnect, $Folder = "", $iDir = -1, $sExt = "*")
; Description: Rekursive Auflistung von Ordnern
; Parameter(s): $FTPConnect FTP Connection, wie sie von _FTP_Connect() zurückgegeben wird
; $sPath der Basispfad für die Auflistung ("" ist unterste Ebene)
; $sExt Erweiterung für Dateiauswahl "*" für alle (Standard)
; $iDir -1 Dateien+Ordner(Standard), 0 nur Dateien, 1 nur Ordner
; Return Value(s): Array mit den gefundenen Pfaden der Dateien und/oder Ordner
; Array[0] enthält die Anzahl der gefundenen Dateien/Ordner
; Author(s): TheLuBu ([email='LuBu@veytal.com'][/email])
; Modified.......:
; Remarks .......:
; Related .......: _FTPGetAllFolders
; Link ..........;
;
;==================================================================================================
Func _FTP_GetFilesFolder_Rekursiv($FTPConnect, $Folder = "", $iDir = -1, $sExt = "*")
Local $retarray[16777216], $list, $counter = 1
_FTPGetAllFolders($Folder)
Switch $iDir
Case -1, 0
For $i = 1 To UBound($RemoteFolderListResult) - 1
_FTP_DirSetCurrent($FTPConnect, $RemoteFolderListResult[$i])
If $iDir = -1 Then
$retarray[$counter] = $RemoteFolderListResult[$i]
$counter += 1
EndIf
$list = _FTP_ListToArray($FTPConnect, 2)
For $k = 1 To $list[0]
If $sExt <> '*' Then
If StringRight($list[$k], StringLen($sExt)) = $sExt Then
$retarray[$counter] = $RemoteFolderListResult[$i] & "/" & $list[$k]
$counter += 1
EndIf
Else
$retarray[$counter] = $RemoteFolderListResult[$i] & "/" & $list[$k]
$counter += 1
EndIf
Next
Next
$retarray[0] = $counter
ReDim $retarray[$counter + 1]
Return $retarray
Case 1
$retarray = $RemoteFolderListResult
$RemoteFolderListResult = ""
Return $retarray
EndSwitch
EndFunc ;==>_FTP_GetFilesFolder_RekursivFunc _FTPGetAllFolders($Folder = "")
[/autoit]
If Not IsDeclared("RemoteFolderListResult") Then Global $RemoteFolderListResult[1]
Local $Check
If $Folder = "" Then
_FTP_DirSetCurrent($FTPConnect, "/")
Else
_FTP_DirSetCurrent($FTPConnect, $Folder)
EndIf
$FTPFolderList = _FTP_ListToArray($FTPConnect, 1)
_ArrayAdd($RemoteFolderListResult, _FTP_DirGetCurrent($FTPConnect))
If not IsArray($FTPFolderList) Or $FTPFolderList[0] = 0 Or ($FTPFolderList[0] = 2 AND $FTPFolderList[1] = "." AND $FTPFolderList[2] = "..") Then
$Check = False
While $Check = False
$t = StringLeft(_FTP_DirGetCurrent($FTPConnect), StringInStr(_FTP_DirGetCurrent($FTPConnect), "/", 0, -1) - 1)
_FTP_DirSetCurrent($FTPConnect, $t)
If $t = "" Then _FTP_DirSetCurrent($FTPConnect,"/")
$tmp_FTPFolderList = _FTP_ListToArray($FTPConnect, 1)
If @error Then $tmp_FTPFolderList = _FTP_ListToArray($FTPConnect, 1)
For $i = 1 To $tmp_FTPFolderList[0]
If $tmp_FTPFolderList[$i] = "." or $tmp_FTPFolderList[$i] = ".." Then ContinueLoop
If _ArraySearch($RemoteFolderListResult, _FTP_DirGetCurrent($FTPConnect) & "/" & $tmp_FTPFolderList[$i]) = -1 Then
$Check = True
ExitLoop
EndIf
Next
WEnd
Return 0
EndIf
For $Subfolder = 1 To $FTPFolderList[0]
If $FTPFolderList[$Subfolder] = "." or $FTPFolderList[$Subfolder] = ".." Then ContinueLoop
_FTPGetAllFolders(_FTP_DirGetCurrent($FTPConnect) & "/" & $FTPFolderList[$Subfolder])
Next
EndFunc ;==>_FTPGetAllFolders -
Spoiler anzeigen
[autoit]Func _FTPGetAllFolders($Folder = "")
[/autoit]
Local $Check
If $Folder = "" Then
_FTP_DirSetCurrent($FTPConnect, "/")
Else
_FTP_DirSetCurrent($FTPConnect, $Folder)
EndIf
$FTPFolderList = _FTP_ListToArray($FTPConnect, 1)
_ArrayAdd($RemoteFolderListResult, _FTP_DirGetCurrent($FTPConnect))
If $FTPFolderList = 0 Or $FTPFolderList[0] = 0 Then
$Check = False
While $Check = False
_FTP_DirSetCurrent($FTPConnect, StringLeft(_FTP_DirGetCurrent($FTPConnect), StringInStr(_FTP_DirGetCurrent($FTPConnect), "/", 0, -1) - 1))
$tmp_FTPFolderList = _FTP_ListToArray($FTPConnect, 1)
For $i = 1 To $tmp_FTPFolderList[0]
If _ArraySearch($RemoteFolderListResult, _FTP_DirGetCurrent($FTPConnect) & "/" & $tmp_FTPFolderList[$i]) = -1 Then
$Check = True
ExitLoop
EndIf
Next
WEnd
Return 0
EndIf
For $Subfolder = 1 To $FTPFolderList[0]
_FTPGetAllFolders(_FTP_DirGetCurrent($FTPConnect) & "/" & $FTPFolderList[$Subfolder], 1)
Next
EndFunc ;==>_FTPGetAllFoldersMusste die FUnktion etwas umschreiben, aber jetzt gehts
-
Jap, alles was du dafür brauchst steht schon im Code
-
Setz mal zwischen die einzelnen Schritte einen Sleep von 250-500, sollte dann klappen, bei mir zumindest
-
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Active
$Form1 = GUICreate("Form1", 256, 344, 192, 124)
$List1 = GUICtrlCreateList("", 48, 80, 161, 201)
GUICtrlSetData(-1, "list 1")
$List2 = GUICtrlCreateList("", 48, 80, 161, 201)
GUICtrlSetData(-1, "list 2")
GUICtrlSetState($List2, $GUI_HIDE)
$Button1 = GUICtrlCreateButton("Switchlist", 48, 32, 153, 33)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Switcher()
EndSwitch
WEndFunc Switcher()
[/autoit]
$Active = Not $Active
If $Active Then
GUICtrlSetState($List1, $GUI_HIDE)
GUICtrlSetState($List2, $GUI_SHOW)
Else
GUICtrlSetState($List1, $GUI_SHOW)
GUICtrlSetState($List2, $GUI_HIDE)
EndIf
EndFuncMit Quellcode konnte ich dir helfen, vorher wars aber wirklich nicht einfach zu verstehen, was du möchtest
-
Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Gleitzeitrechner", 210, 250, 229, 124)
;Zeit Eingabe____________________________________________
$Input1 = GUICtrlCreateInput("08.00", 16, 40, 177, 21)
$Input2 = GUICtrlCreateInput("03.45", 16, 96, 177, 21)
;label____________________________________________________
$Label1 = GUICtrlCreateLabel("Überstunden", 16, 72, 65, 17)
$Label2 = GUICtrlCreateLabel("Arbeitsbeginn", 16, 16, 68, 17)
;Buttons___________________________________________________
$Feierabend = GUICtrlCreateButton("Feierabend", 16, 136, 177, 65)
$Beenden = GUICtrlCreateButton("Beenden", 16, 216, 177, 17)
GUISetState(@SW_SHOW)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Beenden
Exit
Case $Feierabend
$schluss = Guictrlread($Input1) + 7.44 - Guictrlread($Input2)
Msgbox (1,"Arbeitsende",$schluss)EndSwitch
[/autoit]
WEndDu musst die Zeit berechnen, wenn du auf den Button klickst nicht vorher
Weiterhin musst du Guictrlread benutzen, da $Input1 nur die COntrolID und nicht den Inhalt des Controls ausgibt -
Spoiler anzeigen
[autoit];########INCLUDES GEHÖREN NACH OBEN##########
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstants.au3>
#include <misc.au3>Global $pause = False
[/autoit] [autoit][/autoit] [autoit]
HotKeySet("{ESC}", "PAUSE")
Global $iCount = 0
Global $Buttoncheck = False
Global $hDLL = DllOpen("user32.dll")
GUICreate("Test", 200, 200, 50, 100)
$label1 = GUICtrlCreateLabel("A", 80, 10, 150, 50)
$Input1 = GUICtrlCreateInput("1000", 10, 10, 60, 20)
$label2 = GUICtrlCreateLabel("B", 80, 50, 150, 100)
$Input2 = GUICtrlCreateInput("1500", 10, 50, 60, 20)
$label3 = GUICtrlCreateLabel("C", 80, 90, 150, 150)
$Input3 = GUICtrlCreateInput("2000", 10, 90, 60, 20)
$button1 = GUICtrlCreateButton("OK", 10, 150, 60, 20)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(100)
$Msg = GUIGetMsg()
Switch $Msg
Case $GUI_EVENT_CLOSE
Exit
Case $button1
$Buttoncheck = True
EndSwitch
If $Buttoncheck = True Then
If _IsPressed("01", $hDLL) Then ;ich
$iCount += 1
Do
Sleep(100)
Until Not _IsPressed("01", $hDLL)
EndIf ;/ich
If $iCount = 2 Then
;$iCount = 0
Sleep(GUICtrlRead($Input1))
MouseClick("left")
Sleep(GUICtrlRead($Input2))
MouseClick("left")
Sleep(GUICtrlRead($Input3))
MouseClick("left")
$iCount = 0
EndIf
EndIf
WEndFunc PAUSE()
[/autoit]
$pause = Not $pause
While $pause
Sleep(50)
WEnd
EndFunc ;==>PAUSEMeine Lösung, etwas anders als die von Hauke