Hey! Alles Gute altes Haus! ![]()
Bleib sauber! ![]()
Hey! Alles Gute altes Haus! ![]()
Bleib sauber! ![]()
Vielen Dank Euch allen!
Und auch an peethebee noch alles Gute nachträglich!
Schon wieder ein Jahr älter! Jetzt bist du aber schon richtig alt. [Blockierte Grafik: http://freeemoticonsandsmileys.com/3D%20Smileys/3D%20People%20Smileys/grandpa.gif]
Ruh dich heute ein wenig aus. ![]()
P.S.: Glückwunsch!
Hab es getestet, funktioniert!
Es kommen nur 2x die MsgBox, und zwar 2x von StdOut.
http://www.delphi-treff.de/tipps/dateienv…chnis-arbeiten/
Wurde die Output.exe als Consolenanwendung kompiliert?
Ich mach das immer so:
[autoit]$dec = 8608480567731124087
$hex = Hex(String($dec))
ConsoleWrite($hex & @LF)
Edit:
Und wieder zurück:
$dec = 8608480567731124087
$hex = Hex(String($dec))
ConsoleWrite($hex & @LF)
ConsoleWrite(Int("0x" & $hex) & @CRLF)
Hallo UEZ, zwei Fragen bzw. Wünsche.
Ist auch geplant Bilder als Wasserzeichen zu verwenden?
Könnte man nicht sobald man 'APPLY' drückt, einen weiteren Text oder ein weiters Bild hinzufügen?
Hab gestern eine interessante Alternative gefunden, um Objekte in AutoIt zu erstellen und zwar hier: http://www.source-center.de/forum/showthre…assen-in-AutoIt
Ich kann das sicher mal brauchen, vielleicht auch der/die eine oder andere von euch auch.
;http://www.source-center.de/forum/showthre…assen-in-AutoIt
[/autoit] [autoit][/autoit] [autoit]AutoItSetOption('MustDeclareVars', 1)
Dim $oScriptControl = ObjCreate('MSScriptControl.ScriptControl')
$oScriptControl.Language = 'VBScript'
Dim $clsRectangle = $oScriptControl.Modules.Add('clsRectangle')
$clsRectangle.AddCode( _
'Class clsRectangle' & @CRLF & _
' Private a' & @CRLF & _
' Private b' & @CRLF & _
' Private Sub Class_Initialize' & @CRLF & _
' a = 2' & @CRLF & _
' b = 4' & @CRLF & _
' End Sub' & @CRLF & _
' Public Property Get Length' & @CRLF & _
' Length = a' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let Length(NewLength)' & @CRLF & _
' a = NewLength' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Get Width' & @CRLF & _
' Width = b' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let Width(NewWidth)' & @CRLF & _
' b = NewWidth' & @CRLF & _
' End Property' & @CRLF & _
' Public Function GetArea()' & @CRLF & _
' GetArea = a * b' & @CRLF & _
' End Function' & @CRLF & _
' Public Function GetPerimeter()' & @CRLF & _
' GetPerimeter = 2 * (a + b)' & @CRLF & _
' End Function' & @CRLF & _
'End Class' _
)
Dim $clsSquare = $oScriptControl.Modules.Add('clsSquare')
$clsSquare.AddCode( _
'Class clsSquare' & @CRLF & _
' Private a' & @CRLF & _
' Private Sub Class_Initialize' & @CRLF & _
' a = 2' & @CRLF & _
' End Sub' & @CRLF & _
' Public Property Get Length' & @CRLF & _
' Length = a' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let Length(NewLength)' & @CRLF & _
' a = NewLength' & @CRLF & _
' End Property' & @CRLF & _
' Public Function GetArea()' & @CRLF & _
' GetArea = a^2' & @CRLF & _
' End Function' & @CRLF & _
' Public Function GetPerimeter()' & @CRLF & _
' GetPerimeter = 4 * a' & @CRLF & _
' End Function' & @CRLF & _
'End Class' _
)
Dim $clsTriangle = $oScriptControl.Modules.Add('clsTriangle')
$clsTriangle.AddCode( _
'Class clsTriangle' & @CRLF & _
' Private a' & @CRLF & _
' Private b' & @CRLF & _
' Private c' & @CRLF & _
' Private Sub Class_Initialize' & @CRLF & _
' a = 20' & @CRLF & _
' b = 21' & @CRLF & _
' c = 29' & @CRLF & _
' End Sub' & @CRLF & _
' Public Property Get AdjacentLeg' & @CRLF & _
' AdjacentLeg = a' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let AdjacentLeg(NewAdjacentLeg)' & @CRLF & _
' a = NewAdjacentLeg' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Get OppositeLeg' & @CRLF & _
' OppositeLeg = b' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let OppositeLeg(NewOppositeLeg)' & @CRLF & _
' b = NewOppositeLeg' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Get Hypotenuse' & @CRLF & _
' Hypotenuse = c' & @CRLF & _
' End Property' & @CRLF & _
' Public Property Let Hypotenuse(NewHypotenuse)' & @CRLF & _
' c = NewHypotenuse' & @CRLF & _
' End Property' & @CRLF & _
' Public Function GetArea()' & @CRLF & _
' GetArea = a * b / 2' & @CRLF & _
' End Function' & @CRLF & _
' Public Function GetPerimeter()' & @CRLF & _
' GetPerimeter = a + b + c' & @CRLF & _
' End Function' & @CRLF & _
'End Class' _
)
Dim $oRectangle = $clsRectangle.Eval('New clsRectangle')
ConsoleWrite('!--- Rechteck' & @CRLF)
_PrintRectangle($oRectangle)
$oRectangle.Length = 20
$oRectangle.Width = 40
_PrintRectangle($oRectangle)
ConsoleWrite(@CRLF)
[/autoit] [autoit][/autoit] [autoit]Dim $oSquare = $clsSquare.Eval('New clsSquare')
ConsoleWrite('!--- Quadrat' & @CRLF)
_PrintSquare($oSquare)
$oSquare.Length = 20
_PrintSquare($oSquare)
ConsoleWrite(@CRLF)
[/autoit] [autoit][/autoit] [autoit]Dim $oTriangle = $clsTriangle.Eval('New clsTriangle')
ConsoleWrite('!--- Rechtwinkliges Dreieck' & @CRLF)
_PrintTriangle($oTriangle)
$oTriangle.AdjacentLeg = 210
$oTriangle.OppositeLeg = 200
$oTriangle.Hypotenuse = 290
_PrintTriangle($oTriangle)
Func _PrintRectangle($p_oRectangle)
ConsoleWrite(' Länge:' & @TAB & $p_oRectangle.Length & @CRLF)
ConsoleWrite(' Breite:' & @TAB & $p_oRectangle.Width & @CRLF)
ConsoleWrite(' Fläche:' & @TAB & $p_oRectangle.GetArea & @CRLF)
ConsoleWrite(' Umfang:' & @TAB & $p_oRectangle.GetPerimeter & @CRLF)
ConsoleWrite(' -------' & @CRLF)
EndFunc ;==>_PrintRectangle
Func _PrintSquare($p_oSquare)
ConsoleWrite(' Länge:' & @TAB & $p_oSquare.Length & @CRLF)
ConsoleWrite(' Fläche:' & @TAB & $p_oSquare.GetArea & @CRLF)
ConsoleWrite(' Umfang:' & @TAB & $p_oSquare.GetPerimeter & @CRLF)
ConsoleWrite(' -------' & @CRLF)
EndFunc ;==>_PrintSquare
Func _PrintTriangle($p_oTriangle)
ConsoleWrite(' Ankathete:' & @TAB & $p_oTriangle.AdjacentLeg & @CRLF)
ConsoleWrite(' Gegenkathete:' & @TAB & $p_oTriangle.OppositeLeg & @CRLF)
ConsoleWrite(' Hypotenuse:' & @TAB & $p_oTriangle.Hypotenuse & @CRLF)
ConsoleWrite(' Fläche:' & @TAB & $p_oTriangle.GetArea & @CRLF)
ConsoleWrite(' Umfang:' & @TAB & $p_oTriangle.GetPerimeter & @CRLF)
ConsoleWrite(' -------' & @CRLF)
EndFunc ;==>_PrintTriangle
Sehr interessanter Fehler!
Ich glaube, dass das etwas damit zu tun hat, dass AutoIt nicht Thread-sicher ist. Also auch Multithreading und einige Ansätze dazu nicht richtig funktionieren. Kann mich aber natürlich auch täuschen.
Kann kein Problem feststellen unter XP, läuft wie gewünscht.
Schau dir mal von Send() den zweiten Parameter an. ![]()
BTW: Ich würde versuchen das mit ControlSetText zu lösen!
Herzlich willkommen im Club!! ![]()
Hab jetzt die Gleitkomma-Unterstützung eingebaut.
Aber leider funktioniert da etwas mit nicht mit dem Einstellen der Genauigkeit der Nachkommastellen und ich weiß noch nicht warum.
Alles Gute!! ![]()
Hallo ihr beiden,
auch von mir noch nachträglich alles Gute zum Geburtstag!! ![]()
Hallo!
Eukalyptus hat ja eine BigInt-UDF geschreiben und da mal erwähnt, dass es auch eine C-Bibliothek dafür gibt, nämlich The GNU MP Bignum Library.
Hab nun erst mal die Funktionen zum addieren und multiplizieren von Integer-Zahlen gewrappt.
Gruß
funkey
Danke für das Tutorial! Ich nehme normalerweise immer MinGW, da es universeller einsetzbar ist, aber für einfache Sachen ist TCC ideal und die Dateigröße ist bei TCC auch super, nur 1.50 kB für diese DLL.
Edit: Hier noch ein Hilfsprogramm, das ich mal zum Kompilieren verwendet habe. Einfach Pfade anpassen.
If $CmdLine[0] = 0 Then Exit
Local $Exe, $PID
Local $Path = StringLeft($CmdLine[1], StringInStr($CmdLine[1], "\", 0, -1) - 1)
If MsgBox(36, "DLL file?", "Compile the code to DLL file?") = 6 Then
$Exe = StringLeft($CmdLine[1], StringInStr($CmdLine[1], ".", 0, -1) - 1) & ".dll"
$PID = Run('C:\tcc\tcc.exe -shared "' & $CmdLine[1] & '" -o "' & $Exe & '"', $Path, @SW_HIDE, 0x2 + 0x4)
Else
$Exe = StringLeft($CmdLine[1], StringInStr($CmdLine[1], ".", 0, -1) - 1) & ".exe"
$PID = Run('C:\tcc\tcc.exe "' & $CmdLine[1] & '" -ltcc1 C:/tcc/lib/user32.def -o "' & $Exe & '"', $Path, @SW_HIDE, 0x2 + 0x4)
EndIf
Local $sOutput
While 1
$sOutput &= StdoutRead($PID)
If @error Then ExitLoop
WEnd
While 1
$sOutput &= StderrRead($PID)
If @error Then ExitLoop
WEnd
MsgBox(0, "TCC Output", $sOutput)
[/autoit] [autoit][/autoit] [autoit][/autoit]Hier nochmal ein Link auf schon vorhandenes Wissen: Rechtsklick auf Controls auswerten