Beiträge von Moombas

    Dann würde er aber bei Row = 40 auf Fehler laufen, da 40 + 1 = 41 und somit einen Bereich ansprechen würde der im Array nicht definiert ist.

    Prüfe mal statt dessen: if ($Row + 1) > $aArray_1[0] then Exit


    Ich mag halt ungern mögliche Fehlerquellen stehen lassen wenn sie offensichtlich sind, auch wenn diese in deiner anwendung wohl nicht vorkommen werden ;)


    OT:

    Wenn du schon den Titel änderst, hättest du auch das fehlende "e" hinzufügen können :P

    Als Beispiel was bei mir funktionierte (kürzeste Versionen die ich hinbekomme):

    Für a)

    AutoIt
    While Mod(StringLen($Text), 4) <> 0
      $Text &= Chr(32)
    WEnd

    Für b)

    a) If not Mod(StringLen($Text), 4) = 0 then bzw.

    Code
    While Mod(StringLen($Text), 4) <> 0
      $Text &= Chr(32)
    WEnd

    b) Nicht getestet aber das Prinzip müsste passen, wenn ich auch den Sinn noch nicht verstanden habe...

    Code
    $Row = 1
    While $Row <= 20
    For $i = $Row To $Row + 3 ;$aArray_1[0]
        MsgBox(0, "", $Row & "-" & $Row+3 & " $aArray_1[" & $i & "] - " & $aArray_1[$i] & "    Später mit arbeiten und Resultat in Datei-X speichern.")
    Next
    $Row += 4
    //nächster Durchlauf
    WEnd


    Musashi war schneller XD

    Ich würde das eher in eine (verschatelte) Case Abfrage einbauen anstatt der ganzen If-Then Blöcke.

    Auch würde ich anstatt der Verwendung der Globalen Startzahl in den Funktion Lokale Variablen bevorzugen und eine Übergabe an die Funktionen machen. (das ist aber rein persönlicher Geschmack).

    Und dein Local $i ist eigentlich Global (zumindest wenn das oben der ganze Code ist und nicht in einer Funktion steckt).

    Warum For $iIndex = 2 To $aFolders[0] ?

    Das müsste doch bei 1 starten also: $iIndex = 1 To $aFolders[0]


    Erklärt meiner Meinung nach aber noch nicht das Proble, das ein ungültiger Zugriff erfolgt.

    Kannst du dir mal ausgeben lassen, auf Welche Zeile er zugreifen will + schauen ob diese überhaupt existiert?

    So z.B.:

    Tja wenn das so einfach wäre, würde es nicht so viele gecrackte Steam Spiele geben.

    Ich dneke die Krux liegt im Offline-Modus von Steam. Dieser macht keinen Sinn für einen Multiplayer (zumindest heutzutage). Ggf. kannst du prüfen ob das Spiel im Online- oder Offline-Modus gestartet wurde und entsprechend den Mod abschalten.

    Handelt sich um WMKAT, - API gibts da leider nich, habe mit der IT gesprochen, - das Gesuch danach wurde abgelehnt, hätte natürlich auch lieber eine Liste aus dem FTP gefahren.

    ;) so viel zur Werbung "WM-KAT. Einfach. Effizient. Erleichtern und verbessern Sie jetzt die täglichen Arbeitsabläufe in Ihrer Werkstatt" :rofl:


    Die Webseite funktioniert auch nicht wirklich (wenn man versucht "mehr Informationen" zu bekommen XD)

    Kannst du das nicht ggf. über den angeblichen "Smart Client" abbilden? Ich bin mir sicher, das selbst wenn nicht, dieser auch nichts anderes macht als direkt mit den Servern und/oder API zu kommunizieren. Also Möglichkeiten gibt es, ob diese bereit gestellt werden von denen, ist wieder etwas anderes.

    Wenn sich da von deren Seite nichts rütteln lässt würde ich mir einen anderen Anbieter suchen...

    Dennoch wäre ggf. interessant welche Webseite/Dienst das ist ggf. hat shcon jemand Erfahrung damit, um das mitzuteilen musst du ja keine Logindaten preis geben ;).


    Bei der Anzahl an Abfragen hört sich das nicht nach "normalen" Usereingaben an, sondern etwas was durchaus automatisiert über API oder direkt an die Server (ohne die Webseite dazwischen) laufen sollte. Dann solltest du auch um einiges schneller sein.

    Hat die Webseite eine API die du nutzen könntest oder direkte Serverabfragen?

    Naja der Vorteil einer Konstante ist das sie halt nicht veränderbar ist.

    Man nutzt es also für Werte, die sich nicht verändern sollten oder dürfen. Das kann natürlich auch die Referenz sein, die erhalten bleiben soll (es darf keine andere Referenz oder Wert eingetragen werden).


    Sprich wenn du versuchst später im Code diese zu verändern schlägt es beim kompilieren fehl und du musst nach bessern.


    Ich nutze nach Möglichkeit immer Local/Global Const für fixe Werte (z.B. Benutzername, Passwort, Serveradresse, Pfad,...).

    Variablen nur, wenn ich das nicht vorab defnieren kann oder der Wert veränderbar sein darf/soll.


    Beispiel (Versionsnummer als Konstante):

    Global Const $Ver = Number(StringSplit(_FileGetProperty(@Scriptdir & '\tocopy\Installer\GoogleChromeStandaloneEnterprise.msi', $comment), '.')[1])


    Edit: Hat auch den Vorteil, das du dir sicher sein kannst, was für einen Wert diese Konstante hat (weil sie eben nach der Initialisierung nicht mehr veränderbar ist).

    Passt denn die Einstellung bei dir mit dem Port? Am besten mal mit einem Mailprogramm testen, wenn das Erfolgreich ist mit deinen Einstellungen, müsste man sich das Script noch mal anschauen aber ich mag es immer erst einmal zu validieren das es "auf normalem Weg" funktioniert bevor man auf die Fehlersuche im Script geht.


    Edit: Das script könnte von hier stammen: https://www.autoitscript.com/f…7-send-email-very-simple/

    Und schau mal auf den vorletzten Post, ob das bei dir funktioniert (natürlich angepasst).


    Edit2: Und sonst schau mal hier: https://www.autoitscript.com/f…ndComment&comment=1341670

    Du willst also "nur" den Content mischen aber die "Überschiften" behalten?

    Warum nicht

    1. Txt in Array

    2. die Zeile 0 und Spalte 0 in eine Variable speichern

    3. Diese beiden vom Array löschen

    4. Arrayshuffle (selber noch nie genutzt, daher nicht sicher ob das auch für 2D spaltenübergreifend funktioniert)

    5. Dem Array wieder Spalte 0 und Zeile 0 hinzufügen

    6. Array in txt speichern

    ?

    Das ist so nicht richtig, du bekommst ein Handle zurück bzw wenn nicht vorhanden -1.

    Den Dateinamen solltest du dann mit FileFindNextFile() bekommen.


    Und ich finde es ist kürzer mit weniger Abfragen:

    Ggf. aber Geschmackssache.

    Edit nur was korrigiert.