Hallo, was ist hierdran falsch?
[autoit]
$file FileOpen ("C:\Users\User\Desktop\Autoit\AusTXTlesen\txt.txt",0)
MsgBox(0,"Test",$file)
FileClose
Er soll den Inhalt einer TXT in einer Messegagebox anzeigen.
Hallo, was ist hierdran falsch?
[autoit]
$file FileOpen ("C:\Users\User\Desktop\Autoit\AusTXTlesen\txt.txt",0)
MsgBox(0,"Test",$file)
FileClose
Er soll den Inhalt einer TXT in einer Messegagebox anzeigen.
das geht so:
[autoit]$open = FileOpen("C:\Users\User\Desktop\Autoit\AusTXTlesen\txt.txt")
; 0 brauchst du nicht da das Standard ist und als Pfad könntest du auch mit @DesktopDir & "\Autoit\AusTXTlesen\txt.txt" arbeiten
$read = Fileread($open)
MsgBox(0,"Test",$read)
FileClose($open)
Hallo SlinJD,
herzlich willkommen im Forum und viel Spass mit AutoIt.
Hier kannst du dir die Hilfe herunterladen.
Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee
und jetzt zu deinem Problem, mach es einfach so:
[autoit]$file = FileOpen("test.txt", 0)
[/autoit][autoit][/autoit][autoit]; Check if file opened for reading OK
If $file = -1 Then
MsgBox(0, "Error", "Unable to open file.")
Exit
EndIf
$txt = FileRead($file)
MsgBox(0, "Test:", $txt)
FileClose($file)
[/autoit]mfg autoBert
Hi,
zwischen Der Variable und FileOpen fehlt das = damit die Variable auch mit dem Wert von FileOpen gefüllt wird.
MfG
Der_Doc
zwischen Der Variable und FileOpen fehlt das = damit die Variable auch mit dem Wert von FileOpen gefüllt wird.
Hätte aber trotzdem das FileRead gefhelt, wie Schnitzel und Autobert bereits geschrieben haben
Geht übrigens auch ohne FileOpen/FileClose
[autoit]MsgBox(0,"Test",FileRead("C:\Users\User\Desktop\Autoit\AusTXTlesen\txt.txt"))
[/autoit]Das hab ich auch shcon oft festgestellt.
Wofür is denn FileOpen?^^
Gibt es bestimmte Stellen wo man FileOpen rein tun sollte bzw muss?
Wenn du FileRead() oder FileWrite() mit einem Dateinamen benutzt, wird FileOpen / FileClose innerhalb der Funktionen verwendet.
Zitat von Allmächtige HilfedateiIf a filename is given rather than a file handle - the file will be opened and closed during the function call - for parsing large text files this will be much slower than using filehandles.
FileOpen macht besonders dann Sinn, wenn du die Datei in einem anderen Modus als 0 (lesen) oder 1 (schreiben - ans Ende der Datei) öffnen willst. Siehe dafür die Hilfe zu FileOpen
Bemerkung die bei FileRead steht:
Wenn ein Dateiname statt eines Dateihandles angegeben wird, wird die Datei während des Funktionsaufrufes geöffnet und geschlossen. Für die Bearbeitung großer Textdateien ist das viel langsamer als die Arbeit mit Handles.
Hinweis: Nicht die Verwendung von Dateihandles und -namen vermischen. So soll man zum Beispiel nicht eine Datei mit FileOpen öffnen und dann in dieser Funktion einen Dateinamen verwenden. Entweder Handles oder Dateinamen benutzen - nicht beides!
Fileopen nehme ich immer wenn:
- die datei groß ist
- ich oft darauf zugreife
- ich sicherstellen will dass die datei wärend der Laufzeit nicht von anderen Programmen verändert wird
ah stimmt^^ ich bin heute nicht auf der höhe :wacko:
krank sein zerrt auch an dem denkvermögen^^
Leider funktioniert der Code nicht
[autoit]MsgBox(0,"Test",FileRead("C:\Users\User\Desktop\Autoit\AusTXTlesen\txt.txt"))
[/autoit]
Das Resultat:
[Blockierte Grafik: http://imagehost.de.cg/dm-212839457196.png]
Eine leere Messagebox
Der txt.txt Inhalt
Am besten benutzt du
[autoit]
MsgBox(0,"Test",FileRead(@Desktopdir & "\Autoit\AusTXTlesen\txt.txt")) ; @DesktopDir gibt automatich den Pfad zu deinem Desktop an, du musst dann
;nurnoch angeben wo sich die datei genau befinden und wie die heisst + endung. Wenn du eine datei auf dem desktop hast musst du nur
; @desktopdir & "\dateiname.txt" verwenden
Um es dir zur Verdeutlichen, wie das alles funktioniert:
[autoit][/autoit][autoit][/autoit][autoit]#Include <File.au3>
$sFilePath = @DesktopDir & "\TEST.txt" ;Die variable mit dem Pfad der Datei
_FileCreate($sFilePath) ; Erstellt die Datei auf Variable $sFilePath
FileOpen ($sFilePath)
FileWrite ($sFilePath, "Der Text in der TEXT.txt Datei") ;schreibt einen text in unsere erstellte Datei
$FileRead = FileRead ($sFilePath) ;Liest den inhalt aus
MsgBox (0,"Die File", $FileRead) ;gibt den Inhalt in einer MsgBox wieder
FileClose ($sFilePath)