Auslesen und wiedergeben

  • Hallo.
    Ich habe ein problem.
    Undzwar möchte ich, das wenn jemand in ein text feld also von dem Selben Scribt was schreibt, das er es dann auch wieder ausgiebt.

    Ich habe es versucht mit:

    [autoit]


    GUICreate ("Programm", 500,200)
    $text = GUICtrlCreateEdit ("", 40,10,420,60,0)
    GUISetState(@SW_SHOW)
    $text1 = GUICtrlRead($text)
    Send("$text1 hast du geschrieben.")

    [/autoit]

    Ich hoffe mal das mir einer helfen kannn.

    Einmal editiert, zuletzt von Cornfl4kes (19. Mai 2008 um 17:34)

  • Du lässt den armen User ja gar keine Zeit etwas reinzuschreiben.

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    GUICreate ("Programm", 500,200)
    $text = GUICtrlCreateEdit ("", 40,10,420,60,0)
    $knopf = Guictrlcreatebutton("Ausgabe",6,90,100,20)
    GUISetState(@SW_SHOW)
    while 1
    $msg = GuiGetMsg()
    Select
    Case $msg = $knopf
    $text1 = GUICtrlRead($text)
    Msgbox(0,"",$text1 & " hast du geschrieben.")
    endselect
    Sleep(10)
    wend

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Danke schon ma.
    aber wenn ich das ganze jetzt ohne den Ausgabe button machen will, weil ich schon eine button habe, der die schleife startet.

  • Also der Benutzer schreibt eine nachricht in das text feld und startet durch drücken des buttons die schleife. So wird alle 15 min. Das ausgegeben(z.b. in eine Textdatei), was der Benutzer geschrieben hab.

  • sry ich hab erst vor 2 tagen mit autoit angefangen. Kannst du mir erzählen was dann stadessen passiert?

  • Ich hatte es ja schon alles hinbekommen aber anstadt den text der von benutzer geschrieben wurde hat er immer nur $text1 geschrieben.

    Kann mir da keiner helfen???

    Einmal editiert, zuletzt von Cornfl4kes (27. Oktober 2007 um 20:08)

  • wenn du send("$text1") schreibst wird das geschrieben was in den Anführungszeichen steht geschrieben, also $text1.
    Du musst dann ohne Anführungszeichen schreiben. also send($text1)

  • jetzt schreibt er bei mir garnichts mehr^^.
    Hier ma der Code vllt. weiß ja einer woran es liegt.

    Spoiler anzeigen
    [autoit]


    GUICreate ("Programm", 500,200)
    GUICtrlCreateLabel ("Text:",10,15)
    $text = GUICtrlCreateEdit ("", 40,10,450,140,0)
    GUICtrlCreateButton (" Starten ", 10,170)
    GUICtrlSetOnEvent(-1, '_Start')
    GUICtrlCreateButton (" Stoppen ", 200,170)
    GUICtrlSetOnEvent(-1, '_Stop')
    GUICtrlCreateButton (" Beenden ", 380,170)
    GUICtrlSetOnEvent(-1, '_Exit')
    GUISetState(@SW_SHOW)
    $text1 = GUICtrlRead($text)

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

    Func _Start()
    $Start = 1
    EndFunc

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

    Func _Stop()
    $Start = 0
    EndFunc

    Func _Exit()
    Exit
    EndFunc

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

    While 1
    If $Start = 1 Then
    While $Start = 1
    Send($text1)
    Send("{ENTER}")
    Sleep(5000000000000)
    WEnd
    EndIf
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Cornfl4kes (27. Oktober 2007 um 20:28)

  • So ich hab da mal was hingeklatscht.
    Kannst gerne nachfragen wenn du was nicht verstehst.
    Die neuen Funktionen die ich benutzt habe stehen auch alle in der dt. Hilfe.

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    GUICreate ("Programm", 500,200)
    GUICtrlCreateLabel ("Text:",10,15)
    $text = GUICtrlCreateEdit ("", 40,10,450,140,0)
    $b_start = GUICtrlCreateButton (" Starten ", 10,170)
    $b_stop = GUICtrlCreateButton (" Stoppen ", 200,170)
    $b_exit = GUICtrlCreateButton (" Beenden ", 380,170)
    GUISetState(@SW_SHOW)
    $Start=0
    Const $dauer = 1000
    While 1
    $msg = GUIGetMsg()
    Sleep(10)
    Select
    Case $msg = $b_start
    If $Start=0 Then
    $zeitbeginn = TimerInit()
    $text1 = GUICtrlRead($text)
    $Start = 1
    EndIf
    Case $msg = $b_stop
    $Start = 0
    Case ( $msg = $b_exit ) Or ( $msg = $GUI_EVENT_CLOSE )
    Exit
    Case $Start=1
    If TimerDiff($zeitbeginn) > $dauer Then
    GUICtrlSetData($text,GUICtrlRead($text) & @CRLF & $text1)
    $zeitbeginn = TimerInit()
    EndIf
    EndSelect
    WEnd

    [/autoit]
  • jo dankeschön. Aber jetzt gibt er den Text ja in das feld aus, in das man den Text auch geschrieben hat. Er soll es aber dann z.b. in ein Textdokument schreiben.

  • mmhhh hab ich versucht dann schreibt er aber wieder nichts. habs auch mit Send versucht dann schreibt der aber nur jede sekunde eine 4 (warum auch immer)

  • ok ich hab mein problem jetzt gefunden^^ ich hatte einen kleiner fehler drin.
    Großen Dank an das Forum und euch allen die mir geholfen haben.

    Edit: Noch eine kleine Frage. Wie kann ich einbild einfügen?(der genaue Pfad von dem Bild ist unbekannt aber das bild befindet sich einen ordner weiter also sozusagen /Ordner/bild1.gif)
    Ist das möglich?

    Einmal editiert, zuletzt von Cornfl4kes (28. Oktober 2007 um 13:39)

  • ja du kannst Wilcards benutzen wie z.B.
    @ScriptDir und so
    das wäre dann @ScriptDir&"/ordner/bild.gif"