Hi
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Include <string.au3>
Global $voice = ObjCreate("Sapi.SpVoice")
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$Sprechmodul = GUICreate("Sprich!", 304, 248, 192, 124)
$Sprich = GUICtrlCreateEdit("", 8, 40, 140, 100)
GUICtrlSetTip ($Sprich,"Gib hier den zu sprechenden Text ein")
$Volume = GUICtrlCreateEdit("100", 192, 8, 89, 49)
GUICtrlSetTip ($Volume,"Gib hier die Lautstärke ein")
$Speed = GUICtrlCreateEdit("0", 192, 72, 89, 49)
GUICtrlSetTip ($Speed,"Gib hier die Geschwindigkeit an")
$BSprechen = GUICtrlCreateButton("Sprich!", 50, 160, 100, 60)
GUICtrlSetTip ($BSprechen, "Spricht den eingegebenen Text")
$BSprechenR = GUICtrlCreateButton ("!hcirpS", 160,160,100,60)
GUICtrlSetTip ($BSprechenR,"Spricht den eingegebenen Text rückwärts")
$Help = GUICtrlCreateButton("Hilfe", 0, 0, 57, 25)
GUICtrlSetTip ($Help,"Draufklicken damit Hilfe erscheint")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $BSprechen
If GUICtrlRead ($Volume) > 100 Then
Msgbox (0,"ERROR","Die Lautstärke ist zu hoch eingestellt",4000)
EndIf
If GUICtrlRead ($Volume) < 100 Then $VKontrolle = 1
If $VKontrolle = 1 Then
Speak (GUICtrlRead($Sprich),GUICtrlRead ($Speed),GUICtrlRead ($Volume))
EndIf
Case $Help
Run ("Notepad.exe")
Sleep (1000)
Send ("Tipp: Gehe einfach über die Kästchen/Buttons. Dort steht eine kleine Anleitung")
Send ("{Enter}")
Send ("{Enter}")
Send ("Bsp für Geschwindigkeit: 0.5 - ACHTUNG: Der Punkt ist Wichtig.")
Send ("{Enter}")
Send ("Kommas gibt es hier nicht.")
Send ("{Enter}")
Send ("Bei der Lautstärke ist der Maximalwert 100 und der Minimalwert 0.")
Send ("{Enter}")
Send ("Merke: Das Programm spricht alles was du schreibst und lässt sich erst danach beenden")
Sleep (250)
Case $BSprechenR
If GUICtrlRead ($Volume) > 100 Then
Msgbox (0,"ERROR","Die Lautstärke ist zu hoch eingestellt",4000)
EndIf
If GUICtrlRead ($Volume) < 100 Then $VKontrolle = 1
If $VKontrolle = 1 Then
$Text = GUICtrlRead ($Sprich)
$Text = _StringReverse ($Text)
Speak ($Text, GUICtrlRead ($Speed), GUICtrlRead ($Volume))
EndIf
EndSwitch
WEnd
Func Speak($Text, $Rate, $Vol)
$voice.Rate = $Rate
$voice.Volume = $Vol
$voice.Speak ($Text)
EndFunc;==>Speak
Also so sieht mein Programm bisher aus
Jetzt wüsste ich gerne wie ich beim $Volume den Text ändern kann, aber erst während des Programms...
Also so ne art: GUICtrlWrite oder so? =)
Ich hoffe ich versteht mich falls nicht versuche ich es später noch bisschen genauer zu erklären
_______________________
Mfg MasterRobb