1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Moombas

Beiträge von Moombas

  • IE Navigate und IEGetObjByID beschleunigen oder Alternative?

    • Moombas
    • 21. März 2022 um 14:57

    Da muss ich leider passen, aber generell sieht die Schleife nicht so aus, als ob man sie noch verkürzen und damit Zeit sparen könnte.

    Dachte an einen großen anderen Anbieter (autoteile-markt.de evtl.?). Es wird sicherlich welche geben die eine API bereitstellen.

  • IE Navigate und IEGetObjByID beschleunigen oder Alternative?

    • Moombas
    • 21. März 2022 um 14:36
    Zitat von Leaves

    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...

  • IE Navigate und IEGetObjByID beschleunigen oder Alternative?

    • Moombas
    • 21. März 2022 um 14:19

    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?

  • Funktionsparameter als Const ByRef

    • Moombas
    • 21. März 2022 um 11:54

    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).

  • In die Registry mit Regwrite schreiben liefert falsche Einträge

    • Moombas
    • 15. März 2022 um 09:51

    Du schreibst einfach "16" in das DWORD (nicht dword:0000016), das sollte passen.

    Also z.B. RegWrite("PathInRegistry", "RegistryEntry", "REG_DWORD", "16")

  • Email versenden

    • Moombas
    • 11. März 2022 um 11:23

    Funktioniert bei dir denn (in cmd und auf deins angepasst): telnet smtp.1und1.de 465 ?

    Und siehe auch meine beiden Edits im vorigen Post.

  • Email versenden

    • Moombas
    • 11. März 2022 um 10:46

    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/forum/topic/15…il-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/forum/topic/18…comment=1341670

  • Email versenden

    • Moombas
    • 11. März 2022 um 09:40

    Firewall etc. gerpüft ob du überhaupt die erforderlichen Freigaben hast!?

  • Spalten zufällige Zahlenreihenfolge; ganze Spalten mischen

    • Moombas
    • 11. März 2022 um 07:55

    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

    ?

  • Filter für FileListToArray

    • Moombas
    • 10. März 2022 um 13:51

    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:

    AutoIt
    While not StringInStr($hFile, 'UUID-')
        $hFile = FileFindFirstFile('UUID-*.txt')
        if $hFile <> -1 Then
            $sFileName = FileFindNextFile($hFile)
            ExitLoop
        Else
            $sFilerst = MsgBox($MB_SYSTEMMODAL + $MB_YESNO, "Warnung", "Keine UUID-*.txt Datei(en) gefunden!!!" & @CRLF & @CRLF & "Möchten sie eine erstellen?")
            If $sFilerst = $IDYES Then
                $sEingabe = InputBox("Eingabe Rechnername", "Bitte geben sie den Rechnername ein:", @ComputerName)
                FileWrite("UUID-" & $sEingabe & ".txt", "")
                if @error = 1 then ;Cancel
                    ExitLoop
                Else
                    $hFile = FileFindFirstFile('UUID-*.txt')
                    if $hFile <> -1 Then
                        $sFileName = FileFindNextFile($hFile)
                        ExitLoop
                    Else
                        MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
                    EndIf
                Endif
            Else
                ExitLoop
            EndIf
        EndIf
    WEnd
    Alles anzeigen

    Ggf. aber Geschmackssache.

    Edit nur was korrigiert.

  • Filter für FileListToArray

    • Moombas
    • 9. März 2022 um 14:39

    Naja in der Hilfe steht das beim Fehlschlag nur @error gesetzt wird.

    Bedeutet, das man darauf prüfen sollte und nicht auf den Rückgabewert.

    Ich bleibe bei FileFindFirstFile('UUID-*.txt') als die schönere Variante.

  • Filter für FileListToArray

    • Moombas
    • 9. März 2022 um 14:20

    @Hipfzwirgl: Warum nutzt du nicht (wie bereits von mir oben erwähnt): FileFindFirstFile('UUID-*.txt') ?

    Das wäre doch wesentlich einfacher zu handhaben.

  • Filter für FileListToArray

    • Moombas
    • 8. März 2022 um 15:52

    Dem Programm ist herzlich egal ob dein Filter eine Datei oder einen Ordner meint. Wenn dein Filter zum Ergebnis hat, das das Array am Ende leer ist, da gar keine passende Datei gefunden wurde. Ein leeres Ergebnis ist mit einem ungültigen Pfad in diesem Fall gleich gestellt. (Meine Interpretation, bitte korrigieren wenn falsch)

    Das widerspricht nicht unbedingt dem Hilfetext, da dieser davon ausgeht, du hast Xmal eine Datei, die deinem Filter entspricht und nicht im schlimmsten Fall gar nicht.

    Edit: Ich denke du brauchst eher die Funktion FileFindFirstFile('UUID-*.txt')

  • Filter für FileListToArray

    • Moombas
    • 8. März 2022 um 14:50

    1. Wenn deine Datei nicht vorhanden ist, passt der Filter nicht mehr und damit der Pfad nicht mehr. Das führt zu @error 1

    2. Wenn er keinen Pfad hat, bekommst du kein Array zurück, deshalb funktioniert ArrayDisplay nicht

    Edit: Nach meiner Auffassung also eher so (ich gehe davon aus das dies in einer Funktion gekapselt ist):

    AutoIt
    $FileList = _FileListToArray(@ScriptDir, '*.txt', 1) ; Dateiname einlesen
    $aResult  = _ArraySearch($FileList, 'UUID-')
    if $aResult <> -1 then 
        $Result = $FileList[$aResult]
    Else
        $sFilerst = MsgBox($MB_SYSTEMMODAL + $MB_YESNO, "Warnung", "Keine UUID-*.txt Datei(en) gefunden!!!" & @CRLF & @CRLF & "Möchten sie eine erstellen?")
    
        If $sFilerst = $IDYES Then
            $sEingabe = InputBox("Eingabe Rechnername", "Bitte geben sie den Rechnername ein:", @ComputerName)
            If Not FileWrite("UUID-" & $sEingabe & ".txt", "") Then
                $Result   = @error
                MsgBox($MB_SYSTEMMODAL, "", "Es ist während dem schreiben der temporären Datei ein Fehler aufgetreten.")
            Else
                $FileList = _FileListToArray(@ScriptDir, '*.txt', 1) ; Dateiname einlesen
                $Result   = $FileList[_ArraySearch($FileList, 'UUID-')]
            EndIf
        EndIf
    EndIf
    Return $Result
    Alles anzeigen
  • Inputbox Dialog Idee gesucht

    • Moombas
    • 8. März 2022 um 13:19
    Zitat von BugFix

    Nicht falsch verstehen, aber hier zeigt sich m.M. nach der Nachteil von IDE's, die dir versuchen das Denken abzunehmen.

    ...

    Um erstmalig eine GUI zu erstellen ist das für einen Anfänger durchaus eine gute Hilfe. Aber auch da ist derjenige gefordert hinterher zu schauen: Welcher Code wurde mir generiert und was passiert dabei?

    Bezüglich autoit stimme ich da Bugfix zu, nutze aber in Autoit kaum GUI.

    Meine Erfahrung bei anderen Sprachen/Programmen ist da jedoch anders, da dort der eigentliche Programm-Code vom GUI-Code explizit getrennt ist und per Programm-Code angesprochen wird. Also im Prinzip, wie man das hier auch (wie bereits mehrfach angesprochen) mit jedem include auch macht.

  • Inputbox Dialog Idee gesucht

    • Moombas
    • 8. März 2022 um 09:19

    Ich möchte dabei nochmal auf meine Post #5 hinweisen.

    Binde deine GUI-Funktion per include der AU3 ein (ohne sie dort aufzurufen!!).

    Und den Aufruf machst du dann aus der Mainform wie mit jeder anderen Funktion.

  • Wie suche ich Spalten in Excel?

    • Moombas
    • 7. März 2022 um 08:40

    Andy: Das kommt natürlich drauf an. Beispiel: Ich fülle (nicht mit Autoit) eine Excel Tabelle mit div. Daten in verschiedenen Tabellenblättern autom. nach bestimmten Programmaufrufen. Ja, das könnte man auch in eine DB packen aber ich möchte die Datei direkt öffnen und im Zweifelsfall filtern und notfalls sogar drucken können.

    Da ist es besser das über ein externes Programm gemacht wird. Auch da Excel dann nur zum speichern/laden gebraucht wird und nebenbei ohne Beeinträchtigung genutzt werden kann (jede weitere offene XLSX Datei verlangsamt Excel enorm wenn komplexe Formeln verwendet werden).

  • Wie suche ich Spalten in Excel?

    • Moombas
    • 3. März 2022 um 07:57

    Oder du setzt mit Hilfe der Excel.au3 einfach einen Filter (https://www.autoitscript.com/wiki/Excel_Filter) und lässt dann die entsprechenden Zeilen löschen.

  • Text und Grafik-Datei in PDF umwandeln - Seltsames Verhalten???

    • Moombas
    • 25. Februar 2022 um 14:35

    Das Problem dabei: Ich habe die UDF erst einmal verbaut und dabei auch Anpassungen für uns hier gemacht, damit ich eben nur 1 Seite bekomme.

    Aber das ist nicht nur lange her, sondern widerspricht auch dem Usecase den hipfzwirgel hier haben möchte und ist daher wenig Hilfreich.

    Mittlerweile brauche ich das nicht mehr, da ich das ganze später in Delphi via SynPDF umgesetzt habe.

    Aber ich würde es wirklich mal versuchen eine Art "ResetPDFSettings Funktion zu bauen die folgende globalen Variablen auf ihren Standardwert zurück setzt (warum die Fonts z.B. nicht Const sind erschließt sich mir nicht) und am Ende von ClosePDFFile ausgeführt wird:

    AutoIt
    Global $PDF_VERSION = "%PDF-1.5" & @CRLF & "%" & ChrW(199) & ChrW(200) & ChrW(201) & ChrW(202)
    Global $PDF_AUTHOR = "Mihai Iancu"
    Global $PDF_CREATOR = "MIPDF"
    Global $PDF_COPYRIGHT = "ɠ1973-" & @YEAR & " Mihai Iancu"
    Global $PDF_TITLE = ""
    Global $PDF_SUBJECT = ""
    Global $PDF_KEYWORDS = ""
    Global $PDF_NAME = ""
    
    Global $PDF_FONT_STD_HELVETICA = "Helvetica" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_STD_COURIER = "Courier" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_STD_SYMBOL = "Symbol" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_STD_ZAPFDINGBATS = "ZapfDingbats" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_STD_ARIAL = "Helvetica";looks the same ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_STD_TIMES = "Times Roman" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    
    Global $PDF_FONT_COURIER = $PDF_FONT_STD_COURIER & " New" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_ARIAL = $PDF_FONT_STD_ARIAL ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_TIMES = "Times New Roman" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_SYMBOL = $PDF_FONT_STD_SYMBOL ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_CALIBRI = "Calibri" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    Global $PDF_FONT_GARAMOND = "Garamond" ;würde ich auf Const setzen und müsste dann nicht jedes Mal zurück gesetzt werden
    
    Global $PDF_OBJECT_NAME = ""
    Global $PDF_OBJECT_OPTIONS = ""
    
    Global $BaseFont
    Global $FirstChar
    Global $LastChar
    Global $Param
    Global $MissingWidth
    Global $Widths[256]
    Global $__SetUnit
    Global $_PaperSize = "A4"
    Global $_Orientation = $PDF_ORIENTATION_PORTRAIT
    Global $__SetMargin = 0
    Global $_Pages = 0
    Global $_CharSpacing
    Global $_WordSpacing
    Global $_TextScaling
    Global $_PageWidth
    Global $_PageHeight
    Global $_FileName
    Global $_Offset = 0
    Global $_Font = ""
    Global $_ZoomMode
    Global $_LayoutMode
    Global $_sPage=" "
    Global $_sFONT
    Global $_sFONTNAME
    Global $_Image=""
    Global $_sObject
    Global $_iResource
    Global $_iPages
    Global $_iObject = 0
    Global $_iMaxObject
    Global $_iTmpOffset
    Global $_iImageW
    Global $_iImageH
    Global $_Buffer = ""
    Global $_bOpen = False
    
    Global $aXREF[1000]
    Global $aOBJECTS[2] = [$PDF_OBJECT_NAME, $PDF_OBJECT_OPTIONS]
    Alles anzeigen
  • Text und Grafik-Datei in PDF umwandeln - Seltsames Verhalten???

    • Moombas
    • 25. Februar 2022 um 13:45

    Das Problem ist nicht unbedingt das in der au3 Globale Variablen genutzt werden (da sie in mehreren Funktionen genutzt werden), viel mehr muss man sie selber, bevor man eine neue generiert, neu befüllen oder leeren.

    Ich selber nutze die gleiche au3, jedoch bisher nur im 1-Seiten Kontext. Und man muss aufpassen das der Text nicht zu lang wird, denn es wird kein eutom. Zeilenumbruch oder so gemacht.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™