Beiträge von TheLuBu

    Durch die Vorgabe der Aufgabe ist das Auslassen von geraden Zahlen nicht erlaubt

    Zitat

    That means especially that you shouldn't optimize by using pre-computed wheels, i.e. don't assume you need only to cross out odd numbers (wheel based on 2), numbers equal to 1 or 5 modulo 6 (wheel based on 2 and 3), or similar wheels based on low primes.


    Ich werde auch noch ein bisschen weiter testen, danke schonmal für die Anregungen

    Hallo liebe Community,
    Ich habe mich ein bisschen durch http://rosettacode.org gewühlt und bin auf das Sieb des Eratosthenes gestoßen.


    Ich habe mir meine Gedanken dazu gemacht und den folgenden Code auch schon eingefügt:


    Ich würde jetzt gerne von euch wissen, ob man das noch irgendwie schneller machen könnte.
    Ich würde gerne das Ausgabeformat (Array mit den Primzahlen und Anzahl der Primzahlen in $array[0]) beibehalten, ich weiß das es mit einem String schneller gehen würde (ohne das _ArrayAdd). Ich komme jetzt bei Input = 1000 auf ~ 25ms, würde aber gerne wissen, ob es noch schneller geht :)


    Das mit ###### eingefasste ist, was ich geschrieben habe.

    Das wird noch kompliziert mit dir... ;)


    Hier nochmal als Beispiel.


    Wenn der Wert in $Input1 größer als 10 ist dann wird die erste Aufgabe gelöst,sonst die zweite Aufgabe

    Oben deklarieren:
    Global $a_List3text[5][2] = [ _
    ["Name","Description"], _
    ["Google","Text über Google"], _
    ["Lycos","Text über Lycos"], _
    ["Yahoo","Text über Yahoo"], _
    ["Alta Vista","Text über Alta Vista"] _
    ]


    Und das hier unten in den Switch packen ;)
    Case $h_List2
    $s_Read = GUICtrlRead ($h_List2)
    For $i = 1 To UBound($a_List3text) -1
    If $s_Read = $a_List3text[$i][0] Then
    GUICtrlSetData ($h_List3, "")
    GUICtrlSetData($h_List3, $a_List3text[$i][1])
    ExitLoop
    EndIf
    Next

    Jeder Rechenschritt wird für sich abgearbeitet ;)


    GUICtrlSetData($Input3, GUICtrlRead($Input1) * GUICtrlRead($Input2))
    Der Rechenschritt wird ausgerechnet und in das Inputfeld geschrieben
    GUICtrlSetData($Input3, GUICtrlRead($Input1) -2)
    Rechenschritt wird ausgeführt und in das selbe Inputfeld geschrieben.


    Der 2te Rechenschritt überschreibt aber die Anzeige des ersten Rechenschritts.


    Dein Problem habe ich aber auch noch immer nicht verstanden.

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Run(@SystemDir&"\rundll32.exe C:\WINDOWS\system32\printui.dll,PrintUIEntry /in /n ""\\server\Canon iR400 EG")
    EndSwitch

    WEnd


    Probier es mal so


    Hier eine Funktion, die ich für einen anderen User geschrieben habe, vielleicht kann die ja jemand brauchen.
    Ihr könnt damit alle Dateien und/ oder Ordner auf einem Webspace anzeigen lassen.


    Feedback zu Bugs oder Änderungen ist erwünscht :)

    Hab dein Script mal compiliert und ausgeführt, erhalte ebenfalls den Fehler.
    Bei mir liegt es daran, das er
    $ZielOrdner = IniRead($Ini,$i,"Pfad","")
    auslesen will, im Standardfall "D:\Sicherung\DBXXXX\"
    Ich habe keine Festplatte D:, aber das gibt noch nicht die Fehlermeldung, sondern erst
    $fileList = _FileListToArray($ZielOrdner, $Type, 1)
    Da Die Festplatte bzw. der Ordner nicht existiert, gibt _FileListToArray 0 zurück, kein Array.
    Hier fragst du aber den Inhalt eines Elements aus $filelist ab
    $Datex = FileGetTime($ZielOrdner & "\" & $fileList[$letzte_position], 1, 0)
    Bei mir Fehler im kompilierten zustand 4554 :)


    Hoffe ich konnte helfen


    Musste die FUnktion etwas umschreiben, aber jetzt gehts ;)


    Mit Quellcode konnte ich dir helfen, vorher wars aber wirklich nicht einfach zu verstehen, was du möchtest


    Du musst die Zeit berechnen, wenn du auf den Button klickst nicht vorher ;)
    Weiterhin musst du Guictrlread benutzen, da $Input1 nur die COntrolID und nicht den Inhalt des Controls ausgibt


    Meine Lösung, etwas anders als die von Hauke