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
#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>
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
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
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]
#EndRegion
[/autoit] [autoit][/autoit] [autoit]$GUI = GUICreate("Formel 1 Display v1.0", $GUI_Widh, $GUI_Height)
$hGUI = WinGetHandle($GUI)
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()
While 1
Sleep(100)
WEnd
Func Draw()
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
#Region Create Graphic Obj
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
#EndRegion
#Region Buffer
$hBitmap = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
$hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)
$hBitmap_lines = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
$hBuffer_lines = _GDIPlus_ImageGetGraphicsContext($hBitmap_lines)
$hBitmap_Header = _GDIPlus_BitmapCreateFromGraphics($GUI_Widh, $GUI_Height+$HeaderHeigt, $hGraphics)
$hBuffer_Header = _GDIPlus_ImageGetGraphicsContext($hBitmap_Header)
#EndRegion
#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)
$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
#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))
$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))
$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)
$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)
$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)
$hHeaderline = _GDIPlus_PenCreate(0xFFE5E5E5, 1)
#EndRegion
#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
#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
$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)
$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)
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)
$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)
$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)
$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)
_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)
$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)
$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
#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
$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)
$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)
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)
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)
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
#Region Draw Lines and rest in BG Buffe
_GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_lines, 0, $iYpos)
#EndRegion
#Region Draw BG oben in buffer
_GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_Header, 0, 0)
#EndRegion
#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
Func redraw()
#Region Draw in Kontext
#Region Redraw Backround
_GDIPlus_GraphicsClear($hBuffer, 0xFF000000)
_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
#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
$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
_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)
#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)
$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)
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)
$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)
$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)
$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)
_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)
$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)
$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
$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
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
_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)
#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
#Region Draw BG Oben in buffer
_GDIPlus_GraphicsDrawImage($hBuffer, $hBitmap_Header, 0, 0)
;_GDIPlus_GraphicsDrawImageRect($hBuffer, $hBuffer, 0, $iYpos, $GUI_Widh, $GUI_Height )
#EndRegion
#Region Draw Kontext on Graphic
_GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 0, 0)
#EndRegion
#EndRegion
If GUI_Reguster_Witch_Hovered() <> $ID_Down And GUI_Reguster_Witch_Hovered() <> $ID_UP Then
hover(1)
EndIf
If $AdlibRegister = 0 Then
AdlibRegister("redraw_New_Race",1000)
$AdlibRegister = 1
EndIf
EndFunc;=>redraw
Func redraw_New_Race()
Get_Next_Race()
redraw()
EndFunc;=>redraw_New_Race
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
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
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
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
Func leave()
Local $a = GUI_Reguster_Witch_Leave()
If $a = $ID_Down Or $a = $ID_UP Then
$AdlibRegister = 0
EndIf
ToolTip("")
redraw()
EndFunc;=>leave
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
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
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
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],'; ','</')
$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
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],'">',' ')
$Fahrername = StringSplit($Fahrername[0],'">')
$Fahrername = $Fahrername[4]
$Punkte_Insgesammt = StringSplit($Local_Quellcode_Fahrer1[2],'">')
$Punkte_Insgesammt = $Punkte_Insgesammt[4]
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
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
Func _exit()
GUI_Register_Shutdown()
AdlibUnRegister("redraw_New_Race")
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_BitmapDispose($hBitmap_lines)
_GDIPlus_BitmapDispose($hBitmap_Header)
_GDIPlus_BitmapDispose($hBack_Pic)
_GDIPlus_BitmapDispose($hBack_Pic_oben)
For $i = 4 To 22
_GDIPlus_BitmapDispose($hFlags[$i])
Next
_GDIPlus_BrushDispose($FR_Brush_Up_down)
_GDIPlus_BrushDispose($FR_Brush_H_Up_Down)
_GDIPlus_BrushDispose($FR_Brush_H)
_GDIPlus_BrushDispose($FR_V_Brush_H)
_GDIPlus_BrushDispose($hBrush2)
_GDIPlus_FontFamilyDispose($hFamily)
_GDIPlus_FontDispose($hFont)
_GDIPlus_BrushDispose($hBrush_next_race_date)
_GDIPlus_FontFamilyDispose($hFamily_next_race_date)
_GDIPlus_FontDispose($hFont_next_race_date)
_GDIPlus_BrushDispose($hBrush_Header_ueb)
_GDIPlus_FontFamilyDispose($hFamily_Header_ueb)
_GDIPlus_FontDispose($hFont_Header_ueb)
_GDIPlus_PenDispose($hHeaderline)
_GDIPlus_Shutdown()
Exit
EndFunc;=>_exit
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