Was planst du denn genau zu machen?
MfG,
H2112.
Was planst du denn genau zu machen?
MfG,
H2112.
Also ich hab mir das angeschaut und muss sagen: TOP!
Da wir gerade Funktionen in Mathe durchnehmen (zum wiederholten Male ) ist das Programm genau das richtige für mich!
Was auch noch intressant wäre:
Nullstellenberechnung
Extremwertberechnung
Schnittpunktberechnung
MfG,
H2112.
Ich wollte mal fragen, wann die Auswetung 'ungefähr' fertig sein wird, bin sehr gespannt auf die Ergebnisse.
MfG,
H2112.
Schau dir mal diese Funktion an:
[autoit]FileInstall
[/autoit]Und das hier könnte dir auch helfen.
Ich kann mich auch an eine alternative für FileInstall erinnern, kann diese aber nirgends mehr finden.
MfG,
H2112.
Dann stell doch den Präfix auf gelöst.
MfG,
H2112.
Eine andere Möglichkeit ist mir nicht bekannt.
Außerdem darf man ruhig mal schummeln.
MfG,
H2112.
Edit:
!300! Posts! ;D
Er meinte damit, dass du über die Stelle, wo du die Farbe geändert haben willst, einfach ein Label drüberlegst und die Hintergrundfarbe des Labels veränderst.
z.B.:
[autoit]GUICtrlCreateLabel("", 0, 0, 100, 20)
GUICtrlSetBkColor(-1, 0xFF00FF)
MfG,
H2112.
Schau dir in der Hilfe mal den Befehl InputBox an.
Probier erst selbst mal, bevor du meine Lösung nimmst.
Global $Benutzername = InputBox("Benutzername", "Geben Sie bitte Ihren Benutzernamen ein.", @UserName)
Global $Passwort = InputBox("Passwort", "Geben Sie bitte Ihr Passwort ein.", "", "*")
Global $Pfad = "C:\Program Files\Internet Explorer\iexplore.exe"
[/autoit] [autoit][/autoit] [autoit]RunAs($Benutzername, @ComputerName, $Passwort, 0, $Pfad)
[/autoit]MfG,
H2112.
Edit:
Da war wohl einer schneller.
Wenn das Thema damit gelöst ist, und du keine Fragen mehr hast, stell im ersten Post den Präfix auf gelöst.
Danke.
MfG,
H2112.
Bitte.
Ja den Wert kann man ändern.
Wenn du dir in der Hilfe den Befehl AdlibRegister anschaust, wird es dir sofort klar werden. Einfach draufklicken.
MfG,
H2112.
Du meinst, wir machen es für dich mal leichter.
Zitat von HilfeErfolg: Gibt ein Array mit 5 Einträgen zurück, das die Cursor-Informationen enthält:
$array[0] = X-Koordinate (horizontal)
$array[1] = Y-Koordinate (vertikal)
$array[2] = Klick auf die erste Maustaste (üblicherweise links) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
$array[3] = Klick auf die zweite Maustaste (üblicherweise rechts) (1 wenn Maustaste gedrückt, 0 wenn nicht gedrückt)
$array[4] = ID des Controls, über dem sich der Mauszeiger gerade befindet (0 wenn nicht über einem Item)
Ich zerleg mal das If in für dich:
[autoit]If $pos[4] = $label1 And $Farbe = False Then
; Wenn der Mauszeiger über dem Label ist und die Variable $Farbe False ist, dann...
ElseIf $pos[4] <> $label1 And $Farbe = True then
; Wenn der Mauszeiger nicht über dem Label ist und die Variable $Farbe True ist, dann...
$pos[4] enthält immer die ID des Controles, über dem sich der Mauszeiger gerade befindet.
Und das solltest du jetzt aber wirklich verstanden haben, besser kann ichs dir nichtmehr erklären. :pinch:
MfG,
H2112.
Der Fehler liegt in der Funktion. Wenn du dir in der hilfe die Rückgabewerte anschaust, wird dir hoffentlich etwas auffallen.
Richtig, er gibt ein Array zurück, und ich hab versehentlich eine normale Variable benutzt.
Mit diesen Infos müsste du leicht den Fehler ausbessern können.
MfG,
H2112.
Ich will ja nichts sagen, aber ich hab es Global deffiniert, man muss nur genau schaun.
Aber ein Fehler ist mir trotzdem reingerutscht, den man aber leicht beseitigen könnte.
Ich lass ihn mal den Fehler suchen, damit er wieder was zu tun hat.
MfG,
H2112.
Ich krieg Augenkrebs. :wacko:
Ordne dein Skript mal an, damit man es auch lesen kann.
Drück in SciTE mal 'Strg + T' dass sollte dein Skript ein bisschen aufräumen.
Und dir ist schon klar, dass wenn du ihm jedesmal wenn die Funktion aufgerufen wird sagst, dass die Variable False ist, dass er nie das Else ausführen kann.
Mach den Spoiler erst auf, wenn du selber ein bisschen rumprobiert hast.
Global $Farbe = False
[/autoit] [autoit][/autoit] [autoit]Func _Hover_Label()
$pos = GUIGetCursorInfo()
If $pos[4] = $label1 And $Farbe = false Then
GUICtrlSetBkColor($label1, 0xFF0000)
$Farbe = True
ElseIf $pos <> $label1 And $Farbe = True then
GUICtrlSetBkColor($label1, -2)
$Farbe = False
;GUICtrlSetBkColor($label1, Default)
EndIf
EndFunc
MfG,
H2112.
Du nimmst eine Variable, die am Anfang False ist.
Wenn du nun mit der Maus über das Controle fährst, und die Variable False ist, soll die Farbe geändert werden, und die Variable auf True gesetzt werden.
Wenn die Maus nicht über dem Controle ist und die Variable True ist, soll die Farbe wieder in die standardtfarbe geändert werden, und die Variable soll wieder auf False gesetzt werden.
Und dass das so schwer sein soll, kannst du mir nicht einreden, immerhin bekommst du If-Abfragen ja auch hin.
Pinguin: Hatte ich wohl vergessen.
MfG,
H2112.
Hi,
AutoIt HAT eine Wurzel-Funktion ;-))
Das hat doch hier niemand angezweifelt?
Das Problem bei deiner Version ist, dass wieder nur 15 Nachkommastellen angezeigt werden, und genau das ist das Hauptproblem.
Es ist ja auch klar, dass das Label flackern muss.
Du gibst ihm immerhin jede viertel Sekunde eine neue Farbe.
Bau eine Variable ein, die überprüft, ob die Farbe schon gesetzt wurde, das müsste das flackern unterbinden.
MfG,
H2112.
PS:
Lasst ihn ruhig selber probieren.
Edit:
Um eine extreme CPU-Belastung zu vermeiden, würde ich dir empfehlen, ein Sleep in die Schleife zu geben.
Also die UDF ist dir mal wirklich gelungen!
Super Umsetzungen, strukturiert (auch wenn du noch ein paar Sachen zum Debuggen drinnen gelassen hast) und auf jeden Fall nützlich!
Und hier kommt jetzt ein bisschen Kritik:
Du musst nicht für jedes Bild, was du in die GUI zeichnen willst, eine neue Graphik erstellen.
Es reicht wenn du beim erstellen des Fensers eine Graphik erstellst, und die dann immer wieder benutzt.
Selbiges gilt für Strings.
Auch versteh ich nicht, warum du den Gradienten Hintergrund nicht mit GDI+ zeichnest, geht dort viel leichter damit.
Func _GDIPlus_BrushCreateLinear($iX1, $iY1, $iX2, $iY2, $iARGB1 = 0xFF000000, $iARGB2 = 0xFFFFFFFF)
Local $aResult, $start, $end, $sPoint, $ePoint
$start = DllStructCreate("int X;int Y")
DllStructSetData($start, "X", $iX1)
DllStructSetData($start, "Y", $iY1)
$sPoint = DllStructGetPtr($start)
$end = DllStructCreate("int X;int Y")
DllStructSetData($end, "X", $iX2)
DllStructSetData($end, "Y", $iY2)
$ePoint = DllStructGetPtr($end)
$aResult = DllCall($ghGDIPDll, "int", "GdipCreateLineBrushI", "ptr", $sPoint, "ptr", $ePoint, "int", $iARGB1, "int", $iARGB2, "int", 0, "int*", 0)
If @error Then Return SetError(@error, @extended, 0)
Return SetError(0, $aResult[0], $aResult[6])
EndFunc ;==>_GDIPlus_BrushCreateLinear
Die hohe CPU Auslastung kannst du vermeiden, indem du einfach ein ganz normales Sleep nimmst, oder ein Sleep in die Schleife einbaust.
Weil aufs Hundertstel genau muss es ja nicht sein, da es dem Anwender garnicht auffällt.
Gut fände ich auch noch, wenn beim Sliden nicht das ganze Skript blockiert werden würde.
Ansonsten absolut top!
MfG,
H2112.
Was soll es sich den bringen, haufenweiße PCs anzupingen?
MfG,
H2112.