Beiträge von MadCatz

    Also hab gerade mal mit StringLen geprüft ob der String der Länge entspricht:



    Beispiel: Athen sollte Len von 5 haben. Effektiv hab ich aber 7. Bari sollte 4 Zeichen haben, gibt aber 6 an. Also sind irgnedwo 2 Zeichen im String die das vernünftige Übertragen verhindern. Die muss ich jetzt löschen :)




    Problem gelöst:
    Am Ende der einzelnen Wörter sind ein Leerzeichen und ein @CRLF zu finden. Problem gelöst :)
    Hilft manchmal einfach drüber zureden :)

    Hi autoiter,


    nein das $c hab ich nur wegen meiner Versuchsreihe mit den FileRead drin stehen, dass habe ich vergessen vorher rausznehmen und wieder zu ersetzten. ich setzt mal den ganzen Code rein, dann kann mal getestet werden, ob es einfach nur nicht bei mir funktionieren will.



    Hallo Leute,


    folgendes Problem:


    Ich hab eine GUI aus der CreateInputs und eine CreateCombo ausgelesen werden muss.
    Der Inhalt dieser Felder wird in einer Variable deklariert.


    Der Inhalt der Combo muss mit einer Datenbak abgeglichen werden. Und hier tritt mein Problem auf.
    Das Abgleichen der CreateCombo funktionert nicht!


    Ich bekomme immer den Fehler:


    Code
    $output_2 = .Fields("Land").Value
    $output_2 = .Fields("Land")^ ERROR


    Wenn ich allerdings den Inhalt der CreateCombo händig in eines der CreateCombos einfüge und den Inhalt dann mit der Datenbank abgleiche funktioniert das ganze wie es soll.


    Was ich bisher probiert habe:


    • Den Inhalt des CreateCombos in ein CreateInput händig eingefügt und per Skript den Inhalt des CreateInputs mit der DB abgeglichen, dies funktioniert
    • Den Inhalt der CreateCombo als String deklariert. Den String als Variable deklariert und den String mit der DB abgeglichen, ohne Erfolg
    • Den Inahlt der CreateCombo als String deklariert und mittels FileWrite und FileRead mit der DB abgeglichen kein Erfolg.


    Ich gehe stark davon aus, dass etwas mit dem Create Combo nicht stimmt, da die CreateInputs immer für den Abgleich funktioniert haben.


    Wichtig ist noch zu erwähnen, dass die CreateCombo mittel Array mit Einträgen befüllt wird. Der Inhalt der CreateCombo kann auch mittels MSgBox ausgelesen werden und wird auch per FileWrite ordentlich in eine Datei geschrieben.



    Hier der betreffende Code:



    Falls mir jemand sagen kann was das Proble mit dem Dropdown ist, wäre ich sehr sehr dankbar :)

    Hi,


    ich würde deine txt in eine Array einlesen, dann nach dem Ausdruck suchen, also nach "(leer)" und dann dann alle Inhalte des Arrays entfernen, die diesen Ausdruck entfernen.


    Anschließend kansst du das Array wieder in eine txt exportieren!

    ich hab den Fehler gefunden -.-!


    SQLite wurde bei mir auf meinem AMD-System ohne die 64bit Version der sqlite.dll installiert und auf meinem Notebook mit der 64bit dll
    Mein Notebook übergibt also korrekt die dll und mein PC sucht und findet nix.
    Kam grad raus als ich ihm mit Pfad die dll übergab.

    Das sind die extrahierten Datenbank codes:




    Wie gesagt unter dem Intelsystem geht es 100%ig

    Hi Leute,


    ich verzweifle solangsam an meinem Script ?(
    Ich bin fertig mit dem coden und funktionierte bisher auch alles bei Tests.


    Jetzt kommt aber das kuriose, es läuft nicht auf allen PCs tadellos ?(



    Gecoded habe ich das Script unter 2 PCs, einmal ein AMD System (Infos unten) mit Win10 64bit und einmal unter einem Notebook mit Intel CPU und Win7 64bit.


    AutoIT, Scite und SQLite sind alle auf dem selben Stand.


    Das Script läuft wunderbar durch auf dem Intelsystem.
    Auf dem Amdsystem wird so ziemlich jeder SQLite Code falsch oder überhaupt nicht beachtet ?(



    Kenn jemand dieses Problem und hat einen Ansatz zum Lösen?


    Mein Script kann ich euch leider nicht komplett hochladen sind 1000 Zeilen und zeigen darf ich es euch leider auch nicht.



    Viele Grüße,
    MadCatz

    Die Prozentzahl im Taskmanager gibt die Gesamtauslastung des Systems an.Wenn du 4 Kerne hast, kannst du bei einem SingleThread-Prozess also nur maximal 25% Auslastung erreichen.
    Der Kern ist also zu 100% ausgelastet und die gesamte CPU (also alle Kerne) nur zu 25%.


    Wäre, wie du sagst, nur der einzelne Kern zu 25% ausgelastet würde der Taskmanager für diesen Prozess 6,25% Auslastung anzeigen.
    Ist das der Fall?

    Nein es wird nur 1.Kern zu 25% ausgelastet.


    Wenn man seine CPu überwacht sollte man dies über den Ressourcenmonitor machen und nicht bloß über den Taskmanager. Dort sieht man alle CPUs und deren einzelnen Auslastungen und bei mir wird nun mal nur eine zu 25% ausgelastet die anderen dümpeln bei 0%-1%, also Leerlauf.

    ggf. solltest du dir das Thread/Task-Management von Windows anschauen.

    Du hast eine Quadcore, daher die 25%. Windows verteilt die 100% Last EINES Threads/Tasks auf 4 Kerne, daher 25%. Du kannst das einfach im Taskmanager beeinflussen, wenn du den Task/Thread EINEM Core zuordnest (Rechtsklick auf den Prozess).


    Ich werde mal was basteln, die 15 Sekunden sollten doch zu schlagen sein^^

    Nein Andy, es sind nur 25% auf einer CPU ;), die anderen CPus laufen gar nicht erst mit an.
    Bevor die Frage kommt, die CPU ist 100% in Ordnung, aus eirgendeinem Grund wird das script aber sofort nur auf einer cpu ausgeführt

    So hab es jetzt so gelöst:


    Das ganze ist jetzt von knapp 2min auf max 15sek. gefallen, die CPu tümpelt aber immer noch bei 25% :D


    Also war überaus erfolgreich! :party: Manchmal braucht man einfach nur ein paar Leute die einem den entscheidenden Denkanstoß geben :)


    Ich danke euch vielmals für eure super Hilfe :thumbsup:

    Ok ok ok, mit der fülle an Antworten hätte ich nicht gerechnet, daher werd ich nicht auf alle eingehen können, ich denke, dass ihr mir das verzeihen werdet :)





    Die Prozentzahl wird in meiner Forschleife berechnet, wenn sie 5% weiter ist, wird die Progressbar geändert, allerdings da es in der Forschleife steht, kann ich mir natürlch schwer vorstellne, dass hier die dauer ist, da hier ja nach jedem Zeichen bestimmt wird, ob eine Variante zutrifft.



    bei solchen Spielereien:

    Code
    $posRandomName = Random($int*0.1,$int*0.9,1)
    Do
    $posRandomTimer = Random($int*0.1,$int*0.9,1)
    Until $posRandomName <> $posRandomTimer

    braucht man sich nicht wundern, daß das Skript zwar eine CPU 100% auslastet aber trotzdem schläft.

    Die CPu steht nie bei 100% sie tümpelt max. bei 25% rum und zwatr auf einem Kern, nicht 25% verteilt auf allen 8 Kernen.


    Genau! Die For...Next-Schleife muss so wenig Befehle wie möglich enthalten. Jeder einzelne Befehl in dieser Schleife wird 10.000.000 mal ausgeführt.
    Und solche komplexen If-Anweisungen sind da sehr rechenintensiv.
    Hier mal ein Beispiel, wie das schonmal sehr viel schneller geht:

    Aber wahrscheinlich kontert Andy gleich mit einer Assembler-Variante. :D

    Das lässt mich jetzt schlussfolgern, dass ich mehrere Forschleifen unterienander in die Funktion packe, nach Beendigung einer Schleife den String sichere, die Progressbar anpasse und die nächste Schleife abgehe, sollte schneller sein, wird gleich ausprobiert.


    Ja das ganze hat was mit Encryption zutun, allerdings wird die erzeugte Datei, die mit 10Mio. Zufallszeichen beschrieben wird erst am Ende richtig mit 256bit aes und einem Zufallskennwort mit 256bit verschlüsselt.
    Da das ganze bei 100% so schnell geht, hab ich den Text mit "Encrypt: Succesfull..." in die Funktion gepackt.



    So also ich teste jetzt mal das ganze mit mehrenen Forschleifen und werde berichten. :thumbsup:


    Ich dnake euch schonmal

    Hi, hier der ScriptPart :)


    Schreibe die Datei mit 4 (oder mehr) Skripten gleichzeitig. Also jeweils ein Viertel der erforderlichen Zeichen in eine Datei und am Ende fügst du die Dateien zusammen.

    da hat ich schon drangedacht, es aber wieder aus verschiedenen Gründen verworfen.

    Hallo Leute,


    ich hab eine text datei, die mit 10mio. zufallszeichen beschrieben wird. Jetzt ist es allerdings so, dass dieser Prozess sehr lange dauert, da nur eine CPU verwendet wird und diese auch nur zu max. 25% ausgelastet wird.
    Gibt es eine Möglichkeit, dass das Ganze schneller abläuft, ohne die Zeichenanzahl senken zu müssen?



    Viele Grüße,
    MadCatz

    Welchen Wert hat jetzt $sSQLiteDatabase ? RICHTIG: den Rückgabewert der Funktion Filewrite! Und der ist... - Problem erkannt?

    Fu** hast recht, nach Stunden auf den Bildschirm schauen hab ich das nicht gesehen -.-


    Edit:


    Das im Verbund mit:


    Versuch mal für jeden SQL Befehl ein eigenes exec. Hatte auch mal Probleme, das er das gebündelt nicht macht...

    hat funktioniert :)



    Vielen Dank an euch alle für die sehr sehr schnelle Hilfe :)

    Hallo Leute,


    in einem kleinen Part meines Scripts hat sich ein Fehler eingeschlichen. Dieser Verursacht, dass keine Daten in meine SQLiteDatabase geschrieben werden, aber ich find diesen einfach nicht :/


    alles läuft wunderbar bis zudem Part wo Daten geschrieben werden sollen. Als @error erhalte ich eine "0" zurück, was ja bedeuten würde, dass alles klappt.


    Das ist auch alles an Code, welcher mit SQLite arbeitet. Um zu testen ob ein Fehler in meinem Code war hab ich den Code durch den der Hilfe Datei bei "_SQLite_Exec" eingefügt, allerdings besteht auch hier dieses Problem.
    Ich hoffe mir kann geholfen werden :)


    Viele Grüße,
    MadCatz



    Edit:


    Hoffe ich hab nicht vergessen eine Variable mit reinzupasten :)



    Hallo Leute,


    ich hab eine Datei (jpeg, pdf, png etc.) die auf der Festplatte liegt. Diese würde ich nun gerne in den Arbeitspeicher laden, also nicht wirklich reinschreiben, von der Festplatte soll die Datei dabei verschwinden und nach nach einer Bedingung wieder vom Arbeitsspeicher zurück auf die Festplatte.



    Gibt es da eine Möglichkeit? Memory.au3 geht da glaub ich nicht :/



    Viele Grüße,
    MadCatz