sieh Dir mal IniRead und IniWrite an ...
Beiträge von Schnuffel
-
-
Anscheinend hat
[autoit]$Pic1 = GUICtrlCreatePic($Path, 88, 8, 592, 312, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
[/autoit]ein Problem, wenn die angegebenen Datei nicht existiert.
So geht es ...Spoiler anzeigen
[autoit]#include <ButtonConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$Path = @ScriptDir & "\wdimg.gif"
[/autoit] [autoit][/autoit] [autoit]$Form1 = GUICreate("Form1", 691, 331, 177, 230)
[/autoit] [autoit][/autoit] [autoit]
$Button1 = GUICtrlCreateButton("Temperatur", 8, 8, 75, 25, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Luftfeuchte", 8, 40, 75, 25, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Niederschlag", 8, 72, 75, 25, $WS_GROUP)
$Button4 = GUICtrlCreateButton("Windgeschw.", 8, 104, 75, 25, $WS_GROUP)
$Button5 = GUICtrlCreateButton("Windboen", 8, 136, 75, 25, $WS_GROUP)
$Button6 = GUICtrlCreateButton("Sonnenschein", 8, 168, 75, 25, $WS_GROUP)
$Button7 = GUICtrlCreateButton("Luftdruck", 8, 200, 75, 25, $WS_GROUP)
$Pic1 = GUICtrlCreatePic("", 88, 8, 592, 312, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
$Button8 = GUICtrlCreateButton("Aktualisieren", 8, 232, 75, 25, $WS_GROUP)
GUISetState(@SW_SHOW)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitCase $Button1
[/autoit]
FileDelete($Path)
InetGet("http://www.wetter-haltern.de/wetter/charts/mini_currentt.gif", $Path, 0)
GUICtrlSetImage($Pic1, $Path)
FileDelete($Path)
EndSwitch
WEnd -
Du willst ein Image setzen, dass wahrscheinlich in dem Moment noch nicht vollständig geladen ist...
[autoit]
Verwende:InetGet("http://www.wetter-haltern.de/wetter/charts/mini_currentt.gif", $Path, 0)
[/autoit] -
ich selber hatte das etwas aufwendiger gelöst.
Ich hatte das Inputfeld über WM_COMMAND abgefragt und dann eine Funktion zeit_prüfen() aufgerufen.
Damit wurde an der Inputbox nur etwas geändert, wenn man auch eine Eingabe machte oder Tab drückte, etc
So unterbindet man das flackern.
Im Moment wird das Input ja ständig über die While-Schleife neu mit Daten "befüllt", daher das flackernDa ich das in einem komplexeren Zusammenhang mal geproggt hatte,
habe ich ja auch geschrieben das das ein Ansatz sein soll und keine EndlösungEdit:
mal ein Ansatz... ohne flackern und begrenzt auf Länge der UhrzeitSpoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <EditConstants.au3>
$Frm = GUICreate("Input Filter", 300, 30, -1, -1)
Global $INPUT = GUICtrlCreateInput("", 5, 5, 290,21,0x2000)
GUICtrlSetLimit(-1, 5)
Global $INPUT_ALT = ""
; to select a specific default format
$DTM_SETFORMAT_ = 0x1032
$style = "hh:nn"
GUICtrlSendMsg($INPUT, $DTM_SETFORMAT_, 0, $style)
GUISetState(@SW_SHOW)
While GUIGetMsg() <> $GUI_EVENT_CLOSE
If $INPUT_ALT <> GUICtrlRead($INPUT) Then
$INPUT_ALT = GUICtrlRead($INPUT)
$inhalt_pur=StringReplace(StringReplace(GUICtrlRead($INPUT), " ", ""), ":", "")
Switch StringLen($inhalt_pur)
Case 1
Switch $inhalt_pur
Case 1 To 2
GUICtrlSetData($INPUT, $inhalt_pur & " :")
Send("{LEFT 2}")
Case 3 To 9
GUICtrlSetData($INPUT, "0" & $inhalt_pur & ":")
EndSwitch
Case 2
Switch $inhalt_pur
Case 0 To 23
GUICtrlSetData($INPUT, $inhalt_pur & ":")
Case Else
GUICtrlSetData($INPUT, "")
GUICtrlSetState($INPUT, $GUI_FOCUS)
EndSwitch
Case 3
Switch StringRight($inhalt_pur, 1)
Case 0 To 5
GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":" & StringRight($inhalt_pur, 1))
Case Else
GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":")
EndSwitch
EndSwitch
EndIfWEnd
[/autoit] [autoit][/autoit] [autoit][/autoit]
MsgBox(0, "Time", GUICtrlRead($INPUT)) -
hier mal ein Ansatz zum Basteln...
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit]
#include <WindowsConstants.au3>
#include <EditConstants.au3>
$Frm = GUICreate("Input Filter", 300, 30, -1, -1)
Global $INPUT = GUICtrlCreateInput("", 5, 5, 290,21,0x2000)
; to select a specific default format
$DTM_SETFORMAT_ = 0x1032
$style = "hh:nn"
GUICtrlSendMsg($INPUT, $DTM_SETFORMAT_, 0, $style)
GUISetState(@SW_SHOW)
While GUIGetMsg() <> $GUI_EVENT_CLOSE
$inhalt_pur=StringReplace(StringReplace(GUICtrlRead($INPUT), " ", ""), ":", "")
Switch StringLen($inhalt_pur)
Case 1
Switch $inhalt_pur
Case 1 To 2
GUICtrlSetData($INPUT, $inhalt_pur & " :")
Send("{LEFT 2}")
Case 3 To 9
GUICtrlSetData($INPUT, "0" & $inhalt_pur & ":")
EndSwitch
Case 2
Switch $inhalt_pur
Case 0 To 23
GUICtrlSetData($INPUT, $inhalt_pur & ":")
Case Else
GUICtrlSetData($INPUT, "")
GUICtrlSetState($INPUT, $GUI_FOCUS)
EndSwitch
Case 3
Switch StringRight($inhalt_pur, 1)
Case 0 To 5
GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":" & StringRight($inhalt_pur, 1))
Case Else
GUICtrlSetData($INPUT, StringLeft($inhalt_pur, 2) & ":")
EndSwitch
EndSwitch
WEnd
MsgBox(0, "Time", GUICtrlRead($INPUT)) -
Hallo sc4ry,
zu 1. :
[autoit]HotKeySet("{ESC}","_ToogleHide")
[/autoit] -
ich hab doch in der Shoutbox schon geschrieben:
Such mal nach der ModernMenu.au3... ??? -
wenn Du das kleine "o" nimmst ...
Spoiler anzeigen
[autoit]Dim $key[1][2] = [["^o", $item_oeffnen]]
[/autoit] -
also alexgeforce,
mein Link ist getestet und funktioniert.Den einzigen Grund den ich sehe, das Du die Forenregeln nicht "sehen" kannst ist der,
dass Du diese nicht sehen willst...Da wird das Eis dann schon dünn...
-
-
Hier nochmal der Link zu den Forenregeln: Link
-
naja, der Link von Xeno verweist auf einen Thread der ein Script beinhaltet,
mit dem man mittels WinAmp Sounds streamen kann.Ich kann Deine Erwartungshaltung nicht ganz verstehen...
ZitatBräuchte ne UDF mit :
_StreamSound
_PlayStreamSound
_SendStreamSoundIch gehe mal davon aus, dass es keine Kleinigkeit ist einen Streming-Server zu proggen.
Kannst aber gerne damit anfangen
-
du kannst den Obfuscator verwenden um Dein Script beim Compilieren schwerer lesbar zu machen.
Ein direktes Verhindern des Decompilierens gibt es nicht. -
vielleicht hilft Dir das weiter...
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
GUICreate('')
GUISetState()
Global $var_function = "testfunction", $var_newkey
Global $var_hotkey = "b"hotkeyset_update($var_hotkey,$var_function)
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndFunc hotkeyset_update($var_newkey, ByRef $var_function)
[/autoit] [autoit][/autoit] [autoit]
HotKeySet($var_hotkey)
HotKeySet($var_newkey,$var_function)
EndFuncFunc testfunction()
[/autoit] [autoit][/autoit] [autoit][/autoit]
MsgBox(0, '', 'HotKey ist gesetzt auf Taste: '&$var_hotkey&@CRLF&'HotKey ist gesetzt auf Funktion: '&$var_function)
EndFunc -
-
und ein Wiki
gibt es auch noch -
du musst das AdlibEnable schon vor der While-Schleife aufrufen...
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <StaticConstants.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Form1", 633, 454, 193, 115)
[/autoit] [autoit][/autoit] [autoit]
$1 = GUICtrlCreateLabel("Label1", 48, 104, 44, 17)
GUISetState(@SW_SHOW)
AdlibEnable("a1",1000)While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
ExitEndSwitch
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
WEndFunc a1 ()
[/autoit]
GUICtrlSetData($1,@HOUR & ":" & @MIN & ":" & @SEC)
Endfunc -
sieh dir in der Hilfe mal AdlibEnable an.
Damit kannst Du eine Funktion aufrufen, die z.B. alle 1000ms das Label deiner Gui aktualisiert mit @Hour, @Min, .... -
na wenn Du die Zeit in Deinem Gui aktualisierst, dann wirst Du das wohl mit AdlibEnable oder einer While-Schleife machen.
Pack doch einfach die $pos = WinGetPos...... in diese Schleife
und schiebe Deine Gui dabei mit WinMove..... -
Also soweit ich das jetzt "gegoogelt" habe wird static auch nur benutzt,
um einer globalen Variable die Count-Funktion zu setzen.
siehe: LinkMein Vorschlag ohne Deklaration einer Variable ausserhalb der Funktion wäre folgender:
Spoiler anzeigen
[autoit]#include <GUIConstants.au3>
[/autoit]
While 1
$msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
Exit
EndSelect
If Not IsDeclared ("counter") then
MsgBox(0,"", "$Counter is NOT declared") ; $a has never been assigned
Global $counter = True
Else
MsgBox(0,"", "$Counter is declared")
EndIf
WEnd