problem mit FileWrite($file,GUICtrlRead($Input1))

12/02/2011 23:36 SeriallKiller#1
hey leute ich hab mal wieder ein kleines problem!

und zwar will ich das die gui inputbox in eine txt datei gespeichert wird!...

hier ausschnitte was ich geschrieben habe:

$Input1 = GUICtrlCreateInput("", $bild_x, $bild_y + 34, 249, 21, $ES_NUMBER)

_____________________

Case $Button1
_save ()

______________________


Func _save()

$file = FileOpen("asdf.txt", 1)

FileWrite($file,GUICtrlRead($Input1))
FileClose($file)

EndFunc

______________________


genau hier mal alle funktionen durch... und irgendwie schreibt er jedes mal eine 0 rein! egal was ich in dem input1 reinschreibe!!

ich hoffe einer kann mir schnell helfen :) danke schonmal!!
12/03/2011 11:49 CrAcKxX#2
Google immer die Funktionen die du brauchst in Google .
AutoIT FileWrite
Das habe ich gefunden : [Only registered and activated users can see links. Click Here To Register...]
Und wenn du AutoIT kannst solltest du dies auch verstehen .
12/03/2011 11:52 SeriallKiller#3
ich habe schon sehr oft danach gegoogelt! aber da steht wirklich nix drinn was ich anders gemacht habe..! oder doch?!
12/03/2011 11:58 CrAcKxX#4
Code:
If NOT FileExists(@ScriptDir & "log.txt") Then
				_FileCreate("log.txt")
				sleep(200)
				$file = FileOpen(@ScriptDir & "log.txt")
			Else
				$file = FileOpen(@ScriptDir & "log.txt")
			EndIf
			
			FileWrite($file, GuiCtrlRead($Edit1))
			
			sleep(500)
			FileClose($file)
Das wäre etwas simples . Außerdem musst du <File.au3> includen .
In deinem fall nicht in der Edit wie ich es gemacht habe sondern einfach mit der Input .
Das führst du direkt in deinen Button ohne die Funktion _save
Code:
#include <GUIConstants.au3>
#include <File.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Text from Input in .txt document", 308, 75, 193, 125)
$Label1 = GUICtrlCreateLabel("Zu speichern :", 8, 8, 72, 17)
$Input1 = GUICtrlCreateInput("", 88, 8, 209, 21)
$Button1 = GUICtrlCreateButton("Save all into a log.txt", 16, 40, 275, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		Case $Button1
			If NOT FileExists(@ScriptDir & "log.txt") Then
				_FileCreate("log.txt")
				sleep(200)
				$file = FileOpen(@ScriptDir & "log.txt")
			Else
				$file = FileOpen(@ScriptDir & "log.txt")
			EndIf
			
			FileWrite($file, GuiCtrlRead($Input1))
			
			sleep(500)
			FileClose($file)

	EndSwitch
WEnd
Edit : Klappt nicht ganz er speichert den text nicht hinein
12/03/2011 12:12 SeriallKiller#5
hm wollt grad schreiben^^ funtzt bei mir auch nicht! also ob ich das jetzt direkt ins case speicher oder einfach weiterleite zur func _save() ist genau das selbe!

bei meinem script schreibt er ja auch was rein und zwar ne 0! und wenn ich 100 mal auf den button1 drücke schickt er mir 100 nullen! das funtzt irwie schon... und wenn ich guictrlread($input1)) weglass und einfach was normales in "" reinschreibe dann schreibt er mir das auch schon in meine txt datei! aber nur halt nicht den blöden text vom input feld^^
12/03/2011 12:34 KDeluxe#6

Dein Script sollte eigentlich funktionieren, dein Fehler liegt wahrscheinlich woanders. Evtl. hast du die Variable "$Input1" irgendwo wiederverwendet, das würde den Fehler z. B. erklären.
12/03/2011 13:22 SeriallKiller#7
$Input1 = GUICtrlCreateInput("", $bild_x, $bild_y + 34, 249, 21, $ES_NUMBER)
$Input1 = GUICtrlSetLimit(-1, 25)

damit zb?? das steht bei mir ganz oben! vill nimmt er dann immer das andre input1?!




aaaaaaaaaaaaaaahhhhhh ^^ haha genial danke killerdeluxe!!!! ähm aber wie soll ich das dann auf maximal 25 stellen limitieren???

auchschon gelöst^^ : GUICtrlSetLimit($Input1, 25)