Text aus Text-datei über MsgBox ausgeben!?!

  • Hallo Community,

    bin neu hier und habe auch gleich eine Frage. Da mein Wissen zum Thema autoit doch eher beschränkt ist, frage ich euch:

    Kann mir einer sagen, wie ich es schaffe einen Text aus einer Textdatei als Msgbox auszugeben? Also die Datei soll praktisch eingelesen werden, was ich auch über FileReadLine versuchte und in eine Variable gespeichert werden und diese würde ich dann gerne in einer msgbox ausgeben lassen.

    Ich danke euch schonmal im Voraus für eure Hilfe

    Gruß Noob :)

  • bist doch schon auf dem richtigen weg!

    was hast du denn bisher an code? so kann man dir besser helfen ;)


    greetz oli

  • hi

    [autoit]


    $handle = fileopen("c:\meine txt.txt",0)
    $text = fileread($handle)
    fileclose($handle)

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

    msgbox(0,"text:",$text)

    [/autoit]


    hth derda

  • genau so muss das aussehen... dachte aber vielleicht das er da selber drauf kommen könnte, da das ganze genau in der form in der hilfe zu der funktion steht die er ja bereits genannt hat... aber naja is ja wuuuuurst

    [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

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

    ; Read in lines of text until the EOF is reached
    While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    MsgBox(0, "Line read:", $line)
    Wend

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

    FileClose($file)

    [/autoit]

    Einmal editiert, zuletzt von oliverh (5. September 2007 um 15:27)

  • danke euch beiden, hatte leider selber da nicht wirklich was hinbekommen. Vielen Dank nochmal. Ist echt ein super Forum hier

  • @derda

    Da die mit der Datei ja nur einmal gearbeitet wird kannst du ein FileOpen in dem Fall auch weglassen und gleich bei FileRead den Pfad eintragen.
    Intern wird dabei eh die Datei zum Lesen geöffnet und danach wieder freigegeben.

    Also würde man in dem Fall auch locker mit einer Zeile auskommen:

    [autoit]

    msgbox(0,"text:", fileread("c:\meine txt.txt"))

    [/autoit]
  • kann mir evtl auch einer von euch sagen, wie ich es hinbekommen kann...
    das ich autoit über commandozeile einen text sozusagen als parameter übergeben kann? Kriege das über die eingebaute hilfe irgendwie nicht hin.

    Vielen Dank schonmal im voraus

    gruß noob :)

  • habe das jetzt so geschrieben:

    Msgbox(1,"Commandoausgabe",$cmdline)

    aber wenn ich das skript über commandozeile starte mit /hallo oder irgendwas anderem, dann kommt nur eine msgbox mit dem Titel Commandoausgabe, aber ohne Text in der Box?? Was mach ich denn falsch? In der Hilfe habe ich auch nachgelesen, aber das ist mir da irgendwie zu hoch.

    Ich hoffe mir hilft da nochmal jemand

    Ist echt ein sehr gutes Forum mit sehr netten Membern :)

    Gruß Noob

    • Offizieller Beitrag

    HI,

    das ist ein Array.

    Spoiler anzeigen
    [autoit]

    MsgBox(0, "My second script!", "Hello from the main script!")
    TestFunc()

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

    Func TestFunc()
    MsgBox(0, "My Second Script!", "Hello from the functions!")
    EndFunc

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

    MsgBox (0, "$CmdLine[1]" , "Das ist der übergebende Text")
    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    Send ($CmdLineRaw)
    Send ("__")
    Send ($CmdLine[1])

    [/autoit]

    So long,

    Mega

  • danke für deine antwort, aber ich glaube du hast mich falsch verstanden!

    Ich möchte das skript per hand über die kommandozeile ausführen und als parameter beispielsweise /hallo übergeben. Dann soll folgendes passieren:

    das hallo soll an das skript übergeben werden und dieses soll es über die msgbox ausgeben.

    danke nochmals für deine hilfe

    gruß noob :)