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

Beiträge von Darter

  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 11:31

    naja das Funktioniert doch genauso nur eben statt Größer muss der absand von r Außerer Kreis - r innerer Kreis kleiner sein.

    hier mal ein kleines bsp.

    Spoiler anzeigen
    [autoit]

    #Include <GDIPlus.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <MyHover.au3> ;MyHover include
    #include <Array.au3>
    #include<String.au3>
    #Include <Date.au3>

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

    HotKeySet("{UP}","UP")
    HotKeySet("{DOWN}","DOWN")
    HotKeySet("{LEFT}","LEFT")
    HotKeySet("{RIGHT}","RIGHT")

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

    Opt("GUIOnEventMode",1)

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

    Global $hGraphics, $hBitmap, $hBuffer, $hBGBrush, $hKRBrush, $hBGKRBrush

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

    Global $iXPos = 0, $iYPos = 0, $KgID

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

    Global $GUIWidth = 300
    Global $GUIHeight = 300

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

    Global $aKrPos[4] = ["100","200","50","50"]
    Global $MxKrPos = $aKrPos[0] + $aKrPos[2]/2
    Global $MyKrPos = $aKrPos[1] + $aKrPos[3]/2
    Global Const $rKr = $aKrPos[2]/2

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

    Global $aBgKrPos[4] = ["0","0",$GUIWidth,$GUIHeight]
    Global Const $MxBgKrPos = $aBgKrPos[0] + $aBgKrPos[2]/2
    Global Const $MyBgKrPos = $aBgKrPos[1] + $aBgKrPos[3]/2
    Global Const $rBgKr = $aBgKrPos[2]/2

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

    $GUI = GUICreate("Test",$GUIWidth,$GUIHeight)
    Global $hGUI = WinGetHandle($GUI)
    GUISetOnEvent(-3,"_exit")
    GUISetState()
    Draw()

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

    While 1
    Sleep(100)
    schnittpunkt()
    WEnd

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

    Func UP()
    $iYPos -= 1
    EndFunc

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

    Func DOWN()
    $iYPos += 1
    EndFunc

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

    Func LEFT()
    $iXPos -= 1
    EndFunc

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

    Func RIGHT()
    $iXPos += 1
    EndFunc

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

    Func Draw()
    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GUIWidth, $GUIHeight, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

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

    $hBGBrush = _GDIPlus_BrushCreateSolid("0x" & Hex(255, 2) & Hex(150, 2) & Hex(150, 2) & Hex(150, 2))
    $hBGKRBrush = _GDIPlus_BrushCreateSolid("0x" & Hex(255, 2) & Hex(250, 2) & Hex(250, 2) & Hex(250, 2))
    $hKRBrush = _GDIPlus_BrushCreateSolid("0x" & Hex(255, 2) & Hex(50, 2) & Hex(50, 2) & Hex(50, 2))

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

    _GDIPlus_GraphicsfillRect($hBuffer, 0, 0, $GUIWidth, $GUIHeight, $hBGBrush);=>Backround
    _GDIPlus_GraphicsFillEllipse($hBuffer, $aBgKrPos[0], $aBgKrPos[1], $aBgKrPos[2], $aBgKrPos[3], $hBGKRBrush)

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

    _GDIPlus_GraphicsFillEllipse($hBuffer, $aKrPos[0], $aKrPos[1], $aKrPos[2], $aKrPos[3], $hKRBrush)

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

    $Standar_damit_ich_2_hab = GUI_Register_Hover($hGUI, 0, 0, 1, 1,"hover", "leave",1,1)
    $KgID = GUI_Register_Hover($hGUI, $aKrPos[0], $aKrPos[1], $aKrPos[2], $aKrPos[3],"hover", "leave",1,1)

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

    _GDIPlus_GraphicsDrawImageRect($hGraphics,$hBitmap,0,0,$GUIWidth, $GUIHeight)
    AdlibRegister("Redraw",10)
    EndFunc

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

    Func schnittpunkt()
    If $rBgKr - $rKr < sqrt(($MxBgKrPos-$MxKrPos)^2+($MyBgKrPos-$MyKrPos)^2) Then MsgBox(0,"","")
    EndFunc

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

    Func Redraw()
    GUI_Register_Set_Pos($KgID, $aKrPos[0] + $iXPos, $aKrPos[1] + $iYPos, $aKrPos[2], $aKrPos[3], 0)
    _GDIPlus_GraphicsClear($hBuffer, 0xFF000000)
    _GDIPlus_GraphicsfillRect($hBuffer, 0, 0, $GUIWidth, $GUIHeight, $hBGBrush);=>Backround
    _GDIPlus_GraphicsFillEllipse($hBuffer, 0, 0, $GUIWidth, $GUIHeight, $hBGKRBrush)
    _GDIPlus_GraphicsFillEllipse($hBuffer, $aKrPos[0] + $iXPos, $aKrPos[1] + $iYPos, $aKrPos[2], $aKrPos[3], $hKRBrush)
    _GDIPlus_GraphicsDrawImageRect($hGraphics,$hBitmap,0,0,$GUIWidth, $GUIHeight)

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

    $MxKrPos = ($aKrPos[0] + $iXPos) + $aKrPos[2]/2
    $MyKrPos = ($aKrPos[1] + $iYPos) + $aKrPos[3]/2
    EndFunc

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]
  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 10:49

    ok damit geht es dann wohl einfacher

    [Blockierte Grafik: http://upload.wikimedia.org/math/d/e/8/de898100ceeeb0f31f5537823f1125d6.png]

    ich versteh nicht was die mit den strichen da meinen ?(

    EDIT: ok ich glaub ich verstehs. Also ist der Radius der Kreises 1 + Radiusdes zweiten Kreises Größer als der Abstand von mitelpunkt von kreis 1 zu mittelpunkt des zweiten kreises gibt es keinen schnittpunkt der beider kreise??

    und an den Abstand komm ich ja einfach mit dem satz den pytagoras

  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 10:33
    Zitat von AspirinJunkie

    Dann drück dich doch gleich von Anfang an klar aus - warum erzählst du das jetzt erst das du die Schnittpunkte von 2 Kreisen haben möchtest? - ist doch ne völlig andere Aufgabenstellung.
    Nimm google - tipp "Bogenschnitt" ein.


    naja weil ich dachte, dass wenn ich alle punkte des inneren kreises habe, überprüfen kann ob dieser noch in dem außeren kreis liegt oder nicht aber ich kucke ^^

  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 10:24
    Zitat von AspirinJunkie

    Nein dann ist der X-Wert des Kreispunktes der bei 45° liegt 5,121.

    das meinte ich auch ^^
    Jo und die Funktionsweise zur überprüfung war mir schon bekannt, das Problem ist aber ich habe einen Kreis in einem Kreis und ich möchte brechnen ob der innere Kreis an den Außeren Stößt. Dazu benötige ic h doch alle Punkte des inneren Kreisen, auf jeden fall ist mir kein andere weg bekannt wie ich das sonst herrausfinden könnte

  • Formel 1 Display

    • Darter
    • 11. Juni 2010 um 10:07
    Zitat von Sen

    WinXP Pro SP2 mit GraphicEnchant Mod.
    Aber auch wenn ich GE off setze ist der Fehler da.

    Eventuell die Auflösung?
    Benutze 1680x1050


    hmm komisch mir fällt da jetzt aif anhieb keine Fehlerquelle ein und an der auflösung denke ich mal iegts nicht, da ich ich genau diselbe benutze ^^

  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 10:06

    ok auf der seite war ich auch schon ^^

    also mal angenommen xm = 3 und r = 3 und alpha = 45° dann ist xkreislinie = 5,121??

  • Formel 1 Display

    • Darter
    • 11. Juni 2010 um 09:45

    hmm komisch. was benutzt du denn für ein OS?

  • Punkte auf Kreislinie errechen

    • Darter
    • 11. Juni 2010 um 09:44

    Moin

    Also ich häng mal wider Fest und twar kenne ich den Radius eines Kreisen und den zetralpunkt in einem Koordinatensystem. Z.B. möchte ich herrausbekommen, wenn die maus am Rand des Kreises ankommt und dazu brauch ich ja nunmal jeden Punkte auf der Kreislinie, nur wie?

    Due Punkte, die Horizontal und Vertikal sitzen sind logischerewise leich herauszubekommen.

    Muss ich da Irgendwi mit dem Radius ran gehn U = D * pi?

    [Blockierte Grafik: http://s1.directupload.net/images/100611/8yi5whg3.jpg]

  • AD Gruppenmitglieder in eine andere bestehende Gruppe einpflegen

    • Darter
    • 11. Juni 2010 um 08:07

    Ich versteh zwar nicht ganz was das ist, bzw vofür und was es bringt aber ich habs einfach mal ausprobiert und erhalte folgendes:

    muss ich da noch was ändern ich versteh da nur bahnhof ^^

    Code
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\dfdfdfdfdfdfdfddffdfdfdf.au3 (12) : ==> Error in expression.:
    $sSearchBase = '<LDAP://' & $oRootDSE.Get('defaultNamingContext') & '>'
    $sSearchBase = ^ ERROR
  • Formel 1 Display

    • Darter
    • 11. Juni 2010 um 07:05
    Zitat von Sen

    Eben kurz angetestet, keine Fehler gefunden.
    Aber ich würde:

    1. Das scrollen per Mausrad min 2x so schnell machen (Ich dachte ich sterbe bis ich unten bin xD)
    2. Die Kästen auf jeden Fall größer. Die Zahlen überschneiden sich teilweise.
    3. Ä/Ö/Ü fixen :P

    zu 1 Da stimm ich dir dir zu.
    zu 2 hmm bei mir überschneidet sich nix. EDIT aber etwas größer würde bestimmt nicht schaden ^^
    zu 3 AÖÜ fixen bei mir passt das nur der einer Sebastien oder so das wir eben so geschrieben :P

  • Formel 1 Display

    • Darter
    • 11. Juni 2010 um 04:07

    Guten Morgen

    Hier mein erstes Script für das Forum. Ich wollte GDI+ etwas vertiefen und da ich mich für die Formel 1 interessiere habe ich hier ne Kleinigkeit gemacht.

    Momentan wird nur die die Liste des WM Standes angeziegt aber weitere Funktionen sollten noch folgen.

    Update v1.1
    Bei jedem Redraw wurden neue pen angelegt und nicht gelöscht => Sehr Reccurcen belastend.
    Neue Version hängt an. ;)

    Formel1 Display v1.1
    [autoit]

    #Include <GDIPlus.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <MyHover.au3> ;MyHover include
    #include <Array.au3>
    #include<String.au3>
    #Include <Date.au3>

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

    Opt("GUIOnEventMode",1)

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

    #Region Init Variablen
    Global $GUI_Widh = 630
    Global $GUI_Height = 510
    Global $iYpos = 0
    Global $iYpos_alt = $iYpos
    Global $GUI, $hGUI, $Lab ;=>GUI Var
    Global $Next_Race_Name = "Unknow Race Name"
    Global $To_Next_Race_Days, $To_Next_Race_Houre, $To_Next_Race_Min, $To_Next_Race_Sec
    Global $Next_Race_Month, $Next_Race_Day, $Next_Race_Houre, $Next_Race_Min, $Next_Race_Name, $hNext_Race_Flag
    Global $Mouseweel = 0
    Global $aLaender[22] = ["","","","Baharain GP","Austrailien GP","Malaysia GP","China GP","Spanien GP","Monaco GP","Türkei GP","Kanada GP","Europa GP","Großbritannien GP","Deutschland GP","Ungarn GP","Belgien GP","Italien GP","Singapur GP","Japan GP","Südkorea GP","Brasilien GP","Abu Dahabi GP"]
    ;; Auch hier ging eval leider nicht
    Global $aPunkte_Fahrer1[23] = ["","1","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","-"]
    Global $aPunkte_Fahrer2[23] = ["","2","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","-"]
    Global $aPunkte_Fahrer3[23] = ["","3","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer4[23] = ["","4","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer5[23] = ["","5","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer6[23] = ["","6","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer7[23] = ["","7","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer8[23] = ["","8","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer9[23] = ["","9","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer10[23] = ["","10","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer11[23] = ["","11","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer12[23] = ["","12","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer13[23] = ["","13","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer14[23] = ["","14","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer15[23] = ["","15","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer16[23] = ["","16","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer17[23] = ["","17","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer18[23] = ["","18","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer19[23] = ["","19","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer20[23] = ["","20","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer21[23] = ["","21","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer22[23] = ["","22","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer23[23] = ["","23","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $aPunkte_Fahrer24[23] = ["","24","Farhername","100","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"]
    Global $acounter_new_race[2] = ["450","20"]
    Global $aLab_up[4] =[250,0,$GUI_Widh-500,20]
    Global $aLab_down[4] =[250,$GUI_Height-20,$GUI_Widh-500,20]
    ;;=> GDI+ Var
    Global $hGraphics, $hBitmap, $hBuffer, $hBack_Pic, $hBitmap_lines, $hBuffer_lines, $hBuffer_Header, $hBitmap_Header, $hBack_Pic_oben, $hNext_GB, $hNext_GB_Width, $hNext_GB_Height ;=>GDI+ Var
    Global $hFlags[24]
    Global $HeaderHeigt = 200
    Global $FR_Brush_H_Up_Down, $FR_Brush_Up_down, $FR_Brush, $FR_Brush_H, $hBrush2, $hFormat, $hFamily, $hFont, $FR_V_Brush_H
    Global $hBrush_next_race_date, $hFormat_next_race_date, $hFamily_next_race_date, $hFont_next_race_date, $hHeaderline
    Global $hBrush_Header_ueb, $hFormat_Header_ueb, $hFamily_Header_ueb, $hFont_Header_ueb

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

    Global $aZeilenID[1], $aZeilePos[1]
    Global $ZeilePos, $ZeilenHeight; Zeile
    Global $aSpalteID[1], $aSpaltepos[1]
    Global $Spaltepos, $SpalteWith;Spalte
    Global $counter_new_race = 1
    Global $aNext_GB[4] = ["10","10",$hNext_GB_Width,$hNext_GB_Height]
    Global $AdlibRegister
    Global $hNext_GB, $hNext_GB_Width, $hNext_GB_Height

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

    Global $Next_GP_ueb_Pos[2] = [$aNext_GB[0] + 45,$aNext_GB[1] + 5]
    Global $Next_GP_Sec_Pos[2] = [$aNext_GB[0] + 176,$aNext_GB[0] + 32]
    Global $Next_GP_Min_Pos[2] = [$aNext_GB[0] + 124,$aNext_GB[0] + 32]
    Global $Next_GP_Houre_Pos[2] = [$aNext_GB[0] + 72,$aNext_GB[0] + 32]
    Global $Next_GP_Day_Pos[2] = [$aNext_GB[0] + 20,$aNext_GB[0] + 32]
    Global $Next_GP_Nam_Pos[2] = [$aNext_GB[0] + 24,$aNext_GB[0] + 62]

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

    #EndRegion

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

    $GUI = GUICreate("Formel 1 Display v1.0", $GUI_Widh, $GUI_Height)
    $hGUI = WinGetHandle($GUI)

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

    Get_Data();=>GetData
    Get_Next_Race();=>GetNextRace
    Draw();=>Draw
    Global $ID_UP = GUI_Register_Hover($hGUI,$aLab_up[0],$aLab_up[1],$aLab_up[2],$aLab_up[3],"hover", "leave",0,0)
    Global $ID_Down = GUI_Register_Hover($hGUI,$aLab_down[0],$aLab_down[1],$aLab_down[2],$aLab_down[3],"hover", "leave",0,0)
    GUISetIcon(@ScriptDir & "/Bilder/Icon.ico")
    GUISetOnEvent(-3,"_exit")
    GUISetState()

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

    While 1
    Sleep(100)
    WEnd

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

    Func Draw()

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

    _GDIPlus_Startup()
    #Region Create Graphic Obj
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    #EndRegion

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

    #Region Buffer
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

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

    $hBitmap_lines = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
    $hBuffer_lines = _GDIPlus_ImageGetGraphicsContext($hBitmap_lines)

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

    $hBitmap_Header = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
    $hBuffer_Header = _GDIPlus_ImageGetGraphicsContext($hBitmap_Header)
    #EndRegion

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

    #Region load bg picture
    $hBack_Pic = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/hintergrund3.bmp")
    $hBack_Pic_oben = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/hintergrund_oben2.bmp")
    $hNext_GB = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/Next_GB.png")
    $hNext_GB_Width = _GDIPlus_ImageGetWidth($hNext_GB)
    $hNext_GB_Height = _GDIPlus_ImageGetHeight($hNext_GB)

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

    $hFlags[4] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/BHR.bmp");0
    $hFlags[5] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/AUS.bmp");1
    $hFlags[6] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/MAL.bmp");2
    $hFlags[7] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/CHN.bmp");3
    $hFlags[8] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/ES.bmp");4
    $hFlags[9] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/MON.bmp");5
    $hFlags[10] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/TUR.bmp");6
    $hFlags[11] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/CAN.bmp");7
    $hFlags[12] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/ES.bmp");8
    $hFlags[13] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/GBR.bmp");9
    $hFlags[14] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/GER.bmp");10
    $hFlags[15] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/HUN.bmp");11
    $hFlags[16] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/BEL.bmp");12
    $hFlags[17] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/ITA.bmp");12
    $hFlags[18] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/SIN.bmp");13
    $hFlags[19] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/JPN.bmp");14
    $hFlags[20] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/KOR.bmp");15
    $hFlags[21] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/BRA.bmp");16
    $hFlags[22] = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/ABD.bmp");17
    #EndRegion

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

    #Region Create Pen/brush

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

    $FR_Brush_Up_down = _GDIPlus_BrushCreateSolid("0x" & Hex(50, 2) & Hex(255, 2) & Hex(0, 2) & Hex(0, 2))
    $FR_Brush_H_Up_Down = _GDIPlus_BrushCreateSolid("0x" & Hex(25170240130))

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

    $FR_Brush = _GDIPlus_BrushCreateSolid("0x" & Hex(50, 2) & Hex(226, 2) & Hex(226, 2) & Hex(226, 2))
    $FR_Brush_H = _GDIPlus_BrushCreateSolid("0x" & Hex(50, 2) & Hex(0, 2) & Hex(100, 2) & Hex(250, 2))

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

    $FR_V_Brush_H = _GDIPlus_BrushCreateSolid("0x" & Hex(50, 2) & Hex(250, 2) & Hex(0, 2) & Hex(0, 2))

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

    $hBrush2 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 10, 3)

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

    $hBrush_next_race_date = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    $hFormat_next_race_date = _GDIPlus_StringFormatCreate()
    $hFamily_next_race_date = _GDIPlus_FontFamilyCreate("Arial")
    $hFont_next_race_date = _GDIPlus_FontCreate($hFamily_next_race_date, 7)

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

    $hBrush_Header_ueb = _GDIPlus_BrushCreateSolid(0xFFFFFFFF)
    $hFormat_Header_ueb = _GDIPlus_StringFormatCreate()
    $hFamily_Header_ueb = _GDIPlus_FontFamilyCreate("Arial")
    $hFont_Header_ueb = _GDIPlus_FontCreate($hFamily_Header_ueb, 20,1)

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

    $hHeaderline = _GDIPlus_PenCreate(0xFFE5E5E5, 1)
    #EndRegion

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

    #Region Draw in Kontext

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

    $ZeilePos = 200
    $ZeilenHeight = 20 ; Zeile
    $Spaltepos = 300
    $SpalteWith = 20
    $counter_new_race = 1
    $aNext_GB[2] = $hNext_GB_Width
    $aNext_GB[3] = $hNext_GB_Height

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

    #Region Draw Header

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

    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hBack_Pic_oben, 0, 0, $GUI_Widh, $HeaderHeigt);=>Backround Picture oben
    _GDIPlus_GraphicsFillRect($hBuffer_Header,$aLab_up[0],$aLab_up[1]+$iYpos,$aLab_up[2],$aLab_up[3],$FR_Brush_Up_down);=> Up
    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hNext_GB, $aNext_GB[0], $aNext_GB[1], $aNext_GB[2], $aNext_GB[3]);=> COunter

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

    $sString = "Nächster Grad Prix"
    $tLayout = _GDIPlus_RectFCreate($Next_GP_ueb_Pos[0], $Next_GP_ueb_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Sec = StringSplit($To_Next_Race_Sec,"")
    If $aTo_Next_Race_Sec[0] < 2 Then $To_Next_Race_Sec = 0 & $To_Next_Race_Sec
    $sString = $To_Next_Race_Sec
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Sec_Pos[0], $Next_GP_Sec_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    If $To_Next_Race_Min = 60 Then $To_Next_Race_Min = 59
    $aTo_Next_Race_Min = StringSplit($To_Next_Race_Min,"")
    If $aTo_Next_Race_Min[0] < 2 Then $To_Next_Race_Min = 0 & $To_Next_Race_Min
    $sString = $To_Next_Race_Min
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Min_Pos[0], $Next_GP_Min_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Houre = StringSplit($To_Next_Race_Houre,"")
    If $aTo_Next_Race_Houre[0] < 2 Then $To_Next_Race_Houre = 0 & $To_Next_Race_Houre
    $sString = $To_Next_Race_Houre
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Houre_Pos[0], $Next_GP_Houre_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Days = StringSplit($To_Next_Race_Days,"")
    If $aTo_Next_Race_Days[0] < 2 Then $To_Next_Race_Days = 0 & $To_Next_Race_Days
    $sString = $To_Next_Race_Days
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Day_Pos[0], $Next_GP_Day_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $sString = $Next_Race_Name
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Nam_Pos[0], $Next_GP_Nam_Pos[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    _GDIPlus_GraphicsDrawImage($hBuffer_Header, $hFlags[$hNext_Race_Flag+1], $Next_GP_Nam_Pos[0]-20, $Next_GP_Nam_Pos[1]+3);=> mini flag

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

    $sString = $Next_Race_Day & "." & $Next_Race_Month & ". " & $Next_Race_Houre & ":" & $Next_Race_Min
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Nam_Pos[0]+120, $Next_GP_Nam_Pos[1]+7, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_next_race_date, $tLayout, $hFormat_next_race_date)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_next_race_date, $aInfo[0], $hFormat_next_race_date, $hBrush_next_race_date)

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

    $sString = "Rauf"
    $tLayout = _GDIPlus_RectFCreate($aLab_up[0]+45, $aLab_up[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $sString = "WM Stand " & @YEAR
    $tLayout = _GDIPlus_RectFCreate(220, 120, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_Header_ueb, $tLayout, $hFormat_Header_ueb)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_Header_ueb, $aInfo[0], $hFormat_Header_ueb, $hBrush_Header_ueb)
    #EndRegion

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

    #Region Draw Body
    _GDIPlus_GraphicsDrawImageRect($hBuffer, $hBack_Pic, 0, 0, $GUI_Widh, $GUI_Height);=>Backround Picture
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab_down[0],$aLab_down[1]+$iYpos,$aLab_down[2],$aLab_down[3],$FR_Brush_Up_down);=> Down

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

    $sString = "Runter"
    $tLayout = _GDIPlus_RectFCreate($aLab_down[0]+40, $aLab_down[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $ZeilePos = $ZeilePos + $iYpos
    For $i = 1 To 24
    $mod = StringSplit(Mod($i,2),"")
    If Not Mod($i,2) = $i And $mod[0] < 3 Then
    _GDIPlus_GraphicsFillRect($hBuffer_lines, 0, $ZeilePos, $GUI_Widh, $ZeilenHeight,$FR_Brush)
    EndIf
    If $i <> 1 Then Draw_Strichpunkt($hBuffer_lines,0, $ZeilePos, $GUI_Widh, $ZeilePos,3,2,1,0xFFE5E5E5)
    $ZeilenID = GUI_Register_Hover($hGUI, 0, $ZeilePos, $GUI_Widh, $ZeilenHeight,"hover", "leave",1,0)
    _ArrayAdd($aZeilenID,$ZeilenID)
    _ArrayAdd($aZeilePos,$ZeilePos)
    $ZeilePos += $ZeilenHeight
    Next
    _GDIPlus_GraphicsDrawLine($hBuffer_Header,0,$aZeilePos[1]-2,$GUI_Widh,$aZeilePos[1]-2,$hHeaderline)
    $Spaltepos = 0;, $SpalteWith = 20
    For $i = 1 To 22
    If $i <= 3 Then
    Switch $i
    Case 1
    $SpalteID = GUI_Register_Hover($hGUI, 0, $aZeilePos[1], $SpalteWith, $ZeilenHeight,"hover", "leave",1,1)
    _ArrayAdd($aSpalteID,$SpalteID)
    _ArrayAdd($aSpaltepos,$Spaltepos)
    $sString = "Pos."
    $tLayout = _GDIPlus_RectFCreate($aSpaltepos[1]+5, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    If Not Draw_Fahrerpos_name_pkt($i) Then MsgBox(48,"Fehler","Ein Fehler ist entstanden")
    $Spaltepos = 40
    Draw_Strichpunkt($hBuffer_lines,$Spaltepos, 0, $Spaltepos, $GUI_Height+165,3,2,1,0xFFE5E5E5);=> Body Terrnline Vertikal
    Draw_Strichpunkt($hBuffer_Header,$Spaltepos,$aZeilePos[1]-20,$Spaltepos,$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline
    Case 2
    $SpalteID = GUI_Register_Hover($hGUI, 0, $aZeilePos[1], $SpalteWith, $ZeilenHeight,"hover", "leave",1,1)
    _ArrayAdd($aSpalteID,$SpalteID)
    _ArrayAdd($aSpaltepos,$Spaltepos)
    $sString = "Fahrer"
    $tLayout = _GDIPlus_RectFCreate($Spaltepos+5, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    If Not Draw_Fahrerpos_name_pkt($i) Then MsgBox(48,"Fehler","Ein Fehler ist entstanden")
    $Spaltepos = 220
    Draw_Strichpunkt($hBuffer_lines,$Spaltepos, 0, $Spaltepos, $GUI_Height+165,3,2,1,0xFFE5E5E5)
    Draw_Strichpunkt($hBuffer_Header,$Spaltepos,$aZeilePos[1]-20,$Spaltepos,$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline
    Case 3
    $SpalteID = GUI_Register_Hover($hGUI, 0, $aZeilePos[1], $SpalteWith, $ZeilenHeight,"hover", "leave",1,1)
    _ArrayAdd($aSpalteID,$SpalteID)
    _ArrayAdd($aSpaltepos,$Spaltepos)
    $sString = "Pkt."
    $tLayout = _GDIPlus_RectFCreate($Spaltepos+2, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    If Not Draw_Fahrerpos_name_pkt($i) Then MsgBox(48,"Fehler","Ein Fehler ist entstanden")
    $Spaltepos = 250
    Draw_Strichpunkt($hBuffer_lines,$Spaltepos, 0, $Spaltepos, $GUI_Height+165,3,2,1,0xFFE5E5E5)
    Draw_Strichpunkt($hBuffer_Header,$Spaltepos,$aZeilePos[1]-20,$Spaltepos,$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline
    ;$Spaltepos = 300
    EndSwitch
    Else
    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header,$hFlags[$i], $Spaltepos+3, $aZeilePos[1]-17, 14,10)
    Draw_Strichpunkt($hBuffer_Header,$Spaltepos,$aZeilePos[1]-20,$Spaltepos,$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline
    Draw_Strichpunkt($hBuffer_lines,$Spaltepos, $aZeilePos[1], $Spaltepos, $GUI_Height+165,3,2,1,0xFFE5E5E5);=> Body Terrnline Vertikal
    Draw_Fahrerpos_name_pkt($i,-5)
    $SpalteID = GUI_Register_Hover($hGUI, $Spaltepos, $aZeilePos[1]-20, $SpalteWith, $ZeilenHeight,"hover", "leave",1,0)
    _ArrayAdd($aSpalteID,$SpalteID)
    _ArrayAdd($aSpaltepos,$Spaltepos)
    $Spaltepos += $SpalteWith
    EndIf
    Next
    #EndRegion
    #EndRegion

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

    #Region Draw Lines and rest in BG Buffe
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_lines, 0, $iYpos)
    #EndRegion

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

    #Region Draw BG oben in buffer
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_Header, 0, 0)
    #EndRegion

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

    #Region Draw Kontext on Graphic
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    #EndRegion
    GUIRegisterMsg(0x000F, "MY_PAINT");=>Redraw
    GUIRegisterMsg($WM_MOUSEWHEEL, "_WM_MOUSEWHEEL")
    Global $AdlibRegister = 1
    AdlibRegister("redraw_New_Race",1000);=>Redraw new race timer
    EndFunc;=>Draw

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

    Func redraw()
    #Region Draw in Kontext
    #Region Redraw Backround
    _GDIPlus_GraphicsClear($hBuffer, 0xFF000000)

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

    _GDIPlus_GraphicsDrawImage($hBuffer, $hBack_Pic, 0, 0);=> Backround Picture
    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hBack_Pic_oben, 0, 0, $GUI_Widh, 200);=>Backround Picture oben
    #EndRegion

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

    #Region Hovered Redraw
    If GUI_Reguster_Witch_Hovered() = $ID_UP Then
    _GDIPlus_GraphicsFillRect($hBuffer_Header,$aLab_up[0],$aLab_up[1],$aLab_up[2],$aLab_up[3],$FR_Brush_H_Up_Down)
    Else
    _GDIPlus_GraphicsFillRect($hBuffer_Header,$aLab_up[0],$aLab_up[1],$aLab_up[2],$aLab_up[3],$FR_Brush_Up_down)
    EndIf
    If GUI_Reguster_Witch_Hovered() = $ID_Down Then
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab_down[0],$aLab_down[1],$aLab_down[2],$aLab_down[3],$FR_Brush_H_Up_Down)
    Else
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab_down[0],$aLab_down[1],$aLab_down[2],$aLab_down[3],$FR_Brush_Up_down)
    EndIf

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

    $sString = "Rauf"
    $tLayout = _GDIPlus_RectFCreate($aLab_up[0]+45, $aLab_up[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)
    #EndRegion

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

    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hNext_GB, $aNext_GB[0], $aNext_GB[1], $aNext_GB[2], $aNext_GB[3]);=> COunter

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

    $sString = "Runter"
    $tLayout = _GDIPlus_RectFCreate($aLab_down[0]+40, $aLab_down[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    #Region Nex GP
    $sString = "Nächster Grad Prix"
    $tLayout = _GDIPlus_RectFCreate($Next_GP_ueb_Pos[0], $Next_GP_ueb_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Sec = StringSplit($To_Next_Race_Sec,"")
    If $aTo_Next_Race_Sec[0] < 2 Then $To_Next_Race_Sec = 0 & $To_Next_Race_Sec
    $sString = $To_Next_Race_Sec
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Sec_Pos[0], $Next_GP_Sec_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    If $To_Next_Race_Min = 60 Then $To_Next_Race_Min = 59
    $aTo_Next_Race_Min = StringSplit($To_Next_Race_Min,"")
    If $aTo_Next_Race_Min[0] < 2 Then $To_Next_Race_Min = 0 & $To_Next_Race_Min
    $sString = $To_Next_Race_Min
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Min_Pos[0], $Next_GP_Min_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Houre = StringSplit($To_Next_Race_Houre,"")
    If $aTo_Next_Race_Houre[0] < 2 Then $To_Next_Race_Houre = 0 & $To_Next_Race_Houre
    $sString = $To_Next_Race_Houre
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Houre_Pos[0], $Next_GP_Houre_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $aTo_Next_Race_Days = StringSplit($To_Next_Race_Days,"")
    If $aTo_Next_Race_Days[0] < 2 Then $To_Next_Race_Days = 0 & $To_Next_Race_Days
    $sString = $To_Next_Race_Days
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Day_Pos[0], $Next_GP_Day_Pos[1], 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $sString = $Next_Race_Name
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Nam_Pos[0], $Next_GP_Nam_Pos[1]+2, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    _GDIPlus_GraphicsDrawImage($hBuffer_Header, $hFlags[$hNext_Race_Flag+1], $Next_GP_Nam_Pos[0]-20, $Next_GP_Nam_Pos[1]+3);=> mini flag

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

    $sString = $Next_Race_Day & "." & $Next_Race_Month & ". " & $Next_Race_Houre & ":" & $Next_Race_Min
    $tLayout = _GDIPlus_RectFCreate($Next_GP_Nam_Pos[0]+120, $Next_GP_Nam_Pos[1]+7, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_next_race_date, $tLayout, $hFormat_next_race_date)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_next_race_date, $aInfo[0], $hFormat_next_race_date, $hBrush_next_race_date)

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

    $sString = "Pos."
    $tLayout = _GDIPlus_RectFCreate($aSpaltepos[1]+5, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)

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

    $sString = "Fahrer"
    $tLayout = _GDIPlus_RectFCreate($aSpaltepos[2]+5, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)
    Draw_Strichpunkt($hBuffer_Header,$aSpaltepos[2],$aZeilePos[1]-20,$aSpaltepos[2],$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline

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

    $sString = "Pkt."
    $tLayout = _GDIPlus_RectFCreate($aSpaltepos[3]+2, $aZeilePos[1]-20, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)
    Draw_Strichpunkt($hBuffer_Header,$aSpaltepos[3],$aZeilePos[1]-20,$aSpaltepos[3],$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline

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

    For $i = 4 To UBound($hFlags)-2
    _GDIPlus_GraphicsDrawImageRect($hBuffer_Header,$hFlags[$i], $aSpaltepos[$i]+3, $aZeilePos[1]-17, 14,10)
    Draw_Strichpunkt($hBuffer_Header,$aSpaltepos[$i],$aZeilePos[1]-20,$aSpaltepos[$i],$aZeilePos[1],3,2,1,0xFFE5E5E5);=>Header trennline
    Next

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

    _GDIPlus_GraphicsDrawLine($hBuffer_Header,0,$aZeilePos[1]-2,$GUI_Widh,$aZeilePos[1]-2,$hHeaderline)

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

    $sString = "WM Stand " & @YEAR
    $tLayout = _GDIPlus_RectFCreate(220, 120, 0, 0)
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_Header_ueb, $tLayout, $hFormat_Header_ueb)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_Header_ueb, $aInfo[0], $hFormat_Header_ueb, $hBrush_Header_ueb)

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

    #EndRegion

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

    #EndRegion

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

    #Region Draw Lines and rest in BG Buffe
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_lines, 0, $iYpos)
    ;_GDIPlus_GraphicsDrawImageRect($hBuffer, $hBuffer, 0, $iYpos, $GUI_Widh, $GUI_Height )
    #EndRegion

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

    #Region Draw BG Oben in buffer
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_Header, 0, 0)
    ;_GDIPlus_GraphicsDrawImageRect($hBuffer, $hBuffer, 0, $iYpos, $GUI_Widh, $GUI_Height )
    #EndRegion

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

    #Region Draw Kontext on Graphic
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    #EndRegion

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

    #EndRegion
    If GUI_Reguster_Witch_Hovered() <> $ID_Down And GUI_Reguster_Witch_Hovered() <> $ID_UP Then
    hover(1)
    EndIf

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

    If $AdlibRegister = 0 Then
    AdlibRegister("redraw_New_Race",1000)
    $AdlibRegister = 1
    EndIf
    EndFunc;=>redraw

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

    Func redraw_New_Race()
    Get_Next_Race()
    redraw()
    EndFunc;=>redraw_New_Race

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

    Func up()
    If $iYpos < 0 Then
    If $Mouseweel Then
    $iYpos += 3
    For $i = 1 To UBound($aZeilenID)-1
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aZeilenID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    $Test = $aRectinfos[4]
    If $aRectinfos[4] > 195 And $aRectinfos[4] < 490 Then
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]+3, $aRectinfos[5], $aRectinfos[6],0)
    Else
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]+3, $aRectinfos[5], $aRectinfos[6],1)
    EndIf
    EndIf
    Next
    $Mouseweel = 0
    Else
    $iYpos += 3
    For $i = 1 To UBound($aZeilenID)-1
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aZeilenID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    $Test = $aRectinfos[4]
    If $aRectinfos[4] > 195 And $aRectinfos[4] < 490 Then
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]+3, $aRectinfos[5], $aRectinfos[6],0)
    Else
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]+3, $aRectinfos[5], $aRectinfos[6],1)
    EndIf
    EndIf
    Next
    EndIf
    Sleep(20)
    EndIf
    redraw()
    EndFunc;=>up

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

    Func down()
    If $iYpos > -200 Then
    If $Mouseweel Then
    $iYpos -= 3
    For $i = 1 To UBound($aZeilenID)-1
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aZeilenID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    $Test = $aRectinfos[4]
    If $aRectinfos[4] > 205 And $aRectinfos[4] < 480 Then
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]-3, $aRectinfos[5], $aRectinfos[6],0)
    Else
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]-3, $aRectinfos[5], $aRectinfos[6],1)
    EndIf
    EndIf
    Next
    $Mouseweel = 0
    Else
    $iYpos -= 3
    For $i = 1 To UBound($aZeilenID)-1
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aZeilenID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    $Test = $aRectinfos[4]
    If $aRectinfos[4] > 205 And $aRectinfos[4] < 480 Then
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]-3, $aRectinfos[5], $aRectinfos[6],0)
    Else
    GUI_Register_Set_Pos($aZeilenID[$i], $aRectinfos[3], $aRectinfos[4]-3, $aRectinfos[5], $aRectinfos[6],1)
    EndIf
    EndIf
    Next
    EndIf
    Sleep(20)
    EndIf
    redraw()
    EndFunc;=>down

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

    Func hover($nix)
    Local $a = GUI_Reguster_Witch_Hovered()
    Local $pushed_Up_Down = 0
    Switch $a
    Case $ID_UP
    AdlibUnRegister("redraw_New_Race")
    $pushed_Up_Down = 1
    up()
    Case $ID_Down
    AdlibUnRegister("redraw_New_Race")
    $pushed_Up_Down = 1
    down()
    EndSwitch

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

    If Not $pushed_Up_Down Then
    For $i = 1 To UBound($aZeilenID)-1
    If $aZeilenID[$i] = $a Then
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aZeilenID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    _GDIPlus_GraphicsFillRect($hGraphics,$aRectinfos[3],$aRectinfos[4],$aRectinfos[5],$aRectinfos[6],$FR_Brush_H)
    EndIf
    ExitLoop
    EndIf
    Next
    $p = 2
    For $i = 3 To UBound($aSpalteID)-1
    If $aSpalteID[$i] = $a Then
    $aRectinfos = StringSplit(GUI_Register_Get_Info($aSpalteID[$i]),"|")
    If $aRectinfos[2] <> $ID_UP And $aRectinfos[2] <> $ID_Down Then
    If $iYpos > -173 Then
    _GDIPlus_GraphicsFillRect($hGraphics,$aRectinfos[3],$aRectinfos[4],$aRectinfos[5],$GUI_Height-200+20,$FR_V_Brush_H)
    Else
    _GDIPlus_GraphicsFillRect($hGraphics,$aRectinfos[3],$aRectinfos[4],$aRectinfos[5],$GUI_Height-(-$iYpos)-10,$FR_V_Brush_H)
    EndIf
    ToolTip($aLaender[$p])
    EndIf
    ExitLoop
    EndIf
    $p += 1
    Next
    EndIf
    EndFunc;=>hover

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

    Func leave()
    Local $a = GUI_Reguster_Witch_Leave()
    If $a = $ID_Down Or $a = $ID_UP Then
    $AdlibRegister = 0
    EndIf
    ToolTip("")
    redraw()
    EndFunc;=>leave

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

    Func Draw_Strichpunkt($hGraphics, $x1, $y1, $x2, $y2, $Abstand = 5, $Laenge = 5, $Dicke = 1, $Farbe = 0xFF000000)
    Local $hPen = _GDIPlus_PenCreate($Farbe, $Dicke)
    Local $iGes = (sqrt(($x2-$x1)^2+($y2-$y1)^2)) ; Thx at Autoit Community habe die namen nicht mehr, da ich den Thread nicht mehr gefunden hab.
    Local $round = 0
    Do
    $iX1 = $x1+(($x2-$x1)/$iGes)*($round*($Abstand+$Laenge))
    $iY1 = $y1+(($y2-$y1)/$iGes)*($round*($Abstand+$Laenge))
    $iX2 = $x1+(($x2-$x1)/$iGes)*((($Laenge+$Abstand)*$round)+$Laenge)
    $iY2 = $y1+(($y2-$y1)/$iGes)*((($Laenge+$Abstand)*$round)+$Laenge)
    $round += 1
    _GDIPlus_GraphicsDrawLine($hGraphics, $iX1, $iY1, $iX2, $iY2,$hPen)
    Until Round($iX2) >= $x2 And Round($iY2) >= $y2
    _GDIPlus_PenDispose($hPen)
    EndFunc ;==> Draw_Strichpunkt

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

    Func MY_PAINT($hWnd, $msg, $wParam, $lParam)
    _WinAPI_RedrawWindow($hGUI, "", "", BitOR($RDW_INVALIDATE, $RDW_UPDATENOW, $RDW_FRAME))
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    Return "GUI_RUNDEFMSG"
    EndFunc ;==>MY_PAINT

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

    Func _WM_MOUSEWHEEL($hWnd, $Msg, $wParam, $lParam)
    Local $bDown = 1
    If BitShift($wParam, 16) > 0 Then $bDown = 0
    Switch $bDown
    Case 1
    down()
    Case Else
    up()
    EndSwitch
    $Mouseweel = 1
    EndFunc;=>_WM_MOUSEWHEEL

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

    Func Get_Next_Race()
    $Local_Quellcode = FileRead(@scriptdir & "/Data.txt")
    $Local_Quellcode = _StringBetween($Local_Quellcode,'<p class="loc">','</div>')
    $Local_Quellcode_Next_Race_Name = _StringBetween($Local_Quellcode[0],'title="','">')
    For $i = 3 to 21
    If $aLaender[$i] = $Local_Quellcode_Next_Race_Name[0] Then
    $Next_Race_Name = $Local_Quellcode_Next_Race_Name[0]
    $hNext_Race_Flag = $i
    EndIf
    Next
    $Local_Quellcode = _StringBetween($Local_Quellcode[0],'"time">','p>')
    $aNext_Race_Month = StringSplit($Local_Quellcode[0],".")
    $Next_Race_Day = $aNext_Race_Month[1]
    $aNext_Race_Day = StringSplit($aNext_Race_Month[2],"")
    $Next_Race_Month = $aNext_Race_Day[1] & $aNext_Race_Day[2]
    $aNext_Race_Houre = _StringBetween($Local_Quellcode[0],';&nbsp;','</')
    $aNext_Race_Houre = StringSplit($aNext_Race_Houre[0],":")
    $Next_Race_Houre = $aNext_Race_Houre[1]
    $Next_Race_Min = $aNext_Race_Houre[2]
    $To_Next_Race_Days = _DateDiff("D", _NowCalc(), @YEAR & "/" & $Next_Race_Month & "/" & $Next_Race_Day & " " & $Next_Race_Houre & ":" & $Next_Race_Min & ":00")
    $To_Next_Race_Houre = _DateDiff("H", _NowCalc(), @YEAR & "/" & @MON & "/" & @MDAY+1 & " " & $Next_Race_Houre & ":" & $Next_Race_Min & ":00")
    If $To_Next_Race_Houre > 24 Then $To_Next_Race_Houre = _DateDiff("H", _NowCalc(), @YEAR & "/" & @MON & "/" & @MDAY & " " & $Next_Race_Houre & ":" & $Next_Race_Min & ":00")
    $To_Next_Race_Min = Abs(@MIN -60)
    $To_Next_Race_Sec = Abs(@SEC -60)
    EndFunc;=>Get_Next_Race

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

    Func Get_Data()
    If Not FileExists(@ScriptDir & "/Data.txt") Or $To_Next_Race_Days <= 0 And $To_Next_Race_Houre +3 <= 0 Then
    $inet_Quellcode = InetGet("http://www.formel1.de/de/27/WM-Stand",@ScriptDir & "/Data.txt")
    Else
    $Local_Quellcode = FileRead(@scriptdir & "/Data.txt")
    $Local_Quellcode = _StringBetween($Local_Quellcode,'<h1>WM Stand</h1>','</table>')
    $Local_Quellcode = _StringBetween($Local_Quellcode[0],'<tr ','</tr>')
    For $i = 0 to UBound($Local_Quellcode)-1
    $Local_Quellcode_Fahrer1 = _StringBetween($Local_Quellcode[$i],'<td','</td>')
    $Fahrername = _StringBetween($Local_Quellcode_Fahrer1[1],'">','&nbsp')
    $Fahrername = StringSplit($Fahrername[0],'">')
    $Fahrername = $Fahrername[4]
    $Punkte_Insgesammt = StringSplit($Local_Quellcode_Fahrer1[2],'">')
    $Punkte_Insgesammt = $Punkte_Insgesammt[4]

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

    For $a = 3 To 21
    $Local_Quellcode_Fahrer_Punkte = StringSplit($Local_Quellcode_Fahrer1[$a],'">')
    Switch $i
    Case 0
    ;MsgBox(0,"",StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8))
    $aPunkte_Fahrer1[2] = $Fahrername
    $aPunkte_Fahrer1[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer1[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 1
    $aPunkte_Fahrer2[2] = $Fahrername
    $aPunkte_Fahrer2[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer2[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 2
    $aPunkte_Fahrer3[2] = $Fahrername
    $aPunkte_Fahrer3[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer3[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 3
    $aPunkte_Fahrer4[2] = $Fahrername
    $aPunkte_Fahrer4[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer4[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 4
    $aPunkte_Fahrer5[2] = $Fahrername
    $aPunkte_Fahrer5[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer5[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 5
    $aPunkte_Fahrer6[2] = $Fahrername
    $aPunkte_Fahrer6[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer6[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 6
    $aPunkte_Fahrer7[2] = $Fahrername
    $aPunkte_Fahrer7[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer7[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 7
    $aPunkte_Fahrer8[2] = $Fahrername
    $aPunkte_Fahrer8[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer8[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 8
    $aPunkte_Fahrer9[2] = $Fahrername
    $aPunkte_Fahrer9[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer9[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 9
    $aPunkte_Fahrer10[2] = $Fahrername
    $aPunkte_Fahrer10[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer10[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 10
    $aPunkte_Fahrer11[2] = $Fahrername
    $aPunkte_Fahrer11[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer11[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 11
    $aPunkte_Fahrer12[2] = $Fahrername
    $aPunkte_Fahrer12[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer12[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 12
    $aPunkte_Fahrer13[2] = $Fahrername
    $aPunkte_Fahrer13[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer13[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 13
    $aPunkte_Fahrer14[2] = $Fahrername
    $aPunkte_Fahrer14[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer14[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 14
    $aPunkte_Fahrer15[2] = $Fahrername
    $aPunkte_Fahrer15[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer15[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 15
    $aPunkte_Fahrer16[2] = $Fahrername
    $aPunkte_Fahrer16[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer16[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 16
    $aPunkte_Fahrer17[2] = $Fahrername
    $aPunkte_Fahrer17[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer17[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 17
    $aPunkte_Fahrer18[2] = $Fahrername
    $aPunkte_Fahrer18[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer18[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 18
    $aPunkte_Fahrer19[2] = $Fahrername
    $aPunkte_Fahrer19[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer19[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 19
    $aPunkte_Fahrer20[2] = $Fahrername
    $aPunkte_Fahrer20[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer20[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 20
    $aPunkte_Fahrer21[2] = $Fahrername
    $aPunkte_Fahrer21[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer21[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 21
    $aPunkte_Fahrer22[2] = $Fahrername
    $aPunkte_Fahrer22[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer22[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 22
    $aPunkte_Fahrer23[2] = $Fahrername
    $aPunkte_Fahrer23[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer23[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    Case 23
    $aPunkte_Fahrer24[2] = $Fahrername
    $aPunkte_Fahrer24[3] = $Punkte_Insgesammt
    $aPunkte_Fahrer24[$a+1] = StringStripWS ($Local_Quellcode_Fahrer_Punkte[4],8)
    EndSwitch
    Next
    Next
    EndIf
    EndFunc;=>Get_Data

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

    Func Draw_Fahrerpos_name_pkt($witch,$ab_pos = 0)
    ;;=>Mit Eval gings leider nicht :(
    For $i = 1 To 24
    Switch $i
    Case 1
    Local $sString = $aPunkte_Fahrer1[$witch]
    Case 2
    Local $sString = $aPunkte_Fahrer2[$witch]
    Case 3
    Local $sString = $aPunkte_Fahrer3[$witch]
    Case 4
    Local $sString = $aPunkte_Fahrer4[$witch]
    Case 5
    Local $sString = $aPunkte_Fahrer5[$witch]
    Case 6
    Local $sString = $aPunkte_Fahrer6[$witch]
    Case 7
    Local $sString = $aPunkte_Fahrer7[$witch]
    Case 8
    Local $sString = $aPunkte_Fahrer8[$witch]
    Case 9
    Local $sString = $aPunkte_Fahrer9[$witch]
    Case 10
    Local $sString = $aPunkte_Fahrer10[$witch]
    Case 11
    Local $sString = $aPunkte_Fahrer11[$witch]
    Case 12
    Local $sString = $aPunkte_Fahrer12[$witch]
    Case 13
    Local $sString = $aPunkte_Fahrer13[$witch]
    Case 14
    Local $sString = $aPunkte_Fahrer14[$witch]
    Case 15
    Local $sString = $aPunkte_Fahrer15[$witch]
    Case 16
    Local $sString = $aPunkte_Fahrer16[$witch]
    Case 17
    Local $sString = $aPunkte_Fahrer17[$witch]
    Case 18
    Local $sString = $aPunkte_Fahrer18[$witch]
    Case 19
    Local $sString = $aPunkte_Fahrer19[$witch]
    Case 20
    Local $sString = $aPunkte_Fahrer20[$witch]
    Case 21
    Local $sString = $aPunkte_Fahrer21[$witch]
    Case 22
    Local $sString = $aPunkte_Fahrer22[$witch]
    Case 23
    Local $sString = $aPunkte_Fahrer23[$witch]
    Case 24
    Local $sString = $aPunkte_Fahrer24[$witch]
    EndSwitch
    ;$sString = Eval("aPunkte_Fahrer" & $pos & "[" & $pos & "]")
    ;MsgBox(0,"",$sString)
    If StringLen($sString) = 1 Then
    $tLayout = _GDIPlus_RectFCreate($Spaltepos+10+$ab_pos, $aZeilePos[$i]+3, 0, 0)
    ElseIf StringLen($sString) = 3 Then
    $tLayout = _GDIPlus_RectFCreate($Spaltepos+2+$ab_pos, $aZeilePos[$i]+3, 0, 0)
    Else
    $tLayout = _GDIPlus_RectFCreate($Spaltepos+6+$ab_pos, $aZeilePos[$i]+3, 0, 0)
    EndIf
    $aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_lines, $sString, $hFont, $tLayout, $hFormat)
    _GDIPlus_GraphicsDrawStringEx($hBuffer_lines, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)
    If @error Then Return 0
    Next
    Return 1
    EndFunc;=>Draw_Fahrerpos_name_pkt

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

    Func _exit()
    GUI_Register_Shutdown()
    AdlibUnRegister("redraw_New_Race")
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_BitmapDispose($hBitmap_lines)
    _GDIPlus_BitmapDispose($hBitmap_Header)

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

    _GDIPlus_BitmapDispose($hBack_Pic)
    _GDIPlus_BitmapDispose($hBack_Pic_oben)

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

    For $i = 4 To 22
    _GDIPlus_BitmapDispose($hFlags[$i])
    Next

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

    _GDIPlus_BrushDispose($FR_Brush_Up_down)
    _GDIPlus_BrushDispose($FR_Brush_H_Up_Down)
    _GDIPlus_BrushDispose($FR_Brush_H)
    _GDIPlus_BrushDispose($FR_V_Brush_H)

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

    _GDIPlus_BrushDispose($hBrush2)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_FontDispose($hFont)

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

    _GDIPlus_BrushDispose($hBrush_next_race_date)
    _GDIPlus_FontFamilyDispose($hFamily_next_race_date)
    _GDIPlus_FontDispose($hFont_next_race_date)

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

    _GDIPlus_BrushDispose($hBrush_Header_ueb)
    _GDIPlus_FontFamilyDispose($hFamily_Header_ueb)
    _GDIPlus_FontDispose($hFont_Header_ueb)
    _GDIPlus_PenDispose($hHeaderline)

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

    _GDIPlus_Shutdown()
    Exit
    EndFunc;=>_exit

    [/autoit]

    Wichtig: Es wird ein Include von mir benötigt aber ich hänge das ganze noch komplett in ner rar an.

    Hier noch ein Pic:

    [Blockierte Grafik: http://s5.directupload.net/images/100611/p5rre3ew.jpg]

    EDIT: Anregungen zur Verbesserung o.ä. sind natürlich immer gerne gesehen ;)

    Dateien

    Formel1 Display 1.1.rar 369,8 kB – 428 Downloads
  • Scite Fehlermeldungen ohne ende

    • Darter
    • 10. Juni 2010 um 09:00
    Zitat von DaX

    Natürlich kann man Variablen für den globalen Gültigkeitsbereich in einer Funktion deklarieren. Ich halte es aber für einen schlechten Programmierstil. Globale Variablen gehören an den Skriptanfang und lokale Variablen gehören in die Funktion.


    Was passieriert beim Funktionsaufruf von Test2() bevor über den Aufruf der Funktion Test() die Varialbe $Test überhaupt deklariert wurde? Die Funktion liefert Dir ein nicht erwünschtest Ergebnis zurück. Bei Deinem Beispiel würde ich ein Parameter an die Funktion übergeben, mit diesem Parameter rechnen und mir dann das Ergebnis zurückgeben lassen.

    mein Gott wie wär es mit genauem Lesen?? ich habe gesagt , das ist ein Bsp. und die Funktion Test2 wird nie in keinstem fall ohne die Funktion Test aufgerufen. also stellt sich dir frage gar nicht

  • Scite Fehlermeldungen ohne ende

    • Darter
    • 10. Juni 2010 um 06:41
    Zitat von Oscar

    Globale Variablen musst Du auch Global (im Hauptprogramm) deklarieren und nicht in einer Funktion.
    Das sollen Dir diese Warnmeldungen sagen.


    Seit wann muss man das? Naja supi dann muss ich jetzt ein 2000 zeilen Code, indem ich Functionen habe, die nur einmal aufgerufen werden(direkt beim start) und da die ganzen Varablen gesetzt werden nach oben packen?
    sowas gabs beim alten Scite aber noch nicht, Kann ich das irgendwie abschalten?

  • Scite Fehlermeldungen ohne ende

    • Darter
    • 10. Juni 2010 um 06:18

    Moin

    erstaml hier ein Testscript

    Spoiler anzeigen
    [autoit]

    HotKeySet("{ESC}","_exit")
    HotKeySet("t","test")

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

    While 1
    Sleep(100)
    WEnd

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

    Func test()
    Global $Test = 10
    MsgBox(0,"",test2())
    EndFunc

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

    Func test2()
    Return $Test*2
    EndFunc

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

    Func _exit()
    Exit
    EndFunc

    [/autoit]


    und hier die Fehlermeldung dazu

    Spoiler anzeigen
    Code
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\test.au3(14,14) : WARNING: $Test: possibly used before declaration.
    	Return $Test*
    	~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\test.au3(9,19) : WARNING: $Test: declared global in function only. Prefer top of file.
    	Global $Test = 10
    	~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\test.au3 - 0 error(s), 2 warning(s)

    wieso bekomme ich hier solche Fehlermeldungen, obwohl die Variable überhaupt noch nicht benutzt wurde?
    Außerdem geht das gaze soweit, dass ich in einem anderen etwas längeren Script das hier bekomm.

    Spoiler anzeigen
    Code
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\MyHover.au3(24,77) : WARNING: $aGUI_Register_Hover_Info: possibly used before declaration.
    	Local $aGUI_Register_Hover_Infos = StringSplit($aGUI_Register_Hover_Info[1],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\MyHover.au3(33,18) : WARNING: $Hover_one: possibly used before declaration.
    			If $Hover_one <>
    			~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\MyHover.au3(87,19) : WARNING: $Leave_one: possibly used before declaration.
    	Return $Leave_one
    	~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(361,33) : WARNING: $hBuffer: possibly used before declaration.
    	_GDIPlus_GraphicsClear($hBuffer,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(363,49) : WARNING: $hBack_Pic: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hBuffer, $hBack_Pic,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(364,48) : WARNING: $hBuffer_Header: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImageRect($hBuffer_Header,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(364,65) : WARNING: $hBack_Pic_oben: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hBack_Pic_oben,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(368,44) : WARNING: $ID_UP: possibly used before declaration.
    	If GUI_Reguster_Witch_Hovered()	 = $ID_UP Then
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(369,115) : WARNING: $FR_Brush_H_Up_Down: possibly used before declaration.
    	    _GDIPlus_GraphicsFillRect($hBuffer_Header,$aLab_up[0],$aLab_up[1],$aLab_up[2],$aLab_up[3],$FR_Brush_H_Up_Down)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(371,110) : WARNING: $FR_Brush_Up_down: possibly used before declaration.
    		_GDIPlus_GraphicsFillRect($hBuffer_Header,$aLab_up[0],$aLab_up[1],$aLab_up[2],$aLab_up[3],$FR_Brush_Up_down)
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(373,46) : WARNING: $ID_Down: possibly used before declaration.
    	If GUI_Reguster_Witch_Hovered()	 = $ID_Down Then
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(381,75) : WARNING: $hFont: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(381,95) : WARNING: $hFormat: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont, $tLayout, $hFormat)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(382,96) : WARNING: $hBrush2: possibly used before declaration.
    	_GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont, $aInfo[0], $hFormat, $hBrush2)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(385,59) : WARNING: $hNext_GB: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hNext_GB,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(385,73) : WARNING: $aNext_GB: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImageRect($hBuffer_Header, $hNext_GB, $aNext_GB[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(394,53) : WARNING: $Next_GP_ueb_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_ueb_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(401,53) : WARNING: $Next_GP_Sec_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_Sec_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(409,53) : WARNING: $Next_GP_Min_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_Min_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(416,55) : WARNING: $Next_GP_Houre_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_Houre_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(423,53) : WARNING: $Next_GP_Day_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_Day_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(428,53) : WARNING: $Next_GP_Nam_Pos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($Next_GP_Nam_Pos[0],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(432,73) : WARNING: $hFlags: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hBuffer_Header, $hFlags[$hNext_Race_Flag+1],
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(436,90) : WARNING: $hFont_next_race_date: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_next_race_date,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(436,125) : WARNING: $hFormat_next_race_date: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_next_race_date, $tLayout, $hFormat_next_race_date)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(437,140) : WARNING: $hBrush_next_race_date: possibly used before declaration.
    	_GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_next_race_date, $aInfo[0], $hFormat_next_race_date, $hBrush_next_race_date)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(440,48) : WARNING: $aSpaltepos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($aSpaltepos[1]+
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(440,65) : WARNING: $aZeilePos: possibly used before declaration.
    	$tLayout = _GDIPlus_RectFCreate($aSpaltepos[1]+5, $aZeilePos[1]-
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(462,100) : WARNING: $hHeaderline: possibly used before declaration.
    	_GDIPlus_GraphicsDrawLine($hBuffer_Header,0,$aZeilePos[1]-2,$GUI_Widh,$aZeilePos[1]-2,$hHeaderline)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(466,86) : WARNING: $hFont_Header_ueb: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_Header_ueb,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(466,117) : WARNING: $hFormat_Header_ueb: possibly used before declaration.
    	$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_Header, $sString, $hFont_Header_ueb, $tLayout, $hFormat_Header_ueb)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(467,128) : WARNING: $hBrush_Header_ueb: possibly used before declaration.
    	_GDIPlus_GraphicsDrawStringEx($hBuffer_Header, $sString, $hFont_Header_ueb, $aInfo[0], $hFormat_Header_ueb, $hBrush_Header_ueb)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(479,53) : WARNING: $hBitmap_lines: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_lines,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(484,54) : WARNING: $hBitmap_Header: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_Header,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(489,39) : WARNING: $hGraphics: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hGraphics,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(489,49) : WARNING: $hBitmap: possibly used before declaration.
    	_GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap,
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(509,23) : WARNING: $AdlibRegister: possibly used before declaration.
        If $AdlibRegister =
    ~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(524,35) : WARNING: $aZeilenID: possibly used before declaration.
    			For $i = 1 To UBound($aZeilenID)
    			~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(617,120) : WARNING: $FR_Brush_H: possibly used before declaration.
    		        	_GDIPlus_GraphicsFillRect($hGraphics,$aRectinfos[3],$aRectinfos[4],$aRectinfos[5],$aRectinfos[6],$FR_Brush_H)
    		~~~~~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(623,37) : WARNING: $aSpalteID: possibly used before declaration.
        	For $i = 3 To UBound($aSpalteID)
    ~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(629,121) : WARNING: $FR_V_Brush_H: possibly used before declaration.
    						_GDIPlus_GraphicsFillRect($hGraphics,$aRectinfos[3],$aRectinfos[4],$aRectinfos[5],$GUI_Height-200+20,$FR_V_Brush_H)
    						~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(908,49) : WARNING: $Spaltepos: possibly used before declaration.
    	    	$tLayout = _GDIPlus_RectFCreate($Spaltepos+
    	~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(914,57) : WARNING: $hBuffer_lines: possibly used before declaration.
    		$aInfo = _GDIPlus_GraphicsMeasureString($hBuffer_lines,
    		~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(942,37) : WARNING: $hFamily: possibly used before declaration.
    	_GDIPlus_FontFamilyDispose($hFamily)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(946,52) : WARNING: $hFamily_next_race_date: possibly used before declaration.
    	_GDIPlus_FontFamilyDispose($hFamily_next_race_date)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3(950,48) : WARNING: $hFamily_Header_ueb: possibly used before declaration.
    	_GDIPlus_FontFamilyDispose($hFamily_Header_ueb)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\MyHover.au3(10,24) : WARNING: $Leave_one: declared global in function only. Prefer top of file.
    		Global $Leave_one = 0
    		~~~~~~~~~~~~~~~~~~~~~^
    C:\Users\Matze\Documents\Alle AutiIT-Test\Formel 1\Script 2.au3 - 0 error(s), 47 warning(s)
    Alles anzeigen

    Das Scipt läuft natürlich, da alle Variablen vor der Benutzung Registriert werden, jedoch ist es sehr ärgerlich solch viele unnötigen Warnings zu erhalten, denn wenn an wirklich ein Fehler entsteht muss ich 50 mal F4 drücken bis ich zu dem eingentlichen Fehler komm.

  • Splash Ladebildschirm (ähnlich wie bei Office 2010)

    • Darter
    • 9. Juni 2010 um 22:51

    komisch. Ich hatte noch ne alte versosin von Autoit drauf. 3.3.4.0 da hat die erste version supi funktioniert auch die flash animierung und alles. Heute hab ich mir Autoit geupdatet und auch deine neue Version geholt, diese ausprobiert und das klappt insofern ganz gut nur ich hab keine flash Animierung hab.

    Außerdem geht seit ich Autoit geupdated hab deine erste Version nicht mehr

    Win 7 x86

    Edit: hab den Post über mir erst jetzt gelesen. mit version 1.2 Funktionierts auch bei mir supi

  • Unfertiges Beispiel und unnötig zu gleich

    • Darter
    • 9. Juni 2010 um 22:12

    nope da fehlt nichts, man kann if $b = true then msgbock(0,"","") oder
    if $b = true then
    msgbock(0,"","")
    endif

    schreiben

  • Unfertiges Beispiel und unnötig zu gleich

    • Darter
    • 9. Juni 2010 um 22:10

    sehe ich jetzt auch nciht so eng ^^

  • Frage zu _GDIPlus_BrushCreateSolid()

    • Darter
    • 9. Juni 2010 um 00:32

    ah klasse so gehts auf jeden fall und ich denke ich habs auch kapiert^^

  • Frage zu _GDIPlus_BrushCreateSolid()

    • Darter
    • 8. Juni 2010 um 23:56

    Moin ich kenn mich mit der ARGB werten usw. nicht so wirklich aus.

    Soviel weiß ich R = red G = green und B = blue außerdem kann man hier ja auch noch die Aplha Tranzparenz A angeben so und genau das liegt meine Frage.
    Wie genau muss ich das das jetzt über geben.

    ich habs so Probiert _GDIPlus_BrushCreateSolid("0x" & Hex(10170230230)) und bekomme einfach nicht die Farben die ich will

    mfg Darter

  • GDI+ Zeichen + Scrollen

    • Darter
    • 8. Juni 2010 um 22:55

    Könnte das bitte jemand testen und mir sagen ob bei euch auch wenn ich von dem zweiten direkt über das erste fahre, das zweite dann nicht zurückgesetzt wird bzw. es gemalt bleibt
    Wenn es einen interessiert und es test würde ich mich über eine Antwort freuen, wich sich das beheben lässt.

    EDIT: Da der Thread eh völlig Ignoriert wird und ich es selbst gelösz habe kann man Closen


    Funktion
    [autoit]

    Func GUI_Register_Set_Pos($index, $iX, $iY, $Widh = -1, $Height = -1)
    Local $aold_Hover_pos_Infos = StringSplit($aGUI_Register_Hover_Info[$index], "|")
    If $Widh = -1 and $Height <> -1 Then $aGUI_Register_Hover_Info[$index] = $aold_Hover_pos_Infos[1] & "|" & $aold_Hover_pos_Infos[2] & "|" & $iX & "|" & $iY & "|" & $aold_Hover_pos_Infos[5] & "|" & $Height & "|" & $aold_Hover_pos_Infos[7] & "|" & $aold_Hover_pos_Infos[8]
    If $Widh <> -1 and $Height = -1 Then $aGUI_Register_Hover_Info[$index] = $aold_Hover_pos_Infos[1] & "|" & $aold_Hover_pos_Infos[2] & "|" & $iX & "|" & $iY & "|" & $Widh & "|" & $aold_Hover_pos_Infos[6] & "|" & $aold_Hover_pos_Infos[7] & "|" & $aold_Hover_pos_Infos[8]
    If $Widh = -1 and $Height = -1 Then $aGUI_Register_Hover_Info[$index] = $aold_Hover_pos_Infos[1] & "|" & $aold_Hover_pos_Infos[2] & "|" & $iX & "|" & $iY & "|" & $aold_Hover_pos_Infos[5] & "|" & $aold_Hover_pos_Infos[6] & "|" & $aold_Hover_pos_Infos[7] & "|" & $aold_Hover_pos_Infos[8]
    EndFunc

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

    Func GUI_Register_Hover($hWin,$iX,$iY,$Widh,$Height,$HoverFunc, $LeaveFunc = -1)
    If Not IsDeclared("anz") Then
    Global $aGUI_Register_Hover_Info[1]
    Global $anz = 0
    Global $Hover_one = 0
    Global $Leave_one = 0
    $aGUI_Register_Hover_Info[0] = 0 & "|" & 0 & "|" & 0 & "|" & 0 & "|" & 0 & "|" & 0 & "|" & 0 & "|" & 0
    EndIf
    $anz += 1
    ;$aGUI_Register_Hover_Info[0] = UBound($aGUI_Register_Hover_Info)
    _ArrayAdd($aGUI_Register_Hover_Info,$hWin & "|" & $anz & "|" & $iX & "|" & $iY & "|" & $Widh & "|" & $Height & "|" & $HoverFunc & "|" & $LeaveFunc)
    ;_ArrayDisplay($aGUI_Register_Hover_Info)
    If $anz = 1 Then
    AdlibRegister("GUI_Register_Hover_check",10)
    EndIf
    Return $anz
    EndFunc

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

    Func GUI_Register_Hover_check()
    Local $aGUI_Register_Hover_Infos = StringSplit($aGUI_Register_Hover_Info[1],"|")
    ;_ArrayDisplay($aGUI_Register_Hover_Infos)
    Local $aWinInfo = WinGetPos(HWnd($aGUI_Register_Hover_Infos[1]))
    Local $aMouseinfo = MouseGetPos()
    If $aMouseinfo[0] > $aWinInfo[0] And $aMouseinfo[0] < $aWinInfo[0]+$aWinInfo[2] And $aMouseinfo[1] > $aWinInfo[1] And $aMouseinfo[1] < $aWinInfo[1]+$aWinInfo[3] Then
    For $i = 1 To UBound($aGUI_Register_Hover_Info)-1
    $aGUI_Register_Hover_Infos = StringSplit($aGUI_Register_Hover_Info[$i],"|")
    ;_ArrayDisplay($aGUI_Register_Hover_Infos)
    $aMouseinfo2 = GUIGetCursorInfo (HWnd($aGUI_Register_Hover_Infos[1]))
    ;ConsoleWrite($aMouseinfo2[0] & "x" & $aMouseinfo2[1] & "|" & $aGUI_Register_Hover_Infos[3] & "x" & $aGUI_Register_Hover_Infos[4] & " " & $aGUI_Register_Hover_Infos[5] & "x" & $aGUI_Register_Hover_Infos[6] & @CRLF)
    If $aMouseinfo2[0] > $aGUI_Register_Hover_Infos[3] And $aMouseinfo2[0] < $aGUI_Register_Hover_Infos[3]+$aGUI_Register_Hover_Infos[5] And $aMouseinfo2[1] > $aGUI_Register_Hover_Infos[4] And $aMouseinfo2[1] < $aGUI_Register_Hover_Infos[4]+$aGUI_Register_Hover_Infos[6] Then
    If $Hover_one <> $aGUI_Register_Hover_Infos[2] Then
    $Hover_one = $aGUI_Register_Hover_Infos[2]
    Call($aGUI_Register_Hover_Infos[7],$aGUI_Register_Hover_Infos[2])
    ;MsgBox(0,"","")
    ConsoleWrite("hover " & $aGUI_Register_Hover_Infos[2] & @CRLF)
    EndIf
    Else
    $aGUI_Register_Hover_Infoss = StringSplit($aGUI_Register_Hover_Info[$Hover_one],"|")
    ;_ArrayDisplay($aGUI_Register_Hover_Infoss)
    $aMouseinfo = MouseGetPos()
    If $Hover_one = $aGUI_Register_Hover_Infoss[2] Or $aGUI_Register_Hover_Infoss[2] = 0 Then
    ;ConsoleWrite($aMouseinfo2[0] & "x" & $aMouseinfo2[1] & "|" & $aGUI_Register_Hover_Infoss[3] & "x" & $aGUI_Register_Hover_Infoss[4] & " " & $aGUI_Register_Hover_Infoss[5] & "x" & $aGUI_Register_Hover_Infoss[6] & @CRLF)
    If $aMouseinfo2[0] > $aGUI_Register_Hover_Infoss[3] And $aMouseinfo2[0] < $aGUI_Register_Hover_Infoss[3]+$aGUI_Register_Hover_Infoss[5] And $aMouseinfo2[1] > $aGUI_Register_Hover_Infoss[4] And $aMouseinfo2[1] < $aGUI_Register_Hover_Infoss[4]+$aGUI_Register_Hover_Infoss[6] Then

    Else
    $Hover_one = 0
    $Leave_one = $aGUI_Register_Hover_Infoss[2]
    Call($aGUI_Register_Hover_Infoss[8])
    EndIf
    EndIf
    EndIf
    Next
    EndIf
    EndFunc

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

    Func GUI_Reguster_Witch_Hovered()
    Return $Hover_one
    EndFunc

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

    Func GUI_Reguster_Witch_Leave()
    Return $Leave_one
    EndFunc

    [/autoit]
    Beispiel
    [autoit]

    #Include <GDIPlus.au3>
    #include <GUIScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <MyHover.au3>
    #include <Array.au3>

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

    HotKeySet("{UP}","up")
    HotKeySet("{DOWN}","down")

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

    Global $GUI_Widh = 500
    Global $GUI_Height = 500
    Global $iYpos = 0
    Global $GUI, $hGUI, $Lab ;=>GUI Var
    Global $hGraphics, $hBitmap, $hBuffer, $hBack_Pic, $FR_Brush, $FR_Brush_H ;=>GDI+ Var
    Global $u = 1
    Opt("GUIOnEventMode",1)
    $GUI = GUICreate("Formel 1", $GUI_Widh, $GUI_Height)
    $hGUI = WinGetHandle($GUI)
    Global $aLab[4] =[200,200,100,100]
    Global $aLab2[4] =[301,200,100,100]
    ;$Lab = GUICtrlCreateLabel("",$aLab[0],$aLab[1],100,100)
    ;_GUICtrl_OnHoverRegister($Lab, "hover","leave")

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

    GUISetOnEvent(-3,"_exit")
    GUISetState()

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

    Draw()
    GUI_Register_Hover($hGUI,$aLab[0],$aLab[1],$aLab[2],$aLab[3],"hover", "leave")
    GUI_Register_Hover($hGUI,$aLab2[0],$aLab2[1],$aLab2[2],$aLab2[3],"hover", "leave")

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

    While 1
    Sleep(100)
    WEnd

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

    Func MY_PAINT($hWnd, $msg, $wParam, $lParam)
    _WinAPI_RedrawWindow($hGUI, "", "", BitOR($RDW_INVALIDATE, $RDW_UPDATENOW, $RDW_FRAME))
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    Return "GUI_RUNDEFMSG"
    EndFunc ;==>MY_PAINT

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

    Func Draw()
    _GDIPlus_Startup()
    #Region Create Graphic Obj
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    #EndRegion

    #Region Buffer
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height, $hGraphics)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
    #EndRegion

    #Region load bg picture
    $hBack_Pic = _GDIPlus_BitmapCreateFromFile(@ScriptDir & "/Bilder/hintergrund2.bmp")
    #EndRegion

    #Region Create Pen/brush
    $FR_Brush = _GDIPlus_BrushCreateSolid("0x" & Hex(10170230230))
    $FR_Brush_H = _GDIPlus_BrushCreateSolid("0x" & Hex(25170240130))
    #EndRegion

    #Region Draw in Kontext
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBack_Pic, 0, $iYpos)
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab[0],$aLab[1]+$iYpos,$aLab[2],$aLab[3],$FR_Brush)
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab2[0],$aLab2[1]+$iYpos,$aLab2[2],$aLab2[3],$FR_Brush)
    #EndRegion

    #Region Draw Kontext on Graphic
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    #EndRegion
    GUIRegisterMsg(0x000F, "MY_PAINT");=>Redraw
    EndFunc

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

    Func up()
    $iYpos +=5
    redraw()
    EndFunc

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

    Func down()
    $iYpos -=5
    redraw()
    EndFunc

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

    Func redraw()
    #Region Draw in Kontext
    _GDIPlus_GraphicsDrawImage($hBuffer, $hBack_Pic, 0, 0)
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab[0],$aLab[1]+$iYpos,$aLab[2],$aLab[3],$FR_Brush)
    _GDIPlus_GraphicsFillRect($hBuffer,$aLab2[0],$aLab2[1]+$iYpos,$aLab2[2],$aLab2[3],$FR_Brush)
    #EndRegion

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

    #Region ctrl Set
    GUI_Register_Set_Pos(1, $aLab[0], $aLab[1]+$iYpos)
    GUI_Register_Set_Pos(2, $aLab2[0], $aLab2[1]+$iYpos)
    #EndRegion

    #Region Draw Kontext on Graphic
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    #EndRegion
    EndFunc

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

    Func hover($nix)
    Local $a = GUI_Reguster_Witch_Hovered()
    Switch $a
    Case 1
    _GDIPlus_GraphicsFillRect($hGraphics,$aLab[0],$aLab[1]+$iYpos,$aLab[2],$aLab[2],$FR_Brush_H)
    Case 2
    _GDIPlus_GraphicsFillRect($hGraphics,$aLab2[0],$aLab2[1]+$iYpos,$aLab2[2],$aLab2[3],$FR_Brush_H)
    EndSwitch
    EndFunc

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

    Func leave()
    Local $a = GUI_Reguster_Witch_Leave()
    Switch $a
    Case 1
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    Case 2
    _GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
    EndSwitch
    EndFunc

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

    Func _exit()
    _GDIPlus_BitmapDispose($hBack_Pic)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]

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™