Wow. Richtig toll geworden Deine UDF
. Hätt ich nicht besser hinbekommen. Könntest Du vielleicht noch so was wie ein Mouse-Hover-Effect hinzufügen? Also das z.b. sich die Farbe bei Mousehover verdunkelt oder so?
Beiträge von DeepRed92
-
-
Hallo,
wieso flackert das? Wie kann ich dieses flackern weg bekommen?
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>Global $width = 302
[/autoit][autoit][/autoit][autoit]
Global $height = 302$hGUI = GUICreate("BlueJ Figuren Demo", $width, $height)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
$hWnd = WinGetHandle($hGUI)
;~ GUISetBkColor(0, $hGUI)
;~ GUISetBkColor(0xFFFFFF, $hGUI)
;~ WinSetTrans($hGUI, "", 255)
GUISetState(@SW_SHOW)_GDIPlus_Startup()
[/autoit][autoit][/autoit][autoit]
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
$Bitmap = _GDIPlus_BitmapCreateFromGraphics($width, $height, $hGraphic) ;create bitmap
_GDIPlus_GraphicsSetSmoothingMode($hGraphic, 2)
$hBrush = _GDIPlus_BrushCreateSolid(0xFFFFFF00)_GDIPlus_GraphicsClear($hGraphic)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
_GDIPlus_GraphicsFillPie($hGraphic, $width / 2 - 60 / 2, $height / 2 - 60 / 2, 60, 60, 1, 360, $hBrush)Local $a = 1
[/autoit][autoit][/autoit][autoit]While GUIGetMsg() <> $GUI_EVENT_CLOSE
[/autoit][autoit][/autoit][autoit]_GDIPlus_GraphicsClear($hGraphic)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
_GDIPlus_GraphicsFillPie($hGraphic, $a, 50, 60, 60, 1, 360, $hBrush)$a += 1
[/autoit]
Sleep(10)
WEnd -
Hallo,
da wir uns in der Schule viel über Zahlensysteme beschäftigt hatten, habe ich einfach mal ein Script geschrieben, mit der ich meine Aufgaben kontrollieren kann. Natürlich kann man damit auch irgendwelche Zahlen ausrechnen. Es lassen sich von allen 15 Zahlensystemen in 15 "allen" Zahlensystemen umrechnen. Ich habe dafür auch die BigNum.au3- UDF benutzt, dass das ausrechnen von sehr großen Zahlen ermöglicht.
ToDo
Rechenschritte in der Edit-Box anzeigenQuellcode
[autoit]#NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Calculator.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Description=Zahlensystem Umrechner
#AutoIt3Wrapper_Res_Fileversion=1.0.0.0
#AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2009 Burak Keskin
#AutoIt3Wrapper_Res_Language=1031
#AutoIt3Wrapper_Res_Field=E-Mail|[email='burak.keskin@arcor.de'][/email]
#AutoIt3Wrapper_Res_Field=CompanyName|Burak Keskin
#AutoIt3Wrapper_Res_Field=InternalName|Zahlensystem Umrechner
#AutoIt3Wrapper_Res_Field=Comments|
#AutoIt3Wrapper_Res_Field=OriginalFilename|Zahlensystem Umrechner.exe
#AutoIt3Wrapper_Res_Field=ProductName|Zahlensystem Umrechner
#AutoIt3Wrapper_Res_Field=ProductVersion|1.0.0.0
#AutoIt3Wrapper_Run_After=del "Zahlensystem Umrechner_Obfuscated.au3"
#AutoIt3Wrapper_Run_Obfuscator=y
#Obfuscator_Parameters=/striponly
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------AutoIt Version: 3.3.0.0
[/autoit] [autoit][/autoit] [autoit]
Author: myNameScript Function:
[/autoit] [autoit][/autoit] [autoit]
Template AutoIt script.#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <ComboConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiStatusBar.au3>
#include <BigNum.au3>Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $Text, $OldText, $Text1, $Text2
[/autoit] [autoit][/autoit] [autoit]
Local $aParts[3] = [100, 800, -1]
Global $ComboText = "2 (binär)|" & _
"3|" & _
"4|" & _
"5|" & _
"6|" & _
"7 (septal)|" & _
"8 (oktal)|" & _
"9|" & _
"10 (dezimal)|" & _
"11|" & _
"12 (duodezimal)|" & _
"13|" & _
"14|" & _
"15|" & _
"16 (hexadezimal)|"$Form1 = GUICreate("Zahlensystem Umrechner", 594, 500)
[/autoit] [autoit][/autoit] [autoit]
GUISetOnEvent($GUI_EVENT_CLOSE, "Close")$Label1 = GUICtrlCreateLabel("Umrechnung von Zahlensystemen", 8, 8, 500, 40)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlSetFont(-1, 20, 800, 0, "Arial")
$Label2 = GUICtrlCreateLabel("Zahlensystem", 8, 56, 69, 17)
$Label3 = GUICtrlCreateLabel("Ziffernfolge", 144, 56, 57, 17)
$Combo1 = GUICtrlCreateCombo("", 8, 80, 113, 25)
GUICtrlSetData($Combo1, $ComboText, "10 (dezimal)")
$Input1 = GUICtrlCreateInput("", 144, 80, 441, 21)
$Combo2 = GUICtrlCreateCombo("", 8, 112, 113, 25)
GUICtrlSetOnEvent($Combo2, "ComboChange")
GUICtrlSetData($Combo2, $ComboText, "2 (binär)")
$Input2 = GUICtrlCreateInput("", 144, 112, 441, 21)
$Edit1 = GUICtrlCreateEdit("", 8, 144, 577, 321)
$StatusBar = _GUICtrlStatusBar_Create($Form1, $aParts)
GUISetState(@SW_SHOW)ControlFocus($Form1, "", $Input1)
[/autoit] [autoit][/autoit] [autoit]_StatusBar("Fertig")
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$Text = GUICtrlRead($Input1)
Switch $Text
Case $OldText
Case ""
GUICtrlSetData($Input2, "")
$OldText = ""
Case Else
_StatusBar("Bitte warten...")
_ComboRead()
_StatusBar("Fertig")
$OldText = $Text
EndSwitch
Sleep(10)
WEndFunc ComboChange()
[/autoit] [autoit][/autoit] [autoit]
_StatusBar("Bitte warten...")
_ComboRead()
_StatusBar("Fertig")
EndFunc ;==>ComboChangeFunc Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>CloseFunc _StatusBar($Msg)
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlStatusBar_SetText($StatusBar, " " & $Msg, 0)
EndFunc ;==>_StatusBarFunc _ComboRead()
[/autoit] [autoit][/autoit] [autoit]
If GUICtrlRead($Input1) = "" Then Return 0
$Varrr = _CalcToBase(GUICtrlRead($Input1), Number(GUICtrlRead($Combo1)), 1)
GUICtrlSetData($Input2, _CalcToBase($Varrr, Number(GUICtrlRead($Combo2))))
EndFunc ;==>_ComboReadFunc _CalcToBase($Value, $Base, $Flag = 0)
[/autoit] [autoit][/autoit] [autoit]
Local $Var1 = 1, $Var2[1] = [1], $Var3
Switch $Flag
Case 0
While $Var2[0] <> 0
Switch $Var1
Case 1
$Var2 = _DivWithRest($Value, $Base)
$Var1 = 0
Case Else
$Var2 = _DivWithRest($Var2[0], $Base)
EndSwitch
$Var3 = Hex($Var2[1], 1) & $Var3
WEnd
Return $Var3
Case 1
$Var1 = StringSplit($Value, "")
$Var2 = 0
For $i = $Var1[0] To 1 Step -1
$Var3 = _BigNum_Add($Var3, _BigNum_Mul(Dec($Var1[$i]), _BigNum_Potenz($Base, $Var2)))
$Var2 = _BigNum_Add($Var2, 1)
Next
Return $Var3
EndSwitch
Return SetError(1, 0, 0)
EndFunc ;==>_CalcToBaseFunc _DivWithRest($a, $b)
[/autoit]
Local $Int = _BigNum_Div(String($a), String($b))
Local $Return[2] = [$Int, _BigNum_Sub(String($a), _BigNum_Mul($Int, String($b)))]
Return $Return
EndFunc ;==>_DivWithRest -
Ich glaube mit dem AutoIt SciTE geht das gar nicht. Versuchs mal hiermit:
-
Hallo,
bisher hab ich immer eine eigene Funktion genutzt, um Ordner von Dateien zu unterscheiden.
[autoit]Func _IsFolder($Path)
[/autoit]
Local $FOpen = FileOpen($Path, 1)
FileClose($FOpen)
Switch $FOpen
Case - 1
Return 1
Case 0
Return 0
EndSwitch
Return SetError(1, 0, 0)
EndFunc ;==>_IsFolderDoch wenn es sich um eine Anwendung handelt, die gerade ausgeführt wird klappts logischerweise nicht.
Gibt es eine zuverlässigere Funktion um Ordner von Dateien zu unterscheiden? -
Hallo,
wie kann man mit AutoIt transparente Icons erstellen? Mit GUICtrlCreateIcon gehts schonmal nicht.
[autoit]#include <GuiConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]
#include <WindowsConstants.au3>$hGUI = GUICreate("Test", 200, 100)
[/autoit][autoit][/autoit][autoit]GUICtrlCreateGraphic(10, 10, 180, 80)
[/autoit][autoit][/autoit][autoit]
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_DISABLE)$icon = GUICtrlCreateIcon("shell32.dll", -23, 80, 43)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]Do
[/autoit]
Until GUIGetMsg() = -3 -
Zitat
Reverse engineering. You may not reverse engineer or disassemble the SOFTWARE PRODUCT or compiled scripts that were created with the SOFTWARE PRODUCT.
Was ist, wenn ich meine Scripte ohne AutoIt2Exe kompilieren würde? Dann erst ist es legal!?
-
Ne es geht um 25*25 große Bilder. Das Problem dabei ist, das bei Mousehover beim setzen eines neuen Bildes es etwas flackert. Ich bin mir aber ziemlich sicher, das es an AutoIt an sich liegt. Es flackert besonders bei sehr großen Scripten. 5000 Zeilen
-
Gibt es eine schnellere Variante als GUICtrlSetImage?

Wenn ja, gibt es eine Funktion dafür?
-
Wie kann ich eigentlich Songs ohne Passwort scobbeln? Bei manchen Programmen geht das, ohne einen Passwort eingeben zu müssen.
Hier mal ein Log aus einem anderen Programm:
CodeUsername: BENUTZERNAME Sessionkey: 2ef9b0ae03fdf8ac4a8b0835bd94da0c HandShake Complete: SessionID: 760b13d1152c44d781c0e3ffd1cb3b72 NowPlayingURL: http://post.audioscrobbler.com:80/np_1.2 SubmissionURL: http://post2.audioscrobbler.com:80/protocol_1.2 Now Playing Notification: OK. Evergreen Terrace - Chaney Can't Quite Riff Like Helmet's Page Hamilton Now Playing Notification: OK. Evergreen Terrace - High Tide Or No Tide Submission skipped: Playback too short (min. 50% or 4 minutes).http://www.lastfm.de/api/submissions
Brauche unbedingt dabei eure Hilfe!
-
Hallo,
hat jemand eine Idee, wie man eine Funktion schreiben könnte, mit der man alle Zahlensysteme von 2 - 16 ausrechnen kann?
Falls das jemand nicht kennt. Das funktioniert immer so:
Umrechnung der Zahl 53 (2er Basis)
-------53 : 2 = 26 Rest 1
-------26 : 2 = 13 Rest 0
-------13 : 2 = 6 Rest 1
--------6 : 2 = 3 Rest 0
--------3 : 2 = 1 Rest 1
--------1 : 2 = 0 Rest 1Resultat : 110101
Weiß jemand wie man das umsetzen könnte. Also ungefähr so wie hier:
http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm
-
Es geht mir dabei darum, unbegrenzt große Zahlen zu Multiplizieren.
Ich hab mal etwas zusammengebastelt und komm nicht weiter. Kann mir bitte jemand dabei helfen?
Spoiler anzeigen
[autoit]_BigMulti("55", "11")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _BigMulti($Value_1, $Value_2)
[/autoit] [autoit][/autoit] [autoit]
Local $Value1, $Value2
Local $Split1 = StringSplit($Value_1, "")
Local $Split2 = StringSplit($Value_2, "")For $i = 1 To $Split1[0]
[/autoit] [autoit][/autoit] [autoit];~ $Split1[$i] & _AddZero($Split1[0] - $i)
[/autoit] [autoit][/autoit] [autoit]For $o = 1 To $Split2[0]
[/autoit] [autoit][/autoit] [autoit]
$Value2 &= $Split2[$o] * $Split1[$i]
NextMsgBox(0, "", $Value2)
[/autoit] [autoit][/autoit] [autoit]$Value2 = ""
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
;~ $Value1 += $Value2Next
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];~ MsgBox(0, "",)
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Return $Value_1
[/autoit] [autoit][/autoit] [autoit]
EndFunc ;==>_BigMultiFunc _AddZero($Decimalplaces)
[/autoit]
Local $Return
For $i = 1 To $Decimalplaces
$Return &= "0"
Next
Return $Return
EndFunc ;==>_AddZero -
Sry ich wusste nicht welche Überschrift ich genau nehmen soll...
Also ihr kennt ja die schriftliche Multiplikation:
---457 x 45
--------------
------18280
----+--2285
--------------
------20565wisst ihr wie man das in AutoIt umsetzen kann? Hat das jemand schon mal gemacht? Damit wäre es doch möglich sehr große Zahlen zu multiplizieren oder täusch ich mich da?
Grüße
-
-
Hallo,
erstmal Danke and die, die mit meinem "Programm" zufrieden sind.
Zitatich habe mal einen Screenshot von dem Wächter gemacht:
[Blockierte Grafik: http://www.imgbox.de/?img=b35322t206.jpg]
Wenn ich mir auch mal so die Größen der einzelnen Programme anschaue, dann frage ich mich wieso der Updater schon fast 600KB groß ist. Was muss da alles in dem Script sein? Also nur Code kann es nicht sein und ein Icon kann doch nicht soooo groß sein.
Also ich sehe das Vorsichtig, da hier auch kein Code preisgegeben werden soll.
Wollte das Programm auch testen und dann kam das... hat mich erst mal stutzig gemacht.Vielleicht kann mir ja auch jemand erklären, warum mein Virenscanner diese Programme als Viren erkennt und meine ganzen Autoit Programme nicht. Die DesktopRadio.exe wird auch nicht als Virus erkannt.
Die Updater.exe hat eine größe von ca. 600 KB, da ich einen Icon verwende, dass die Größe von 290 KB hat. Kompiliere ich die News.au3 ohne Icon (Standardicon) hat es "nur" noch eine Größe von 417 KB.
Du verwendest bestimmt McAfee oder? Ich denke mal, das die Virenscanner ausschlagen, da ich die Scripte mit UPX packe.
Hmm ich weiß auch nicht, warum die Updater.exe usw nur als Virus erkannt werden. Ich habe den Source Code mal überflogen und finde nichts wie FileInstall etc. Villt liegt das an INetGetSource, INetGet oder INetGetSize. Die Support.exe wird bestimmt als Virus erkannt, da man damit E-Mails versenden kann?Virustotal links (Alte Version)
Virustotal links (Neue Version)
Die Reoprter.exe (Suppert.exe) wird bei der neuen Version auch als Virus erkannt. Besonders von MCAfee.
Vielleicht müsste man den Antivirus-Hersteller eine Mail schreiben, damit die Dateien das nächstemal nicht als Virus erkannt werden.
Edit: Besonders McAfee ,NOD32 und eSafe scheinen da etwas zu meckern. Die hatten/haben bestimmt eine schlechte Erfahrung mit AutoIt-Scripten gemacht (Scherzscripte, Viren...).

-
Hallo,
lohnt es sich überhaupt einen eigenen Installer zu schreiben?
Diese Frage habe ich mir gerade eben gestellt, denn es gibt doch auch Programme wie NSIS oder Inno Setup. Sollte man einen eigenen Installer schreiben, wenn man es kann oder sind die 2 Programme einfach besser?

-
Zitat
Ich muß auch GunFood was gestehen..... ich glaube die Serverausfälle hat das Script verursacht, weil file_get_content irgendwie net mag.
Mein Script????

Sry, aber ich verstehe den Zusammenhang von Deinen 2 letzten Beiträgen zu meiner Frage nicht
.Aber bestimmt ist hier ein kleiner Fehler passiert

-
-
Hmm ich bekomme leider nur eine leere MsgBox. Ist das nur bei mir so?
-
Unter Vista; NT und Windows 7 auch????