|
You last visited: Today at 16:13
Advertisement
Tratsch rund um Autoit / Autoit Talk | kleinere Fragen
Discussion on Tratsch rund um Autoit / Autoit Talk | kleinere Fragen within the AutoIt forum part of the Coders Den category.
10/14/2014, 23:42
|
#2146
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
huhu,
ich baue momentan ein gui framework.
momentan habe ich alle standard gui funktionen von autoit nachgebaut.(nicht diese zusatzfunktionen aus den udf's).
momentan designe ich die controls und baue einen vernünftigen event handler und das alles. jenachdem wie ich gerade lusst habe bastel ich auch an meinem gui designer weiter.
Meine frage jetzt ist ob jemand ideen hat für nützliche gui elemente die nicht in autoit vorhanden sind. eventuell kennt ihr welche von anderen gui frameworks(java swing/AWT, gtk, qt) oder wünscht euch einfach nützliche objekte die ihr in anderen bibliotheken vermisst.
auserdem muss ich noch einige performance optimierungen machen da der native autoit code nicht wirklich schnell ist 
Bis jetzt bin ich aber sehr zu frieden und das ui sieht echt gut aus.
|
|
|
10/20/2014, 15:30
|
#2147
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
Quote:
Originally Posted by »FlutterShy™
...
|
also ich bin ein fan von dem datagridview mit buttons und checkboxen drin
|
|
|
10/20/2014, 17:09
|
#2148
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by butter123
also ich bin ein fan von dem datagridview mit buttons und checkboxen drin

|
muss ich nichts für umcoden. würde ne kleine funktion reichen die alles called was nötig ist.
Wenn man auf den button drückt dann soll er was zeichnen.
was denkst du wie viel zeit (in ms) nach dem mouseclick fallen einem benutzer nicht auf bis es gezeichnet wurde?
Diese zeit hab ich mitlerweile schon mit einer neuen methode auf wenige ms runtergebracht. wäre aber interessant zu wissen wie viel zeit ich zur verfügung habe.
Meine vorgehensweise
Also die gui wartet halt auf die benutzereingaben. diese werden von einer kleinen funktion(um im leerlauf den cpu zu schonen) wargenommen und ausgewertet(der klick wurde dann noch nicht sichtbar ausgeführt).
jenachdem entscheidet diese funktion wie es weiter gehen soll. Bei aktionen die eine für den nutzer warnehmbare veränderung erstellen werden diese sofort ausgeführt(z.b. gdi plus zeichnen). alles andere schreibe ich in ein array welches zu einem beliebigem zeitpunkt abgearbeitet werden kann.
Das abarbeiten wird in immer automatisch in richtiger reihenfolge gemacht. Das mouseclick event(also das für auf einen button klicken) arbeitet das array nach dem zeichnen selbstsändig komplett ab.
Den aufwand muss ich betreiben weil auch nur gezeichnete elemente auf events reagieren müssen.
Events: Click, Mouseover
Das ist somit das schnellste was ich getestet habe und der benutzer bekommt nicht mit was im hintergrund passiert.
|
|
|
10/21/2014, 17:46
|
#2149
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by »FlutterShy™
was denkst du wie viel zeit (in ms) nach dem mouseclick fallen einem benutzer nicht auf bis es gezeichnet wurde?
|
25FPS reichen für das menschliche Auge. Entsprechend sind das 25 Frames in 1000ms. 1000ms/25Frames = 40ms/Frame...
Alles was länger als 40ms dauert (auf das gesamte tool bezogen), ist für den User also wahrnehmbar.
|
|
|
10/21/2014, 20:02
|
#2150
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
probiers aus^^
PHP Code:
#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 623, 429, 192, 132) $Button1 = GUICtrlCreateButton("Button1", 56, 64, 97, 81) $Button2 = GUICtrlCreateButton("-", 560, 380, 20, 20) $Button3 = GUICtrlCreateButton("1x", 590, 380, 30, 20) $Button4 = GUICtrlCreateButton("+", 530, 380, 20, 20) $Label1 = GUICtrlCreateLabel("0 ms", 560, 410, 45, 20) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### $ms = 0 $multi = 1
While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit
Case $Button1 $t = TimerInit() While TimerDiff($t) < $ms WEnd GUICtrlSetPos($Button1,Random(0,500,1),Random(0,350,1)) GUICtrlSetData($Label1,$ms &" ms")
Case $Button3 $multi *=2 If $multi > 100 then $multi = 1 GUICtrlSetData($Button3,$multi &"x") Case $Button4 $ms+=$multi GUICtrlSetData($Label1,$ms &" ms") Case $Button2 $ms-=$multi GUICtrlSetData($Label1,$ms &" ms")
EndSwitch WEnd
ich finde ab 50 wirds deutlich, auch wenn man nicht drauf achtet
|
|
|
10/21/2014, 21:44
|
#2151
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by lolkop
25FPS reichen für das menschliche Auge. Entsprechend sind das 25 Frames in 1000ms. 1000ms/25Frames = 40ms/Frame...
Alles was länger als 40ms dauert (auf das gesamte tool bezogen), ist für den User also wahrnehmbar.
|
Quote:
Originally Posted by butter123
....
|
stimmt. ich komme beim aufwändigsten element beim zeichnen und rechnen meist auf > 40ms.
Das zeichnen kann ich kaum verkürzen. ich versuche mehr werte möglichst früh konstant in einer variablen zu speichern damit die rechenoperationen sich verringern
|
|
|
10/21/2014, 22:52
|
#2152
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
ControlGetFocus.
|
|
|
10/22/2014, 12:32
|
#2153
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
Jo Leute,
ich wollt auch hier schnell einen Verweis auf meinen Post im "Entwickler sucht Entwickler" Thread da lassen
Geht um einen Autoit -> .Net Compiler
Falls jemand Bock hat
lg
|
|
|
10/24/2014, 06:50
|
#2154
|
elite*gold: 138
Join Date: Apr 2012
Posts: 3,494
Received Thanks: 1,769
|
Ich hab mich mal an ein kleines Minigame ranprobiert aber scheiter schon ganz am Anfang. Das Bild ruckelt die ganze Zeit. Und wenn ich einen einzigen weiteren Befehl (z.B. Sleep(1)) einbaue, dann verlangsamt sich das Spiel sehr.
PHP Code:
HotKeySet("{ESC}","beenden")
#include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> #include <Misc.au3>
Global $MarioX = 88 Global $MarioY = 104 Global $MarioWidth = 73 Global $MarioHeight = 81 Global $FormX = 511 Global $FormY = 309
#Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", $FormX, $FormY, 192, 124) $Pic1 = GUICtrlCreatePic("C:\Users\tronics\Desktop\mario.jpg", $MarioX, $MarioY, $MarioWidth,$MarioHeight) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ###
While 1 If _IsPressed(25) And $MarioX > 0 Then $MarioX = $MarioX-1 GUICtrlSetPos($Pic1, $MarioX,$MarioY) Sleep(1) EndIf If _IsPressed(26) And $MarioY > 0 Then $MarioY = $MarioY-1 GUICtrlSetPos($Pic1, $MarioX,$MarioY) Sleep(1) EndIf If _IsPressed(27) And Not ($MarioX > $FormX - $MarioWidth) Then $MarioX = $MarioX+1 GUICtrlSetPos($Pic1, $MarioX,$MarioY) Sleep(1) EndIf If _IsPressed(28) And Not ($MarioY > $FormY - $MarioHeight) Then $MarioY = $MarioY+1 GUICtrlSetPos($Pic1, $MarioX,$MarioY) Sleep(1) EndIf WEnd
Func beenden() Exit EndFunc
|
|
|
10/24/2014, 14:17
|
#2155
|
elite*gold: 60
Join Date: Aug 2009
Posts: 2,256
Received Thanks: 815
|
Lade die user32.dll lieber selber und übergib sie an die _IsPressed-Funktion, weil sie so unnötige male geöffnet und geschlossen wird.
Wenn du ein richtiges Spiel machen willst rate ich dir eher zu GDI+.
|
|
|
10/24/2014, 17:50
|
#2156
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
konnte man nicht für ein input irgendwie festgelegen, was passieren soll, wenn man in dem input auf enter drückt?
bspw um ne cmd zeile in einer gui zu erstellen
|
|
|
10/26/2014, 15:56
|
#2157
|
elite*gold: 10
Join Date: Dec 2013
Posts: 1,224
Received Thanks: 3,095
|
Hey Leute, ich habe mal wieder eine Frage...
Und zwar möchte ich gerne ein simples programm schreiben, Was nur mit einem bestimmten Parameter gestartet werden kann. Google konnte mir diesmal nicht wirklich helfen. Ich hoffe da könnt ihr mir ein bisschen helfen. Meine zweite Frage wäre daran angelehnt. Und zwar möchte ich ebenfalls das man mein programm nur mit einem diesmal unbestimmten Paramter starten kann und das mein programm den Parameter erkennt mit dem es gestartet wurde und diesen auch im script verwerten kann. Wie gesagat ich hoffe auf eure Hilfe.
►D3v1n3r
|
|
|
10/26/2014, 16:56
|
#2158
|
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
|
$cmdLine enthält alle Parameter
|
|
|
10/26/2014, 19:58
|
#2159
|
elite*gold: 95
Join Date: May 2011
Posts: 982
Received Thanks: 189
|
ich denke du meinst $cmdlineraw
$cmdline ist ein array mit den einzelnen parametern
|
|
|
10/27/2014, 14:11
|
#2160
|
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
|
Quote:
Originally Posted by butter123
ich denke du meinst $cmdlineraw
$cmdline ist ein array mit den einzelnen parametern

|
Das ändert wohl nichts daran, das $cmdLine alle Parameter enthält...
|
|
|
Similar Threads
|
[Sammelthread]Fragen zu Autoit wie man Hacks herstellt(Autoit) + Antworten
11/16/2011 - Metin2 - 0 Replies
Hallo Liebe Community,
Ich habe diesen Thread aufgemacht weil manche leute mit Autoit nicht mehr weiterkommen wie man Hack herstellt ,ich habe mit schon ein Multihack mit Autoit herstellt das war einfach .Da viele User nicht weiterkommen werden habe ich mich entschieden ein Thread aufzumachen mit Fragen und ich den dann Antworten kann und helfen kann!
------------------------------------------------- ---------------------------
Mein Multihack:...
|
All times are GMT +1. The time now is 16:16.
|
|