Moin...
Also ich schreib meine Dll´s in DevPascal (FreePascal).
Du kannst jede Sprache benutzen, die Win32 Dll´s erstellen kann, also auch Delphi oder FreeBasic.
lgE
Moin...
Also ich schreib meine Dll´s in DevPascal (FreePascal).
Du kannst jede Sprache benutzen, die Win32 Dll´s erstellen kann, also auch Delphi oder FreeBasic.
lgE
Also sobald eine Funktion definiert wird, soll die dann auch färbig angezeigt werden.
Allerdings sollte das dann nicht dasselbe Blau wie die internen Functions sein, sonder grün oder sonstwas...
Beispiel()
Func Beispiel()
...
EndFunc
Wär schon cool...
lgE
Hi
Auch nicht 100% sicher, aber besser als normaler String:
[autoit]$Pass = Chr(65) & Chr(66) & Chr(67)
MsgBox(0, "", $Pass)
lgE
Hi
Ich geb dir einen Tip:
verwende den OnEventMode und erstelle 4 Buttons (Links, Rechts, Auf, Ab) welche die Snake steuern.
Mit GuiSetAccelerators kannst du nun den Buttons Tasten zuordnen
$LeftID=GUICtrlCreateButton("",0,-90)
GUICtrlSetOnEvent(-1,"_Left")
GUICtrlSetState(-1,$GUI_HIDE)
$RightID=GUICtrlCreateButton("",0,-70)
GUICtrlSetOnEvent(-1,"_Right")
GUICtrlSetState(-1,$GUI_HIDE)
$DownID=GUICtrlCreateButton("",0,-50)
GUICtrlSetOnEvent(-1,"_Down")
GUICtrlSetState(-1,$GUI_HIDE)
$UpID=GUICtrlCreateButton("",0,-30)
GUICtrlSetOnEvent(-1,"_Up")
GUICtrlSetState(-1,$GUI_HIDE)
Dim $AccelKeys[4][2]=[["{Left}", $LeftID], ["{Right}", $RightID], ["{Down}", $DownID], ["{Up}", $UpID]]
GUISetAccelerators($AccelKeys)
Finde ich einfacher zu handeln als _IsPressed!
lgE
Servus
Zeile 15:
$2 = $2 +2 statt $2 = 2 +2 ($ vergessen)
lgE
RR04: Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
[autoit]Global $4Birthday[29]
[/autoit]
Arrays beginnen bei 0
Glückwunsch, funkey!!!
HaPEE Birthday
Auch von mir!
mit Exitloop kommst du aus einer Schleife raus...(while, do, for).
aus einer Funktion kommst du mit Return raus.
Es klingt jedoch irgendwie so, als würdest du eine Dauerschleife innerhalb einer Funktion benutzen...
Das würde dann nicht ganz mit dem OnEventMode zusammenpassen...
lgE
Hi
Also die QWidget-Controls sind sehr merkwürdig!
1) ändert sich auch die Instanz von der Anzeige.
Damit du auch weiterhin die Größe auslesen kannst, solltest du die Controls via Text ansprechen:
Opt("WinTitleMatchMode",3)
ControlGetPos ( "Google Earth", "", "[CLASS:QWidget; TEXT:Render]" )
somit bist du unabhängig von der Instanz
2) zu deinem aktuellen Problem hab ich keine Lösung
Da einzige, was mir grad einfällt ist mal:
ControlFocus("Google Earth","","[CLASS:QWidget; TEXT:qt_viewport]")
[/autoit]
hilft die aber auch nicht wirklich weiter...
zumindest scheinen keine "normalen" ControlTreeView-Komandos zu funktionieren...
vielleicht gibts eine DLL, mit welcher man die QWidgets ansprechen kann, oder sogar eine spezielle für GoogleEarth!?
lgE
Hi
Die Datei 2_Zeiten.exe ist geschützt?!?
Hat irgendwie nichts gebracht
Oda hab ich was falsch verstanden...
z.b.:
[autoit]Func _DATEUPDATE()
$DATE = _NOWCALC()
GUICtrlSetData($INPUT2, _DATETIMEFORMAT($DATE, 5))
GUICtrlSetData($INPUT1, _DATETIMEFORMAT($DATE, 1))
$THEIRDATE = _DATEADD("h", -1, $DATE)
GUICtrlSetData($INPUT5, _DATETIMEFORMAT($THEIRDATE, 5))
GUICtrlSetData($INPUT4, _DATETIMEFORMAT($THEIRDATE, 1))
EndFunc
lgE
also das #AutoIt3Wrapper_icon=icon.ico nimmt er irgendwie nicht - hab die icon.ico im gleichen ordner wie das script
Hi
Dann hast du möglicherweise nicht SciTE4AutoIt installiert, sondern "nur" SciTELite, welches bei der Autoit-Install dabei ist...
lgE
Hi
[autoit]$aPos = ControlGetPos ( "Google Earth", "", "QWidget16" )
If IsArray($aPos) Then MsgBox(0,"Größe",$aPos[2] & " x " & $aPos[3])
lgE
Was genau hast du nicht verstanden?
probier mal ein Label in die Group zu machen, einfärben und disablen...
OK sorry
mir ist soeben etwas aufgefallen (bei Notepad):
Wenn das Fenster NICHT aktiv ist, dann funktioniert ControlSend($Handle,"","","Test") nicht!
Mit WinActivate davor schon...
aber auf jeden Fall geht es, wenn man noch den Control angibt: ControlSend($Handle,"","Edit1","Test")
vielleicht hilft dir das mal weiter...
lgE
Hi
Es sollte eigentlich funktionieren!
Wie kommst du eigentlich zu dem Handle?
Info: WinHandles sind jedesmal anders!
[autoit]Run("notepad.exe")
WinWait("Unbenannt")
$Handle=WinGetHandle("Unbenannt")
WinClose($Handle)
WinWaitClose($Handle)
Run("notepad.exe")
WinWait("Unbenannt")
$Handle2=WinGetHandle("Unbenannt")
WinClose($Handle2)
MsgBox(0,"",$Handle & @CRLF & $Handle2)
[/autoit]lgE
I must me also kringeln...
In die Kategorie "Tirolerbriefe" fällt auch folgendes: http://phantastischewelten.de/gelacht/brief-…om-lande-tirol/
Hi
Du kannst Programmen Daten via Std übergeben/entnehmen!
ConsoleRead: ließt den StdIn
ConsoleWrite: schreibt den StdOut
(immer erstes script als exe kompilieren!)
Version 1:
Du startes ein Autoit-Prog, welches via Stdout Daten übermittelt.
Das gestartete Prog schreibt die Daten via ConsoleWrite in den Stdout:
Script1.exe
[autoit]While 1
ConsoleWrite(Random(0,9,1))
Sleep(100)
WEnd
$prog=Run(@ScriptDir & "\script1.exe",@ScriptDir,0,2)
While 1
ToolTip("Stdoutread: " & StdoutRead($prog))
Sleep(100)
WEnd
Version 2:
Du startest ein Autoit-Prog und willst es mit Daten füttern.
script3.exe
[autoit]While 1
ToolTip("Consoleread: " & ConsoleRead())
Sleep(100)
WEnd
$prog=Run(@ScriptDir & "\script3.exe",@ScriptDir,0,1)
While 1
StdinWrite($prog,Random(0,9,1))
Sleep(100)
WEnd
alles klar?
Ist auf den ersten Blick etwas kompliziert, aber eigentlich ganz einfach
lgE
Edit: Du kannst ConsoleWrite auch zum debuggen benutzten - wird dann nämlich in SciTe unten angezeigt...(bestes Beispiel: µIt-September-Testprogramm von Pee )
Also so geht es:
[autoit]MsgBox(0,"Seitenanzahl",_GetExtProperty(@ScriptDir & "\multipage.tif",13))
[/autoit][autoit][/autoit][autoit][/autoit][autoit];===============================================================================
; Function Name: GetExtProperty($sPath,$iProp)
; Description: Returns an extended property of a given file.
; Parameter(s): $sPath - The path to the file you are attempting to retrieve an extended property from.
; $iProp - The numerical value for the property you want returned. If $iProp is is set
; to -1 then all properties will be returned in a 1 dimensional array in their corresponding order.
; The properties are as follows:
; Name = 0
; Size = 1
; Type = 2
; DateModified = 3
; DateCreated = 4
; DateAccessed = 5
; Attributes = 6
; Status = 7
; Owner = 8
; Author = 9
; Title = 10
; Subject = 11
; Category = 12
; Pages = 13
; Comments = 14
; Copyright = 15
; Artist = 16
; AlbumTitle = 17
; Year = 18
; TrackNumber = 19
; Genre = 20
; Duration = 21
; BitRate = 22
; Protected = 23
; CameraModel = 24
; DatePictureTaken = 25
; Dimensions = 26
; Width = 27
; Height = 28
; Company = 30
; Description = 31
; FileVersion = 32
; ProductName = 33
; ProductVersion = 34
; Requirement(s): File specified in $spath must exist.
; Return Value(s): On Success - The extended file property, or if $iProp = -1 then an array with all properties
; On Failure - 0, @Error - 1 (If file does not exist)
; Author(s): Simucal ([email='Simucal@gmail.com'][/email])
; Note(s):
;
;===============================================================================
Func _GetExtProperty($sPath, $iProp)
Local $iExist, $sFile, $sDir, $oShellApp, $oDir, $oFile, $aProperty, $sProperty
$iExist = FileExists($sPath)
If $iExist = 0 Then
SetError(1)
Return 0
Else
$sFile = StringTrimLeft($sPath, StringInStr($sPath, "\", 0, -1))
$sDir = StringTrimRight($sPath, (StringLen($sPath) - StringInStr($sPath, "\", 0, -1)))
$oShellApp = ObjCreate ("shell.application")
$oDir = $oShellApp.NameSpace ($sDir)
$oFile = $oDir.Parsename ($sFile)
If $iProp = -1 Then
Local $aProperty[35]
For $i = 0 To 34
$aProperty[$i] = $oDir.GetDetailsOf ($oFile, $i)
Next
Return $aProperty
Else
$sProperty = $oDir.GetDetailsOf ($oFile, $iProp)
If $sProperty = "" Then
Return 0
Else
Return $sProperty
EndIf
EndIf
EndIf
EndFunc ;==>_GetExtProperty
lgE