Dein Fehler ist, dass der Input kein Msg zurückgibt, wenn er angeklickt wird - er gibt dies lediglich zurück, wenn die Entertaste gedrückt wird und der Input dabei den Focus hat.
Beiträge von stayawayknight
-
-
Der Abstand zwischen zwei Punkten lässt sich über den Satz des Pythagoras (schreibt man den so?) berechnen:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <Math.au3>Func _Abstand($X1, $Y1, $X2, $Y2)
[/autoit]
Return Sqrt(((_Max($X1, $X2) - _Min($X1, $X2)) ^ 2) + (((_Max($Y1, $Y2) - _Min($Y1, $Y2)) ^ 2)))
EndFuncDas funktioniert so:
Stell dir eine Linie zwischen den beiden Punkten vor. Über diese beiden Punkte zeichnest du das Steigungsdreieck der Linie. Die Werte der Linienlängen des Steigungsdreiecks hast du ja, indem du den größeren X bzw. Y Wert mit kleineren X bzw. Y Wert subtrahierst. Diese Längen nun zum Quadrat nehmen (es gilt ja a² + b² = c²), addieren und das Ergebnis wurzeln (gibt es dieses Verb? Mal im Duden nachschlagen).Ich denke jetzt dürfte das kein Problem mehr sein, du solltest einfach immer abfragen, wie lang die Linie ist und ob sie den Radius des Kreises überschreitet.
-
das ist aber schon keine feedback mehr
Ich nehme mal stark an, dass die Erwartungen zu hoch geschraubt waren, also du in der Shoutbox die Exe angepriesen hast. Außerdem sind die meisten Leute hier nicht immer positiv gestimmt, wenn kein Script anliegt.Möchte jetzt hier auch gar nicht Herr Geißler spielen, werde mich jetzt mal hier heraushalten - vielleicht soltle sich ein Pu oder Mod mal hier drum kümmern.
-
Zitat
schreib doch selber eins wenst es viel besser kannst genau sowie die anderen
Jetzt sei doch nicht eingeschnappt, ich dachte du wolltest Feedback (warum postest du es sosnt hier?) und das hast du bekommen. Das man sich an den "Ehrenkodex" hält, und das Script postet, ist doch wohl selbstverständlich.
Es ist bestimmt auch eine gute Übung, um mit GDI+ zurechtzukommen.Du kannst das mit den Mauskoordinaten übrigens erreichen,
[autoit]
wenn duOpt("MouseCoordMode", 2)
[/autoit]
an den Scriptanfang setzt. -
dafür benutzt man eher GDI+ o.Ä.
Ich dachte, dass er GDI+ bereits benutzt hat? Mit Labels würde die Performance mehr leiden. -
Das hilft leider nichts, wenn es bei dir nicht flackert, bei mir flackert es ebenfalls.
Außerdem wäre ein Sourcecode, wie angesprochen (vor allem um die Virengefahr vorzubeugen) sehr hilfreich - genauso wie eine etwas ausführlichere Beschreibung.
Das Script sowie die .Exe kannst du übrigens auch an deinen Beitrag anhängen, dann sparst du dir das hochladen bei einem Freehoster.
Sonst ganz nett, folgende Kritikpunkte fallen mir sonst auf:1. Es flackert
2. Kaum Features
3. Gui ist nicht wirklich sauber.
4. Du benutzt Koordinaten relativ zum Desktop - ändere das in das aktive Fenster um - ansonsten zeichnet er an der falschen Stelle, wenn ich das Fenster verschiebe. -
Du solltest dir die Funktion bzw. den Sinn und Zweck einer Funktion anschauen - du kannst keine Funktion innerhalb einer Schleife deklarieren, du kannst sie nur in einer Schleife aufrufen!
Hier findest du entsprechende Hinweise und Erklärungen:
Zitat von autoBert
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/Tutorial
Sehr hilfreich ist auch das Buch von peethebee
-
Zu "GuiD" fällt mir nur folgendes ein: http://en.wikipedia.org/wiki/GUID_Partition_Table
Die genannten WinApibefehle gibt es jedoch trotzdem nicht.Edit: Doch, die Funktion gibt es, sie wurde von bernd670 erstellt:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#Include <WinAPI.au3>MsgBox(0, "", _WinAPI_CreateGUID())
[/autoit] [autoit][/autoit] [autoit];===============================================================================
[/autoit] [autoit][/autoit] [autoit]
; Name: _WinAPI_CreateGUID
; Description: Erzeugt eine neue GUID
; Parameter(s): keine
; Requirement(s): _WinAPI_StringFromGUID aus WinAPI.au3
; Return Value(s): GUID als String
; Author(s): bernd670
;===============================================================================
Func _WinAPI_CreateGUID()
Local $tGUID, $aResult$tGUID = DllStructCreate($tagGUID)
[/autoit] [autoit][/autoit] [autoit]
$aResult = DllCall("OLE32.DLL", "long", "CoCreateGuid", "ptr", DllStructGetPtr($tGUID))Return SetError($aResult[0] <> 0, 0, _WinAPI_StringFromGUID(DllStructGetPtr($tGUID)))
[/autoit]
EndFunc -
Ich geb dir mal einen Tipp: Mit
[autoit]Return
[/autoit]kannst du eine Funktion frühzeitig beenden.
-
.h. irgendwo in ner include in irgendeinem Objekt...^^
Das hat Oscar ja auch gemeint, so wie ich das lese.
Dann schaust du halt in den Includes nach, wo dort entsprechende Objektaufrufe gemacht werden, Zeile hast du vorliegend.
Soviele Includes wirst du wohl kaum haben, dass du die nicht in ein paar Minuten alle auf eine bestimmte Zeile prüfen kannst. -
Sehr schöne Umsetzung!
Du könntest dich ja mal an GDI+ ranwagen, dann kann das optisch sogar noch besser werden....
Aber so kann ich keinen Fehler o.ä. entdecken! -
Inelukis Beispiel enthält übrigens einen Fehler, es muss
[autoit]
[/autoit]
$var=Random(1,4,1)
If $var=1 or $var=2 Then
MsgBox(0, "", "var ist 1 oder 2")
ElseIf $var=3 or $var=4 Then
MsgBox(0, "", "var ist 3 oder 4")
EndIf
heißen. -
Bei mir funktioniert nichts, ich drücke auf übersetzen und nichts passiert?
Einen Text hab' ich eingegeben.
Edit: Über die Menübuttons funktioniert es; aber im Prinzip ist ja es ja nur der Standartalgorhythmus der Stringfunktionen und kein eigener... trotzdem für Nicht-Autoitler bestimmt brauchbar! -
[autoit]
If GuiCtrlRead($Control) = "" Then
[/autoit]
MsgBox(16, "", "Leer ist böse!")
EndIf
Zum Beispiel. -
Heartly Luckwish to your Bornday!
-
Sieh dir für die Musik mal die Funktion
[autoit]_SoundPlay
[/autoit]an.
Für die Gui:
Du solltest beim Bestätigen prüfen, ob alle Felder entsprechend ausgefüllt sind, ansonsten meldest du, dass dir die Angaben nicht reichen. -
-
Klasse Idee!
"Leider" scheint mir Oscars Variante jedoch die bessere zu sein, da diese Art von MsgBox alle weiteren MsgBoxfunktionen einschließt.
Danke dir Oscar, jetzt weiß ich wie man MsgBoxen nach Belieben verändern kann! -
Klasse!
Keine Bugs, funktioniert einwandfrei und sauber, schnell... keine Mängel! -
Hänge bitte die Includes an, die nicht zum Standart von AutoIt gehören - ich kann das Script so leider nicht testen.