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

Beiträge von Tyzer

  • Sehr große Zahlen addieren führt zum falschen Ergebnis

    • Tyzer
    • 3. November 2023 um 02:39
    Code
    Global $a = "0x7FFE6E84D380", $b = "0xFFFFFFF2"
    ConsoleWrite(Hex(_SumStrings(Hex2Dec($a), Hex2Dec($b))) & @CRLF)
    
    Func Hex2Dec($iN)
        Local $aN, $ihex = 0
        $aN = StringSplit(StringTrimLeft($iN, 2), "", 1)
        For $x = 1 To UBound($aN) - 1
            $ihex += Dec($aN[$x]) * (16 ^ (UBound($aN) - 1 - $x))
        Next
        Return $ihex
    EndFunc ;==>Hex2Dec
    
    Func _SumStrings($addend1,$addend2)
       Local $Lenght, $tocarry = 0, $Sum = "", $c, $SubTotal
       If Not IsString($addend1) Then $addend1 = String(Int($Addend1))
       If Not IsString($addend2) Then $addend2 = String(Int($Addend2))
    
       If not StringIsInt($addend1) Or not StringIsInt($addend2) Then
          Exit
       EndIf
    
       If StringLen($addend1) > StringLen($addend2) Then
          $Lenght = StringLen($addend1)
       Else
          $Lenght = StringLen($addend2)
       EndIf
       If $Lenght <= 3 Then
          $Lenght = 3
       Else
          $Lenght = $Lenght + Mod($Lenght,3)
       EndIf
    
       While StringLen($Addend1) <> $Lenght
          $Addend1 = "0" & $Addend1
       Wend
    
       While StringLen($Addend2) <> $Lenght
          $Addend2 = "0" & $Addend2
       Wend
    
       For $c = 1 to $Lenght/3
          $SubTotal = Int(StringRight($addend1,3)) + Int(StringRight($addend2,3)) + $ToCarry
          If $SubTotal > 999 Then
             $ToCarry = Int($SubTotal/1000 )
          Else
             $ToCarry = 0
          EndIf
          String($SubTotal)
          While StringLen($SubTotal) < 3
             $SubTotal = "0" & $SubTotal
          Wend
          $Sum = StringRight($Subtotal,3) & $Sum
          $Addend1 = StringTrimRight($Addend1,3)
          $Addend2 = StringTrimRight($Addend2,3)
    
       Next
    
       While StringInStr($sum,"0") = 1
          $Sum = StringTrimLeft($sum,1)
       Wend
        Return $sum
    
    EndFunc
    Alles anzeigen

    (Die Funktionen sind nicht von mir)

  • Sehr große Zahlen addieren führt zum falschen Ergebnis

    • Tyzer
    • 3. November 2023 um 02:27

    Wie bereits im Titel beschrieben bekomme ich immer ein falsches Ergebnis raus, gibts hier irgendwelche Umwege?

    Code
    Global $a = 0x7FFE6E84D380, $b = 0xFFFFFFF2
    ConsoleWrite(Hex($a + $b) & @CRLF); expected 7FFF 6E84 D372

    pasted-from-clipboard.png

  • Bereich von Bild in neuer Datei speichern

    • Tyzer
    • 8. Februar 2023 um 12:07

    Hat sich erledigt, hab es doch noch geschafft

    Code
    _GetImageArea(@ScriptDir & "\source.jpg", 15, 108, 145, 176, @ScriptDir & "\result.jpg")
    Exit
    
    
    Func _GetImageArea($fImage, $X1, $Y1, $X2, $Y2, $nImage)
        Local $iW = $X2 - $X1, $iH = $Y2 - $Y1
        If $iW > 0 And $iH > 0 And FileExists($fImage) Then
            _GDIPlus_Startup()
            $hImage = _GDIPlus_ImageLoadFromFile($fImage)
            $hClone = _GDIPlus_BitmapCloneArea($hImage, $X1, $Y1, $iW, $iH, $GDIP_PXF24RGB)
            _GDIPlus_ImageSaveToFile($hClone, $nImage)
            _GDIPlus_Shutdown()
        EndIf
    EndFunc
    Alles anzeigen
  • Bereich von Bild in neuer Datei speichern

    • Tyzer
    • 8. Februar 2023 um 12:03

    Hm danke aber ich möchte eigentlich kein Screenshot aufnehmen, ich möchte einen bestimmten Bereich einer existierenden Bilddatei in einer neuen Bilddatei speichern.

  • Bereich von Bild in neuer Datei speichern

    • Tyzer
    • 8. Februar 2023 um 11:36

    Ich versuche den Bereich eines Bildes in einer neuen Datei zu speichern und ich glaube es fehlt auch nicht mehr viel aber momentan ist das Resultat immer nur ein komplett schwarzes Bild, ich füge ein Bild zum testen mit bei.

    Kann mir da jemand helfen?

    Code
    _GetImageArea(@ScriptDir & "\source.jpg", 15, 108, 145, 176, @ScriptDir & "\result.jpg")
    Exit
    
    
    Func _GetImageArea($fImage, $X1, $Y1, $X2, $Y2, $nImage)
        Local $iW = $X2 - $X1, $iH = $Y2 - $Y1
        If $iW > 0 And $iH > 0 And FileExists($fImage) Then
            _GDIPlus_Startup()
            $hImage = _GDIPlus_ImageLoadFromFile($fImage)
            $hGUI = GUICreate("", $iW, $iH)
            GUISetState(); just for debugging
            $hGfx = _GDIPlus_GraphicsCreateFromHWND($hGUI)
            $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iW, $iH, $hGfx)
            _GDIPlus_GraphicsDrawImageRectRect($hGfx, $hImage, $X1, $Y1, $iW, $iH, 0, 0, $iW, $iH)
            Sleep(5000); just for debugging
            _GDIPlus_ImageSaveToFile($hBitmap, $nImage)
    
            _GDIPlus_GraphicsDispose($hGfx)
            _GDIPlus_BitmapDispose($hBitmap)
            _GDIPlus_ImageDispose($hImage)
            _GDIPlus_Shutdown()
        EndIf
    EndFunc
    Alles anzeigen

    Dateien

    source.jpg 17,64 kB – 0 Downloads
  • Automatisch Funktionen zusammenklappen in Scite

    • Tyzer
    • 25. Januar 2023 um 23:29
    Zitat von BugFix

    Oh man - ist mir echt peinlich. Hab gerade festgestellt, dass ich in der Voreinstellung LF für meine Dateien habe. :Face:

    Da muss das Pattern etwas anders aussehen. Ich korrigiere sofort im Post.

    Ein Traum, sowas wollte ich schon seit Jahren, vielen Dank dir :)

  • Automatisch Funktionen zusammenklappen in Scite

    • Tyzer
    • 23. Januar 2023 um 20:23

    Screenshot 2023-01-23 201635.png

    so sieht meine "SciTEUser.properties", die Datei befindet sich in "\AppData\Local\AutoIt v3\SciTE"

    sollte also Korrekt sein, im oberen Menü von Scite befinden sich die beiden Optionen auch

    Es klappt bei keiner Datei, hab auch grade eine neue Test Datei erstellt, ist im Anhang, da geht es auch nicht.

    Dateien

    test.au3 164 Byte – 314 Downloads
  • Automatisch Funktionen zusammenklappen in Scite

    • Tyzer
    • 23. Januar 2023 um 19:00
    Zitat von BugFix

    Jetzt ja. :rofl:

    Beitrag

    SciTE - Fold / Expand mit Pattern für "Startzeile Faltbereich"

    Mit den folgenden beiden Funktionen, schon verpackt als Eintrag für SciTEUser.properties, könnt ihr Bereiche anhand eines Lua-String-Patterns festlegen, die alle gemeinsam ein- oder ausgeklappt werden sollen.

    Ich habe hier im Bsp. die Funktionsdeklaration gewählt. Das Pattern gilt für die erste Zeile des Faltbereiches.

    pattern = '^[Ff][Uu][Nn][Cc]%s'

    Bedeutet:

    - Zeilenanfang

    - "Func" (egal ob Groß- oder Kleinschreibung)

    - Leerzeichen

    EDIT:

    Hatte mich leider in der Zeilenumbrucherkennung vertan, hatte…
    BugFix
    23. Januar 2023 um 11:15

    Danke aber das ganze funktioniert leider nicht richtig, es klappt so gut wie nichts zusammen nur ein paar ElseIf sind eingeklappt

  • Automatisch Funktionen zusammenklappen in Scite

    • Tyzer
    • 20. Januar 2023 um 03:00

    Super simple Frage, trau mich fast nicht ein Thread dafür zu öffnen aber gibt es eine Möglichkeit in Scite nur Funktionen zusammenzuklappen (collapse, fold)?

  • Run new process without inherit permissions

    • Tyzer
    • 1. Juni 2021 um 15:11

    I want to kill a protected process and the problem is that it can only be killed from new started processes (with admin privileges) within the first few ms, when I run a subprocess to do so it doesn't work out though, I'm pretty sure it's because the subprocess inherits something from the main process which got restricted already by the protected process, I'm thinking about creating a temporary tasks and starting the task when ever I want to kill the protected process.


    Any Suggestions?


    Edit: Like I guessed creating a task to actually do the kill part so I can avoid the inheritance from the main process did solve it

  • Auflösung und Positionen von mehreren Bildschirmen verwalten

    • Tyzer
    • 16. Oktober 2020 um 20:33

    Perfekt, das sollte passen, vielen dank

  • Auflösung und Positionen von mehreren Bildschirmen verwalten

    • Tyzer
    • 16. Oktober 2020 um 12:07

    Scheint so als wäre das wirklich mal was wo keiner eine Lösung weis

  • Auflösung und Positionen von mehreren Bildschirmen verwalten

    • Tyzer
    • 15. Oktober 2020 um 01:44

    Ich würde gerne bestimmte Layouts von Bildschirmen speichern und anwenden können, eine Funktion zum auslesen der einzelnen Auflösungen und Positionen hab ich schon gefunden aber wie man die Auflösung und Position der einzelnen Bildschirme ändert finde ich einfach keine Lösung für, könnt ihr mir da aushelfen?


    Hier der Code zum auslesen

    https://www.autoitscript.com/forum/topic/82…&comment=590685

  • AutoIt3.exe ended.rc:-1073741819

    • Tyzer
    • 10. März 2020 um 21:37

    Ja sorry Leute ich hatte vor diesem Post nach "Autoit -1073741819" und "Autoit Exit codes" gegoogelt, da kam nichts bei rum, bei "Autoit 1073741819" ohne das Minus schon das hab ich auch wenige Minuten nach dem posten gemerkt.

    Das Problem ist gelöst hoffe ich zumindest, es waren wohl zuviele GUIGetMsg() auf die gleiche Variable deklariert worden.

    Danke euch :)

  • AutoIt3.exe ended.rc:-1073741819

    • Tyzer
    • 10. März 2020 um 14:58

    Manchmal stürzt mein Programm mit diesem Fehlercode in der Console ab

    Code
    AutoIt3.exe ended.rc:-1073741819
    >Exit code: -1073741819    Time: 764.721

    unter https://www.autoitscript.com/autoit3/docs/a…x/Exitcodes.htm finde ich keine Informationen zu diesem Code, weiß jemand was los ist?

    Mein Programm ist leider sehr lang 30.000 Zeilen sodass ich den Code hier nicht posten kann

  • VM Umgebung erkennen und blockieren

    • Tyzer
    • 18. Juni 2019 um 17:11

    Vielen dank für die schnelle Hilfe :)

  • VM Umgebung erkennen und blockieren

    • Tyzer
    • 18. Juni 2019 um 15:35

    Ja momentan benutze ich

    Code
    Func _IsInVBox($strComputer = '.')
        Local $x = 0, $objWMIService, $colItems
        $objWMIService = ObjGet('winmgmts:\\' & $strComputer & '\root\cimv2')
        If Not IsObj($objWMIService) Then Return SetError(1, 0, 0)
        $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_DiskDrive', 'WQL', 0x30)
        If IsObj($colItems) Then
            For $objItem In $colItems
                $vReturn = $objItem.Model
                If StringInStr($vReturn, "VBOX HARDDISK") Then
                    Return True
                    ExitLoop
                EndIf
                If StringInStr($vReturn, "QEMU HARDDISK") Then
                    Return True
                    ExitLoop
                EndIf
                If StringInStr($vReturn, "VMWARE VIRTUAL IDE HARD DRIVE") Then
                    Return True
                    ExitLoop
                EndIf
                If StringInStr($vReturn, "VIRTUAL HD") Then
                    Return True
                    ExitLoop
                EndIf
            Next
        EndIf ;Copyright (C) 2011 Fennek/sl4y3r
    EndFunc   ;==>_IsInVBox
    Alles anzeigen

    und noch ein paar andere RegReads, ich hab mir das geklonte Windows in einer VM bisher noch nicht selber angeschaut da meine PCs einfach zu groß sind um sie zu klonen da hab ich nicht mehr genug speicher für :D aber gut ich werd wohl Windows auf irgendeinem Gerät neuinstallieren damit ich weniger zu klonen habe

  • VM Umgebung erkennen und blockieren

    • Tyzer
    • 18. Juni 2019 um 14:56

    Ich habe schon eine Funktion mit der ich erkennen kann ob das Programm in einer Virtuellen Machine ausgeführt wird falls ja beendet sich das Programm, nun hat ein User allerdings "VMware vCenter Converter" benutzt um seinen lokalen PC als VMware zu klonen und das kann ich einfach nicht mehr als VM erkennen, hat da jemand einen Rat?

  • Problem mit RC4 verschlüsselung

    • Tyzer
    • 28. März 2019 um 19:30

    Ja korrekt du hast genau verstanden worum es mir geht, ich hab das ein wenig anders gelöst, meine PHP hat nun einfach eine gewisse Toleranz falls der Timestamp nicht synchron ist, in diesem Fall benutzt er dann denn Timestamp des Clients als Key. (der Timestamp ist natürlich nicht das einzige das den Key bildet)

    Ich hatte auch kurz darüber nachgedacht die Zeit aus dem Netz zu holen aber da wäre es ja auch zu Delays gekommen daher war die Toleranz so oder so nötig

    Aufjedenfall ist das ganze jetzt gelöst

    Danke für all deine Hilfe hier du bist wirklich super hilfsbereit :)

  • Problem mit RC4 verschlüsselung

    • Tyzer
    • 28. März 2019 um 16:32

    Naja soweit ich bei mir getestet habe gab diese AutoIt Funktion egal bei welchen Zeitzonen Einstellungen immer den normal unix timestamp zurück der identisch mit der PHP time Funktion war

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™