Inputfeld soll erst nach einem Sound abruf denn Text eintragen.

  • Hallo und Morgen an alle!

    Ich wollte ein kleines Tool zusammen bauen doch es klappt nicht so wie ich es mir gedacht habe und zwar wollte ich es in meinem Beispiel als test so machen das eine Gui Fenster das System von Windows Ermittelt und ein Sound abfrage macht und anschliessend dann denn Text im leeren Input Feld einträgt.

    Mein Problem was ich nun habe ist das die einzelne Input felder am Anfang leer sein sollen erst wenn die jeweilige Sound abfrage zu ändere ist dann erst soll der Text im leeren feld stehen doch es klappt nicht.

    Ich habe es mit Variable versucht doch die stehen in der Funkion drin doch der Skript Starten dann auch nicht wenn ich die am anfang habe die Variable bringt es mir ja nicht alt zu viel da das Skript nicht mehr so Funkionieren tut was ich bezwege.


    hier mal der Skript.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Windows Versions Ermittler", 615, 435)
    GUICtrlCreateInput($Win, 198, 66, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlCreateInput("bit", 198, 139, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlCreateInput("NProdukt", 198, 220, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlCreateInput("SPack", 198, 302, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY))
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlCreateLabel("Programm das Ihre Version von Windows ermittelt mit Sprach Sound", 21, 8, 577, 28)
    GUICtrlSetFont(-1, 15, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x0000FF)
    $Scan = GUICtrlCreateButton("Jetzt Scannen", 22, 65, 129, 49)
    $Label1 = GUICtrlCreateLabel("Name des Betriebsystem", 205, 41, 181, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $Label2 = GUICtrlCreateLabel("Die Bit Version", 241, 113, 109, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $Label3 = GUICtrlCreateLabel("Name des Produktes", 217, 193, 152, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $Label4 = GUICtrlCreateLabel("Service Pack Version", 219, 273, 153, 24)
    GUICtrlSetFont(-1, 12, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Case $Scan
    _Scanner()
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _Scanner()
    If @OSVersion='WIN_2000' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2000.wav',1)
    ElseIf @OSVersion='WIN_2003' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2003.wav',1)
    ElseIf @OSVersion='WIN_2008' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008.wav',1)
    ElseIf @OSVersion='WIN_2008R2' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008R2.wav',1)
    ElseIf @OSVersion='WIN_XP' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows XP.wav',1)
    ElseIf @OSVersion='WIN_VISTA' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows Vista.wav',1)
    ElseIf @OSVersion='WIN_7' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 7.wav',1)
    $Win = 'Windows 7' ;---------------------------------------------------Input eintrag in das erste Inputfeld doch es klappt so nicht
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If @OSArch='X86' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\32 bit.wav',1)
    ElseIf @OSArch='X64' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\64 bit.wav',1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Home Basic' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Home Basic.wav',1)
    ElseIf RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Home Premium' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Home Premium.wav',1)
    ElseIf RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Professional' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Professional.wav',1)
    ElseIf RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Business' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Business.wav',1)
    ElseIf RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Ultimate' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Ultimate.wav',1)
    ElseIf RegRead('HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion', 'EditionID')='Enterprise' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Enterprise.wav',1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If @OSServicePack='Service Pack 1' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Service Pack 1.wav',1)
    ElseIf @OSServicePack='Service Pack 2' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Service Pack 2.wav',1)
    ElseIf @OSServicePack='Service Pack 3' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Service Pack 3.wav',1)
    ElseIf @OSServicePack='Service Pack 4' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Service Pack 4.wav',1)
    ElseIf @OSServicePack='Service Pack 5' Then
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Service Pack 5.wav',1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc

    [/autoit]

    In meinem Ersten versuch habe ich natürlich nicht weiter eingebaut da ja erst mal das eine gehen musste so wie ich es mir vorgestellt habe, Im Skript habe ich das betroffenezeile Markiert was nicht so geht.

    konnte einer mein kleines Problem ergenzen da ich nicht weiter kommen tue.

    MfG

    Baron

  • Ersetz mal Zeile 8 durch das:

    [autoit]

    $Input1 = GUICtrlCreateInput("", 198, 66, 193, 28, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER, $ES_READONLY))

    [/autoit]

    Und Zeile 52 - 67 durch das:

    Spoiler anzeigen
    [autoit]


    Switch @OSVersion
    Case 'WIN_2000'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2000.wav', 1)
    GUICtrlSetData($Input1, 'Windows 2000')
    Case 'WIN_2003'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2003.wav', 1)
    GUICtrlSetData($Input1, 'Windows Server 2003')
    Case 'WIN_2008'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008.wav', 1)
    GUICtrlSetData($Input1, 'Windows Server 2008')
    Case 'WIN_2008R2'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 2008R2.wav', 1)
    GUICtrlSetData($Input1, 'Windows Server 2008 R2')
    Case 'WIN_XP'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows XP.wav', 1)
    GUICtrlSetData($Input1, 'Windows XP')
    Case 'WIN_VISTA'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows Vista.wav', 1)
    GUICtrlSetData($Input1, 'Windows Vista')
    Case 'WIN_7'
    SoundPlay('C:\Users\Megatron\Desktop\TestSprachWAV\Windows 7.wav', 1)
    GUICtrlSetData($Input1, 'Windows 7')
    EndSwitch

    [/autoit]

    Switch bzw Select sind bei solchen Konstellationen performanter.
    (und ich finds auch übersichtlicher ;) )

  • Kein Problem ;)
    Am Anfang gehts natürlich um die Funktionalität.
    Das is ja auch normal^^

    Setz doch bitte den Thread noch auf gelöst.
    (Ersten Post bearbeiten, Präfix gelöst wählen und Absenden)