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

Beiträge von Ineluki

  • Grafiktreiber Fehler

    • Ineluki
    • 13. August 2013 um 16:13

    Jup, der aktuelle nVidia Stable Treiber is Müll. Hab auf den neusten Beta Treiber geupdatet (326.41) seitdem läuft BF3 bei mir wieder problemlos. Beim Update hatte ich zwar kein Bild mehr bekommen, nach nem Neustart lief aber alles (vor dem Neustarten natürlich abgewartet, damit ich nicht die Treiberinstallation abwürge).
    Keine Ahnung, wieso der Stable Treiber als stable gelistet ist.

  • Geschwindigkeit

    • Ineluki
    • 2. Dezember 2012 um 19:08

    Ich denke mal das hier sollte die Diskussion klären:

    Spoiler anzeigen
    Code
    AUT_RESULT AutoIt_Script::F_StringSplit(VectorVariant &vParams, Variant &vResult)
    {
    	int			iCount, iElements, iIndex;
    	int			nPos, nFlag;
    	char const	*pcSearch, *pcDelim, *pcTmp;	// pointer can change, but the pointed at stuff will not.
    	Variant		*pvTemp;
    
    
    	// For speed, pre-allocate our string class to be same size as input string
    	AString		sElement((int)strlen(vParams[0].szValue()));
    
    
    	if (vParams.size() < 3)
    		nFlag = 0;
    	else
    		nFlag = vParams[2].nValue();
    
    
    	pcSearch	= vParams[0].szValue();
    	pcDelim		= vParams[1].szValue();
    
    
    	// Create array with single characters when the delimiter is empty
    	if (pcDelim[0] == '\0')
    	{
    		iCount   = 0;
    		iIndex   = 1;
    		iElements = (int)strlen(pcSearch);
    		Util_VariantArrayDim(&vResult, iElements+1);    // create the array , String length + 1
    		pvTemp = Util_VariantArrayGetRef(&vResult, 0);  // First element set to length
    		*pvTemp = iElements;
    		while (iCount < iElements)
    		{
    			sElement.assign(pcSearch, iCount, iCount + 1);
    			pvTemp = Util_VariantArrayGetRef(&vResult, iIndex++);   //Next element
    			*pvTemp = sElement.c_str();
    			++iCount;                  // Increase count
    		}
    		return AUT_OK;
    	}
    
    
    
    
    	switch (nFlag)
    	{
    	case 0:	// default method - any characters in delimeter string delimit fields
    		// Count how many times the delimiters occur
    		iCount = 0;
    		nPos = 0;
    		while (pcSearch[nPos] != '\0')
    		{
    			if ( strchr(pcDelim, pcSearch[nPos]) )
    					++iCount;						// Increase count
    			++nPos;
    		}
    		break;
    	case 1: // use exact delimeter string to delimit fields
    		iCount=0;
    		while (pcSearch != NULL)
    		{
    			pcSearch = strstr(pcSearch, pcDelim);
    			if (pcSearch != NULL) {
    				++iCount;
    				pcSearch += strlen(pcDelim);	// skip by the length of the delimter
    			}
    		}
    		// reset back to starting place
    		pcSearch = vParams[0].szValue();
    		break;
    	default:
    		iCount = -1;
    	}
    
    
    	// Find any delimiters?
    	if (iCount <= 0)
    	{
    		// Create array of 2 to return count = 1 and full string in element[1]
    		Util_VariantArrayDim(&vResult, 2);
    		pvTemp = Util_VariantArrayGetRef(&vResult, 0);	//First element
    		*pvTemp = 1;
    
    
    		pvTemp = Util_VariantArrayGetRef(&vResult, 1);	//Second element
    		*pvTemp = pcSearch;
    
    
    		SetFuncErrorCode(-iCount+1);	// 1 for no delimiters, 2 for bad flag
    		return AUT_OK;
    	}
    
    
    
    
    	// Number of string elements will be iCount number of delimiters + 1 (3 delims = 4 elements to return)
    	iElements = iCount+1;
    
    
    	// Create our return array (first element is number of strings return, so we need iElements+1 elements)
    	Util_VariantArrayDim(&vResult, iElements+1);
    
    
    	pvTemp = Util_VariantArrayGetRef(&vResult, 0);	//First element
    	*pvTemp = iElements;							// Number of elements we will return
    
    
    
    
    	// Go through the loop again but this time, make a note of the strings and store in our new array
    	iCount	= 0;
    	nPos	= 0;
    	iIndex	= 1;
    	sElement = "";
    	bool bStored;
    	while (iCount < iElements)
    	{
    		switch (nFlag)
    		{
    		case 0:
    			bStored = false;
    			if ( strchr(pcDelim, pcSearch[nPos]) )	// This works as \0 is also matched so overrun is prevented
    			{
    				pvTemp = Util_VariantArrayGetRef(&vResult, iIndex++);	//Next element
    				*pvTemp = sElement.c_str();
    				sElement = "";
    
    
    				bStored = true;
    				++iCount;						// Increase count
    			}
    
    
    			if (bStored == false)
    				sElement += pcSearch[nPos];
    
    
    			++nPos;
    			break;
    		case 1:
    			pcTmp = pcSearch;
    			pcSearch = strstr(pcSearch, pcDelim);
    			if (pcSearch != NULL) {
    				sElement = "";
    
    
    				// copy all elements up to the beginning of the delimiter into sElement
    				for (;pcTmp != pcSearch; ++pcTmp)
    					sElement += *pcTmp;
    
    
    				pcSearch += strlen(pcDelim);	// skip by the length of the delimter
    			}
    			else
    				sElement = pcTmp;
    			// copy string into array
    			pvTemp = Util_VariantArrayGetRef(&vResult, iIndex++);	//Next element
    			*pvTemp = sElement.c_str();
    			++iCount;
    			break;
    		}	// switch
    	}	// while (iCount < iElements)
    
    
    	return AUT_OK;
    
    
    }
    Alles anzeigen


    Ich persönlich sehe das kein RegEx.
    Ist zwar von der 3.1.0 aber ich denke, da hat sich nichts geändert:
    http://www.autoitscript.com/autoit3/files/…-v3.1.0-src.exe

  • Buchstaben eilnzeln auslesen.

    • Ineluki
    • 18. August 2012 um 17:28

    Da hast du gleich 2 Fehler gemacht...
    1. Die MessageBox, die das Ergebnis anzeigt, beeiflusst das Ergebnis.
    2. Du vergisst den Timer zurückzusetzen

    Wenn man die beiden Punkte korrigiert sieht man, dass StringSplit schneller ist.

  • Control ID eines Buttons auslesen [Minecraft]

    • Ineluki
    • 7. April 2012 um 14:23

    Du brauchst den Launcher nicht, um Minecraft zu starten. Man kann die java.exe mit nen paar Parametern starten un der Launcher is unnötig (der auch nichts anderes macht):

    [autoit]

    Run('java -Xmx1024m -cp "%APPDATA%\.minecraft\bin\minecraft.jar;%APPDATA%\.minecraft\bin\lwjgl.jar;%APPDATA%\.minecraft\bin\lwjgl_util.jar;%APPDATA%\.minecraft\bin\jinput.jar" -Djava.library.path="%APPDATA%\.minecraft\bin\natives" net.minecraft.client.Minecraft username passwort')

    [/autoit]
  • Löschen einer .dll bei Scriptende funktioniert nicht...

    • Ineluki
    • 29. Dezember 2011 um 18:08

    In der _SetImageFromResource Funktion fehlt ein bisschen.
    Vor dieser Zeile

    [autoit]

    If $Resfile <> -1 Then DllCall("Kernel32.dll", "int", "FreeLibrary", "str", $hmod)

    [/autoit]

    kommt

    [autoit]

    DllCall("kernel32.dll", "int", "UnLockResource", "int", $Mem)

    [/autoit]

    Und am Ende der Funktion:

    [autoit]

    $hmod = _WinAPI_FreeLibrary($Resfile)

    [/autoit]

    Alles nur geraten und ungetestet

  • Drucker verbinden!

    • Ineluki
    • 27. Oktober 2011 um 14:51

    Versuchs mal, indem du das an den Scriptanfang tust:

    [autoit]

    If Not IsAdmin() Then
    RunAs("Benutzer", "Domäne", "Passwort", 0, @ScriptFullPath)
    Exit
    EndIf

    [/autoit]
  • String Kürzen, Wie?

    • Ineluki
    • 26. Oktober 2011 um 21:16

    Oder so:

    [autoit]

    $sString="Irgendein langer langer String"& _
    "und der Rest vom langen String"

    [/autoit]


    Edit: naja, zu spät...

  • Thankomat auf autoit.de

    • Ineluki
    • 25. Oktober 2011 um 14:57
    Zitat von Blume

    Ich glaube das wurde schonmal vorgeschlagen, aber es wurde nicht umgesetzt, weil die User dann am Ende nur hinter Likes her sind.
    (Ich weiß nicht mehr ob esgenau so war)


    So hab ich das auch in Erinnerung. Wenn ich mich richtig erinnere war das auch der Grund dafür, dass die Ränge abgeschafft wurden.

  • 10 Zeilen Tool - Führt AutoIt Code aus der Zwischenablage aus, ohne jegliche AutoIt Installation

    • Ineluki
    • 16. August 2011 um 10:47

    Geht auch in einer Zeile ;)

    [autoit]

    ; #FUNCTION# ======================================================================================
    ; Name ..........: RunAu3()
    ; Description ...: Führt ein AutoIt Script aus.
    ; Syntax ........: RunAu3($sPath)
    ; Parameters ....: $sPath - Pfad zum Script.
    ; Author ........: SEuBo
    ; =================================================================================================
    Func RunAu3($sPath) ; Author: SEuBo
    RunWait('"' & @AutoItExe & '" /AutoIt3ExecuteScript "' & $sPath & '"')
    EndFunc ;==>RunAu3

    [/autoit]
  • Flutch - Erobert die Welt

    • Ineluki
    • 9. August 2011 um 21:57

    :rofl: Weißt du eigt wie Ressourcenfressend die Unlimited Detail Engine ist? Da kriegste mit AutoIt bei einem animierten Objekt keine 15 Fps hin ;)

  • Flutch - Erobert die Welt

    • Ineluki
    • 5. August 2011 um 22:27

    In einer 2D Welt stimmt das. In einer 3D Welt musst man aber auch noch die Blickrichtung beachten ;)

  • Flutch - Erobert die Welt

    • Ineluki
    • 4. August 2011 um 13:15

    Ich frag mich, wonach du googlest... Bei mir steht gleich beim ersten Ergebnis:
    "Collides a moving ellipsoid with a 3d world with gravity and returns the resulting new position of the ellipsoid." --> Wenn ich es richtig verstanden hab, berechnet die Funktion die Flugbahn eines Ellipsoid in einer 3D Welt und gibt die neuen Koordinaten zurück.
    Parameter:
    $h_Selector -> keine Ahnung was das ist, hab mich noch nie mit Irrlicht beschäftigt
    ByRef $a_EllipsoidPosition -> Array mit den momentanen Koordinaten des Ellipsoid
    ByRef $a_EllipsoidRadius -> Array mit den 3 Radien des Ellipsoid
    ByRef $a_Velocity -> Eigentlich würde ich sagen, die Geschwindigkeit, aber es ist ein Array mit 3 Elementen :huh:
    ByRef $a_Gravity -> Das gleiche wie beim vorhergehenden, eigentlich würde ich sagen Gravitationskraft, aber es ist wieder ein Array...
    ByRef $f_SlidingSpeed -> Gleitgeschwindigkeit
    ByRef $a_OutPosition -> Ein Array mit der neuen Position des Ellipsoid
    ByRef $a_OutHitPosition -> Ein Array mit der neuen irgendwas
    ByRef $i_OutFalling -> Die neue (Fallgeschwindigkeit?)

  • au15k - Skriptwettbewerb - Fertig -

    • Ineluki
    • 20. Juli 2011 um 22:33

    Bei mir kommt der Error nicht. Wenn du mal in Marsis Post dir die genannte Zeile im Quellcode anguckst, wird dir auffallen, dass da nur ein Not steht.

  • gewünschte Stelle(n) aus txt löschen

    • Ineluki
    • 20. Juli 2011 um 16:44

    Oder mit RegExpReplace:

    [autoit]

    StringRegExpReplace($sText, "(\d*)\:", "")

    [/autoit]
  • SoundPlay als DLLCaLL ausführen lassen

    • Ineluki
    • 18. Juli 2011 um 16:02

    Weiß zwar nicht, wo da der Sinn hinter ist, den DLLCall statt der internen Funktion zu nutzen aber naja...

    [autoit]

    DllCall("winmm.dll", "bool", "PlaySound", "str", "PFAD", "HWND", 0, "DWORD", 0)

    [/autoit]
  • GUIRegisterMsg Mausklick?

    • Ineluki
    • 7. Juli 2011 um 00:24
    [autoit]

    $WM_LBUTTONUP=0x0202

    [/autoit]
  • SB Sprüche Version 2

    • Ineluki
    • 17. Juni 2011 um 12:46

    Juhu, eine neue Liste :D
    Und sogar ich habs draufgeschafft :D

  • ImageSearch.au3 startet nicht - Error Meldung !

    • Ineluki
    • 13. Juni 2011 um 17:51
    [autoit]

    #AutoIt3Wrapper_usex64=n

    [/autoit]


    an den Anfang vom Skript

  • Fraps FPS Anzeige

    • Ineluki
    • 20. Mai 2011 um 14:17
    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <WindowsConstants.au3>
    #include <WinAPI.au3>
    #include <Constants.au3>
    HotKeySet("{ESC}", "_Exit")
    Local $vU32DLL = DllOpen("User32.dll"), $iGUIColorBG = 0xFFFFFFFF, $iGUIWidth = @DesktopWidth, $iGUIHeight = @DesktopHeight
    $hWnd = GUICreate("Test", $iGUIWidth, $iGUIHeight, 0, 0, BitOR(0x80000000, 0x08000000), BitOR(0x00080000, 0x00000008, 0x00000080))
    GUISetState()
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($iGUIWidth, $iGUIHeight, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    _GDIPlus_GraphicsSetSmoothingMode($hBuffer, 2)
    $hDC = _WinAPI_GetDC($hWnd)
    $hCDC = _WinAPI_CreateCompatibleDC($hDC)
    $tSize = DllStructCreate($tagSIZE)
    $pSize = DllStructGetPtr($tSize)
    DllStructSetData($tSize, "X", $iGUIWidth)
    DllStructSetData($tSize, "Y", $iGUIHeight)
    $tSource = DllStructCreate($tagPOINT)
    $pSource = DllStructGetPtr($tSource)
    $tBlend = DllStructCreate($tagBLENDFUNCTION)
    $pBlend = DllStructGetPtr($tBlend)
    DllStructSetData($tBlend, "Alpha", 255)
    DllStructSetData($tBlend, "Format", 1)
    $tPoint = DllStructCreate($tagPOINT)
    $pPoint = DllStructGetPtr($tPoint)
    DllStructSetData($tPoint, "X", 0)
    DllStructSetData($tPoint, "Y", 0)
    GUIRegisterMsg($WM_PAINT, "_ReDraw")
    While sleep(20)
    _GDIPlus_GraphicsClear($hBuffer, 0x00FFFFFF)
    _GDIPlus_GraphicsDrawString($hBuffer, "FPS", 8, 8, "Arial", 20)
    _ReDraw()
    If BitOR(WinGetState($hWnd), 2) <> 2 Then _WinAPI_SetWindowPos($hWnd, $HWND_TOPMOST, 0, 0, 0, 0, BitOR($SWP_NOMOVE, $SWP_NOSIZE))
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _ReDraw()
    Local $hBitmapTmp = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
    _WinAPI_SelectObject($hCDC, $hBitmapTmp)
    _WinAPI_UpdateLayeredWindow($hWnd, $hDC, 0, $pSize, $hCDC, $pSource, 0, $pBlend, 2)
    _WinAPI_DeleteObject($hBitmapTmp)
    EndFunc
    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    DllClose($vU32DLL)
    Exit
    EndFunc

    [/autoit]


    Ungefähr das hat name22 mal irgendwo gepostet, hab aber gehört, dass manche Spiele das blocken.

  • Wie komplexe GUI erzeugen?

    • Ineluki
    • 16. Mai 2011 um 20:58
    [autoit]

    _WinAPI_PtInRect

    [/autoit]


    Geht aber nur im 32 Bit Modus ;)

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™