Beiträge von Jakub1996

    Hi, sorry für die Verwirrung. Hab mal weiter rumprobiert. Hier der neue Code. Meine Idee war, dass der Rückgabewert in $global aus der For-Schleife gespeichert wird. Blöderweise kommt an der Stelle " If $global = "OK" then" die Fehlermeldung, dass die Variable $global nicht deklariert sei...


    An sich ist es nicht anderes als das hier.. Nur, dass es in reduzierter Form funktioniert, im Skript unten aus irgendwelchen Gründen nicht..


    Nein, das Skript stürzt nicht ab. Es gibt nur einen falschen Wiedergabewert "0".


    Die If-Abfrage löst aus.. Habe ich einzeln noch innerhalb der For-Schleife abgefragt.

    Nur bei Abfrage außerhalb der Schleife, ist der Wiedergabewert = 0

    Zitat


    Obwohl $return definitiv in der Schleife auf A oder B gesetzt wird (überprüft mittels Msgbox innerhalb der Schleife)


    Bzw, schreibe ich das Skript, wie folgt um, ergibt sich eine Ausgabe der jeweiligen Werte "A" oder "B"..


    Hallo alpines,


    danke für deinen Hinweis. Wie ich bereits erwähnt habe, möchte ich einfach nur den Rückgabewert aus der For-Schleife erhalten - Also entweder "A" oder "B", den ich in Zeile 34 dann abfrage.

    Obwohl $return definitiv in der Schleife auf A oder B gesetzt wird (überprüft mittels Msgbox innerhalb der Schleife), ist nach dem Beenden der Schleife dieser Wert nicht übertragen worden.

    Die If-Verzweigung ab Zeile 34 löst also nicht aus, bzw würde auslösen, sofern ich sie umschreibe in..

    If $return = "0" then

    ..

    Hallo zusammen,


    ich bin noch relativ neu im Thema, vielleicht habe ich auch einfach die falsche Herangehensweise. Ich suche nach einer Möglichkeit, im Falle eines Exitloops in einer For-Schleife, einen bestimmten Rückgabewert zu erhalten, in diesem Beispiel A oder B. Beim Abbruch der Schleife soll der Wert B ausgegeben werden und dementsprechend die nachfolgende Prozedur ausgeführt werden.

    Schön gedacht - blöd gemacht. Klappt nicht. Also Suche ich nach einer Möglichkeit, eine nachfolgende If-Schleife zu realisieren, die bei Abbruch der Schleife OptionX wählt und bei "normalem" durchlauf der Schleife OptionY - Kurz gesagt: Ich brauche einen Rückgabewert bei Abbruch der Schleife.


    Selbstverständlich ist deine Variante auch nennenswert.. :)


    Ich habe mein Problem zwar anderweitig gelöst (bzw. umgangen ^^), dennoch interessiert es mich nun.. Ich habe es bereits genau so versucht. Nun habe ich deinen Code einfach mal kopiert.. funktioniert nicht

    Hallo zusammen,


    dann hau mich mal direkt einen weiteren Beitrag hinterher.

    Dabei geht es um das "unerwartete" schließen einer GUI bzw. das unerwartete beenden. Mein Programm erzeugt eine Temporäre Datei, solange das Programm läuft. Zu Beginn wird überprüft, ob diese Datei vorhanden ist. Ist sie es, ist ein starten des Programms verhindert.

    Das ist ein ein kleiner Umweg, um zu verhindern, dass mehrere User gleichzeitig das Programm starten können - Eine Art Read-Only-Funktion.

    Beim schließen durch das "X" wird diese Datei gelöscht. Nun kann es allerdings vorkommen, dass das Skript durch bsp. einen unerwarteten Fehler oder den Taskmanager geschlossen wird.


    Gibt es für einen solchen Fall einen Befehl? Oder habt ihr eine Idee, wie man es realisieren kann, dass im Falle eines unerwarteten Schließens der App, diese Datei wieder gelöscht wird?

    Anderenfalls ist die App - ohne manuelles löschen der temporären Datei - ja nicht mehr zu öffnen..


    Vielen Dank

    Du ersetzt 2 aufeinanderfolgende Zeilenumbrüche mit einem. Wenn du 3 aufeinanderfolgende Zeilenumbrüche hast ersetzt du 2 mit 1 und hast also noch 2 dort stehen. StringReplace geht den String nur einmal durch und macht somit hinter dem eingefügten Zeilenumbruch weiter. Nehmen wir an, dass U ein Zeilenumbruch darstellt und ^ die Position des ersetzers, wird das so verarbeitet:

    In deinem Fall wäre ein regulärere Ausdruck sinnvoller. Das würde so aussehen und dann werden alle Zeilenumbrüche ersetzt (auch unix/linux).

    StringRegExpReplace($inhalt,"(\r\n|\n)+","\r\n")

    Hallo Kanashius,


    vielen Dank dafür, macht durchaus Sinn. Leider Verstehe ich noch nicht ganz wie ich den StrinRegExpReplace-Befehl an dieser Stelle einbinden soll.. Kriege es damit nicht zum laufen - Anders gesagt: Die OUT-Datei ist immer wieder komplett leer.

    Hallo zusammen,


    ich habe das folgende Skript gefunden:

    Code
    $file = FileOpen("in.txt", 0)
    $inhalt = FileRead($file)
                FileClose($File)
                Do
                   $inhalt = StringReplace($inhalt,@CRLF & @CRLF, @CRLF)
                Until @extended = 0
                $file = FileOpen("out.txt",2)
                $inhalt = FileWrite($file, $inhalt)
                FileClose($File)



    Nun mein Problem:


    Erstelle ich eine Textdatei mit einer Leerzeile in der ersten Zeile..



    Kommt als Ergebnis das..


    Kann mir jemand von euch sagen, wieso die erste Zeile nicht gelöscht wird? Und vor allem, wie ich es hinbekomme, dass sie gelöscht wird?


    Vielen Dank!