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

Beiträge von GtaSpider

  • Ausgabe einer Inputbox zentrieren

    • GtaSpider
    • 26. Februar 2011 um 18:10

    Hallo,

    Meinst du den Befehl InputBox? Den kannst du kaum verändern, baue dir einfach eine eigene GUI und arbeite dann mit SS_CENTER (bin mir jetzt nicht ganz sicher ob es SS ist, aber hilfe hilft!)

    Gruß
    Spider

  • Tablet-PC-Fragen

    • GtaSpider
    • 13. Februar 2011 um 19:40

    Es heißt eigentlich einfach iOS und ist der letzte sche*ß - aber NEIN! Wir fangen hier jetzt nicht schon wieder eine Grundsatzdiskussion darüber an ob Apple nun auf den Müll gehört oder nicht ;)
    iPad ist Teuer - ja.
    Ich habe auch irgendwann mal was gehört von einem Projekt namens "One Laptop per child" welches darauf aufbaut ein Tablet für 100$ zu verkaufen. Kannst ja mal googlen ;)

  • Problem mit Download-Status Anzeige

    • GtaSpider
    • 13. Februar 2011 um 19:31

    Hallo

    Deine Berechnung ist auch falsch. Am besten du machst es so:

    [autoit]

    $size_percent = 100 * $size_current / $size_full

    [/autoit]

    Ist aber alles noch sehr unsauber - am besten du guckst wirklich mal in autoberts Code.

    Gruß
    Spider

  • Systemsound aufnehmen funktioniert nicht

    • GtaSpider
    • 13. Februar 2011 um 19:07

    Hallo,

    Willst du den Windows Sound "abhöhren"? Falls ja: Unter Windows 7 ist dies nicht mehr ohne weiters Möglich, musst du mal googlen.

    Gruß
    Spider

  • Problem mit Download-Status Anzeige

    • GtaSpider
    • 13. Februar 2011 um 19:06

    Heyho,

    InetGetInfo gibt normalerweise ein Array zurück (siehe Hilfe). Wenn du nur die aktuellen Bytes haben willst, musst du InetGetInfo so aufrufen:

    [autoit]

    $size_current = InetGetInfo ($file, 0)

    [/autoit]

    Gruß
    Spider

  • Tablet-PC-Fragen

    • GtaSpider
    • 13. Februar 2011 um 19:02

    Heyho,

    Also, es wird mit der zeit bei bestimmten Tablets bestimmt ein hack geben, wie du Win7/linux drauf bekommst (ähnlich wie z.B. bei meinem Handy, dem HD2).
    Android ist wie ich finde ein relativ genials OS was alles bietet was man braucht und noch viel mehr. Der Marktplace kann locker mit dem von Apple mithalten und die Bedienung ist auch sehr intuitiv gestaltet.
    Win7 hat z.B. das Archos 9: http://www.netzwelt.de/news/83488-tab…ows-7-test.html

    Gruß
    Spider

  • "Schrift"-Problem auf AutoIt.de

    • GtaSpider
    • 13. Februar 2011 um 18:55

    Vielleicht mal mit nem anderen Browser testen um zu gucken ob es Browser-oder Betriebsystemabhängig ist?

  • Berechner

    • GtaSpider
    • 6. Februar 2011 um 17:02

    Was soll denn das Komma da ganz hinten? Das gibt das Timeout der MsgBox an :P
    Probiers mal mit &","&

    Gruß
    Spider

  • Code in Konsole ausführen (Special)

    • GtaSpider
    • 6. Februar 2011 um 01:21

    Hallo

    Guck dir mal Run in der Hilfe an, da gibt es den paramenter STDOUT etc.
    Dann
    While ProcessExists($pid) ;$pid kommt vom run
    und in der Schleife dann mit STDOutRead die daten auslesen ;)

    Gruß
    Spider

    Edit:
    Hier:

    [autoit]

    $query = "rar.exe e -hp" & $split[8] & " -y """ & $toprep & """ """ & $toprep2
    $pid = Run('"' & @ComSpec & '" /c '&$query, '', @SW_HIDE,2+4)

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

    While ProcessExists($pid)
    $sRead = StdoutRead($pid)
    $sRead &= StderrRead($pid)
    If $sRead <> '' Then
    ConsoleWrite("rar.exe: "&$sRead & @CRLF)
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit]
  • Notepad

    • GtaSpider
    • 5. Februar 2011 um 16:32

    Hallo,

    Ich verstehs zwar immer noch nicht, aber so sollte es gehen:
    In der Include:

    [autoit]

    $beenden = "_exit"

    [/autoit]

    In der main.au3:

    [autoit]

    Call($beenden)

    [/autoit]

    Weitere Infos: Hilfe --> Call

    Gruß
    Spider

  • isbn udf ?

    • GtaSpider
    • 4. Februar 2011 um 13:25

    Hallo,

    Diese Seite ist relativ schlicht (sollte schnell aufgerufen werden können) und funktioniert mit jeder ISBN:
    http://www.isbn-finden.de/

    Syntax ist:
    http://www.isbn-finden.de/index.php?kw=ISBNnrm
    Also z.B.
    http://www.isbn-finden.de/index.php?kw=052143064x

    Gruß
    Spider

  • Notepad

    • GtaSpider
    • 29. Januar 2011 um 16:28
    [autoit]

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $offnen
    MsGBox(0,"","Öffnen")
    EndSwitch

    [/autoit]

    Guck mal in der Hilfe unter GUIs nach, gibt da genügend Beispiele!

    Gruß
    Spider

  • Alle Rechnernamen aus bestimmten IP-Bereich

    • GtaSpider
    • 24. Januar 2011 um 15:24

    Heyho,

    In meiner Signatur gibt es ein Programm namens "PingAll". Pingt alle Rechner im Netz bei einem bestimmten Subnetz und gibt die Computernamen aus. Das Script ist allerdings uralt, also müsstest du es vielleicht noch etwas anpassen.

    Gruß
    spider

  • Pic reapeat als GUI Hintergrund (ala CSS bei HTML)

    • GtaSpider
    • 24. Januar 2011 um 13:39

    Heyho,

    Nicht besonders sauber und schnell, aber es funktioniert ;) Allerdings nicht als png, nur jpg, gif oder bmp:

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    $hWnd = GUICreate("")
    GuiSetBKPicRepeat($hWnd, @ScriptDir&"\stripes.jpg")
    GUICtrlCreateButton("TEST",0,0)

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

    GUISetState()
    While GUIGetMsg() <> -3
    WEnd

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

    Func GuiSetBKPicRepeat($hWnd, $sFile)
    $aPos = WinGetPos($hWnd)
    _GDIPlus_Startup()
    $hBit = _GDIPlus_BitmapCreateFromFile($sFile)
    $iH = _GDIPlus_ImageGetHeight($hBit)
    $iW = _GDIPlus_ImageGetWidth($hBit)
    _GDIPlus_BitmapDispose($hBit)
    For $i = 0 To $aPos[2] Step $iW
    For $j = 0 To $aPos[3] Step $iH
    GUICtrlCreatePic($sFile,$i,$j,$iW,$iH)
    GUICtrlSetState(-1,$GUI_DISABLE)
    Next
    Next
    EndFunc

    [/autoit]

    Gruß
    Spider

    Bilder

    • stripes.jpg
      • 292 Byte
      • 15 × 16
  • AutoIt Status nach C# senden lassen

    • GtaSpider
    • 24. Januar 2011 um 11:03

    Hallo,

    Wie die umsetzung in C# aussehen muss weiß ich nicht, aber mit AutoIt kannst du via ConsoleWrite etwas ins Stdout schreiben, und das sollte C# lesen können.

    Gruß
    Spider

  • Optimierung einer Funktion (zum Errechnen der Differenz zweier Felder bei einem Spiel)

    • GtaSpider
    • 15. Januar 2011 um 18:20

    Hey,

    Ja, das sind bei mir auch ca. 30-40 ms. Wenn man dazu die Variablen noch verkürzt ca. 50ms.
    Aber eine Möglichkeit die ganze Funktion optimaler zu schreiben gibt es nicht, oder?
    Vielen Dank :)

    Gruß
    Spider

  • Optimierung einer Funktion (zum Errechnen der Differenz zweier Felder bei einem Spiel)

    • GtaSpider
    • 15. Januar 2011 um 16:41

    Hallo,

    @Pee: Ich habe es ja eben mit Dynamischer Programmierung versucht (erst ein Globals array schreiben und später dann darauf zugreifen). Wie ich dies noch weiter unterteilen soll, weiß ich leider nicht...

    @Sprenger: Durch die kürzeren Variablen braucht er Durchschnittlich ca. 10 ms weniger, das ist immer noch zu viel :(
    Auf DDLs würde ich äußerst ungerne zurückgreifen, da auf dem Server später Linux mit WINE läuft, und ich mir nicht sicher bin, was genau alles funktioniert und was nicht...
    Aber danke schonmal euch beiden :)

    Gruß
    Spider

  • Optimierung einer Funktion (zum Errechnen der Differenz zweier Felder bei einem Spiel)

    • GtaSpider
    • 14. Januar 2011 um 19:04

    Heyho,

    ich bins mal wieder mit dem gleichen Spiel und mit fast dem selben Problem.
    Vor paar Tagen hat Bernd mir geholfen eine rekursive Funktion zu schreiben, welche die Differenz zwischen 2 Feldern berechnet, und auch den Weg dorthin. Nachteil: Sie musste bei jedem Zug erneut mehrmals rechnen und war relativ langsam.

    Also habe ich mir überlegt ganz am Anfang eine Funktion zu schreiben, die mir ausgibt wie weit 2 Felder von einander entfernt sind (Differenz) um dann später so den besten Weg zu finden und das Array einfach nur noch abfragen zu müssen.

    Sie funktioniert auch perfekt, hat nur einen kleinen Nachteil: Sie ist langsam. Sehr langsam. Auf meinem PC braucht sie ca. 100ms, aber auf meinem Netbook ca. 1000ms ;) Und da die spätere Serverumgebung wohl eher wie mein Netbook als mein PC aussehen wird, versuche ich es darauf zu optimieren. Die Regeln des Spiels lauten nämlich: Kein Zug über 2000ms, ich selbst habe mir zum Ziel gesetzt kein Zug über 1000ms. Bisher dümpel ich immer so bei 100-400ms pro Zug auf meinem Netbook rum, aber da ich die Strategie nun nochmals verbessere, brauchte ich was schnelleres.

    Zwar wird die Funktion wiegesagt nur einmal am Start aufgerufen, aber das zählt leider auch schon zu der ersten Zugzeit mit.

    Also... Lange Rede, kurzer Sinn. Fällt euch was ein, wie man diese Funktion Geschwindigkeitsmäßig aufpolieren kann? Länge ist relativ egal...
    Im Anhang das Beispiel Script und ein Screenshot vom Spielfeld, danke schonmal für eure Hilfe :)

    GRuß
    Spider

    Dateien

    dummy.au3 12,81 kB – 354 Downloads Unbenannt.JPG 113,93 kB – 0 Downloads
  • [Widget]Zeit auf dem Desktop

    • GtaSpider
    • 11. Januar 2011 um 22:38

    Richtig, Rainmeter :D Rainlendar war nochmal was anderes ;)
    Danke :)

    Gruß
    Spider

  • [Widget]Zeit auf dem Desktop

    • GtaSpider
    • 11. Januar 2011 um 22:21

    Heyho,

    Hier ein kleines Widget, welches einfach die Zeit auf dem Desktop anzeigt (Inspiriert von Rainmeter). Dies sieht nicht nur ganz gut aus, sondern ist auch ungemein praktisch wenn man etwas weiter weg ist, oder mal auf dem zweiten Desktop die Zeit nachgucken will ;)
    Aber seht selbst:
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Spoiler anzeigen
    [autoit]

    #include <Constants.au3>
    #include <FontConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    ;~ #NoTrayIcon
    Opt("GUIOnEventMode", 1)

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

    Dim $Title, $OldTitle
    Dim $song
    Dim $hwnd

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

    Global $h_Desktop_SysListView32
    _GetDesktopHandle()

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

    $hwnd = GUICreate("Zeit", 500,150, @DesktopWidth-500, @DesktopHeight-150-50, $WS_POPUP, $WS_EX_TOOLWINDOW)
    GUISetCursor(9)
    GUISetOnEvent(-3,"_exit")
    $context = GUICtrlCreateContextMenu()
    GUICtrlCreateMenuItem("Exit",$context)
    GUICtrlSetOnEvent(-1,"_exit")
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, '_Drag', $hwnd)
    DllCall("user32.dll", "hwnd", "SetParent", "hwnd", $hwnd, "hwnd", $h_Desktop_SysListView32)
    GUISetState(@SW_SHOWNOACTIVATE, $hwnd)
    GUISetBkColor(0xffffff)
    GUISetState()
    $sOldTime = ""
    While 1
    $sTime = @HOUR&":"&@MIN&":"&@SEC
    If $sOldTime <> $sTime Then
    $sOldTime = $sTime
    $rgn = CreateTextRgn($hwnd, $sTime, 150, "Century Gothic", 600)
    SetWindowRgn($hwnd, $rgn)
    EndIf
    Sleep(200)
    WEnd

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

    Func _exit()
    Exit
    EndFunc

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

    Func SetWindowRgn($h_win, $rgn)
    DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $h_win, "long", $rgn, "int", 1)
    EndFunc ;==>SetWindowRgn

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

    ;Func CombineRgn(ByRef $rgn1, ByRef $rgn2)
    ; DllCall("gdi32.dll", "long", "CombineRgn", "long", $rgn1, "long", $rgn1, "long", $rgn2, "int", 2)
    ;EndFunc
    ;~ ControlCommand
    Func CreateTextRgn(ByRef $CTR_hwnd, $CTR_Text, $CTR_height, $CTR_font = "Microsoft Sans Serif", $CTR_weight = 800)
    Local Const $OUT_CHARACTER_PRECIS = 4
    Local Const $CLIP_DEFAULT_PRECIS = 4
    Local Const $PROOF_QUALITY = 4
    Local Const $FIXED_PITCH = 1
    Local Const $RGN_XOR = 3

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

    ;~ If $CTR_font = "" Then $CTR_font = "Microsoft Sans Serif"
    If $CTR_weight = -1 Then $CTR_weight = 1000
    Local $gdi_dll = DllOpen("gdi32.dll")
    Local $CTR_hDC = DllCall("user32.dll", "int", "GetDC", "hwnd", $CTR_hwnd)
    Local $CTR_hMyFont = DllCall($gdi_dll, "hwnd", "CreateFont", "int", $CTR_height, "int", 0, "int", 0, "int", 0, _
    "int", $CTR_weight, "int", 0, "int", 0, "int", 0, "int", $ANSI_CHARSET, "int", $OUT_CHARACTER_PRECIS, _
    "int", $CLIP_DEFAULT_PRECIS, "int", $PROOF_QUALITY, "int", $FIXED_PITCH, "str", $CTR_font)
    Local $CTR_hOldFont = DllCall($gdi_dll, "hwnd", "SelectObject", "int", $CTR_hDC[0], "hwnd", $CTR_hMyFont[0])
    DllCall($gdi_dll, "int", "BeginPath", "int", $CTR_hDC[0])
    DllCall($gdi_dll, "int", "TextOut", "int", $CTR_hDC[0], "int", 0, "int", 0, "str", $CTR_Text, "int", StringLen($CTR_Text))
    DllCall($gdi_dll, "int", "EndPath", "int", $CTR_hDC[0])
    Local $CTR_hRgn1 = DllCall($gdi_dll, "hwnd", "PathToRegion", "int", $CTR_hDC[0])
    Local $CTR_rc = DllStructCreate("int;int;int;int")
    DllCall($gdi_dll, "int", "GetRgnBox", "hwnd", $CTR_hRgn1[0], "ptr", DllStructGetPtr($CTR_rc))
    Local $CTR_hRgn2 = DllCall($gdi_dll, "hwnd", "CreateRectRgnIndirect", "ptr", DllStructGetPtr($CTR_rc))
    DllCall($gdi_dll, "int", "CombineRgn", "hwnd", $CTR_hRgn2[0], "hwnd", $CTR_hRgn2[0], "hwnd", $CTR_hRgn1[0], "int", $RGN_XOR)
    DllCall($gdi_dll, "int", "DeleteObject", "hwnd", $CTR_hRgn1[0])
    DllCall("user32.dll", "int", "ReleaseDC", "hwnd", $CTR_hwnd, "int", $CTR_hDC[0])
    DllCall($gdi_dll, "int", "SelectObject", "int", $CTR_hDC[0], "hwnd", $CTR_hOldFont[0])
    DllClose($gdi_dll)
    Return $CTR_hRgn2[0]
    EndFunc ;==>CreateTextRgn

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

    Func _Drag()
    DllCall("user32.dll", 'int', _
    'SendMessage', 'hWnd', @GUI_WinHandle, _
    'int', 0x00A1, 'int', 2, 'int', 0)
    EndFunc ;==>_ChangeCursorOnDrag

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

    Func _GetDesktopHandle()
    $h_Desktop_SysListView32 = 0

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

    Local Const $hDwmApiDll = DllOpen("dwmapi.dll")
    Local $sChkAero = DllStructCreate("int;")
    DllCall($hDwmApiDll, "int", "DwmIsCompositionEnabled", "ptr", DllStructGetPtr($sChkAero))
    Local $aero_on = DllStructGetData($sChkAero, 1)

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

    If Not $aero_on Then
    $h_Desktop_SysListView32 = WinGetHandle("Program Manager")
    Return 1
    Else
    Local $hCBReg = DllCallbackRegister("_GetDesktopHandle_EnumChildWinProc", "hwnd", "hwnd;lparam")
    If $hCBReg = 0 Then Return SetError(2)
    DllCall("user32.dll", "int", "EnumChildWindows", "hwnd", _WinAPI_GetDesktopWindow(), "ptr", DllCallbackGetPtr($hCBReg), "lparam", 101)
    Local $iErr = @error
    DllCallbackFree($hCBReg)
    If $iErr Then
    Return SetError(3, $iErr, "")
    EndIf
    Return 2
    EndIf
    EndFunc ;==>_GetDesktopHandle

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

    Func _GetDesktopHandle_EnumChildWinProc($hWnd, $lParam)
    If _WinAPI_GetClassName($hWnd) = "SysListView32" And _WinAPI_GetWindowLong($hWnd, $GWL_ID) = 1 Then
    $h_Desktop_SysListView32 = $hWnd
    Return False
    EndIf
    Return True
    EndFunc ;==>_GetDesktopHandle_EnumChildWinProc

    [/autoit]

    Das Script allgemein ist ein Mix aus allen möglichen Scripten, ich hab den überblick verloren, was nun wirklich von mir ist... Also: Credit goes to everyone ;)

    Gruß
    Spider

    Bilder

    • Unbenannt.JPG
      • 27,15 kB
      • 545 × 182

    Dateien

    TimeOnDesktop.au3 4,78 kB – 397 Downloads

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™