Also es ist keine schöne GUI - Lösung, aber ich habe es bei einem ähnlichen Fall mal mit einem ToolTip versucht, der kommt (wenn auch blinkend und verwackelt) bei einem Spiel "durch" ....... versuchs mal
-->> ToolTip($uhrzeit, 500, 500)
Also es ist keine schöne GUI - Lösung, aber ich habe es bei einem ähnlichen Fall mal mit einem ToolTip versucht, der kommt (wenn auch blinkend und verwackelt) bei einem Spiel "durch" ....... versuchs mal
-->> ToolTip($uhrzeit, 500, 500)
Auch wenn ich die Konkurrenz hier etwas scheue ...... ich werde mal einen Versuch starten
Deklarieren ?
Local ?
Global?
bitte Skript oder Glaskugel anfügen!!
Gibt´s denn schon eine Auswertung, bin gespannt auf die Lösungsansätze .............
Erstmal großes Lob ... das sieht echt schon super aus, Respekt!
und zu der Berechnung - wäre es nicht einfacher die Koordinaten der Felder einmal zu berechnen und in einem Array
abzuspeichern? Dann müßtes Du "nur" die möglichen Züge prüfen und nicht immer rechnen!?!
Hmmmm ....
herzlichen Dank für das funktionierende Beispiel, aber irgendwie ist die Handhabung nicht konsequent gelöst, ich kann schreiben via Handle und Name, nur beim Löschen nicht???
gibts da eine nachvollziehbare Erklärung, liegt das am internen Handling dieser Variablen/Handles ??? ![]()
Hallo ihr Alle,
ich habe das Forum breits durchsucht und die Hinweise getestet, trotzdem habe ich folgendes Problem:
wenn ich in Files schreibe und diese löschen möchte, funktioniert das nur, wenn ich nicht Open/Close verwende, gibts dafür eine Erklärung?
anbei meine Testscripts
FUNKTIONIERT:
Local $file_r = @ScriptDir & "\zwi.rrr"
Local $file_m = StringTrimRight($file_r, 3) & "mmm"
Local $file_zwi = StringTrimRight($file_r, 3) & "zwi"
Local $file_cha = StringTrimRight($file_r, 3) & "cha"
FileWriteLine($file_r, "Test")
FileWriteLine($file_m, "Test")
FileWriteLine($file_zwi, "Test")
FileWriteLine($file_cha, "Test")
MsgBox(1,"","Pause")
[/autoit] [autoit][/autoit] [autoit]FileDelete($file_r)
FileDelete($file_m)
FileDelete($file_zwi)
FileDelete($file_cha)
FUNKTIONIERT NICHT:
Local $file_r = @ScriptDir & "\zwi.rrr"
Local $file_m = StringTrimRight($file_r, 3) & "mmm"
Local $file_zwi = StringTrimRight($file_r, 3) & "zwi"
Local $file_cha = StringTrimRight($file_r, 3) & "cha"
$test1=FileOpen($file_r, 2)
MsgBox(1,"",$test1)
$test2=FileOpen($file_m, 2)
MsgBox(1,"",$test2)
$test3=FileOpen($file_zwi, 2)
MsgBox(1,"",$test3)
$test4=FileOpen($file_cha, 2)
MsgBox(1,"",$test4)
FileWriteLine($test1, "Test")
FileWriteLine($test2, "Test")
FileWriteLine($test3, "Test")
FileWriteLine($test4, "Test")
MsgBox(1,"","Pause")
[/autoit] [autoit][/autoit] [autoit]$test=FileDelete($test1)
MsgBox(1,"",$test)
$test=FileDelete($test2)
MsgBox(1,"",$test)
$test=FileDelete($test3)
MsgBox(1,"",$test)
$test=FileDelete($test4)
MsgBox(1,"",$test)
FUNKTIONIERT NICHT:
Local $file_r = @ScriptDir & "\zwi.rrr"
Local $file_m = StringTrimRight($file_r, 3) & "mmm"
Local $file_zwi = StringTrimRight($file_r, 3) & "zwi"
Local $file_cha = StringTrimRight($file_r, 3) & "cha"
FileOpen($file_r, 2)
FileOpen($file_m, 2)
FileOpen($file_zwi, 2)
FileOpen($file_cha, 2)
FileWriteLine($file_r, "Test")
FileWriteLine($file_m, "Test")
FileWriteLine($file_zwi, "Test")
FileWriteLine($file_cha, "Test")
MsgBox(1,"","Pause")
[/autoit] [autoit][/autoit] [autoit]FileClose($file_r)
FileClose($file_m)
FileClose($file_zwi)
FileClose($file_cha)
$test=FileDelete($file_r)
MsgBox(1,"",$test)
$test=FileDelete($file_m)
MsgBox(1,"",$test)
$test=FileDelete($file_zwi)
MsgBox(1,"",$test)
$test=FileDelete($file_cha)
MsgBox(1,"",$test)
Es liegt auch nicht an dem Parameter, mit dem ich die Dateien öffne ... alles getestet!
Hat jemand eine Erklärung dafür (ich will ja nur korrekt programmieren, pfuschen klappt ja
)
-- Lösung siehe Post 3 --
Hi,
aus eigener Erfahrung würde ich mal vermuten, dass Deine Farbe nicht immer exakt dem Hex-Wert entspricht, den Du abfragst!?! Das kannst Du ja mal testen, indem Du Dir die tatsächlichen Farbwerte ausgeben läßt.
Ich nehme in solchen Fällen lieber
PixelSearch ( left, top, right, bottom, colour [, shade-variation [, step [, hwnd]]] )
da kannst Du über die "shade-variation" ein gewisses farbspektrum abfragen, das klappt meist besser ............
Hmmmm ...... da ist wohl was falsch rübergekommen;
also 2. Versuch:
ich möchte einfach gerne statt des Standard-Aussehens der GUI andere Button, andere Farben, andere Formen der Controls oder ähnliches verwenden, um auch dem Auge was zu bieten (DESIGN), die Funktionen und deren Erläuterung (FUNKTIONALITÄT) habe ich denke ich im Griff ![]()
.... und da dieses Anliegen sicher mehrere haben, hat sich sicher jemand schon ein Tool dafür geschrieben, oder ein Tutorial verfaßt, oder oder oder ....
EDIT: Bin mal bei der ausländischen Konkurrenz unterwegs gewesen, konnte es noch nicht testen, sieht aber vielversprechend aus
---->>>> Thread XSKIN
Hallo Forum,
ich bin nun schon etwas länger hier unterwegs, und bin immer wieder erstaunt über die spannenden und kreativen Lösungen, die sich manche einfallen lassen! Und auch über die oft sehr individuelle Gestaltung der GUI´s, da hänge ich noch in den Anfängen.
Deshalb meine Frage an die "alten Hase"; gibts es Beispiele, Tips oder Tools zur GUI-Gestaltung (Farbe, Buttons etc.), wobei ich nicht die Funktionalität meine sondern das reine Design.
Bei meiner Suche im Forum habe ich leider nichts gefunden ....
CU
Ich hab mal etwas in der Art gemacht, habe es mal schnell nachempfunden weil ich das Original nicht
gefunden habe, also nicht meckern wegen Stil oder Optik etc.
#include <Misc.au3>
HotKeySet( "^{a}", "a") ; <-- Aufzeichnen
HotKeySet( "^{s}", "s") ; <-- Abspielen
Global $a_x[2], $a_y[2]
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(200)
WEnd
Func a()
Local $z = 1, $merker = 0
$dll = DllOpen("user32.dll")
ReDim $a_x[2], $a_y[2] ; <-- Löschen des Array
While 1
While _IsPressed("01", $dll) ; <-- solange Taste gedrückt ist
$merker = 1
$pos = MouseGetPos()
$a_x[$z] = $pos[0]
$a_y[$z] = $pos[1]
$z +=1
ReDim $a_x[$z+1], $a_y[$z+1]
Sleep(100)
WEnd
If $merker = 1 Then ; <-- wenn Taste gedrückt war
DllClose($dll)
Return
EndIf
WEnd
EndFunc
Func s()
For $z = 1 To UBound($a_x) - 2
MouseMove($a_x[$z], $a_y[$z], 15)
next
EndFunc
Hilft das vielleicht?
also ich kenne das Problem auch .... die Pixelerkennung ist nicht universell einsetzbar!!
Daher kalibrieren, eine (oder besser die!) Beispieldatei, Bildausschnitt etc. einmal bei der Installation "einscannen", den Wert in einer Ini-Datei ablegen, und dann
bei jedem Programmaufruf einfach einlesen -->>> klappt 100%
und um Kohl zu zitieren: "You can say You to me too!"
So wie ich Dein Skript verstehe, möchtst Du während die Dateien gelöscht werden eine Art Fortschrittsanzeige haben ....
vielleicht solltest Du den Funktionsaufruf lieber in die "Lösch-Schleife" packen, und nicht über Adlib !?!
nimm doch mal eine andere Frequenz (z.B. 200), 3000 ist ja was für Fledermäuse ![]()
Das Script tut was es soll, es liest die Section aus ......... und wenn sie leer ist, dann kommt die fehlermeldung; also völlig OK
Werte doch die @ERROR-Meldung aus, die IniReadSection bringt:
Fehler: Setzt @error auf 1, wenn die Sektion nicht gelesen werden kann (Die .ini-Datei oder die Sektion könnte nicht existieren)
-->> If NOT @error Then For $i = ...................
Vielen Dank .... das war´s!!
Hi,
ich habe die Funktion mal getestet, klasse gemacht BugFix, aber wenn ich das Enddatum im aktuellen Jahr wähle (2009), dann kommt der Algo zu keinem Ergebnis, es erfolgt keine Ausgabe?!?
habe nur ich das Problem?
Klar..... ich bin in Eile, deshalb mal Progi-Slang ![]()
- den Check baust Du in die Switch-Anweisung Deiner GUI ein
wenn Button BlaBla THEN Check()
IF alles OK Then weiter
ELSE wieder GUI
- Hauptprogramm
$begin = TimerInit()
while 1
$dif = TimerDiff($begin)
IF $dif > $zeit * 1000 THEN mouse()
sleep(100); wegen der Prozessor-Auslastung
wend
func mouse()
$pos = MouseGetPos()
$status_taste = ???????? ; bastel mal
mousearray[$zaehelr][$pos[0]][$pos[1][$status_taste]
$zaehler += 1
$begin = TimerInit()
endfunc
so etwa ............
Alles anzeigenhabe ich einen denkfehler? xD
also eingabe: 2 Sekunden
---------------------------
(variable $zeit = 2)
---------------------------
$zeit = $zeit * 1000
---------------------------
(variable $zeit = 2000)
---------------------------
while 1
$zeit = $zeit - 1
Wend
JA !!
Du kannst die Variable auch Müsli nennen, aber es wird nur eine Rechenoperation ausgeführt, und keine Zeit gemessen.
Und wenn Du in der Schleife z.B. eine Internetseite aufrufen würdest, würde das zwar genau 2000 Mal passieren, aber
vermutlich würde es etwas länger dauern ![]()