Crossposting ist nicht gern gesehen... ![]()
Beiträge von Andy
-
-
Bei dem String "ABCDEFGHIJKLM" ist aber das ENDE erreicht
Kein Wunder, unter der Vorraussetzung, dass jeder diese Buchstaben nur einmal verwendet wird, sind wir schon bei 13! also 6227020800 Kombinationen.Bei der von mir angesprochenen Variante von 8 Stellen mit je 90 Möglichkeiten sind das 37,6E12 (ob das stimmt ??? ) Kombinationen. Mal angenommen, man könnte die Permutation in einer Millisekunde berechnen und damit per Bruteforce versuchen ein Passwort zu knacken, würde das im ungünstigsten Fall 37,6E9 Sekunden, also 6,2E8 Stunden also 2,6E7 Tage also über den dicken Daumen 70000 (siebzigtausend) Jahre dauern...
@Alina, hehe, Zeit ist relativ...selbst wenn ich mich irgendwo um Faktor 100 verrechnet habe
-
Zitat
What Am I Doing Wrong?
The "wrong" way is to produce lines and lines and lines and lines and lines of code doing copy & paste and edit....with all kinds of typos, logical faults and errors!
And the worst kind of doing something wrong is crossposting!
Anyway...Global $iIndex = 0, $sListData4 = ($opgeslagen & $laden & $list4)
Global $sListFile4 = ($opgeslagen & $laden & $list4)
Global $iIndex = 0, $sListData5 = ($opgeslagen & $laden & $list5)
Global $sListFile5 = ($opgeslagen & $laden & $list4)
Global $iIndex = 0, $sListData6 = ($opgeslagen & $laden & $list6)
Global $sListFile6 = ($opgeslagen & $laden & $list6)nothing to say...do you see what you are "doing wrong"?
[autoit]$List1 = GUICtrlCreateList("", 0, 64, 145, 358)
[/autoit][autoit][/autoit][autoit]
GUICtrlSetData(-1, "")
$List2 = GUICtrlCreateList("", 144, 64, 65, 358)
GUICtrlSetData(-1, "");some lines after..
[/autoit][autoit][/autoit][autoit]$list1 = ("\list1.txt")
[/autoit][autoit][/autoit][autoit]
$list2 = ("\list2.txt")
$list3 = ("\list3.txt");some lines after..
[/autoit][autoit][/autoit][autoit]GUICtrlSetData($List1, $sListData1)
[/autoit]
_GUICtrlListBox_SetCurSel($List1, $iIndex)
You should take a look at the names of the variables...What you did in 40 lines can be done in 4 lines, using arrays. Example:
[autoit]#include <GuiListBox.au3>
[/autoit][autoit][/autoit][autoit]
#include <GUIConstantsEx.au3>For $i = 1 To 13
[/autoit][autoit][/autoit][autoit]
FileDelete(@ScriptDir & "\list" & $i & ".txt")
FileWrite(@ScriptDir & "\list" & $i & ".txt", "text " & $i)
Next#Region ### START Koda GUI section ### Form=
[/autoit][autoit][/autoit][autoit]
$Form1_1_1_1 = GUICreate("form", 814, 713, 697, 101)
;_GUIExtender_Init($Form1_1_1_1)Dim $listnr[11]
[/autoit][autoit][/autoit][autoit]
Dim $list[15]
Dim $sListFile[15]
Dim $sListData[15]$Listnr[1] = GUICtrlCreateList("", 0, 64, 145, 358)
[/autoit][autoit][/autoit][autoit]
GUICtrlSetData(-1, "")
$Listnr[2] = GUICtrlCreateList("", 144, 64, 65, 358)
GUICtrlSetData(-1, "")
$Listnr[3] = GUICtrlCreateList("", 208, 64, 65, 358)
GUICtrlSetData(-1, "")
$Listnr[4] = GUICtrlCreateList("", 344, 64, 153, 358)
GUICtrlSetData(-1, "")
$Listnr[5] = GUICtrlCreateList("", 496, 64, 65, 358)
GUICtrlSetData(-1, "")
$Listnr[6] = GUICtrlCreateList("", 560, 64, 121, 230)
GUICtrlSetData(-1, "")
$Listnr[7] = GUICtrlCreateList("", 680, 64, 65, 230)
GUICtrlSetData(-1, "")
$Listnr[8] = GUICtrlCreateList("", 744, 64, 65, 230)
GUICtrlSetData(-1, "")
$Listnr[9] = GUICtrlCreateList("", 272, 64, 65, 358)
GUICtrlSetData(-1, "")GUISetState(@SW_SHOW)
[/autoit][autoit][/autoit][autoit];~ $extand = GUICtrlCreateButton("extand", 504, 32, 65, 33)
[/autoit][autoit][/autoit][autoit];~ $iEdit_Section_Start = 30
[/autoit][autoit][/autoit][autoit]
;~ $iEdit_Section_Height = 250$iEdit_Section_Start = 30
[/autoit][autoit][/autoit][autoit]
$iEdit_Section_Height = 210
;~ $iEdit_Section = _GUIExtender_Section_Start($Form1_1_1_1, $iEdit_Section_Start, $iEdit_Section_Height)
;~ _GUIExtender_Section_Action($Form1_1_1_1, $iEdit_Section)
;~ ; All control positions can then be related to the section start rather than the GUI <<<<<<<<<<<<<;~ ; Now you can check that the _Section_Height is correct and amend if necessary <<<<<<<<<<<<<
[/autoit][autoit][/autoit][autoit]
;~ _GUIExtender_Section_End($Form1_1_1_1)
;~ _GUIExtender_Section_Extend($Form1_1_1_1, 0, False)$sPath = @ScriptDir ;@desktopdir & '\autoit\twitter programma\lijsten\lijsten2\'
[/autoit][autoit][/autoit][autoit]
$hSearch = FileFindFirstFile($sPath & '*.*')Local $mFiles = GUICtrlCreateMenu('&File')
[/autoit][autoit][/autoit][autoit]Local $List_Start = GUICtrlCreateDummy() + 1
[/autoit][autoit][/autoit][autoit]
While True
$sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sFile = ' & $sFile & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug ConsoleGUICtrlCreateMenuItem($sFile, $mFiles)
[/autoit][autoit][/autoit][autoit]
WEnd
Local $List_End = GUICtrlCreateDummy() - 1GUISetState()
[/autoit][autoit][/autoit][autoit]Local $iMSG
[/autoit][autoit][/autoit][autoit]
While 1
$iMSG = GUIGetMsg()
Switch $iMSG
Case $gui_event_close
Exit
Case $List_Start To $List_End
ConsoleWrite('Clicked = ' & GUICtrlRead($iMSG, 1) & @CRLF)For $i = 1 To 13
[/autoit][autoit][/autoit][autoit]
$list[$i] = ("\list" & $i & ".txt")
Next$opgeslagen = @ScriptDir ;@desktopdir & 'C:\Users\joesoef pc\Desktop\autoit\programma\lijsten\lijsten2\'
[/autoit][autoit][/autoit][autoit]
$laden = "" ;guictrlread($iMSG,1) & @CRLFMsgBox(1, "file:", "" & $opgeslagen & $laden & $list[1])
[/autoit][autoit][/autoit][autoit]Global $iIndex = 0
[/autoit][autoit][/autoit][autoit]
For $i = 1 To 13
$sListData[$i] = ($opgeslagen & $laden & $list[$i])
$sListFile[$i] = ($opgeslagen & $laden & $list[$i])
NextFor $i = 1 To 10
[/autoit][autoit][/autoit][autoit]
If FileExists($sListFile[$i]) Then
$sListData[$i] = FileRead($sListFile[$i])
GUICtrlSetData($Listnr[$i], $sListData[$i])
_GUICtrlListBox_SetCurSel($Listnr[$i], $iIndex)
EndIf
NextEndSwitch
[/autoit][autoit][/autoit][autoit][/autoit]
WEnd -
@AspirinJunkie,
DER war gut
Ich stell mir gerade vor, wie jemand diese Funktion benutzt, um ein 8-stelliges Passwort zu "cracken", mit 90 erlaubten Zeichen.....in diesem Leben
-
Hi,
[autoit]
wenn sowieso nur eine bestimmte Anzahl Schleifendurchläufe benötigt werden, dann nimmt man FOR/TO
[/autoit][autoit][/autoit][autoit]
$a=DriveMapAdd("I:", '\\1.2.3.4\LaufwerkShare', 0, "Login", "Passwort")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $a = ' & $a & @crlf & '>Error code: ' & @error & @crlf & @extended & @crlf) ;### Debug Console$x = 10 ; es soll 10 mal durchlaufen
[/autoit][autoit][/autoit][autoit]
$gemapped="nicht "
For $i=1 To $x
Sleep(100) ;wartet 100 Millisekunden
If FileExists("I:\") Then
_Info() ;info ausgeben
$gemapped=""
ExitLoop;raus aus schleife
EndIf
NextMsgbox(0,0,"Laufwerk wurde "&$gemapped& "gemapped!")
[/autoit]Wobei ich ERST abfragen würde, ob das LW existiert, und DANN versuchen zu mappen.
So spart man sich diese völlig überflüssige Schleife komplett!
DriveMapAdd gibt nämlich, wie übrigens so gut wie alle anderen AutoIt-Funktionen, einen Fehlercode zurück, den man tunlichst dann bearbeitet!
Hilfe lesen bildet! -
Ich würde ggf. die Möglichkeit in Betracht ziehen, per RegEx die Links aus beliebigen Textfiles zu extrahieren.
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]
$file_content='<Tag name="URL_1" xml:lang="de" text="https://www.google.com"/>' & @crlf & _
'<Tag name="URL_2" xml:lang="de" text="http://www.autoit.de"/>' & @crlf & _
'<Tag name="URL_3" xml:lang="de" text="http://www.autoitscript.com"/>' & @crlf & _
'<Tag name="URL_4" xml:lang="de" text="www.blablub.com"/>'$URL_raw = stringregexp($file_content, '((?:https?:\/\/)?(?:[\da-z\.-]+)\.(?:[a-z\.]{2,6})(?:[\/\w \.-]*)*\/?)', 3)
[/autoit]
_arraydisplay($URL_raw)Wenn benötigt, kann man auch FTP usw-Links hinzufügen...
-
Hi,
wieso nimmst du den gesamten Tag zur Suche?
Wenn ich das richtig verstanden habe, brauchst du doch nur die Links?Spoiler anzeigen
[autoit]#include <String.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <Array.au3>
$file_content='<Tag name="URL_1" xml:lang="de" text="https://www.google.com"/>' & @crlf & _
'<Tag name="URL_2" xml:lang="de" text="http://www.autoit.de"/>' & @crlf & _
'<Tag name="URL_3" xml:lang="de" text="http://www.autoitscript.com"/>'$URL_start = '" text="'
[/autoit] [autoit][/autoit] [autoit]
$URL_ende = '"/>'
$URL_raw = _StringBetween($file_content, $URL_start , $URL_ende, -1)_arraydisplay($URL_raw)
[/autoit] -
Hi,
über WMI, per AutoIt Scriptomatic -
Also mich würde mal interessieren, wieso bei diesem Code die "-1" steht
In der While/Wend-Schleife wird das letzte Arrayelement gelöscht. Daraus ergibt sich, das ubound() automatisch um eins vermindert wird! Und somit im nächsten Schleifendurchlauf wieder das letzte Element usw...Aber ich will nicht die Namen grundsätzlich in Spalte 1,2 und Spalte 3,4 teilen, sondern es sollen alle Namen und zahlen in Spalte 1,2 rein bis nicht eine bestimmte länge erreicht ist.
Also so, dass nachdem die erste Spalte gefüllt ist, die weiteren Elemente in die 3. Spalte geschrieben wird, dann in die 5. usw.?Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <WindowsConstants.au3>
#include <ListViewConstants.au3>
#include <GuiListView.au3>#Region ### START Koda GUI section ### Form=
[/autoit] [autoit][/autoit] [autoit]
$Form1 = GUICreate("Form1", 620, 622, 645, 90)
$ListView1 = GUICtrlCreateListView("", 0, 0, 620, 590)
$Button1 = GUICtrlCreateButton("Button1", 272, 590, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$AdCol = False
[/autoit] [autoit][/autoit] [autoit]Global $Array[100][2]
[/autoit] [autoit][/autoit] [autoit]
For $i = 0 To UBound($array, 1) - 1
$array[$i][0] = "Name" & $i
$array[$i][1] = $i
NextWhile 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
AdArray()EndSwitch
[/autoit] [autoit][/autoit] [autoit]
WEndFunc AdArray()
[/autoit] [autoit][/autoit] [autoit]
_GUICtrlListView_DeleteAllItems(GUICtrlGetHandle($ListView1))
_ArraySort($array, 1, 0, 0, 1)
While $array[UBound($array) - 1][1] = 0
_ArrayDelete($array, UBound($array) - 1)
WEnd$anzahl_Zeilen = 28 ;Platz im Fenster
[/autoit] [autoit][/autoit] [autoit]
$anzahl_spalten = Int(UBound($array) / 28) + 1 ;benötigtIf $AdCol = False Then
[/autoit] [autoit][/autoit] [autoit]
For $x = 1 To $anzahl_spalten
_GUICtrlListView_AddColumn($ListView1, "Name", 100)
_GUICtrlListView_AddColumn($ListView1, "Zahl", 100)
Next
$AdCol = True
EndIfDim $array2[$anzahl_Zeilen + 1][$anzahl_Spalten * 2] ;2. Array
[/autoit] [autoit][/autoit] [autoit]For $i = 0 To UBound($array) - 1
[/autoit] [autoit][/autoit] [autoit]
$zeile = Mod($i, $anzahl_zeilen)
$spalte = (Int($i / $anzahl_zeilen)) * 2
$array2[$zeile][$spalte] = $array[$i][0]
$array2[$zeile][$spalte + 1] = $array[$i][1]
Next_GUICtrlListView_AddArray($ListView1, $array2)
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>AdArray
[/autoit]Die Anzahl der verfügbaren Zeilen im Fenster kannst du ausrechnen, indem du die Höhe des Fensterinhaltes durch die Anzahl der Listview_Zeilenhöhe teilst.
-
Hi,
das ist die Domäne der sog. Regular Expressions (RegEx).
Ich denke, mit der AutoIt-Hilfe und Google zu diesem Thema kommst du schon sehr weit!
Wenn du nicht mehr weiter kommst, poste dein Script und vor allem deine Textdateien. -
So?
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]
Dim $array[5][2] = [["Anton", 500],["Berta", 0],["Cäsar", 800],["Doris", 0],["Erwin", 300]] ;array erzeugen, eine Methode von vielen_ArrayDisplay($array) ;anzeigen
[/autoit][autoit][/autoit][autoit]_ArraySort($array, 1, 0, 0, 1) ;sortieren
[/autoit][autoit][/autoit][autoit]_ArrayDisplay($array) ;anzeigen
[/autoit][autoit][/autoit][autoit]$text = ""
[/autoit][autoit][/autoit][autoit]
For $i = 0 To UBound($array) - 1 ;array durchlaufen
If $array[$i][1] <> 0 Then ;wenn zahl<>0 dann
$text &= $array[$i][0] & "," & $array[$i][1] & @CRLF ;auflisten
EndIf
NextMsgBox(0, "ohne Null", $text)
[/autoit][autoit][/autoit][autoit];oder
[/autoit]
While $array[UBound($array) - 1][1] = 0 ;solange letzte zahl im array null ist
_ArrayDelete($array, UBound($array) - 1);dieses element löschen
WEnd
_ArrayDisplay($array) ;anzeigen -
Hi,
einen "Obfucaster" gibt es nicht, was soll dieses Ding denn machen? Oder meinst du einen Obfuscator?
Und einen "Anti-Decompiler" gibt es auch nicht. Für jeden mir bekannten EXE-Verschlüsseler/Packer gibt es Hacks.
Was ist so geheim an einem AutoIt-Script, dass es solche üblen Programme braucht? -
Ich habe schon ein Programm in VB geschrieben
Da steht aber nichts von Passwort?!Ich würde das sowieso anders machen:
Beim FTP-Server einen Ordner erstellen und genau diese eine Datei reinstellen. Diesen Ordner zugriffsmäßig "zunageln". Also nur Download, kein Upload, keine Filelist, nichts.
Dann brauchst du auch keine User anlegen, kein Passwort, nichts weiter. Wer mag, kann die Datei dann eben 76x am Tag downloaden. Im Zweifelsfall siehst du die IP aber dann in den Logfiles. Und kannst dem "Kollegen" dann auf den Pelz rücken
-
Hi,
das was du machen möchtest, nennt man "sortieren".
Dafür gibts einfache Sortierfunktionen, bspw. ArraySort() -
Ich verstehe einfach nicht wieso beide Devices ein ähnliches Verhalten bei den Simd-Kernel auweisen, also langsammer als bei dem normalen Kernel sind
Wenn du die Laufzeiten der einzelnen Kernel vergleichen willst, musst du dir die Kernellaufzeiten zurückgeben lassen!
[autoit]_CL_RunKernel($DATA_SIZE, 0) ;Kernel ausführen,
[/autoit]
$kerneltime = profile_cl_event()Also funktionierendes Script erstellen (incl. angezeigter Grafik! ) und DANN die realen Laufzeiten der Kernel vergleichen. Dazu würde ich die Schleife ca. 1000x durchlaufen lassen.
Diese FPS-Anzeige ist, wie oben erläutert, nur funktionabel wenn auch eine Grafik angezeigt wird, und bei "schwarzem Bildschirm" völlig nutzlos!
Ich hatte bereits alle Möglichkeiten bei $comm_queue durchprobiert, keine Änderungen immer ein schwarzes Bild!
Also der "Normalmodus" mit $all=0 funktioniert, nur bei $all=1 nicht?
OK, erstelle mal EINEN Buffer und lass das Script mit einem Device, einem Kernel und einem ReadBuffer laufen, mit $command_queue[1][1] (sollte bei dir die CPU sein). Funktioniert das mit Anzeige?
Wenn ja, teste das mit allen Devices EINZELN ( also nur in [2][1] (GPU1) und [2][2] (GPU2) ändern!).
Wenn das nicht funktioniert, poste mal dein Script! Ich vermute immer noch, dass du einen Logikfehler bei den Buffern hast.Es gibt keine OpenCL (und auch keine CUDA)-Funktion "verteil mal diesen Kernel auf alle Devices, mach ne Lastanalyse, pass die Kernelargumente an und alles ist schick!"
Woher soll auch die API wissen, an welchem der Kernelargumente man etwas verändern muss, damit nur ein bestimmter Teil bespw. einer Grafik berechnet werden soll? Wenn du 4 Devices hast, bei denen nach der Lastanalyse die jeweilige Belastung 10%/25%/25%/40% ist, woher soll dei API wissen, dass du 4 einzelne Buffer der jeweiligen Größe brauchst, und natürlich auch 4 Start-Pointer innerhalb der Grafik, an denen die Berechnungen anfangen?Das bringt mich aber auf eine Idee!
Du solltest ggf. direkt 4 Grafiken erstellen (schon mit _CreateNewBmp32()) diese in 4 Buffer überführen, jeweils einzeln berechnen/auslesen und nachher diese 4 Teile in EINE GUI blitten.
Ich denke, dieser Ansatz beseitigt dein Logikproblem.
Das Problem bei diesem Ansatz ist, dass durch 4x ReadBuffer die FPS nur noch 1/4 sind....^^Bei deinem Beispielcode hast du nur 2 Buffer, den oberen und den unteren Teil. Frag dich mal, wie BitBlt den oberen zusammen mit dem unteren Teil der Grafik in die GUI blitten soll, wenn du per ReadBuffer nur eine Hälfte ausliest?
-
@Alina,
der TE möchte keinen Barcode erstellen oder abfragen sondern Ziffernstrings darstellen und bearbeiten. Die Daten kannst du auch mit einer Tastatur eingeben.Ich denke mal, das hier kommt in etwa hin. "Barcode" 12345 mit ENTER zählt den Zähler hoch, jede andere Eingabe führt zur Fehlermeldung.
GUI mit Koda erstellt und nur einige Zeilen eingefügt. Ideal für Anfänger^^Spoiler anzeigen
[autoit]#include <EditConstants.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 625, 443, 192, 124)
GUISetBkColor(0x00FF00)
$Edit1 = GUICtrlCreateEdit("", 48, 80, 505, 49, BitOR($ES_WANTRETURN, $WS_VSCROLL))
GUICtrlSetData(-1, "Edit1")
GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
$Label1 = GUICtrlCreateLabel("Anzahl 12345", 48, 200, 117, 28)
GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFFFFFF)
$Label2 = GUICtrlCreateLabel("0", 48, 256, 308, 41)
GUICtrlSetFont(-1, 48, 400, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0x00000FF)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###$Anzahl = 0
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch;******************************
[/autoit] [autoit][/autoit] [autoit][/autoit]
$inhalt = GUICtrlRead($Edit1) ;Inhalt Editbox
If StringInStr($inhalt, @CRLF) Then ;nur wenn enter
If $inhalt = "12345" & @CRLF Then ;wenn inhalt wie gewünscht
$Anzahl = $Anzahl + 1 ;zähler hochzählen
GUICtrlSetData($Label2, $Anzahl) ;und anzeigen
Else ;ansonsten Fehlermeldung ausgeben
MsgBox(16, "Falsche Eingabe!", "Es wurde " & @CRLF & $inhalt & @CRLF & "eingegeben!")
EndIf
GUICtrlSetData($Edit1, "") ;und feld löschen
EndIf
;*******************************
WEnd
Die Hausaufgabe besteht darin, vor der Darstellung der Fehlermeldung den Hintergrund der GUI auf Rot zu wechseln. Und danach natürlich wieder auf grün
-
Ich mache ein SQL Query und bekomme dann folgenden Wert zurück:
Ich bin nicht der Datenbankspezialist, aber bei der DB-Abfrage in ein RecordSet stehen die Daten bereits in einem Array!
Ich persönlich arbeite sehr gerne damit. -
_CL_SetArg(0, "ptr*", $CL_buffer_out2)
_CL_RunKernel_ALL($DATA_SIZE / 2, 0, $comm_queue[2][2]) ;Kernel ausführeneue[1] & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
_CL_ReadBuffer_ALL($CL_buffer_out2, $output_buffer2, $comm_queue[1][2]);Puffer(alle Pixel) lesenSchau mal, bei ReadBuffer die $comm_queue sollte [2][1] sein!
Die Probleme sind wie folgt, der NoSimd-Kernel zeigt nur 25% des Bildschirminhaltes an und sobald ich Multi aktiviere habe ich ein schwarzes Bild...
Die 25% werden deshalb dargestellt, weil du auch nur 1/4 der Daten berechnest. Schau mal in der Zeile mit RunKernel() da müsste die Datasize ohne /4 rein.Bei Multi schwarzes Bild, das heisst, der Grafikbuffer wird entweder nicht richtig ausgelesen (setz mal ALLE $comm_queue auf denselben Wert) oder beschrieben.
Du kannst auch, um überhaupt mal zu testen ob Multi funktioniert, nur EIN Device rechnen lassen (alle $comm_queue auf denselben Wert und nur einen buffer)Dein Apfelmännchen-script läuft bei mir. Ich sehe ein halbes Apfelmännchen, was sich auch zoomen lässt. Ich habe lediglich die 3 Zeilen mit den $comm_queue an meine Werte angepasst. Man sieht natürlich nur die obere/untere Hälfte, du hast einen Logikfehler drin.
Du erstellst richtigerweise zwei einzelne Grafikpuffer, allerdings müssen diese natürlich zusammengefasst werden, ich habe im Tunnel-Script dazu einen dritten Grafikpuffer an dieser Position erstellt, der so groß ist wie beide zusammen.
Damit die getrennte Berechnung funktioniert, musst du auch beide Teile der Grafik getrennt berechnen! Das beinhaltet so gut wie alle Kernel-Parameter.
Oberer Bildteil für sich, und unterer Bildteil für sich. Als ob du die Grafik in ein eigenes Fenster zeichnen würdest!Das ich mit meinem i7 keine Verbesserung bei dem Simd-Kernel habe, hatte ich schon mal erwähnt, aber das fast die doppelten Fps OHNE Simd habe finde ich schon merkwürdig..
Ich nicht^^, bei schwarzem Bildschirm findet kein Transfer von "Daten" statt. So clever ist GDI seit den 90ern^^
Du bekommst also nicht die FPS angezeigt, sondern die Schleifendurchläufe pro Sekunde, bitblt macht also nix. -
Hi,
wenn jemand das Script decompiliert, ist die Sache mit den verschlüsselten Passwörtern sowieso hinfällig.
Also kannst du die gleich im Script lassen.
Wenn du weisst, dass dein Script nicht decompiliert wird, sind die PW "sicher". -
Ich besuche keinen Thread, der gelöst ist. Setzt der TE den Flag, dann reicht ihm die Lösung, und er weiß schließlich am B(/b?)esten was er will
Hast recht, gesucht ist nicht die beste, sondern die schnellste Lösung! Da kann der grösste Mist stehen, Hauptsache "gelöst"?! Das ist jedenfalls mal ein Statement zum Qualitätsanspruch!
Wenn du ein Problem hast und eine Lösung suchst, filterst du dann die "ungelösten" Threads raus? Mit der Absicht, keine Threads zu besuchen, bei denen noch kein "Gelöst"-Flag gesetzt ist? Da ja "ungelöst" markierte Threads bisher noch garkeine Lösung haben?

Das Flag sagt imho nichts aus.
Bei der Suche danach filtern ist quatsch, und als Antwortender danach filtern ebenso. Und wenn das Flag nicht als Filter nutzbar ist, wieso ist es dann da?Ich habe übrigens in den letzten Jahren hier im Forum sehr wenige meiner Threads auf "gelöst" gesetzt. Allerdings habe ich auch einige sofort nach Erstellen auf gelöst gesetzt (mir gehen die "mimimimimi...setz den Thread auf gelöst"-Posts (juhuuu, wieder ein +1 auf den Postcounter! ) auf den Sender). Seltsamerweise habe ich immer, also völlig unabhängig vom Flag, kompetente Lösungen bekommen, bzw. erarbeitet.
Glücklicherweise scheint es noch mehr (sind das die kompetenten? ) User zu geben, die nichts auf dieses Flag geben
Aber wie sagte meine Oma immer:"Wenn es nicht viel nützt, kann es auch nicht viel schaden!"