txt auslesen, msg wiedergeben

11/11/2010 22:10 anonymous-f4h279#1
Sers Leute,

bin dabei AutoIT zu lernen.
Ich hab in ne txt aufm Desktop erstellt in der nur "Hallo" steht.

Nun möchte ich die txt per Buttonklick auslesen und den Inhalt in einer MsgBox wiedergeben.
Wenn ich auf den Button klicke zählt er immer nur von 1-undendlich also 1klick = 1, 2 Klick = 2 usw.

Was ist falsch?
Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 385, 162, 192, 114)
$Read = GUICtrlCreateButton("Read", 104, 48, 161, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg

		Case $Read
			$File = FileOpen("C:\Dokumente und Einstellungen\Administrator\Desktop\auto.txt")
			FileReadLine("auto.txt",1)
			MsgBox(64,"Info",$File)

		Case $GUI_EVENT_CLOSE
			Exit

	EndSwitch
WEnd
11/11/2010 22:12 amnesi#2
PHP Code:
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"385162192114)
$Read GUICtrlCreateButton("Read"1044816141$WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg

        
Case $Read
            $File 
FileOpen("C:\Dokumente und Einstellungen\Administrator\Desktop\auto.txt")
            
$Readline FileReadLine("auto.txt",1)
            
MsgBox(64,"Info",$Readline)

        Case 
$GUI_EVENT_CLOSE
            
Exit

    EndSwitch
WEnd 
Du möchtest ja das wiedergeben, was ausgelesen wurde
und nicht das handle das bei fileopen zurückgegeben wurde :)
11/11/2010 22:42 anonymous-f4h279#3
Danke hätte aber noch
PHP Code:
$Readline FileReadLine("C:\Dokumente und Einstellungen\Administrator\Desktop\auto.txt",1
heißen müssen :)
11/12/2010 07:20 Neon™#4
Quote:
Originally Posted by Drewfire View Post
Danke hätte aber noch
PHP Code:
$Readline FileReadLine("C:\Dokumente und Einstellungen\Administrator\Desktop\auto.txt",1
heißen müssen :)
Code:
$File = FileOpen("C:\Dokumente und Einstellungen\Administrator\Desktop\auto.txt")
$Readline = FileReadLine($File, 1)
So könntest du dir auch noch das Eintragen des langen Pfades sparen.
11/12/2010 14:48 anonymous-f4h279#5
Danke dir ;)
11/12/2010 19:03 PenGuin :O#6
Und drück mal in SciTe (der AutoIt Editor) F1 für die Hilfe und gib "Makroreferenz" ein.

So kannst du dir den Desktoppfad sparen mit:

Code:
 @DesktopDir
das ist dann auch direkt auf jedem PC tauglich, wahlweise, wenn die Datei im selben Ordner liegt wie das Script:

Code:
 @ScriptDir

also würde aus deinem Pfad das werden:

Code:
 @DesktopDir & "\auto.txt"
es ist zu beachten, dass der Makro NICHT den \ mitliefert!


PS: Und auch direkt mal den richtigen Namen merken: AutoIt :P
Auch wenns nebensächlich ist.. ich sag ja auch nicht ze++ :D
11/12/2010 23:54 anonymous-f4h279#7
Wegen dem T ist es nicht falsch, aber danke.
11/13/2010 15:45 PenGuin :O#8
War ja nur eine kleine Anmerkung, wie es denn richtig geheißen hätte ;)
Letztendlich bleibt es dir überlassen wie du die Scriptsprache nennst, wobei ein Unterschied von IT (information technology) zu It (Es).
Im gesamten heißt AutoIT also Automatisiere Es, wozu die Scriptsprache eig. gedacht war, zum Automatisieren von Installationen z.B..

Letztendlich war mein obiger Post ja nur die Hilfe mit den Makros ;)