Sorry zurück,
ich habe Dich nur zitiert
ZitatGibt es da spezielle Funktionen mit denen ich ein Rechteck, anklickbar machen kann?
Sorry zurück,
ich habe Dich nur zitiert
ZitatGibt es da spezielle Funktionen mit denen ich ein Rechteck, anklickbar machen kann?
schau mal in der Hilfe unter "Inhalt --> Language Referenz --> Operators" ...
Kannst Du mit Deinem Script externe Seiten aufrufen, z.B. www. google.de?
Bei mir geht das...
Ich versuche nur einzugrenzen, wo der Fehler liegen könnte.
Bin im Moment überfragt, sorry.
Kannst Du das nicht mit
GuiCtrlSetOnEvent
lösen?
Nach jeder Deklaration eines Rechteckes setzt Du GuiCtrlSetOnEvent.
In der Funktion kannst Du ja dann prüfen, welche CtrlID angeklickt wurde ...
versuche es mal so:
HotKeySet ("{F5}" , "Start")
HotKeySet ("{ESC}" ,"Ende")
Global $antwort[4] = ["3","hallo","hi","huhu"]
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep (100)
WEnd
Func Start ()
MsgBox (0,"",$antwort[Random(1,4)])
EndFunc
Func Ende ()
Exit
EndFunc
also ich habe noch den IE6 drauf und arbeite mit Win Xp Pro SP3.
Vielleicht hilft Dir das weiter.
Das es an Deinem Script liegt, glaube ich nicht.
Hmmm,
ich kann Dir nur sagen, dass es bei mir ohne Probleme mit Deinem Script funktioniert.
Der Fehler muß woanders liegen (Firewall, ...)
ich fürchte nein, aber Du kannst mein kleines Script verwenden.
$begin = TimerInit()
sleep(3000)
$dif = TimerDiff($begin)
MsgBox(0,"Time Difference",_MinToTime(Floor($dif/60000)))
; #INDEX# =======================================================================================================================
; Title .........: TimeMin
; AutoIt Version: 3.2.3++
; Language: English
; Description: Functions that assist with Time calculation.
; ===============================================================================================================================
; ------------------------------------------------------------------------------
;
; AutoIt Version: 3.0
; Language: English
; Description: Functions that assist with Time management.
;
; ------------------------------------------------------------------------------
; #FUNCTION# ====================================================================================================================
; Name...........: _TimetoMin()
; Description ...: Change the format from Time to Minutes like: 08:45 --> +525
; Syntax.........: _TimetoMin($msg)
; Parameters ....: $msg - Time to convert, format: "(+/-)05:04"
; Return values .: Success - Time in minutes with "+/-digits"
; Failure: @error - 1 = Function called with wrong Parameter (not in format (+/-)hh:mm)
; Author ........: Oliver Zimmermann <o_z at gmx dot net>
; Modified.......:
; Remarks .......: If called with prefix then the function returns incl. prefix (+/-), otherwise without prefix
; Related .......: _MintoTime()
; Link ..........;
; Example .......; No
; ===============================================================================================================================
Func _TimetoMin($msg)
Local $vz, $Mins1, $Mins2, $sumtoMin
If StringLeft($msg,1)="+" Then
$msg=StringTrimLeft($msg,1)
ElseIf StringLeft($msg,1)="-" Then
$vz="-"
$msg=StringTrimLeft($msg,1)
EndIf
$msg=StringSplit($msg,":")
If @error=1 Then
setError(1)
Return 0
EndIf
If StringIsDigit($msg[1])=0 Or StringIsDigit($msg[2])=0 Or $msg[2]>59 Then
setError(1)
Return 0
EndIf
$msg[1]=$msg[1]*60
$sumtoMin=$msg[1]+$msg[2]
If $vz="" Then $vz="+"
$msg=0
setError(0)
Return($vz&$sumtoMin)
EndFunc
; #FUNCTION# ====================================================================================================================
; Name...........: _MintoTime()
; Description ...: Change the format from minutes to Time format like: 08:45 --> +525
; Syntax.........: _MintoTime($msg)
; Parameters ....: $msg - Minutes to convert, format: "+/-digits"
; Return values .: Success - Time in format "+/-hh:mm"
; Failure: @error - 1 = Function called with wrong Parameter (not in format (+/-)digits)
; Author ........: Oliver Zimmermann <o_z at gmx dot net>
; Modified.......:
; Remarks .......: If called with prefix then the function returns incl. prefix (+/-), otherwise without prefix
; Related .......: _TimetoMin()
; Link ..........;
; Example .......; No
; ===============================================================================================================================
Func _MintoTime($msg)
Local $Hours, $Mins, $vz
If StringLeft($msg,1)="+" Then
$msg=StringTrimLeft($msg,1)
$vz=""
ElseIf StringLeft($msg,1)="-" Then
$vz="-"
$msg=StringTrimLeft($msg,1)
EndIf
If StringIsDigit($msg)=0 Then
SetError(1)
Return(0)
EndIf
$Hours=StringSplit($msg/60,".")
$Mins=$msg-($Hours[1]*60)
If $Mins<10 Then $Mins="0"&$Mins
If $Hours[1]<10 Then $Hours[1]="0"&$Hours[1]
$msg=0
setError(0)
Return ($vz&$Hours[1]&":"&$Mins)
EndFunc
oder aber hier ein Beispiel aus dem engl. Forum:
#include <GUIConstantsEX.au3>
#include <WindowsConstants.au3>
#include <SliderConstants.au3>
;Global Const $WM_HSCROLL = 0x0114
;Global Const $WM_VSCROLL = 0x0115
$Gui = GuiCreate("Slider Update Demo", 250, 200)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_HSCROLL, "WM_HVSCROLL")
GUIRegisterMsg($WM_VSCROLL, "WM_HVSCROLL")
$Vertical_Label = GUICtrlCreateLabel("Vertical Slider Read: 0", 20, 20, 200)
$Horizontal_Label = GUICtrlCreateLabel("Horizontal Slider Read: 0", 80, 120, 200)
$Vertical_Slider = GUICtrlCreateSlider(20, 50, 30, 120,BitOr($GUI_SS_DEFAULT_SLIDER, $TBS_VERT))
GUICtrlSetData($Vertical_Slider,100)
$Horizontal_Slider = GUICtrlCreateSlider(60, 150, 160, 30)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
$Msg = GUIGetMsg()
Switch $Msg
Case -3
Exit
EndSwitch
WEnd
Func WM_HVSCROLL($hWndGUI, $MsgID, $WParam, $LParam)
Switch $LParam
Case GUICtrlGetHandle($Vertical_Slider)
$Vertical_val=100-GUICtrlRead($Vertical_Slider)
ConsoleWrite($Vertical_val&@LF)
GUICtrlSetData($Vertical_Label, "Vertical Slider Read: " & $Vertical_val)
Case GUICtrlGetHandle($Horizontal_Slider)
GUICtrlSetData($Horizontal_Label, "Horizontal Slider Read: " & GUICtrlRead($Horizontal_Slider))
EndSwitch
EndFunc
Ansonsten seh Dir mal die Funktion:
_GUICtrlSlider_Create
an, da gibt es mehr Optionen...
Zitatdie dann nur von der 1. äußeren Funktion nutzbar ist?
ich verstehe dein Problem auch nicht...
mach das doch einfach so:
func main_1()
while 1
if irgendetwas then
sub_main_1()
endif
sleep(1)
wend
endfunc
func sub_main_1()
;die soll dann nur von der sub_main_1 angesprochen werden
endfunc
@10UR
wenn Du Dein Programm mit der selben Kreativität schreiben würdest,
wie Du Thread's erstellst, dann müsstest Du für Dein Prog den Nobelpreis bekommen.
Der Titel ist auf jeden Fall echt gut gewählt.
Aber:
Setzt Dich Dein Papa wegen Deinem "Vesprechen" schon so unter Druck ...
Wieso fängst Du nicht einfach an. Dir wird dann schon geholfen.
schau mal in der Hilfe unter StringLen
Edit: uuuppssss, zu langsam
ein Hoch auf Gary Frost...
hier ist der Link
Vielleicht kannst Du Dir mit Hilfe von DevCon von MS noch was zaubern...
Die für Dich interessante Classe dürfte DiskDrive sein.
Meinst Du das Dein Ton mit 50Hz beginnen und mit 19000 Hz enden soll und das innerhalb von 20 sec.?
Das nennt man Pitchen.
Ob Audacity das kann weiß ich aber nicht
Edit:
Hab ich gerade bei Google gefunden: Link
Andernfalls musst Du den korrekten Pad zu Deiner Datei halt mit angeben bei FileInstall.
Das geht auch.
z.B. FileInstall("C:\Smiley.jpg",@TempDir&"\")
PS eine Liste aller verwendbaren Makros gibt es in der Hilfe und Online: Link
also, die Grafik Smiley.jpg liegt laut meiner Annahme FileInstall("Smiley.jpg",@TempDir&"\")
im selben Verzeichnis wie Dein Script.
Beim Compilieren wird die Datei in die exe eingebunden und muß nirgendwo mehr liegen.
Wenn Du dann Dein Programm startest wird die Datei in das angegebene Verzeichnis entpackt.
In meinem Beispiel @TempDir
Wenn Du Dein Script nur zum Testen aufrufst, wird die Datei einfach kopiert in das angegeben Verzeichnis.
D.h. solange Du mit deiner au3-Datei experimentierst sollte die Datei auch weiterhin in dem selben Verzeichnis liegen.
Hallo AutiIT-Leihe.
Du mußt für Deine Frage nicht gleich 2 Threads aufmachen.
Bisher hat noch jeder auf seine Frage eine brauchbare Antwort bekommen.
Auch wenn er nur einen Thread aufgemacht hat.
Manchmal brauchen die Dinge eben etwas Zeit.
Hallo AutoIT-Leihe,
ich würde das so machen.
Mit FileInstall bindest Du das Bild in die exe.
Beim Starten wird das Bild in das temp-Verzeichnis entpackt und aufgerufen.
#include <GuiConstantsEx.au3>
FileInstall("Smiley.jpg",@TempDir&"\")
; GUI
GuiCreate("Achtung, Wichtige Information!!!", 320, 320)
GuiSetIcon(@SystemDir & "\mspaint.exe", 0)
; CONTEXT MENU
$contextMenu = GuiCtrlCreateContextMenu()
GuiCtrlCreateMenuItem("Context Menu", $contextMenu)
GuiCtrlCreateMenuItem("", $contextMenu) ;separator
GuiCtrlCreateMenuItem("&Properties", $contextMenu)
; PIC
GuiCtrlCreatePic(@TempDir&"\Smiley.jpg",20,20, 100,100)
GuiCtrlCreateLabel(" ", 75, 1, 53, 15)
GuiCtrlSetColor(-1,0xffffff)
; BUTTON
$button = GuiCtrlCreateButton("OK", 110, 230, 100, 30)
; GUI MESSAGE LOOP
GuiSetState()
While 1
$msg = GuiGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $button
Exit
EndSwitch
WEnd