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

Beiträge von alpines

  • Internetseite auslesen und dann?

    • alpines
    • 20. Dezember 2018 um 14:11

    ... Du schreibst den Quellcode in eine Datei und liest ihn dann aus, das was dir SSLRequest zurückgibt IST der Quellcode.

  • Internetseite auslesen und dann?

    • alpines
    • 20. Dezember 2018 um 13:29
    Zitat von Code4Fun

    ;(7)Den Quelltest der geladenen Internetseite auslesen

    Ich verstehe nicht ganz was du möchtest, dein POST wird dir die Seite zurückgegeben die dann geladen wird (sofern da nicht mit JS oder so rumgetrickst wird).

    Hast du schon in (6) reingeschaut, vielleicht ist ja das drin was du gesucht hast.

  • _GUICtrlListView_AddArray benötigt auf meinem Quad-Core 7x mehr Zeit als auf einem alten Dual-Core?!

    • alpines
    • 20. Dezember 2018 um 01:17
    Zitat von Bitnugger

    deine CPU ist um ein paar Klassen besser als meine und du hast ~10GB mehr RAM als ich... dein Ergebnis ist viel besser als auf meinem Quad-Core, aber nur minimal besser, als auf meinem antiken Dual-Core

    Zitat von Musashi

    Neuer ist nicht automatisch besser - das sollten gerade wir 'alten Säcke' wissen

    Das kann ich allerdings so nicht ganz stehen lassen.

    Klar, die Single-Core Performance hat mit den neuen CPUs zugenommen und die Differenz des Ergebnis hätte durchaus signifikanter ausfallen können, aber ihr müsst das ganze mal in dem Kontext betrachten.

    Ihr nehmt eine interpretierte Skriptsprache die auf einem Thread läuft (und im schlimmsten Fall von Windows hin- und her geworfen wird, Stichwort: Core-Hopping), und nicht die nennenswerten Erweiterungen der CPUs ausnutzt mit der ihr die Aufgabe lösen lässt.

    Die Befehlssatzerweiterungen (AVX, SSE, ...da findet sich bestimmt was um das ganze zu beschleunigen), der Cache des Quadcores ist sicherlich größer und die mehr Kerne würden im Fall, eines vernünftigen Benchmarks, die Ergebnisdifferenz deutlich verstärken.

    Man gibt hier beiden CPUs sehr schlechte Voraussetzungen um die Aufgabe optimal zu lösen und da sind einfach eine Mindestanzahl an Zyklen notwendig die die CPU so oder so (Overhead vorallem durch den Interpreter) durchlaufen muss, um die Aufgabe zu lösen.

  • _GUICtrlListView_AddArray benötigt auf meinem Quad-Core 7x mehr Zeit als auf einem alten Dual-Core?!

    • alpines
    • 19. Dezember 2018 um 21:56

    Eigenartig, auf meinem Quad-Core (i7 4790, W7x64) läuft das ganze in 333.2ms.

    Sicher, dass es am Quadcore liegt und nicht an Windows 10?

    Zudem scheint dein Speicher zu 60% ausgelastet zu sein, also schätze ich mal, es ist einfach eine Verkettung von Umständen.

    Win 10 + viel im Hintergrund + AV Programm scannt Prozess + Core-Hopping + ...

  • Internetseite auslesen und dann?

    • alpines
    • 19. Dezember 2018 um 17:00

    Nimm MustDeclareVars raus, das ist nicht zwingenderweise förderlich zur Fehlersuche. Persönlich finde ich es einfach nur lästig.

    Ich schätze mal du hast einen Fehler der den Syntax-Checker irritiert und er einen Fehler wo ganz anders rausschmeißt, ohne deinen ursprünglichen Code können wir dir da nicht besonders helfen.

  • Variablen Wert in Schleife vergleichen

    • alpines
    • 19. Dezember 2018 um 12:10
    Zitat von xSunLighTx3

    Kann man auch so machen. Ich hätte das Sleep eigentlich vor RegRead setzen sollen, wäre ja sonst sinnlos.

    Naja, das ist Haarspalterei. Ob ich jetzt einmal meinen Schlüssel doppelt auslese und dann immer sleepe oder nicht am Anfang doppelt auslese hat für den praktischen Einsatz - in diesem Falle - so gut wie keinen Effekt.

    Da sollte man einfach die Variante nehmen die syntaktisch schöner ausschaut und mit der man besser arbeiten kann.

  • Kopiertool

    • alpines
    • 19. Dezember 2018 um 11:24

    Du kannst die Dimensionsgrößen seit 3.3.14.2 (?) weglassen.

    Das Skript dürfte nicht laufen, da dein SourceDest größer als 4 in den Zeilen ist, deshalb der Fehler.

  • Internetseite auslesen und dann?

    • alpines
    • 19. Dezember 2018 um 11:22
    Zitat von Code4Fun

    Ich werde es mal mit WinHTTP versuchen.

    Auf den ersten Blick scheint es mir auch die beste Wahl zu sein, das ist alles ziemlich schlicht gehalten also wirst du mit WinHttp die höchste Durchsatzrate haben.

  • Internetseite auslesen und dann?

    • alpines
    • 18. Dezember 2018 um 12:20
    Zitat von Code4Fun

    Danke für eure Meinungen. Ich darf euch versichern, es ist im legalen Rahmen.

    Es wäre schön wenn du uns trotzdem verrätst um was für eine Seite es sich handelt, vielleicht übersiehst du ja eine API und du könntest dir den ganzen IE/WinHttp Login Kram sparen und direkt drauf zugreifen.

  • Controls nachträglich auf TAB Seite setzen

    • alpines
    • 17. Dezember 2018 um 19:44

    Es liegt an den vielen GUISetStates, damit aktualisierst du nichts. GUISetState mit @SW_SHOW zeigt die GUI an, und das solltest du nur einmal machen.

    Code
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
        #AutoIt3Wrapper_Icon=zks.ico
        #AutoIt3Wrapper_Outfile_x64=ZKS-Teilnehmer-Abfrage_x64.exe
        #AutoIt3Wrapper_Res_Comment=Anwendung zum Abgleich der aktuellen Teilnehmer bei der ZKS
        #AutoIt3Wrapper_Res_Description=Automatisches Abrufen der ZKS Postfächer
        #AutoIt3Wrapper_Res_Fileversion=0.0.1
        #AutoIt3Wrapper_Res_LegalCopyright=Code4Fun
        #AutoIt3Wrapper_Res_Language=1031
        #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
        #AutoIt3Wrapper_AU3Check_Parameters=-q -d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
        #AutoIt3Wrapper_Run_Tidy=y
        #Tidy_Parameters=/gd /reel /ri /sci 9 /gds /kv 0 /sf
        #AutoIt3Wrapper_Run_Au3Stripper=y
        #Au3Stripper_Parameters=/so /mo
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    
    #Region ;Pragma Compile Directives - Könnte mal interessant werden. Hier mal angefügt, damit ich es nicht vergesse
    
    ;~     #pragma compile(Out, bubux64.exe)
    ;~     #pragma compile(x64, true)
    ;~     #pragma compile(Compatibility, win10)
    
    #EndRegion ;Pragma Compile Directives - Könnte mal interessant werden. Hier mal angefügt, damit ich es nicht vergesse
    
    #Region ; Mein Spickzettel ( erstellt aus https://autoit.de/index.php?thread/31948-tutorial-sauber-programmieren/)
    
    ;~ - Includes / Wrapperbefehle
    ;~ - AutoIt-Optionen (AutoItSetOption oder Opt)
    ;~ - Variablendeklaration
    ;~ - Funktionsdeklaration
    ;~ - Hauptschleife
    
    ;~ Für Meine GUI eventuell notwendig
    ;~ Button
    ;~ Icon
    ;~ InputBox
    ;~ Label
    ;~ ListView
    ;~ Menü
    ;~ Pic
    ;~ Scrollbar
    ;~ Statusbar
    ;~ Tab
    ;~ ToolTip
    
    ;~ Mögliche Syntax für Variablendeklaration. Bin mal gespannt, ob ich das einhalten und vor allem richtig einhalten kann ;-)
    ;~ $a<Präfix> - Array, <Präfix> (Optional) bezeichnet den enthaltenen Datentyp
    ;~ $d - Binärdaten
    ;~ $h - Handle
    ;~ $id - Eine AutoIt-ControlID (Rückgabe der GUICtrlCreate-Befehlsreihe)
    ;~ $i - Ganzzahl
    ;~ $b - Bool'scher Wert (True & False)
    ;~ $f - Fließkommazahl
    ;~ $n - Zahl (Egal ob Fließkommazahl oder Ganzzahl)
    ;~ $s - Zeichenkette
    ;~ $v - Variant (Wechselnder oder unbekannter Datentyp)
    ;~ $p - Zeiger
    ;~ $t - Rückgabewert von DllStructCreate
    ;~ $tag - String mit Bildungsvorschrift der DllStruct (Übergabe an DllStructCreate)
    
    ;~ Funktionsaufrufe
    ;~ müssen immer mit einem Unterstrich beginnen, also
    
    ;~ Func _DasIstMeinFunktionsName()
    ;~         ...mach was
    ;~ EndFunc    ;_DasIstMeinFunktionsName
    
    ;~ Bemerkungen;
    ;~ #OnAutoItStartRegister "function" könnte für mich interessant sein. Somit könnte ich gleich beim Starten alle Postfächer durchlaufen und eine Meldung nur anzeigen, bis es fertig ist.
    
    #EndRegion ; Mein Spickzettel ( erstellt aus https://autoit.de/index.php?thread/31948-tutorial-sauber-programmieren/)
    
    #Region ; mögliche Includes einbinden, bzw. nur die notwendigen einbinden.
        ; GUI-Stile für Controls:
        ; URL in normalen Explorer kopieren: mk:@MSITStore:c:\program%20files%20(x86)\autoit3\autoit.chm::/html/appendix/GuiStyles.htm
        #include <AVIConstants.au3> ; für AVI
        #include <ButtonConstants.au3> ; für Button, Group, Radio, Checkbox
        #include <ComboConstants.au3> ; für Combobox
        #include <ColorConstants.au3> ; für Farben
        #include <Constants.au3> ; aus GUI-Referenz - MessageLoop Modus Beispiel, Tray, Run
        #include <DateTimeConstants.au3> ; für Date, MonthCal
        #include <DirConstants.au3> ; für Directory
        #include <EditConstants.au3> ; für Edit, Input
        #include <FileConstants.au3> ; für File
        #include <FontConstants.au3> ; für Font
        #include <GUIConstantsEx.au3> ; für GUI Create, events
        #include <GUITab.au3> ; für GUI Tabulatoren
        #include <InetConstants.au3> ; für Inet
        #include <MsgBoxConstants.au3> ; für MsgBox
        #include <ListboxConstants.au3> ; für List
        #include <ListViewConstants.au3> ; für ListViews
        #include <ProgressConstants.au3> ; für Progress
        #include <RichEditConstants.au3> ; für Edit, Input (Richtext oder so)
        #include <SliderConstants.au3> ; für Slider
        #include <StaticConstants.au3> ; für Label, Pic, Icon
        #include <StringConstants.au3> ; für String
        #include <TabConstants.au3> ; für Tab (falls ich damit arbeite)
        #include <TreeViewConstants.au3> ; für TreeView
        #include <WindowsConstants.au3> ; für GUI erweitere Stile, Windows
    
        ; UDFs: Include-Dateien der Konstanten:
        ; URL in normalen Explorer kopieren: mk:@MSITStore:c:\program%20files%20(x86)\autoit3\autoit.chm::/html/libfunction_constants.htm
    #EndRegion ; mögliche Includes einbinden, bzw. nur die notwendigen einbinden.
    
    #Region ; Script Kopf
        #cs ----------------------------------------------------------------------------
    
            AutoIt Version:     3.3.14.5
            Author:             Code4Fun
    
            Script Function:     GUI Script zum Auslesen unserer ZKS Postfächer, zur Ermittlung der aktiven Teilnehmer
    
            Erstellungendatum: vom 14.12.2018 bis
    
            Änderungsdatum:
    
            Version: 0.0.1
    
            History:
    
            0.0.1: Initialerstellung
            0.0.2:
    
        #ce ----------------------------------------------------------------------------
    #EndRegion ; Script Kopf
    
    #Region ; AutoIt-Spezifischen Optionen
    
        Opt("GUICloseOnESC", 1) ; Wenn man die ESC Taste drückt, wird die GUI geschlossen, da eine $GUI_EVENT_CLOSE Nachricht gesendet wird
        Opt("MustDeclareVars", 1) ; Variablen (Dim / Global / Local / Const) müssen deklariert sein. Wichtig für Fehlersuche
        ;Opt("TrayIconDebug", 1) ; Zeigt die aktuelle Skriptzeile im Trayicon Tipp um das Debugging zu unterstützen
    
    #EndRegion ; AutoIt-Spezifischen Optionen
    
    #Region ; Globale Variablendeklaration
        Global $iMsg, $hMainGUI, $hSub1GUI, $hSub2GUI ; GUI Variablen
        Global $iWidth01 = 1024, $iWidth02 = 1004, $iWidth03 = 984, $iWidth04 = $iWidth02 - 20 ; Positionsvariablen Weite
        Global $iHeight01 = 768, $iHeight02 = 60, $iHeight03 = 35, $iHeight04 = 670, $iHeight05 = 18, $iHeight06 = $iHeight02 - 30 ; Positionsvariablen Höhe
        Global $iLeft01 = 10, $iLeft02 = 20, $iLeft03 = 25, $iLeft04 = 480, $iLeft05 = 30, $iLeft06 = 150, $iLeft07 = 240, $iLeft08 = 350, $iLeft09 = 440 ; Positionsvariablen Abstand von Links
        Global $iTop01 = 5, $iTop02 = 25, $iTop03 = 75, $iTop04 = 100, $iTop05 = 130, $iTop06 = 140 ; Positionsvariablen Abstand von Oben
    
        Global $sColor_Weiss = '0xFFFFFF' ; Hintergrundfarbe Weiss
        Global $sColor_Gelb = '0x00FFFF' ; Hintergrundfarbe Gelb
        Global $sColor_Gruen = '0x00FF00' ; Hintergrundfarbe Grün
        Global $sColor_Rot = '0x0000FF' ; Hintergrundfarbe Rot
    
        Global $sAnwendungsName = 'ZKS Abfragen'
    
        Global $idGroup01, $idGroup02 ; Gruppierungsvariablen
    
        Global $idLabel01 ; Label Variablen
        Global $idLabelKonto01, $idLabelKonto02, $idLabelKonto03, $idLabelKonto04, $idLabelKonto05, $idLabelKonto06, $idLabelKonto07, $idLabelKonto08, $idLabelKonto09, $idLabelKonto10, $idLabelKonto11, $idLabelKonto12, $idLabelKonto13, $idLabelKonto14, $idLabelKonto15, $idLabelKonto16, $idLabelKonto17, $idLabelKonto18 ; Variablen vom Label KONTO
        Global $idLabelBeschreibung01, $idLabelBeschreibung02, $idLabelBeschreibung03, $idLabelBeschreibung04, $idLabelBeschreibung05, $idLabelBeschreibung06, $idLabelBeschreibung07, $idLabelBeschreibung08, $idLabelBeschreibung09, $idLabelBeschreibung10, $idLabelBeschreibung11, $idLabelBeschreibung12, $idLabelBeschreibung13, $idLabelBeschreibung14, $idLabelBeschreibung15, $idLabelBeschreibung16, $idLabelBeschreibung17, $idLabelBeschreibung18 ; Variablen vom Label BESCHREIBUNG
        Global $idLabelZKSBenutzer01, $idLabelZKSBenutzer02, $idLabelZKSBenutzer03, $idLabelZKSBenutzer04, $idLabelZKSBenutzer05, $idLabelZKSBenutzer06, $idLabelZKSBenutzer07, $idLabelZKSBenutzer08, $idLabelZKSBenutzer09, $idLabelZKSBenutzer10, $idLabelZKSBenutzer11, $idLabelZKSBenutzer12, $idLabelZKSBenutzer13, $idLabelZKSBenutzer14, $idLabelZKSBenutzer15, $idLabelZKSBenutzer16, $idLabelZKSBenutzer17, $idLabelZKSBenutzer18 ; Variablen vom Label ZKSBENUTZER
        Global $idLabelZKSKennwort01, $idLabelZKSKennwort02, $idLabelZKSKennwort03, $idLabelZKSKennwort04, $idLabelZKSKennwort05, $idLabelZKSKennwort06, $idLabelZKSKennwort07, $idLabelZKSKennwort08, $idLabelZKSKennwort09, $idLabelZKSKennwort10, $idLabelZKSKennwort11, $idLabelZKSKennwort12, $idLabelZKSKennwort13, $idLabelZKSKennwort14, $idLabelZKSKennwort15, $idLabelZKSKennwort16, $idLabelZKSKennwort17, $idLabelZKSKennwort18 ; Variablen vom Label ZKSKENNWORT
        Global $idLabelStatus01, $idLabelStatus02, $idLabelStatus03, $idLabelStatus04, $idLabelStatus05, $idLabelStatus06, $idLabelStatus07, $idLabelStatus08, $idLabelStatus09, $idLabelStatus10, $idLabelStatus11, $idLabelStatus12, $idLabelStatus13, $idLabelStatus14, $idLabelStatus15, $idLabelStatus16, $idLabelStatus17, $idLabelStatus18 ;Variablen vom Label STATUS
    
        Global $idTab01, $idTab02, $idTab03, $idTab04 ; Tabulator Variablen
    
        Global $idButton01 ; Button Variablen
        Global $idButtonDetails01, $idButtonDetails02, $idButtonDetails03, $idButtonDetails04, $idButtonDetails05, $idButtonDetails06, $idButtonDetails07, $idButtonDetails08, $idButtonDetails09, $idButtonDetails10, $idButtonDetails11, $idButtonDetails12, $idButtonDetails13, $idButtonDetails14, $idButtonDetails15, $idButtonDetails16, $idButtonDetails17, $idButtonDetails18 ; Variablen vom Button DETAILS
    
    #EndRegion ; Globale Variablendeklaration
    
    #Region ; GUI Erstellung
    
        $hMainGUI = GUICreate($sAnwendungsName, $iWidth01, $iHeight01, -1, -1) ; Hauptfenster
        $idGroup01 = GUICtrlCreateGroup(" Beschreibung ", $iLeft01, $iTop01, $iWidth02, $iHeight02)
        $idLabel01 = GUICtrlCreateLabel("Mit diesem Tool können wir unsere ZKS Teilnehmer abfragen. Mit der Suche können Teilnehmer in dieser Liste oder direkt auf der ZKS gesucht werden", $iLeft03, $iTop02, $iWidth03, $iHeight03)
        GUICtrlCreateGroup("", -99, -99, 1, 1)
    
        $idTab01 = GUICtrlCreateTab($iLeft01, $iTop03, $iWidth02, $iHeight04)
    
        $idTab02 = GUICtrlCreateTabItem("Teilnehmer abfragen") ; 1. Tabulator erstellen
        $idButton01 = GUICtrlCreateButton("ZKS anfragen", $iLeft04, $iTop04, Default, Default) ; Abfrage Schaltfläche erstellen
        _WriteLabel01() ; Funktion zur Erstellung der Überschriften
        $idTab03 = GUICtrlCreateTabItem("Teilnehmer suchen") ; 2. Tabulator erstellen
        $idTab04 = GUICtrlCreateTabItem("") ; Beendet die Tab Definition
        GUISetState(@SW_SHOW) ; GUI aktualisieren.
        _GUICtrlTab_SetCurSel($idTab01, 0) ; Tabulator "Teilnehmer abfragen" wieder den Focus geben
    ;~     GUISetState(@SW_SHOW, $hMainGUI) ; GUI aktualisieren.
    
    #EndRegion ; GUI Erstellung
    
    #Region ; Hauptschleife
        $iMsg = 0
        While 1
            $iMsg = GUIGetMsg()
            Switch $iMsg
                Case $idButton01
                    _Button01()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
            EndSwitch
        WEnd
        GUIDelete($hMainGUI)
    #EndRegion ; Hauptschleife
    
    #Region ; Funktionen
    
        Func _Button01() ; erstellt alle notwendigen Labels
            ;
        EndFunc   ;==>_Button01
    
        Func _WriteLabel01() ; Überschrift erstellen
            GUISwitch($hMainGUI, $idTab02) ; wieder auf den 1. Tab wechseln (was irgendwie nicht funktioniert)
            $idGroup01 = GUICtrlCreateGroup("", $iLeft02, $iTop05, $iWidth04, $iHeight06) ; Rahmen um die Überschrift legen
            $idLabelKonto01 = GUICtrlCreateLabel("Kontoinhaber / Rolle   |   ", $iLeft05, $iTop06, Default, $iHeight05)
            GUICtrlSetBkColor($idLabelKonto01, $sColor_Weiss)
            $idLabelBeschreibung01 = GUICtrlCreateLabel("Beschreibung   |   ", $iLeft06, $iTop06, Default, $iHeight05)
            GUICtrlSetBkColor($idLabelBeschreibung01, $sColor_Weiss)
            $idLabelZKSBenutzer01 = GUICtrlCreateLabel("ZKS Benutzername   |   ", $iLeft07, $iTop06, Default, $iHeight05)
            GUICtrlSetBkColor($idLabelZKSBenutzer01, $sColor_Weiss)
            $idLabelZKSKennwort01 = GUICtrlCreateLabel("ZKS Kennwort   |   ", $iLeft08, $iTop06, Default, $iHeight05)
            GUICtrlSetBkColor($idLabelZKSKennwort01, $sColor_Weiss)
            $idButtonDetails01 = GUICtrlCreateButton("Details", $iLeft09, $iTop06 - 1, Default, $iHeight05)
            GUICtrlSetBkColor($idButtonDetails01, $sColor_Weiss)
    ;~         GUISetState(@SW_SHOW)
        EndFunc   ;==>_WriteLabel01
    #EndRegion ; Funktionen
    Alles anzeigen
  • Controls nachträglich auf TAB Seite setzen

    • alpines
    • 17. Dezember 2018 um 17:03

    Hast du vielleicht ein Beispielskript damit wir uns nichts selber zusammenbasteln müssen?

  • Entfernung in Koordinatensytem berechnen

    • alpines
    • 17. Dezember 2018 um 16:44
    Zitat von Acanis

    Warum? Ich finde "weiter dokterst" nicht sehr wertschätzend und er hat auch nicht erklärt, wieso das für die Lösung relevant sein sollte

    Das hat mit Wertschätzung nichts zu tun, wenn hier jemand seine Karten nicht auf den Tisch legen will müssen wir davon ausgehen, dass er nichts gutes im Schilde führt und vermutlich gegen die Forenregeln verstößt.

    Außerdem sehen oftmals Fragesteller den Wald vor lauter Bäumen nicht und gehen die falschen Bereiche an obwohl das Problem viel effizienter zu lösen ist.

    Deshalb solltest du, wenn du nichts zu verstecken hast, offenlegen was du wo wie erreichen willst damit du hier die gezielte Hilfe bekommst, die das Problem im Nu lösen kann.

  • Controls nachträglich auf TAB Seite setzen

    • alpines
    • 17. Dezember 2018 um 16:31

    GUISwitch verändert nicht die Ansicht der aktuellen Tabseite. Es setzt die aktive Tabseite zum Erzeugen der Controls.

    Erzeugst du mit GUICtrlCreateTabItem neue Controls landen die auf der Tabseite, die du bei GUISwitch angegeben hast.

    Wenn du die Tabseite visuell wechseln möchtest, dann musst du _GUICtrlTab_SetCurSel verwenden.

  • Controls nachträglich auf TAB Seite setzen

    • alpines
    • 17. Dezember 2018 um 16:03

    Das Thema hatten wir letztens erst, du musst mit GUISwitch (schau dir den Befehl in der Dokumentation an) die 1. Tabseite wieder als aktiven Fokus setzen um dort die Controls zu erzeugen.

  • Entfernung in Koordinatensytem berechnen

    • alpines
    • 17. Dezember 2018 um 12:38
    Zitat von Xorianator

    Dürfte man, bevor du hier weiter doktorst, folgendes in Erfahrung bringen:


    1. Was soll das fertige Produkt leisten (nicht nur der Teilausschnitt)?

    2. Wie kommst du an dieses Koordinatensystem?

    @Acanis es wäre schön wenn du Xori nicht unbeantwortet lassen würdest.

  • Variablen Wert in Schleife vergleichen

    • alpines
    • 14. Dezember 2018 um 16:18

    Schau dir mal While- oder Do/Until-Schleifen an, damit solltest du das hinbekommen.

  • Arrays einzeln ausgeben

    • alpines
    • 14. Dezember 2018 um 13:28
    Zitat von Joschy41

    Aber ich muss dann $aArray[0], $aArray[1],$aArray[2], usw in einer Zeile bekommen.

    Erstell doch eine neue Variable wo du die Inhalte einfach hintereinander hängst...

  • Arrays einzeln ausgeben

    • alpines
    • 14. Dezember 2018 um 11:57
    Zitat von Joschy41

    kannst du mir ein Beispiel zeigen?

    Code
    Local $aArray[] = [1, 2, 3, 4, 5]
    
    For $i = 0 To UBound($aArray) - 1
        MsgBox(64, "Info", "Durchlauf Nr. " & $aArray[$i])
    Next
  • Mit _StringBetween nur jedes 1. - 4. - 7. usw. Vorkommen rausfiltern

    • alpines
    • 14. Dezember 2018 um 11:34
    Zitat von Moombas

    Ich kenne mich mit Notepad++ nun nicht aus aber wenn der "orangene Punkt" = ein Punkt ist, der in der normalen Textdatei ein Leerzeichen ist und in Hexadezimal ein Punkt (=verstecktes Zeichen), dann musst du bei deinem Skript nicht

    Als regulärern Ausdruck würde deine Ersetzung mit Punkt funktionieren, aber bei StringInStr nicht da du hier nach einem Punkt suchst aber dein Zeichen nur als Punkt in N++ oder einem Hexeditor dargestellt wird obwohl es ein ganz anderes Zeichen ist. StringInStr akzeptiert keine Wildcards.

    Auf die schnelle kann man das ganze mit StringRegExp($line, "Bevollmächtigter.+?des.+?Erzeugers") lösen, das gibt true zurück wenn das Pattern gefunden wird.

  • Zu : Funktion _Number() von BugFix

    • alpines
    • 12. Dezember 2018 um 15:30
    Zitat von Tuxedo

    Nein Alpines diesmal eben nicht. Null als Rückgabe ist Scheisse weil eben auch der String gewollt eine Null als Nummer beinhalten könnte.

    Und wenn ich bei einem Fehler eine Null zurückgebe, wie willst du dann sehen ob die Null eine Nummer oder eben der Fehler ist.

    Du solltest das nächste Mal vielleicht gründlicher lesen ;)

    Zitat von alpines

    Rückgabewerte zu mischen ist kein guter Code da du ambivalente Typen hast. Return lieber eine 0 und setz @error.

    Aber das hast du ja schon selbst bemerkt.

    Bei dir muss man zwar nur einen Wert abfragen aber das ist vom Stil her keine feine Sache, du mischt deine Rückgabetypen und das sollte man für gewöhnlich nicht machen.

    Das mag in AutoIt keinen großen Unterschied machen aber Vergleiche mit Strings sind teuer und kosten mehr Zeit als wenn ich zwei Integer miteinander vergleiche.

    @error ist in AutoIt ja bereits fest verankert, da sollte man nicht extra noch eine neue Methode der Fehlererkennung raushauen wenn sie keinen nennenswerten Mehrwert bietet,

    das resultiert einfach nur darin, dass man mehr im Kopf haben muss und solche Selbstverständlichkeiten rausdenken muss.

    Zitat von Tuxedo

    Und zum schlechten Stil, es gibt doch in Autoit genug Funktionen die gemischte Rückgaben(Strings oder Zahlen meist -1 bis etwa 5) haben.

    Richtig, und das befürworte ich ja auch nicht, das sollte dir aber keinen Freischein dafür geben selber schlechten Code zu schreiben.

    Das ist aber der Tatsache geschuldet das AutoIt schon etliche Jahre alt ist und sämtliche Skripte kaputtgehen würden wenn man alles neu-konsistent schreiben würde.

    Man hat anfänglich die falsche Entscheidung getroffen (meine persönlich Meinung!!) und muss jetzt die Linie weiterziehen, statt alles so gründlich wie möglich zu halten. (Sowohl Kernfunktionen als auch die UDFs)

    Zitat von Tuxedo

    Das ist genauso wie die ewigen Diskussionen ob Goto oder Gosub schlechte Befehle sind,

    Sind sie nicht, wenn der Großteil sie nicht korrekt einsetzen kann dann ändert es an der Funktionalität nichts.

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™