;################################################## ;# ;# Project: Core Project ;# Created: 29.02.2016 (25.05.2013) ;# Author: Espoleon a.k.a Autonomus ;# Copyright: Define X Software ;# ;################################################## ;{ =====[Developer Log]===== ;##################### ;# # ;# Developer Log # ;# » List of changes # ;# # ;##################### ; ; + Added, - Removed, / Changed ; ; 18.08.2018 ; ; / Core List -> [Settings] changed to [Core Settings] ; / Bugfix -> free and total space of drives were not shown ; ; 17.08.2018 ; ; + CLMF_String() -> [GetOSVersion] ; / Core List -> System Software -> [OS] changed to [OS Version] ; + CLMF_String() -> [Check_Asm_CPUVendor], [Check_Asm_CPUModel], [Check_Asm_Name], [Check_Name], [Check_Asm_Clock] and [Check_OSVersion] ; All further "Check" functions can be used universal. That means without stored in Core_List_Main(). Useful for own projects. ; + Core List -> System CPU -> [Model] ; / Core List -> System CPU -> [64-Bit] changed to [Architecture] ; + CLMF_String() -> [Check_Asm_CPUArchitecture] and [Check_CPUCores] ; / Core List -> System Devices -> [Model ID (OS) (1)] changed to [Serial (OS) (1)] ; / CLMF_String() -> [GetModelIDOS] changed to [SerialOS] ; + Core List -> System Devices -> [Type (1)] ; ; 16.08.2018 ; ; + Core List -> System Hardware -> [Total Devices] ; + Category in Core List [System Devices] ; + Core List -> System Devices -> [Total Devices], [SCSI Devices], [ATAPI Devices], [ATA Devices], [USB Devices] and [RAID Devices] ; + Core List -> System Devices -> [Device (1)], [Name (1)], [Space Total (1)], [Space Free (1)], [Vendor (1)], [Model ID (1)], [Model ID (OS) (1)], [Bus (1)] and [Serial (1)] ; - CLMF_GetCat() now available with CLMF_String("GetCat") ; - CLMF_GetEntry() now available with CLMF_String("GetEntry") ; - CLMF_GetStr() now available with CLMF_String("GetStr") ; + CLMF_String() -> [GetDevice], [GetDeviceName], [GetDeviceVendor], [GetDeviceModelID], [GetDeviceModelIDOS] and [GetDeviceBus] ; ; 15.08.2018 ; ; + Core List -> System Hardware -> [GPU Name] ; + Core List -> System Software -> [Filesystem] and [Language] (20 languages added) ; + Core List -> System Internet -> [Location] (103 countries added) and [Location (Alpha2)] (103 countries added) ; + Core List -> System Display -> [Aspect Ratio] ; / CLMF() function [CoreListMainExportLogFile] changed to [CoreListMainExportFileLog] ; + CLMF() function [CoreListMainExportFilePDF] ; / Bugfix -> IPv4 were not shown correctly ; / [ggT] is now in Asm (faster) ; Reached Line [2000] ; ; 14.08.2018 ; ; + CLMF_GetCat() to get categories from Core_List_Main() ; + CLMF_GetEntry() to get entries from Core_List_Main() ; / Bugfix -> entries from [Core List Main] were not added correct progressive in Debug [Window] and [LogFile] ; ; ; 13.08.2018 ; ; + CLMF() -> [Debug Seperate Categories] -> [Space] changed to [Empty] ; ; 11.08.2018 ; ; + CLMF() function [CoreListMainExportLogFile] ; ; 31.07.2018 ; ; / Core File changed to [Core Project] ; + RealTimeSearch in [Debug] -> [Window] ; ; 30.07.2018 ; ; + CLMF() function [Del] ; + Core List -> Settings -> [Delete Mode] -> [Progressive] and [Clear] ; ; 29.07.2018 ; ; + Core-System Description ; ; 24.07.2018 ; ; / Rearranged Informations in [Debug] -> [Window] ; ; 16.09.2016 ; ; / IDs in Core List changed from [1, 2, 3, ...] to [0001, 0002, 0003, ...] ; / CLMF() -> [IDE List] and [IDE Line] changed to [List] and [Line] ; + CLMF() -> [Debug Seperate Categories] -> [None], [Space] and [Line] ; ; 07.03.2016 ; ; + Application -> [Status] and [License] ; - Core List -> System Hardware -> [CPU Core(s)] cause exist in System CPU ; / Core List -> Settings -> [Output] changed to [Debug] ; / CLMF() -> [Debug List] and [Debug Line] changed to [IDE List] and [IDE Line] ; + Core List -> System CPU -> [64-Bit] ; + Core List -> Settings -> [Measurement] -> [Bytes], [Kilobytes], ... ; Reached Line [1000] ; ; 03.03.2016 ; ; + Categories in Core List [System CPU], [System Display] and [System Internet] ; + Core List -> System CPU -> [Vendor], [Name], [Clock] and [Core(s)] ; + Core List -> System Display -> [Resolution (1)], [Width (1)], [Height (1)] and [Refresh Rate (1)] ; + Core List -> System Internet -> [IP v4] and [IP v6] ; ; 02.03.2016 ; ; + Debug [Window] now shows Core List entries ; / Core_List_Main_Fun() replaced with CLMF() ; / Core_List_Main_Func_GetStr() replaced with CLMF_GetStr() ; + Background color for Debug [Window] ; ; 29.02.2016 ; ; + Core_List_Main_Func() -> [Edit] and [GetID] ; + Core Stats [Structure Size], [List Size] and [List Entries] ; + CLMF_GetStr() is the same like Core_List_Main_Func_GetStr() but shorter ; + Categories in Core List [Application], [Settings], [Core Stats], [System Software], [System Hardware] and [Vars Cons Dims] ; + Core Stats [Structure Size], [List Size] and [List Entries] ; + System Software [OS], [Username] and [Computername] ; + System Hardware [CPU Name], [CPU Core(s)] and [RAM Total] ; + CLMF() is the same like Core_List_Main_Func() but shorter ; + Debug [Window] ; ; 27.02.2016 ; ; + Core_List_Main() [List] ; + Core_List_Main_Old() [List] ; + Core_List_Main_Func() to manage the Core_List_Main() ; + Core_List_Main_Func() functions [Add] and [Output] ; + [Prepare] in Core_List_Main_Func() will be execute at Core initialization ; + Core_List_Main_GetStr() to get strings from Core_List_Main() ; + Debug as [Debug List] or [Debug Line] ; ;} ;{ =====[Core-System]===== ;############################################# ;# # ;# Core-System # ;# » Administrated informations and settings # ;# # ;############################################# ;{ -----[Core-System Description]----- ; ; To use this System, use the [CLMF()] and [CLMF_String()] commands ; CLMF() means "Core List Main Functions" ; It has some commands and parameters to manage the "Core-System" ; All Func.s also can be write as normal [Add] and low case [add] ; ; ; ; CLMF(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", Lng.l = 0, Int.i = 0, Flt.f = 0, Qud.q = 0, Dbl.d = 0, Str.s = "", File.s = "") ; ; CLMF(Func.s = "") -> Func.s = "" can be one of them below ; ; CLMF("Add") -> to add a new entry use the parameters [Cat], [Entry], [Lng], [Int], [Flt], [Qud], [Dbl] and [Str] ; - ID -> will be set automatically ; - Date -> will be set automatically ; - Time -> will be set automatically ; - Cat -> Category (needed) ; - Entry -> Entry (needed) ; - Lng -> Long (optional) ; - Int -> Integer (optional) ; - Flt -> Float (optional) ; - Qud -> Quad (optional) ; - Dbl -> Double (optional) ; - Str -> String (optional) ; ; CLMF("Edit") -> to edit entries use the parameters [ID] or [Cat] and [Entry] ; ; CLMF("Del") -> to delete entries use the parameters [ID] or [Cat] and [Entry] ; ; CLMF("GetID") -> to get the id from an entry use the parameters [Cat] and [Entry] ; ; CLMF("GetInt") -> to get the integer from an entry use the parameters [Cat] and [Entry] ; ; CLMF("Prepare") -> to prepare for the first use of CLMF() execute this command ; ; CLMF("CoreListMainExportFileLog") -> to export the entire Core_List_Main() list in a text file ; ; CLMF("CoreListMainExportFilePDF") -> to export the entire Core_List_Main() list in a pdf file ; ; CLMF("Debug") -> to output as debug informations for developers as "Line-Debug", "List-Debug" or "Window" ; ; ; ; CLMF_String(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", DeviceNb.i = 0, Device.s = "") ; ; CLMF_String(Func.s = "") -> Func.s = "" can be one of them below ; ; CLMF_String("GetCat") -> to get the cat from an entry use the parameter [ID] ; ; CLMF_String("GetEntry") -> to get the entry use the parameter [ID] ; ; CLMF_String("GetStr") -> to get the string from an entry use the parameters [ID] or [Cat] and [Entry] ; ; CLMF_String("GetOSVersion") -> to get the name of the os use the parameters [ID] or [Cat] and [Entry] ; ; CLMF_String("GetDevice") -> to get the device use the parameters [ID] or [DeviceNb] ; ; CLMF_String("GetDeviceName") -> to get the the name of the device use the parameters [ID] or [DeviceNb] ; ; CLMF_String("GetDeviceVendor") -> to get the name of the vendor use the parameters [ID] or [DeviceNb] ; ; CLMF_String("GetDeviceModelID") -> to get the model id assigned by the vendor use the parameters [ID] or [DeviceNb] ; ; CLMF_String("GetDeviceBus") -> to get the bus of the device use the parameters [ID] or [DeviceNb] ; ; CLMF_String("GetDeviceSerialOS") -> to get the model id assigned by the os use the parameters [ID] or [DeviceNb] ; ; ; ; All "Check" functions can be used universal. That means without stored in Core_List_Main(). Useful for own projects. ; ; CLMF_String(Func.s = "Check_Asm_CPUVendor") -> to get the cpu vendor as string (AMD or Intel) ; ; CLMF_String(Func.s = "Check_Asm_CPUModel") -> to get the cpu model as string (Phenom(tm) II X4 965 Processor, ...) ; ; CLMF_String(Func.s = "Check_CPUName") -> to get the cpu name as string (AMD Phenom(tm) II X4 965 Processor, ...) ; ; CLMF_String(Func.s = "Check_Asm_CPUName") -> to get the cpu name as string (AMD Phenom(tm) II X4 965 Processor, ...) ; ; CLMF_String(Func.s = "Check_Asm_CPUClock") -> to get the cpu clock in mhz as string (3400, ...) ; ; CLMF_String(Func.s = "Check_CPUCores") -> to get the cpu cores as string (4, ...) ; ; CLMF_String(Func.s = "Check_Asm_CPUArchitecture") -> to get the cpu architecture as string (32-Bit or 64-Bit) ; ; CLMF_String(Func.s = "Check_OSVersion") -> to get the os version as string (Linux, MacOS X, Windows 7, ...) ; ;} ;{ -----[Include]----- XIncludeFile "Source\PurePdfModule.pbi" ;} ;{ -----[Constants]----- #BusTypeUnknown = 0 #BusTypeScsi=1 #BusTypeAtapi=2 #BusTypeAta=3 #BusType1394=4 #BusTypeSsa=5 #BusTypeFibre=6 #BusTypeUsb=7 #BusTypeRAID=8 #BusTypeMaxReserved = $7F #IOCTL_STORAGE_QUERY_PROPERTY = $2D1400 ;} ;{ -----[Globals]----- Global Core_List_Settings_Measurement.s Global GVI_Device.s Global GVI_Device_Name.s Global GVI_Device_Filesystem.s Global GVI_Device_Serial.l Global GVI_Device_SerialOS.s Global GVI_Device_Type.s Global GDI_Device_SpaceFree.s Global GDI_Device_SpaceTotal.s Global GDI_Device_Vendor.s Global GDI_Device_ModelID.s Global GDI_Device_Revision.s Global GDI_Device_BusType.s Global GDI_Device_Serial.s Global GDI_Device_Removable.s Global GDI_Device_FoundNew.i = 0 Global GDI_Device_FoundUnknown.i = 0 Global GDI_Device_FoundSCSI.i = 0 Global GDI_Device_FoundATAPI.i = 0 Global GDI_Device_FoundATA.i = 0 Global GDI_Device_Found1394.i = 0 Global GDI_Device_FoundFIBRE.i = 0 Global GDI_Device_FoundSSA.i = 0 Global GDI_Device_FoundUSB.i = 0 Global GDI_Device_FoundRAID.i = 0 Global GDI_Device_FoundReserved.i = 0 ;} ;{ -----[Structures]----- Structure STORAGE_PROPERTY_QUERY PropertyId.l;STORAGE_PROPERTY_ID QueryType.l;STORAGE_QUERY_TYPE AdditionalParameters.l EndStructure Structure STORAGE_DEVICE_DESCRIPTOR Version.l Size.l; As Long DeviceType.b; As Byte DeviceTypeModifier.b; As Byte RemovableMedia.b; As Byte CommandQueueing.b; As Byte VendorIdOffset.l; As Long ProductIdOffset.l; As Long ProductRevisionOffset.l; As Long SerialNumberOffset.l; As Long BusType.w; As Integer RawPropertiesLength.l; As Long RawDeviceProperties.b; As Byte reserved.b[1024] EndStructure ;} ;{ -----[Declare]----- Declare.i CLMF(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", Lng.l = 0, Int.i = 0, Flt.f = 0, Qud.q = 0, Dbl.d = 0, Str.s = "", File.s = "") Declare.s CLMF_String(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", DeviceNb.i = 0, Device.s = "") Declare.l Hex2Dec(h$) Declare.s GetVolumeInfo(Char.l, Info.s) Declare.s GetDeviceInfo(Drive.l, Info.s) Declare.s System_Software_Filesystem(Path.s) Declare.s System_Software_Language() Declare.s System_GPU_Name() Declare.s System_Display_AR(Width.i, Height.i) Declare.s System_Internet_Location(Type.s) ;} ;{ -----[Macros]----- Macro CLMF_Debug_Window_AddGadgetItems If \Core_ID.i <= 9 AddGadgetItem(LIG_ID.i, -1, "0000" + Str(\Core_ID.i) + Chr(10) + \Core_Date.s + Chr(10) + \Core_Time.s + Chr(10) + \Core_Cat.s + Chr(10) + \Core_Entry.s + Chr(10) + Str(\Core_Lng.l) + Chr(10) + Str(\Core_Int.i) + Chr(10) + StrF(\Core_Flt.f) + Chr(10) + Str(\Core_Qud.q) + Chr(10) + StrD(\Core_Dbl.d, 2) + Chr(10) + \Core_Str.s) ElseIf \Core_ID.i >= 10 And \Core_ID.i <= 99 AddGadgetItem(LIG_ID.i, -1, "000" + Str(\Core_ID.i) + Chr(10) + \Core_Date.s + Chr(10) + \Core_Time.s + Chr(10) + \Core_Cat.s + Chr(10) + \Core_Entry.s + Chr(10) + Str(\Core_Lng.l) + Chr(10) + Str(\Core_Int.i) + Chr(10) + StrF(\Core_Flt.f) + Chr(10) + Str(\Core_Qud.q) + Chr(10) + StrD(\Core_Dbl.d, 2) + Chr(10) + \Core_Str.s) ElseIf \Core_ID.i >= 100 And \Core_ID.i <= 999 AddGadgetItem(LIG_ID.i, -1, "00" + Str(\Core_ID.i) + Chr(10) + \Core_Date.s + Chr(10) + \Core_Time.s + Chr(10) + \Core_Cat.s + Chr(10) + \Core_Entry.s + Chr(10) + Str(\Core_Lng.l) + Chr(10) + Str(\Core_Int.i) + Chr(10) + StrF(\Core_Flt.f) + Chr(10) + Str(\Core_Qud.q) + Chr(10) + StrD(\Core_Dbl.d, 2) + Chr(10) + \Core_Str.s) ElseIf \Core_ID.i >= 1000 And \Core_ID.i <= 9999 AddGadgetItem(LIG_ID.i, -1, "0" + Str(\Core_ID.i) + Chr(10) + \Core_Date.s + Chr(10) + \Core_Time.s + Chr(10) + \Core_Cat.s + Chr(10) + \Core_Entry.s + Chr(10) + Str(\Core_Lng.l) + Chr(10) + Str(\Core_Int.i) + Chr(10) + StrF(\Core_Flt.f) + Chr(10) + Str(\Core_Qud.q) + Chr(10) + StrD(\Core_Dbl.d, 2) + Chr(10) + \Core_Str.s) ElseIf \Core_ID.i >= 10000 AddGadgetItem(LIG_ID.i, -1, Str(\Core_ID.i) + Chr(10) + \Core_Date.s + Chr(10) + \Core_Time.s + Chr(10) + \Core_Cat.s + Chr(10) + \Core_Entry.s + Chr(10) + Str(\Core_Lng.l) + Chr(10) + Str(\Core_Int.i) + Chr(10) + StrF(\Core_Flt.f) + Chr(10) + Str(\Core_Qud.q) + Chr(10) + StrD(\Core_Dbl.d, 2) + Chr(10) + \Core_Str.s) EndIf EndMacro Macro CLMF_CoreListExportFilePDF_AddEntries If \Core_ID.i <= 9 PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "0000" + Str(\Core_ID.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, \Core_Date.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, \Core_Time.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, \Core_Cat.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, \Core_Entry.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, Str(\Core_Lng.l), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, Str(\Core_Int.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, StrF(\Core_Flt.f), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, Str(\Core_Qud.q), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, Str(\Core_Dbl.d), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, \Core_Str.s, PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) ElseIf \Core_ID.i >= 10 And \Core_ID.i <= 99 PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "000" + Str(\Core_ID.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, \Core_Date.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, \Core_Time.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, \Core_Cat.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, \Core_Entry.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, Str(\Core_Lng.l), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, Str(\Core_Int.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, StrF(\Core_Flt.f), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, Str(\Core_Qud.q), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, Str(\Core_Dbl.d), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, \Core_Str.s, PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) ElseIf \Core_ID.i >= 100 And \Core_ID.i <= 999 PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "00" + Str(\Core_ID.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, \Core_Date.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, \Core_Time.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, \Core_Cat.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, \Core_Entry.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, Str(\Core_Lng.l), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, Str(\Core_Int.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, StrF(\Core_Flt.f), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, Str(\Core_Qud.q), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, Str(\Core_Dbl.d), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, \Core_Str.s, PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) ElseIf \Core_ID.i >= 1000 And \Core_ID.i <= 9999 PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "0" + Str(\Core_ID.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, \Core_Date.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, \Core_Time.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, \Core_Cat.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, \Core_Entry.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, Str(\Core_Lng.l), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, Str(\Core_Int.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, StrF(\Core_Flt.f), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, Str(\Core_Qud.q), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, Str(\Core_Dbl.d), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, \Core_Str.s, PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) ElseIf \Core_ID.i >= 10000 PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, Str(\Core_ID.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, \Core_Date.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, \Core_Time.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, \Core_Cat.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, \Core_Entry.s, PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, Str(\Core_Lng.l), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, Str(\Core_Int.i), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, StrF(\Core_Flt.f), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, Str(\Core_Qud.q), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, Str(\Core_Dbl.d), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, \Core_Str.s, PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) EndIf EndMacro ;} ;{ -----[Core]----- Procedure Core_Init() InitNetwork() EndProcedure Procedure Core_List_Main_Init() Structure Core_Struc_Main Core_ID.i Core_Date.s Core_Time.s Core_Cat.s Core_Entry.s Core_Lng.l Core_Int.i Core_Flt.f Core_Qud.q Core_Dbl.d Core_Str.s EndStructure Global NewList Core_List_Main.Core_Struc_Main() Structure Core_Struc_Main_Old Core_ID.i Core_Date.s Core_Time.s Core_Cat.s Core_Entry.s Core_Lng.l Core_Int.i Core_Flt.f Core_Qud.q Core_Dbl.d Core_Str.s EndStructure Global NewList Core_List_Main_Old.Core_Struc_Main_Old() EndProcedure Procedure CLMF(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", Lng.l = 0, Int.i = 0, Flt.f = 0, Qud.q = 0, Dbl.d = 0, Str.s = "", File.s = "") If Func.s = "Add" Or Func.s = "add" ;{ Add With Core_List_Main() AddElement(Core_List_Main()) \Core_ID.i = ListSize(Core_List_Main()) \Core_Date.s = FormatDate("%dd.%mm.%yyyy", Date()) \Core_Time.s = FormatDate("%hh:%ii:%ss", Date()) \Core_Cat.s = Cat.s \Core_Entry.s = Entry.s \Core_Lng.l = Lng.l \Core_Int.i = Int.i \Core_Flt.f = Flt.f \Core_Qud.q = Qud.q \Core_Dbl.d = Dbl.d \Core_Str.s = Str.s EndWith ;} ElseIf Func.s = "Edit" Or Func.s = "edit" ;{ Edit ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 \Core_Cat.s = Cat.s \Core_Entry.s = Entry.s \Core_Lng.l = Lng.l \Core_Int.i = Int.i \Core_Flt.f = Flt.f \Core_Qud.q = Qud.q \Core_Dbl.d = Dbl.d \Core_Str.s = Str.s ElseIf \Core_Cat.s = Cat.s And \Core_Entry.s = Entry.s \Core_Lng.l = Lng.l \Core_Int.i = Int.i \Core_Flt.f = Flt.f \Core_Qud.q = Qud.q \Core_Dbl.d = Dbl.d \Core_Str.s = Str.s EndIf EndWith Wend ;} ElseIf Func.s = "Del" Or Func.s = "del" ;{ Del DeleteMode.s = CLMF_String("GetStr", 0, "Settings", "Delete Mode") ResetList(Core_List_Main()) While NextElement(Core_List_Main()) If Core_List_Main()\Core_ID.i = ID.i And ID.i > 0 If DeleteMode.s = "Progressive" DeleteElement(Core_List_Main()) ElseIf DeleteMode.s = "Clear" DeleteElement(Core_List_Main()) ResetList(Core_List_Main()) ForEach Core_List_Main() AddElement(Core_List_Main_Old()) Core_List_Main_Old()\Core_ID.i = ListSize(Core_List_Main_Old()) Core_List_Main_Old()\Core_Date.s = Core_List_Main()\Core_Date.s Core_List_Main_Old()\Core_Time.s = Core_List_Main()\Core_Time.s Core_List_Main_Old()\Core_Cat.s = Core_List_Main()\Core_Cat.s Core_List_Main_Old()\Core_Entry.s = Core_List_Main()\Core_Entry.s Core_List_Main_Old()\Core_Lng.l = Core_List_Main()\Core_Lng.l Core_List_Main_Old()\Core_Int.i = Core_List_Main()\Core_Int.i Core_List_Main_Old()\Core_Flt.f = Core_List_Main()\Core_Flt.f Core_List_Main_Old()\Core_Qud.q = Core_List_Main()\Core_Qud.q Core_List_Main_Old()\Core_Dbl.d = Core_List_Main()\Core_Dbl.d Core_List_Main_Old()\Core_Str.s = Core_List_Main()\Core_Str.s Next ClearList(Core_List_Main()) CopyList(Core_List_Main_Old(), Core_List_Main()) ClearList(Core_List_Main_Old()) EndIf ElseIf Core_List_Main()\Core_Cat.s = Cat.s And Core_List_Main()\Core_Entry.s = Entry.s If DeleteMode.s = "Progressive" DeleteElement(Core_List_Main()) ElseIf DeleteMode.s = "Clear" DeleteElement(Core_List_Main()) ResetList(Core_List_Main()) ForEach Core_List_Main() AddElement(Core_List_Main_Old()) Core_List_Main_Old()\Core_ID.i = ListSize(Core_List_Main_Old()) Core_List_Main_Old()\Core_Date.s = Core_List_Main()\Core_Date.s Core_List_Main_Old()\Core_Time.s = Core_List_Main()\Core_Time.s Core_List_Main_Old()\Core_Cat.s = Core_List_Main()\Core_Cat.s Core_List_Main_Old()\Core_Entry.s = Core_List_Main()\Core_Entry.s Core_List_Main_Old()\Core_Lng.l = Core_List_Main()\Core_Lng.l Core_List_Main_Old()\Core_Int.i = Core_List_Main()\Core_Int.i Core_List_Main_Old()\Core_Flt.f = Core_List_Main()\Core_Flt.f Core_List_Main_Old()\Core_Qud.q = Core_List_Main()\Core_Qud.q Core_List_Main_Old()\Core_Dbl.d = Core_List_Main()\Core_Dbl.d Core_List_Main_Old()\Core_Str.s = Core_List_Main()\Core_Str.s Next ClearList(Core_List_Main()) CopyList(Core_List_Main_Old(), Core_List_Main()) ClearList(Core_List_Main_Old()) EndIf EndIf Wend CLMF("Edit", 0, "Core Stats", "List Entries", 0, ListSize(Core_List_Main()), 0, 0, 0, Str(ListSize(Core_List_Main())) + " Entries") ;} ElseIf Func.s = "GetID" Or Func.s = "getid" ;{ GetID ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_Cat.s = Cat.s And \Core_Entry.s = Entry.s ProcedureReturn \Core_ID.i EndIf EndWith Wend ;} ElseIf Func.s = "GetInt" Or Func.s = "getint" ;{ GetInt ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_Cat.s = Cat.s And \Core_Entry.s = Entry.s ProcedureReturn \Core_Int.i EndIf EndWith Wend ;} ElseIf Func.s = "Prepare" Or Func.s = "prepare" ;{ Prepare (Config) ;{ Add ; Application CLMF("Add", 0, "Application", "Name", 0, 0, 0, 0, 0, "Core Project") CLMF("Add", 0, "Application", "Created", 0, 0, 0, 0, 0, "27.02.2016 (25.05.2013)") CLMF("Add", 0, "Application", "Modified", 0, 0, 0, 0, 0, FormatDate("%dd.%mm.%yyyy", Date())) CLMF("Add", 0, "Application", "Author", 0, 0, 0, 0, 0, "Espoleon a.k.a Autonomus") CLMF("Add", 0, "Application", "Copyright", 0, 0, 0, 0, 0, "Define-X Software") CLMF("Add", 0, "Application", "Version", 0, 0, 0, 0, 0, "1.0.0." + Str(#PB_Editor_CompileCount)) CLMF("Add", 0, "Application", "Status", 0, 0, 0, 0, 0, "Alpha") CLMF("Add", 0, "Application", "License", 0, 0, 0, 0, 0, "Open Content") ; Settings CLMF("Add", 0, "Core Settings", "Debug", 0, 0, 0, 0, 0, "Window") CLMF("Add", 0, "Core Settings", "Debug Seperate Categories", 0, 0, 0, 0, 0, "Empty") CLMF("Add", 0, "Core Settings", "Delete Mode", 0, 0, 0, 0, 0, "Clear") CLMF("Add", 0, "Core Settings", "Log Name", 0, 0, 0, 0, 0, "Core List Main Log") CLMF("Add", 0, "Core Settings", "Measurement", 0, 0, 0, 0, 0, "GB") Core_List_Settings_Measurement.s = CLMF_String("GetStr", 0, "Core Settings", "Measurement") ; Core Stats CLMF("Add", 0, "Core Stats", "Structure Size", 0, SizeOf(Core_Struc_Main), 0, 0, 0, Str(SizeOf(Core_Struc_Main)) + Chr(32) + "Bytes") CLMF("Add", 0, "Core Stats", "List Size", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Core Stats", "List Entries", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Core Stats", "List Categories", 0, 0, 0, 0, 0, "") ; System Software CLMF("Add", 0, "System Software", "OS Version", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Software", "Filesystem", 0, 0, 0, 0, 0, System_Software_Filesystem("C:\")) CLMF("Add", 0, "System Software", "Language", 0, 0, 0, 0, 0, System_Software_Language()) CLMF("Add", 0, "System Software", "Username", 0, 0, 0, 0, 0, UserName()) CLMF("Add", 0, "System Software", "Computername", 0, 0, 0, 0, 0, ComputerName()) ; System Hardware CLMF("Add", 0, "System Hardware", "CPU Name", 0, 0, 0, 0, 0, CPUName()) CLMF("Add", 0, "System Hardware", "RAM Total", 0, MemoryStatus(#PB_System_TotalPhysical) / 1024 / 1024, 0, 0, 0, Str(MemoryStatus(#PB_System_TotalPhysical) / 1024 / 1024) + " MB") CLMF("Add", 0, "System Hardware", "GPU Name", 0, 0, 0, 0, 0, System_GPU_Name()) CLMF("Add", 0, "System Hardware", "Devices Total", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Hardware", "Displays", 0, ExamineDesktops(), 0, 0, 0, Str(ExamineDesktops()) + " Display(s)") ; System CPU CLMF("Add", 0, "System CPU", "Vendor", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System CPU", "Model", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System CPU", "Name", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System CPU", "Clock", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System CPU", "Cores", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System CPU", "Architecture", 0, 0, 0, 0, 0, "") ; System Devices CLMF("Add", 0, "System Devices", "Devices Total", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Devices", "SCSI Devices", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Devices", "ATAPI Devices", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Devices", "ATA Devices", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Devices", "USB Devices", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Devices", "RAID Devices", 0, 0, 0, 0, 0, "") GetDeviceInfo(67, "AddDevices") ; System Display CLMF("Add", 0, "System Display", "Resolution (1)", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Display", "Width (1)", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Display", "Height (1)", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Display", "Refresh Rate (1)", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Display", "Aspect Ratio (1)", 0, 0, 0, 0, 0, "") ; System Internet CLMF("Add", 0, "System Internet", "Location", 0, 0, 0, 0, 0, System_Internet_Location("Name")) CLMF("Add", 0, "System Internet", "Location (Alpha2)", 0, 0, 0, 0, 0, System_Internet_Location("Alpha2")) CLMF("Add", 0, "System Internet", "IP v4 (local)", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "System Internet", "IP v6 (local)", 0, 0, 0, 0, 0, "") ; Vars, Cons, Dims CLMF("Add", 0, "Vars Cons Dims", "Debug WinTitle", 0, 0, 0, 0, 0, "Core Project" + Chr(32) + Chr(45) + Chr(32) + "Core List") CLMF("Add", 0, "Vars Cons Dims", "Debug WinX", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinY", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinW", 0, 1020, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinH", 0, 700, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFlag", 0, #PB_Window_SystemMenu | #PB_Window_ScreenCentered, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstID", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstX", 0, 5, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstY", 0, 5, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstW", 0, 500, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstH", 0, 125, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstTitle", 0, 30, 0, 0, 0, " Informations ") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleID", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleX", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleY", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitle", 0, 0, 0, 0, 0, "Application Name:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameID", 0, 1, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameX", 0, 110, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameY", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationName", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleID", 0, 2, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleX", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleY", 0, 35, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitle", 0, 0, 0, 0, 0, "Application Created:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedID", 0, 3, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedX", 0, 110, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedY", 0, 35, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreated", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleID", 0, 4, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleX", 0, 10, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleY", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitle", 0, 0, 0, 0, 0, "Application Modified:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedID", 0, 5, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedX", 0, 110, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedY", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModified", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleID", 0, 11, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleX", 0, 260, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleY", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitle", 0, 0, 0, 0, 0, "Structure Size:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeID", 0, 12, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeX", 0, 360, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeY", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSize", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleID", 0, 13, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleX", 0, 260, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleY", 0, 35, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitle", 0, 0, 0, 0, 0, "List Size:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeID", 0, 14, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeX", 0, 360, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeY", 0, 35, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListSize", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleID", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleX", 0, 260, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleY", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitle", 0, 0, 0, 0, 0, "List Entries:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesID", 0, 16, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesX", 0, 360, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesY", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntries", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleID", 0, 17, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleX", 0, 260, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleY", 0, 65, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleW", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitle", 0, 0, 0, 0, 0, "List Categories:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsID", 0, 18, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsX", 0, 360, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsY", 0, 65, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsW", 0, 140, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameFirstListCats", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondID", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondX", 0, 515, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondY", 0, 5, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondW", 0, 500, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondH", 0, 125, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondTitle", 0, 30, 0, 0, 0, " Options ") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleID", 0, 30, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleX", 0, 520, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleY", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleW", 0, 150, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleH", 0, 15, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitle", 0, 0, 0, 0, 0, "Search:") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchID", 0, 31, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchX", 0, 670, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchY", 0, 18, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchW", 0, 340, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchH", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultID", 0, 32, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultX", 0, 670, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultY", 0, 38, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultW", 0, 340, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultH", 0, 20, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResult", 0, 0, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListID", 0, 100, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListX", 0, 5, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListY", 0, 144, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListW", 0, 1010, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListH", 0, 551, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListBGColor", 0, RGB($AA, $DD, $FF), 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColOneTitle", 0, 0, 0, 0, 0, "ID") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColOneW", 0, 38, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColTwoTitle", 0, 0, 0, 0, 0, "Date") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColTwoW", 0, 66, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColThreeTitle", 0, 0, 0, 0, 0, "Time") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColThreeW", 0, 54, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColFourTitle", 0, 0, 0, 0, 0, "Cat") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColFourW", 0, 120, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColFiveTitle", 0, 0, 0, 0, 0, "Entry") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColFiveW", 0, 247, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColSixTitle", 0, 0, 0, 0, 0, "Long") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColSixW", 0, 40, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColSevenTitle", 0, 0, 0, 0, 0, "Integer") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColSevenW", 0, 60, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColEightTitle", 0, 0, 0, 0, 0, "Float") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColEightW", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColNineTitle", 0, 0, 0, 0, 0, "Quad") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColNineW", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColTenTitle", 0, 0, 0, 0, 0, "Double") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColTenW", 0, 50, 0, 0, 0, "") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColElevenTitle", 0, 0, 0, 0, 0, "String") CLMF("Add", 0, "Vars Cons Dims", "Debug WinListColElevenW", 0, 210, 0, 0, 0, "") ;} ;{ List Size, List Entries & List Categories ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() ; Unicode c_id.i + Len(Str(\Core_ID.i)) * 2 c_date.i + Len(\Core_Date.s) * 2 c_time.i + Len(\Core_Time.s) * 2 c_cat.i + Len(\Core_Entry.s) * 2 c_entry.i + Len(\Core_Entry.s) * 2 c_lng.i + Len(Str(\Core_Lng.l)) * 4 CompilerIf #PB_Compiler_Processor = #PB_Processor_x86 c_int.i + Len(Str(\Core_Int.i)) * 4 CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64 c_int.i + Len(Str(\Core_Int.i)) * 8 CompilerEndIf c_flt.i + Len(Str(\Core_Flt.f)) * 4 c_qud.i + Len(Str(\Core_Qud.q)) * 8 c_dbl.i + Len(Str(\Core_Dbl.d)) * 8 c_str.i + Len(\Core_Str.s) + 1 If \Core_Cat.s <> "" And \Core_Cat.s <> core_cats.s core_cats.s = \Core_Cat.s c_lc.i + 1 EndIf EndWith Wend c_ls.i = c_id.i + c_date.i + c_time.i + c_cat.i + c_entry.i + c_lng.i + c_int.i + c_flt.i + c_qud.i + c_dbl.i + c_str.i CLMF("Edit", 0, "Core Stats", "List Size", 0, c_ls.i, 0, 0, 0, Str(c_ls.i) + " Bytes") CLMF("Edit", 0, "Core Stats", "List Entries", 0, ListSize(Core_List_Main()), 0, 0, 0, Str(ListSize(Core_List_Main())) + " Entries") CLMF("Edit", 0, "Core Stats", "List Categories", 0, c_lc.i, 0, 0, 0, Str(c_lc.i) + " Categories") ;} ;{ OSVersion CLMF("Edit", 0, "System Software", "OS Version", 0, 0, 0, 0, 0, CLMF_String("Check_OSVersion")) ;} ;{ Display Resolution, Display Width, Display Height, Display Refresh Rate & Display Aspect Ratio ExamineDesktops() CLMF("Edit", 0, "System Display", "Resolution (1)", 0, 0, 0, 0, 0, Str(DesktopWidth(0)) + "x" + Str(DesktopHeight(0)) + "@" + Str(DesktopFrequency(0))) CLMF("Edit", 0, "System Display", "Width (1)", 0, DesktopWidth(0), 0, 0, 0, Str(DesktopWidth(0)) + " px") CLMF("Edit", 0, "System Display", "Height (1)", 0, DesktopHeight(0), 0, 0, 0, Str(DesktopHeight(0)) + " px") CLMF("Edit", 0, "System Display", "Refresh Rate (1)", 0, DesktopFrequency(0), 0, 0, 0, Str(DesktopFrequency(0)) + " Hz") CLMF("Edit", 0, "System Display", "Aspect Ratio (1)", 0, 0, 0, 0, 0, System_Display_AR(DesktopWidth(0), DesktopHeight(0))) ;} ;{ IPv4 & IP v6 ExamineIPAddresses(#PB_Network_IPv4) IP4.i = NextIPAddress() IPv4.s = IPString(IP4.i, #PB_Network_IPv4) ExamineIPAddresses(#PB_Network_IPv6) IP6.i = NextIPAddress() IPv6.s = IPString(NextIPAddress(), #PB_Network_IPv6) FreeIP(IP6.i) CLMF("Edit", 0, "System Internet", "IP v4 (local)", 0, 0, 0, 0, 0, IPv4.s) CLMF("Edit", 0, "System Internet", "IP v6 (local)", 0, 0, 0, 0, 0, IPv6.s) ;} ;{ CPUVendor, CPUModel, CPUName, CPUClock, CPUCores, CPUArchitecture CLMF("Edit", 0, "System CPU", "Vendor", 0, 0, 0, 0, 0, CLMF_String("Check_Asm_CPUVendor")) CLMF("Edit", 0, "System CPU", "Model", 0, 0, 0, 0, 0, CLMF_String("Check_Asm_CPUModel")) CLMF("Edit", 0, "System CPU", "Name", 0, 0, 0, 0, 0, CLMF_String("Check_Asm_CPUName")) CLMF("Edit", 0, "System CPU", "Clock", 0, 0, 0, Val(CLMF_String("Check_Asm_CPUClock")), 0, CLMF_String("Check_Asm_CPUClock")) CLMF("Edit", 0, "System CPU", "Cores", 0, 0, 0, Val(CLMF_String("Check_CPUCores")), 0, CLMF_String("Check_CPUCores")) CLMF("Edit", 0, "System CPU", "Architecture", 0, 0, 0, 0, 0, CLMF_String("Check_Asm_CPUArchitecture")) ;} ;} ElseIf Func.s = "CoreListMainExportFileLog" Or Func.s = "corelistmainexportfilelog" ;{ CoreListMainExportFileLog If CreateFile(ID.i, File.s) LogFile_Title.s = Chr(61) + Chr(32) + CLMF_String("GetStr", 0, "Application", "Name") + Chr(32) + Chr(45) + Chr(32) + CLMF_String("GetStr", 0, "Core Settings", "Log Name") + Chr(32) + Chr(61) ApplicationNameLen.i = Len(CLMF_String("GetStr", 0, "Application", "Name")) LogNameLen.i = Len(CLMF_String("GetStr", 0, "Core Settings", "Log Name")) TitleLen.i = Len(LogFile_Title.s) WriteStringFormat(ID.i, #PB_Unicode) WriteStringN(ID.i, LSet(Chr(61), TitleLen.i, Chr(61)), #PB_Unicode) WriteStringN(ID.i, LogFile_Title.s, #PB_Unicode) WriteStringN(ID.i, LSet(Chr(61), TitleLen.i, Chr(61)), #PB_Unicode) WriteStringN(ID.i, "", #PB_Unicode) WriteStringN(ID.i, "", #PB_Unicode) WriteStringN(ID.i, "", #PB_Unicode) WriteStringN(ID.i, "", #PB_Unicode) ;{ Len ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If Len_Date.i < Len(\Core_Date.s) : Len_Date.i = Len(\Core_Date.s) : EndIf If Len_Time.i < Len(\Core_Time.s) : Len_Time.i = Len(\Core_Time.s) : EndIf If Len_Cat.i < Len(\Core_Cat.s) : Len_Cat.i = Len(\Core_Cat.s) : EndIf If Len_Entry.i < Len(\Core_Entry.s) : Len_Entry.i = Len(\Core_Entry.s) : EndIf If Len_Lng.i < Len(Str(\Core_Lng.l)) : Len_Lng.i = Len(Str(\Core_Lng.l)) : EndIf If Len_Int.i < Len(Str(\Core_Int.i)) : Len_Int.i = Len(Str(\Core_Int.i)) : EndIf If Len_Flt.i < Len(StrF(\Core_Flt.f)) : Len_Flt.i = Len(StrF(\Core_Flt.f)) : EndIf If Len_Qud.i < Len(Str(\Core_Qud.q)) : Len_Qud.i = Len(Str(\Core_Qud.q)) : EndIf If Len_Dbl.i < Len(StrD(\Core_Dbl.d)) : Len_Dbl.i = Len(StrD(\Core_Dbl.d)) : EndIf If Len_Str.i < Len(\Core_Str.s) : Len_Str.i = Len(\Core_Str.s) : EndIf EndWith Wend Len_Total.i = Len_Date.i + Len_Time.i + Len_Cat.i + Len_Entry.i + Len_Lng.i + Len_Int.i + Len_Flt.i + Len_Qud.i + Len_Dbl.i + Len_Str.i ;} WriteStringN(ID.i, Chr(32) + Chr(32) + "ID" + LSet(Chr(32), 4) + Chr(32) + Chr(32) + "Date" + LSet(Chr(32), 7) + Chr(32) + Chr(32) + "Time" + LSet(Chr(32), 5) + Chr(32) + Chr(32) + "Category" + LSet(Chr(32), Len_Cat.i - 2) + Chr(32) + Chr(32) + "Entry" + LSet(Chr(32), Len_Entry.i - 4) + Chr(32) + Chr(32) + "Long" + LSet(Chr(32), Len_Lng.i) + Chr(32) + Chr(32) + "Integer" + LSet(Chr(32), Len_Int.i - 6) + Chr(32) + Chr(32) + "Float" + LSet(Chr(32), Len_Flt.i) + Chr(32) + Chr(32) + "Quad" + LSet(Chr(32), Len_Qud.i) + Chr(32) + Chr(32) + "Double" + LSet(Chr(32), Len_Dbl.i) + Chr(32) + Chr(32) + "String" + LSet(Chr(32), Len_Str.i - 5) + Chr(32) + Chr(32), #PB_Unicode) WriteStringN(ID.i, LSet(Chr(45), Len_Total.i + 54, Chr(45)), #PB_Unicode) SeperateCategories.s = CLMF_String("GetStr", 0, "Core Settings", "Debug Seperate Categories") NextCat.s = CLMF_String("GetCat", 1) ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_Cat.s <> NextCat.s And \Core_ID.i > 0 NextCat.s = \Core_Cat.s If SeperateCategories.s = "Empty" WriteStringN(ID.i, Chr(124) + Chr(32) + LSet(Chr(32), 6) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Date.i + 1) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Time.i + 1) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Cat.i + 1) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Entry.i + 1) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Lng.i + 4) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Int.i + 1) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Flt.i + 5) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Qud.i + 4) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Dbl.i + 6) + Chr(124) + Chr(32) + LSet(Chr(32), Len_Str.i + 1) + Chr(124) + Chr(32), #PB_Unicode) ElseIf SeperateCategories.s = "Line" WriteStringN(ID.i, Chr(124) + Chr(32) + LSet(Chr(45), 5, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Date.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Time.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Cat.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Entry.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Lng.i + 3, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Int.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Flt.i + 4, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Qud.i + 3, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Dbl.i + 5, Chr(45)) + Chr(32) + Chr(124) + Chr(32) + LSet(Chr(45), Len_Str.i, Chr(45)) + Chr(32) + Chr(124) + Chr(32), #PB_Unicode) EndIf EndIf If \Core_ID.i <= 9 WriteStringN(ID.i, Chr(124) + Chr(32) + "0000" + Str(\Core_ID.i) + Chr(32) + Chr(124) + Chr(32) + \Core_Date.s + Chr(32) + Chr(124) + Chr(32) + \Core_Time.s + Chr(32) + Chr(124) + Chr(32) + \Core_Cat.s + LSet(Chr(32), (Len_Cat.i - Len(\Core_Cat.s) + 1)) + Chr(124) + Chr(32) + \Core_Entry.s + LSet(Chr(32), (Len_Entry.i - Len(\Core_Entry.s) + 1)) + Chr(124) + Chr(32) + Str(\Core_Lng.l) + LSet(Chr(32), (Len_Lng.i - Len(Str(\Core_Lng.l)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Int.i) + LSet(Chr(32), (Len_Int.i - Len(Str(\Core_Int.i)) + 1)) + Chr(124) + Chr(32) + StrF(\Core_Flt.f) + LSet(Chr(32), (Len_Flt.i - Len(StrF(\Core_Flt.f)) + 5)) + Chr(124) + Chr(32) + Str(\Core_Qud.q) + LSet(Chr(32), (Len_Qud.i - Len(Str(\Core_Qud.q)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Dbl.d) + LSet(Chr(32), (Len_Dbl.i - Len(Str(\Core_Dbl.d)) + 6)) + Chr(124) + Chr(32) + \Core_Str.s + LSet(Chr(32), (Len_Str.i - Len(\Core_Str.s) + 1)) + Chr(124) + Chr(32), #PB_Unicode) ElseIf \Core_ID.i >= 10 And \Core_ID.i <= 99 WriteStringN(ID.i, Chr(124) + Chr(32) + "000" + Str(\Core_ID.i) + Chr(32) + Chr(124) + Chr(32) + \Core_Date.s + Chr(32) + Chr(124) + Chr(32) + \Core_Time.s + Chr(32) + Chr(124) + Chr(32) + \Core_Cat.s + LSet(Chr(32), (Len_Cat.i - Len(\Core_Cat.s) + 1)) + Chr(124) + Chr(32) + \Core_Entry.s + LSet(Chr(32), (Len_Entry.i - Len(\Core_Entry.s) + 1)) + Chr(124) + Chr(32) + Str(\Core_Lng.l) + LSet(Chr(32), (Len_Lng.i - Len(Str(\Core_Lng.l)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Int.i) + LSet(Chr(32), (Len_Int.i - Len(Str(\Core_Int.i)) + 1)) + Chr(124) + Chr(32) + StrF(\Core_Flt.f) + LSet(Chr(32), (Len_Flt.i - Len(StrF(\Core_Flt.f)) + 5)) + Chr(124) + Chr(32) + Str(\Core_Qud.q) + LSet(Chr(32), (Len_Qud.i - Len(Str(\Core_Qud.q)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Dbl.d) + LSet(Chr(32), (Len_Dbl.i - Len(Str(\Core_Dbl.d)) + 6)) + Chr(124) + Chr(32) + \Core_Str.s + LSet(Chr(32), (Len_Str.i - Len(\Core_Str.s) + 1)) + Chr(124) + Chr(32), #PB_Unicode) ElseIf \Core_ID.i >= 100 And \Core_ID.i <= 999 WriteStringN(ID.i, Chr(124) + Chr(32) + "00" + Str(\Core_ID.i) + Chr(32) + Chr(124) + Chr(32) + \Core_Date.s + Chr(32) + Chr(124) + Chr(32) + \Core_Time.s + Chr(32) + Chr(124) + Chr(32) + \Core_Cat.s + LSet(Chr(32), (Len_Cat.i - Len(\Core_Cat.s) + 1)) + Chr(124) + Chr(32) + \Core_Entry.s + LSet(Chr(32), (Len_Entry.i - Len(\Core_Entry.s) + 1)) + Chr(124) + Chr(32) + Str(\Core_Lng.l) + LSet(Chr(32), (Len_Lng.i - Len(Str(\Core_Lng.l)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Int.i) + LSet(Chr(32), (Len_Int.i - Len(Str(\Core_Int.i)) + 1)) + Chr(124) + Chr(32) + StrF(\Core_Flt.f) + LSet(Chr(32), (Len_Flt.i - Len(StrF(\Core_Flt.f)) + 5)) + Chr(124) + Chr(32) + Str(\Core_Qud.q) + LSet(Chr(32), (Len_Qud.i - Len(Str(\Core_Qud.q)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Dbl.d) + LSet(Chr(32), (Len_Dbl.i - Len(Str(\Core_Dbl.d)) + 6)) + Chr(124) + Chr(32) + \Core_Str.s + LSet(Chr(32), (Len_Str.i - Len(\Core_Str.s) + 1)) + Chr(124) + Chr(32), #PB_Unicode) ElseIf \Core_ID.i >= 1000 And \Core_ID.i <= 9999 WriteStringN(ID.i, Chr(124) + Chr(32) + "0" + Str(\Core_ID.i) + Chr(32) + Chr(124) + Chr(32) + \Core_Date.s + Chr(32) + Chr(124) + Chr(32) + \Core_Time.s + Chr(32) + Chr(124) + Chr(32) + \Core_Cat.s + LSet(Chr(32), (Len(\Core_Cat.s) - Len_Cat.i)) + Chr(124) + Chr(32) + \Core_Entry.s + LSet(Chr(32), (Len_Entry.i - Len(\Core_Entry.s) + 1)) + Chr(124) + Chr(32) + Str(\Core_Lng.l) + LSet(Chr(32), (Len_Lng.i - Len(Str(\Core_Lng.l)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Int.i) + LSet(Chr(32), (Len_Int.i - Len(Str(\Core_Int.i)) + 1)) + Chr(124) + Chr(32) + StrF(\Core_Flt.f) + LSet(Chr(32), (Len_Flt.i - Len(StrF(\Core_Flt.f)) + 5)) + Chr(124) + Chr(32) + Str(\Core_Qud.q) + LSet(Chr(32), (Len_Qud.i - Len(Str(\Core_Qud.q)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Dbl.d) + LSet(Chr(32), (Len_Dbl.i - Len(Str(\Core_Dbl.d)) + 6)) + Chr(124) + Chr(32) + \Core_Str.s + LSet(Chr(32), (Len_Str.i - Len(\Core_Str.s) + 1)) + Chr(124) + Chr(32), #PB_Unicode) ElseIf \Core_ID.i >= 10000 WriteStringN(ID.i, Chr(124) + Chr(32) + Str(\Core_ID.i) + Chr(32) + Chr(124) + Chr(32) + \Core_Date.s + Chr(32) + Chr(124) + Chr(32) + \Core_Time.s + Chr(32) + Chr(124) + Chr(32) + \Core_Cat.s + LSet(Chr(32), (Len(\Core_Cat.s) - Len_Cat.i)) + Chr(124) + Chr(32) + \Core_Entry.s + LSet(Chr(32), (Len_Entry.i - Len(\Core_Entry.s) + 1)) + Chr(124) + Chr(32) + Str(\Core_Lng.l) + LSet(Chr(32), (Len_Lng.i - Len(Str(\Core_Lng.l)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Int.i) + LSet(Chr(32), (Len_Int.i - Len(Str(\Core_Int.i)) + 1)) + Chr(124) + Chr(32) + StrF(\Core_Flt.f) + LSet(Chr(32), (Len_Flt.i - Len(StrF(\Core_Flt.f)) + 5)) + Chr(124) + Chr(32) + Str(\Core_Qud.q) + LSet(Chr(32), (Len_Qud.i - Len(Str(\Core_Qud.q)) + 4)) + Chr(124) + Chr(32) + Str(\Core_Dbl.d) + LSet(Chr(32), (Len_Dbl.i - Len(Str(\Core_Dbl.d)) + 6)) + Chr(124) + Chr(32) + \Core_Str.s + LSet(Chr(32), (Len_Str.i - Len(\Core_Str.s) + 1)) + Chr(124) + Chr(32), #PB_Unicode) EndIf EndWith Wend CloseFile(ID.i) EndIf ;} ElseIf Func.s = "CoreListExportFilePDF" Or Func.s = "corelistexportfilepdf" ;{ CoreListMainExportFilePDF If PDF::Create("L") PDF_LineHeight.i = 5 PDF_WidthID.i = 10 PDF_WidthDate.i = 16 PDF_WidthTime.i = 13 PDF_WidthCat.i = 35 PDF_WidthEntry.i = 65 PDF_WidthLng.i = 15 PDF_WidthInt.i = 15 PDF_WidthFlt.i = 15 PDF_WidthQud.i = 15 PDF_WidthDbl.i = 15 PDF_WidthStr.i = 60 PDF::AddPage() PDF::SetTextColor(0) PDF::SetDrawColor(128, 128, 128) PDF::SetFont("Arial", "", 8) PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "ID", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, "Date", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, "Time", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, "Category", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, "Entry", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, "Long", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, "Integer", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, "Float", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, "Quad", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, "Double", PDF::#CELL_BOTTOMBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, "String", PDF::#CELL_BOTTOMBORDER, 1, PDF::#ALIGN_LEFT) SeperateCategories.s = CLMF_String("GetStr", 0, "Core Settings", "Debug Seperate Categories") NextCat.s = CLMF_String("GetCat", 1) ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_Cat.s <> NextCat.s And \Core_ID.i > 0 NextCat.s = \Core_Cat.s If SeperateCategories.s = "Empty" PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, "", PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) ElseIf SeperateCategories.s = "Line" PDF::Cell(PDF_WidthID.i, PDF_LineHeight.i, LSet(Chr(45), 9, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDate.i, PDF_LineHeight.i, LSet(Chr(45), 15, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthTime.i, PDF_LineHeight.i, LSet(Chr(45), 12, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthCat.i, PDF_LineHeight.i, LSet(Chr(45), 35, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthEntry.i, PDF_LineHeight.i, LSet(Chr(45), 67, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthLng.i, PDF_LineHeight.i, LSet(Chr(45), 14, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthInt.i, PDF_LineHeight.i, LSet(Chr(45), 14, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthFlt.i, PDF_LineHeight.i, LSet(Chr(45), 14, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthQud.i, PDF_LineHeight.i, LSet(Chr(45), 14, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthDbl.i, PDF_LineHeight.i, LSet(Chr(45), 14, Chr(45)), PDF::#CELL_LEFTBORDER, 0, PDF::#ALIGN_LEFT) PDF::Cell(PDF_WidthStr.i, PDF_LineHeight.i, LSet(Chr(45), 63, Chr(45)), PDF::#CELL_LEFTBORDER, 1, PDF::#ALIGN_LEFT) EndIf EndIf CLMF_CoreListExportFilePDF_AddEntries EndWith Wend PDF::Save(File.s) EndIf ;} ElseIf Func.s = "Debug" Or Func.s = "Debug" ;{ Debug If CLMF_String("GetStr", 0, "Core Settings", "Debug") = "List" ;{ List ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() Debug "" Debug "ID: " + Str(\Core_ID.i) Debug "Date: " + \Core_Date.s Debug "Time: " + \Core_Time.s Debug "Cat: " + \Core_Cat.s Debug "Entry: " + \Core_Entry.s Debug "Lng: " + Str(\Core_Lng.l) Debug "Int: " + Str(\Core_Int.i) Debug "Flt: " + StrF(\Core_Flt.f) Debug "Qud: " + Str(\Core_Qud.q) Debug "Dbl: " + StrD(\Core_Dbl.d) Debug "Str: " + \Core_Str.s Debug "" EndWith Wend ;} ElseIf CLMF_String("GetStr", 0, "Core Settings", "Debug") = "Line" ;{ Line ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() lenofcat.i = Len(\Core_Cat.s) lenofentry.i = Len(\Core_Entry.s) If lenofcat.i < Len(\Core_Cat.s) lenofcat.i = Len(\Core_Cat.s) LengthCat.i = Len(\Core_Cat.s) EndIf If lenofentry.i < Len(\Core_Entry.s) lenofentry.i = Len(\Core_Entry.s) LengthEntry.i = Len(\Core_Entry.s) EndIf If LengthCat.i < Len(\Core_Cat.s) LengthCat.i = Len(\Core_Cat.s) EndIf If LengthEntry.i < Len(\Core_Entry.s) LengthEntry.i = Len(\Core_Entry.s) EndIf EndWith Wend Debug "" ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If Len(\Core_Cat.s) >= LengthCat.i Cat.s = \Core_Cat.s ElseIf Len(\Core_Cat.s) < LengthCat.i Cat.s = \Core_Cat.s + Space(LengthCat.i - Len(\Core_Cat.s)) EndIf Debug "ID: " + Str(\Core_ID.i) + " | " + "Date: " + \Core_Date.s + " | " + "Time: " + \Core_Time.s + " | " + "Cat: " + Cat.s + " | " + "Entry: " + \Core_Entry.s + " | " + "Lng: " + Str(\Core_Lng.l) + " | " + "Int: " + Str(\Core_Int.i) + " | " + "Flt: " + StrF(\Core_Flt.f) + " | " + "Qud: " + Str(\Core_Qud.q) + " | " + "Dbl: " + StrD(\Core_Dbl.d) + " | " + "Str: " + \Core_Str.s EndWith Wend Debug "" ;} ElseIf CLMF_String("GetStr", 0, "Core Settings", "Debug") = "Window" ;{ Window If OpenWindow(0, CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFlag")) AddKeyboardShortcut(0, #PB_Shortcut_Escape, 9999) ;{ AddGadgets FGI_ID.i = CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstID") FrameGadget(FGI_ID.i, CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationName")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationNameID"), CLMF_String("GetStr", 0, "Application", "Name")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreated")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationCreatedID"), CLMF_String("GetStr", 0, "Application", "Created")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModified")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstApplicationModifiedID"), CLMF_String("GetStr", 0, "Application", "Modified")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSize")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstStrucSizeID"), CLMF_String("GetStr", 0, "Core Stats", "Structure Size")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListSize")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListSizeID"), CLMF_String("GetStr", 0, "Core Stats", "List Size")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntries")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListEntriesID"), CLMF_String("GetStr", 0, "Core Stats", "List Entries")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameFirstListCats")) SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameFirstListCatsID"), CLMF_String("GetStr", 0, "Core Stats", "List Categories")) FGO_ID.i = CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondID") FrameGadget(FGO_ID.i, CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameSecondTitle")) TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitleH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchTitle")) StringGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchH"), "") TextGadget(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultID"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResult")) LIG_ID.i = CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListID") ListIconGadget(LIG_ID.i, CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListX"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListY"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListW"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListH"), CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColOneTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColOneW")) AddGadgetColumn(LIG_ID.i, 1, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColTwoTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColTwoW")) AddGadgetColumn(LIG_ID.i, 2, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColThreeTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColThreeW")) AddGadgetColumn(LIG_ID.i, 3, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColFourTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColFourW")) AddGadgetColumn(LIG_ID.i, 4, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColFiveTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColFiveW")) AddGadgetColumn(LIG_ID.i, 5, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColSixTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColSixW")) AddGadgetColumn(LIG_ID.i, 6, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColSevenTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColSevenW")) AddGadgetColumn(LIG_ID.i, 7, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColEightTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColEightW")) AddGadgetColumn(LIG_ID.i, 8, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColNineTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColNineW")) AddGadgetColumn(LIG_ID.i, 9, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColTenTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColTenW")) AddGadgetColumn(LIG_ID.i, 10, CLMF_String("GetStr", 0, "Vars Cons Dims", "Debug WinListColElevenTitle"), CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListColElevenW")) SetGadgetColor(LIG_ID.i, #PB_Gadget_BackColor, CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinListBGColor")) SetActiveGadget(LIG_ID.i) ;} ;{ AddGadgetItems SeperateCategories.s = CLMF_String("GetStr", 0, "Core Settings", "Debug Seperate Categories") NextCat.s = CLMF_String("GetCat", 1) ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() ;{ Seperate Categories If \Core_Cat.s <> NextCat.s And \Core_ID.i > 0 NextCat.s = \Core_Cat.s If SeperateCategories.s = "Empty" AddGadgetItem(LIG_ID.i, -1, "") ElseIf SeperateCategories.s = "Line" AddGadgetItem(LIG_ID.i, -1, LSet("", 10, "-") + Chr(10) + LSet("", 19, "-") + Chr(10) + LSet("", 14, "-") + Chr(10) + LSet("", 36, "-") + Chr(10) + LSet("", 72, "-") + Chr(10) + LSet("", 9, "-") + Chr(10) + LSet("", 16, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 69, "-")) EndIf EndIf ;} CLMF_Debug_Window_AddGadgetItems EndWith Wend ;} ;{ Repeat - Until Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Menu Select EventMenu() Case 9999 : End EndSelect Case #PB_Event_Gadget Select EventGadget() Case CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchID") If EventType() = #PB_EventType_Change ;{ RealTimeSearch Input.s = GetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchID")) ClearGadgetItems(LIG_ID.i) SeperateCategories.s = CLMF_String("GetStr", 0, "Core Settings", "Debug Seperate Categories") ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If FindString(LCase(\Core_Cat.s), Input.s) > 0 Or FindString(LCase(\Core_Entry.s), Input.s) > 0 Or FindString(LCase(\Core_Str.s), Input.s) > 0 CLMF_Debug_Window_AddGadgetItems ElseIf Input.s = "" ;{ Seperate Categories If \Core_Cat.s <> core_cats.s And \Core_ID.i > 0 core_cats.s = \Core_Cat.s If CountGadgetItems(LIG_ID.i) > 0 And SeperateCategories.s = "Empty" AddGadgetItem(LIG_ID.i, -1, "") ElseIf CountGadgetItems(LIG_ID.i) > 0 And SeperateCategories.s = "Line" AddGadgetItem(LIG_ID.i, -1, LSet("", 10, "-") + Chr(10) + LSet("", 19, "-") + Chr(10) + LSet("", 14, "-") + Chr(10) + LSet("", 36, "-") + Chr(10) + LSet("", 72, "-") + Chr(10) + LSet("", 9, "-") + Chr(10) + LSet("", 16, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 12, "-") + Chr(10) + LSet("", 69, "-")) EndIf EndIf ;} CLMF_Debug_Window_AddGadgetItems EndIf EndWith Wend CountGadgetItemsResult.i = CountGadgetItems(LIG_ID.i) If Input.s = "" SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultID"), "") ElseIf CountGadgetItemsResult.i > 0 If CountGadgetItemsResult.i = 1 SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultID"), Str(CountGadgetItemsResult.i) + " result found") ElseIf CountGadgetItemsResult.i > 1 SetGadgetText(CLMF("GetInt", 0, "Vars Cons Dims", "Debug WinFrameSecondSearchResultID"), Str(CountGadgetItemsResult.i) + " results found") EndIf EndIf ;} EndIf EndSelect EndSelect Until Event = #PB_Event_CloseWindow ;} EndIf ;} EndIf ;} EndIf EndProcedure Procedure.s CLMF_String(Func.s = "", ID.i = 0, Cat.s = "", Entry.s = "", DeviceNb.i = 0, Device.s = "") If Func.s = "GetCat" Or Func.s = "getcat" ;{ GetCat ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Cat.s EndIf EndWith Wend ;} ElseIf Func.s = "GetEntry" Or Func.s = "getentry" ;{ GetEntry ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Entry.s EndIf EndWith Wend ;} ElseIf Func.s = "GetStr" Or Func.s = "getstr" ;{ GetStr ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = Cat.s And \Core_Entry.s = Entry.s ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetOSVersion" Or Func.s = "getosversion" ;{ GetOSVersion ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Software" And \Core_Entry.s = "OS Version" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDevice" Or Func.s = "getdevice" ;{ GetDevice ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Device (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDeviceName" Or Func.s = "getdevicename" ;{ GetDeviceName ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Name (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDeviceVendor" Or Func.s = "getdevicevendor" ;{ GetDeviceVendor ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Vendor (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDeviceModelID" Or Func.s = "getdevicemodelid" ;{ GetDeviceModelID ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Model ID (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDeviceSerialOS" Or Func.s = "getdeviceserialos" ;{ GetDeviceSerialOS ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Serial (OS) (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ElseIf Func.s = "GetDeviceBus" Or Func.s = "getdevicebus" ;{ GetDeviceBus ResetList(Core_List_Main()) While NextElement(Core_List_Main()) With Core_List_Main() If \Core_ID.i = ID.i And ID.i > 0 ProcedureReturn \Core_Str.s ElseIf \Core_Cat.s = "System Devices" And \Core_Entry.s = "Bus (" + Str(DeviceNb.i) + ")" ProcedureReturn \Core_Str.s EndIf EndWith Wend ;} ; All "Check" functions can be used universal. That means without stored in Core_List_Main(). Useful for own projects. ElseIf Func.s = "Check_Asm_CPUVendor" Or Func.s = "check_asm_cpuvendor" ;{ Check_Asm_CPUVendor (ASSEMBLER, ALL OS) ; Code by ts-soft Zeiger1.l Zeiger2.l Zeiger3.l !MOV EAX, 0 !CPUID !MOV [p.v_Zeiger1], EBX !MOV [p.v_Zeiger2], EDX !MOV [p.v_Zeiger3], ECX sBuffer.s = PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) If FindString(sBuffer.s, "AMD") <> 0 ProcedureReturn "AMD" ElseIf FindString(sBuffer.s, "Intel") <> 0 ProcedureReturn "Intel" EndIf ;} ElseIf Func.s = "Check_Asm_CPUModel" Or Func.s = "check_asm_cpumodel" ;{ Check_Asm_CPUModel (ASSEMBLER, ALL OS) ; Code by ts-soft Zeiger1.l Zeiger2.l Zeiger3.l Zeiger4.l !MOV eax, $80000002 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s = PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) !MOV eax, $80000003 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s + PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) !MOV eax, $80000004 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s + PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) If FindString(sBuffer, "AMD") <> 0 ProcedureReturn Mid(sBuffer, FindString(sBuffer, "AMD") + 4) ElseIf FindString(sBuffer, "Intel") <> 0 ProcedureReturn Mid(sBuffer, FindString(sBuffer, "Intel") + 6) EndIf ;} ElseIf Func.s = "Check_CPUName" Or Func.s = "check_cpuname" ;{ Check_CPUName (PUREBASIC NATIVE, ALL OS) ProcedureReturn CPUName() ;} ElseIf Func.s = "Check_Asm_CPUName" Or Func.s = "check_asm_cpuname" ;{ Check_Asm_CPUName (ASSEMBLER, ALL OS) ; Code by ts-soft Zeiger1.l Zeiger2.l Zeiger3.l Zeiger4.l !MOV eax, $80000002 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s = PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) !MOV eax, $80000003 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s + PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) !MOV eax, $80000004 !CPUID !MOV [p.v_Zeiger1], EAX !MOV [p.v_Zeiger2], EBX !MOV [p.v_Zeiger3], ECX !MOV [p.v_Zeiger4], EDX sBuffer.s + PeekS(@Zeiger1, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger2, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger3, 4, #PB_Ascii) sBuffer.s + PeekS(@Zeiger4, 4, #PB_Ascii) ProcedureReturn sBuffer.s ;} ElseIf Func.s = "Check_Asm_CPUClock" Or Func.s = "check_asm_cpuclock" ;{ Check_Asm_CPUClock (ASSEMBLER, ALL OS) ; Code by akj A.q B.q !RDTSC !MOV dword [p.v_A+4],Edx ; A hi !MOV dword [p.v_A],Eax ; A lo Sleep_(100) !RDTSC !MOV dword [p.v_B+4],Edx ; B hi !MOV dword [p.v_B],Eax ; B lo ProcedureReturn Str((B-A)/100000) ;} ElseIf Func.s = "Check_CPUCores" Or Func.s = "check_cpucores" ;{ Check_CPUCores (PUREBASIC NATIVE, ALL OS) ProcedureReturn Str(CountCPUs(#PB_System_CPUs)) ;} ElseIf Func.s = "Check_Asm_CPUArchitecture" Or Func.s = "check_asm_cpuarchitecture" ;{ Check_Asm_CPUArchitecture (ASSEMBLER, ALL OS) ; Code by Helle !pushfd !pop eax !mov edx,eax !xor edx,00000000001000000000000000000000b !push edx !popfd !pushfd !pop edx !push eax !popfd !cmp eax,edx !jne Is_CPUID ;MessageRequester("Status", "Die CPU unterstützt den CPUID-Befehl nicht und somit auch nicht die 64-Bit-Erweiterung !") ;End CPUArchitecture.s = "32-Bit" !Is_CPUID: !mov eax,80000000h !cpuid !cmp eax,80000001h !jb No_64 !mov eax,80000001h !cpuid !test edx,00100000000000000000000000000000b !jz No_64 ; 64-Bit supported CPUArchitecture.s = "64-Bit" !jmp Is_64 !No_64: ; 64-Bit not supported ; CPUArchitecture.s = "False" !Is_64: ProcedureReturn CPUArchitecture.s ;} ElseIf Func.s = "Check_OSVersion" Or Func.s = "check_osversion" ;{ Check_OSVersion (PUREBASIC NATIVE, ALL OS) Select OSVersion() Case #PB_OS_AmigaOS : ProcedureReturn "Amiga OS" Case #PB_OS_Linux : ProcedureReturn "Linux" Case #PB_OS_Linux_2_2 : ProcedureReturn "Linux 2.2" Case #PB_OS_Linux_2_4 : ProcedureReturn "Linux 2.4" Case #PB_OS_Linux_2_6 : ProcedureReturn "Linux 2.6" Case #PB_OS_Linux_Future : ProcedureReturn "Linux" Case #PB_OS_MacOS : ProcedureReturn "MacOS" Case #PB_OS_MacOSX_10_0 : ProcedureReturn "MacOS X 10.0" Case #PB_OS_MacOSX_10_10 : ProcedureReturn "MacOS X 10.10" Case #PB_OS_MacOSX_10_11 : ProcedureReturn "MacOS X 10.11" Case #PB_OS_MacOSX_10_1 : ProcedureReturn "MacOS X 10.1" Case #PB_OS_MacOSX_10_2 : ProcedureReturn "MacOS X 10.2" Case #PB_OS_MacOSX_10_3 : ProcedureReturn "MacOS X 10.3" Case #PB_OS_MacOSX_10_4 : ProcedureReturn "MacOS X 10.4" Case #PB_OS_MacOSX_10_5 : ProcedureReturn "MacOS X 10.5" Case #PB_OS_MacOSX_10_6 : ProcedureReturn "MacOS X 10.6" Case #PB_OS_MacOSX_10_7 : ProcedureReturn "MacOS X 10.7" Case #PB_OS_MacOSX_10_8 : ProcedureReturn "MacOS X 10.8" Case #PB_OS_MacOSX_10_9 : ProcedureReturn "MacOS X 10.9" Case #PB_OS_MacOSX_Future : ProcedureReturn "MacOS" Case #PB_OS_Web : ProcedureReturn "Web" Case #PB_OS_Windows : ProcedureReturn "Windows" Case #PB_OS_Windows_10 : ProcedureReturn "Windows 10" Case #PB_OS_Windows_2000 : ProcedureReturn "Windows 2000" Case #PB_OS_Windows_7 : ProcedureReturn "Windows 7" Case #PB_OS_Windows_8 : ProcedureReturn "Windows 8" Case #PB_OS_Windows_8_1 : ProcedureReturn "Windows 8.1" Case #PB_OS_Windows_95 : ProcedureReturn "Windows 95" Case #PB_OS_Windows_98 : ProcedureReturn "Windows 98" Case #PB_OS_Windows_Future : ProcedureReturn "Windows" Case #PB_OS_Windows_ME : ProcedureReturn "Windows ME" Case #PB_OS_Windows_NT3_51 : ProcedureReturn "Windows NT 3.51" Case #PB_OS_Windows_NT_4 : ProcedureReturn "Windows NT 4" Case #PB_OS_Windows_Server_2003 : ProcedureReturn "Windows 2003" Case #PB_OS_Windows_Server_2008 : ProcedureReturn "Windows 2008" Case #PB_OS_Windows_Server_2008_R2 : ProcedureReturn "Windows 2008 R2" Case #PB_OS_Windows_Server_2012 : ProcedureReturn "Windows 2012" Case #PB_OS_Windows_Server_2012_R2 : ProcedureReturn "Windows 2012 R2" Case #PB_OS_Windows_Vista : ProcedureReturn "Windows Vista" Case #PB_OS_Windows_XP : ProcedureReturn "Windows XP" Default : ProcedureReturn "Unknown" EndSelect ;} EndIf EndProcedure ;} ;{ -----[Various]----- Procedure.l Hex2Dec(h$) h$=UCase(h$) For r=1 To Len(h$) d<<4 : a$=Mid(h$,r,1) If Asc(a$)>60 d+Asc(a$)-55 Else d+Asc(a$)-48 EndIf Next ProcedureReturn d EndProcedure ; Windows only Procedure.s GetVolumeInfo(Char.l, Info.s) GVI_Device.s = Chr(Char.l) + ":\" GVI_Device_Name.s = Space(256) GVI_Device_Filesystem.s = Space(256) GVI_Device_Serial.l Device_Type.l = GetDriveType_(GVI_Device.s) GetVolumeInformation_(@GVI_Device.s, @GVI_Device_Name.s, 255, @GVI_Device_Serial.l, 0, 0, @GVI_Device_Filesystem.s, 255) Select Device_Type.l Case 2 : GVI_Device_Type.s = "Removable" Case 3 : GVI_Device_Type.s = "Hard Disk" Case 4 : GVI_Device_Type.s = "Remote" Case 5 : GVI_Device_Type.s = "CD-Rom" Case 6 : GVI_Device_Type.s = "Ram-Disk" EndSelect GVI_Device_SerialOS.s = Right(Hex(GVI_Device_Serial.l), 8) If Info.s = "Drive" : ProcedureReturn GVI_Device.s : EndIf If Info.s = "Name" : ProcedureReturn GVI_Device_Name.s : EndIf If Info.s = "Filesystem" : ProcedureReturn GVI_Device_Filesystem.s : EndIf If Info.s = "SerialOS" : ProcedureReturn GVI_Device_SerialOS.s : EndIf If Info.s = "Type" : ProcedureReturn GVI_DeviceType.s : EndIf EndProcedure ; Windows only Procedure.s GetDeviceInfo(Drive.l, Info.s) ;For Drives.l = 67 To 90 strDrive.s = "\\.\" + Chr(Drive.l) + ":" hDrive = CreateFile_(strDrive.s, 0, #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0) If hDrive <> -1 udtQuery.STORAGE_PROPERTY_QUERY udtOut.STORAGE_DEVICE_DESCRIPTOR For p=0 To 1023 udtOut\reserved[p] = 0 Next p lngResult = DeviceIoControl_(hDrive, #IOCTL_STORAGE_QUERY_PROPERTY, udtQuery,SizeOf(udtQuery), @udtOut, SizeOf(udtout), @dwOutBytes, 0) If lngResult GetVolumeInfo(Drive.l, "") Select(udtOut\BusType) Case #BusTypeUnknown : GDI_Device_BusType.s = "Unknown" Case #BusTypeScsi : GDI_Device_BusType.s = "SCSI" Case #BusTypeAtapi : GDI_Device_BusType.s = "ATAPI" Case #BusTypeAta : GDI_Device_BusType.s = "ATA" Case #BusType1394 : GDI_Device_BusType.s = "1394" Case #BusTypeSsa : GDI_Device_BusType.s = "SSA" Case #BusTypeFibre : GDI_Device_BusType.s = "FIBRE" Case #BusTypeUsb : GDI_Device_BusType.s = "USB" Case #BusTypeRAID : GDI_Device_BusType.s = "RAID" Case #BusTypeMaxReserved : GDI_Device_BusType.s = "Reserved" Default : GDI_Device_BusType.s = Str(udtOut\BusType) EndSelect If udtOut\RemovableMedia : GDI_Device_Removable.s = "Removable Media" : EndIf If udtOut\VendorIdOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_Vendor.s = PeekS(@udtOut + udtOut\VendorIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Vendor.s = PeekS(@udtOut + udtOut\VendorIdOffset) : CompilerEndIf : EndIf If udtOut\ProductIdOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_ModelID.s = PeekS(@udtOut + udtOut\ProductIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_ModelID.s = PeekS(@udtOut + udtOut\ProductIdOffset) : CompilerEndIf : EndIf If udtOut\ProductRevisionOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_Revision.s = PeekS(@udtOut + udtOut\ProductIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Revision.s = PeekS(@udtOut + udtOut\ProductIdOffset) : CompilerEndIf : EndIf If udtOut\SerialNumberOffset > 0 SerialNumber.s = PeekS(@udtOut + udtOut\SerialNumberOffset) ;Now convert into readable format, coz its encrypted in HEX-Ascii sdummy.s = "" For t = 1 To Len(SerialNumber) Step 2 sdummy.s + Chr(Hex2Dec(Mid(SerialNumber.s, t, 2))) Next t CompilerIf #PB_Compiler_Unicode : GDI_Device_Serial.s = PeekS(@udtOut + udtOut\SerialNumberOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Serial.s = PeekS(@udtOut + udtOut\SerialNumberOffset) : CompilerEndIf EndIf GDI_Device_FoundNew.i + 1 GetDeviceInfoPath.s = Chr(Drive.l) + ":" If OSVersion() > #PB_OS_Windows_95 SetErrorMode_(#SEM_FAILCRITICALERRORS) GetDiskFreeSpaceEx_(@GetDeviceInfoPath.s, @BytesFreeToCaller.q, @TotalBytes.q, @TotalFreeBytes.q) SetErrorMode_(0) ResultFree.d = TotalFreeBytes.q ResultTotal.d = TotalBytes.q EndIf If Core_List_Settings_Measurement.s = "Bytes" Or Core_List_Settings_Measurement.s = "bytes" Or Core_List_Settings_Measurement.s = "B" GDI_Device_SpaceFree.s = StrF(ResultFree.d, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d, 2) ElseIf Core_List_Settings_Measurement.s = "Kilobytes" Or Core_List_Settings_Measurement.s = "kilobytes" Or Core_List_Settings_Measurement.s = "KB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024, 2) ElseIf Core_List_Settings_Measurement.s = "Megabytes" Or Core_List_Settings_Measurement.s = "megabytes" Or Core_List_Settings_Measurement.s = "MB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024 / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024 / 1024, 2) ElseIf Core_List_Settings_Measurement.s = "Gigabytes" Or Core_List_Settings_Measurement.s = "gigabytes" Or Core_List_Settings_Measurement.s = "GB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024 / 1024 / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024 / 1024 / 1024, 2) EndIf If Info.s = "CountDevices" Or Info.s = "countdevices" : ProcedureReturn Str(GDI_Device_FoundNew.i) : EndIf If Info.s = "Device" Or Info.s = "device" : ProcedureReturn Chr(Drive.l) + " (" + Str(Drive.l) + ")" : EndIf If Info.s = "Name" Or Info.s = "name" : ProcedureReturn GVI_Device_Name.s : EndIf If Info.s = "SpaceFree" Or Info.s = "spacefree" : ProcedureReturn GDI_Device_SpaceFree.s + Chr(32) + Core_List_Settings_Measurement.s : EndIf If Info.s = "SpaceTotal" Or Info.s = "spacetotal" : ProcedureReturn GDI_Device_SpaceTotal.s + Chr(32) + Core_List_Settings_Measurement.s : EndIf If Info.s = "Vendor" Or Info.s = "vendor" : ProcedureReturn GDI_Device_Vendor.s : EndIf If Info.s = "ModelID" Or Info.s = "modelid" : ProcedureReturn GDI_Device_ModelID.s : EndIf If Info.s = "Bus" Or Info.s = "bus" : ProcedureReturn GDI_Device_BusType.s : EndIf If Info.s = "Serial" Or Info.s = "serial" : ProcedureReturn GDI_Device_Serial.s : EndIf If Info.s = "SerialOS" Or Info.s = "serialos" : ProcedureReturn GVI_Device_SerialOS.s : EndIf If Info.s = "DeviceType" Or Info.s = "devicetype" : ProcedureReturn GVI_Device_Type.s : EndIf EndIf EndIf CloseHandle_(hDrive) If Info.s = "AddDevices" GDI_Device_FoundNew = 0 For device.l = drive.l To 90 NextDrive.s = Chr(device.l) strDrive.s = "\\.\" + Chr(device.l) + ":" hDrive = CreateFile_(strDrive, 0, #FILE_SHARE_READ | #FILE_SHARE_WRITE, 0, #OPEN_EXISTING, 0, 0) If hDrive <> -1 udtQuery.STORAGE_PROPERTY_QUERY udtOut.STORAGE_DEVICE_DESCRIPTOR For p=0 To 1023 udtOut\reserved[p] = 0 Next p lngResult = DeviceIoControl_(hDrive, #IOCTL_STORAGE_QUERY_PROPERTY, udtQuery, SizeOf(udtQuery), @udtOut, SizeOf(udtout), @dwOutBytes, 0) If lngResult GetVolumeInfo(device.l, "") Select(udtOut\BusType) Case #BusTypeUnknown : GDI_Device_BusType.s = "Unknown" : GDI_Device_FoundUnknown.i + 1 Case #BusTypeScsi : GDI_Device_BusType.s = "SCSI" : GDI_Device_FoundATA.i + 1 Case #BusTypeAtapi : GDI_Device_BusType.s = "ATAPI" : GDI_Device_FoundATAPI.i + 1 Case #BusTypeAta : GDI_Device_BusType.s = "ATA" : GDI_Device_FoundATA.i + 1 Case #BusType1394 : GDI_Device_BusType.s = "1394" : GDI_Device_Found1394.i + 1 Case #BusTypeSsa : GDI_Device_BusType.s = "SSA" : GDI_Device_FoundSSA.i + 1 Case #BusTypeFibre : GDI_Device_BusType.s = "FIBRE" : GDI_Device_FoundFIBRE.i + 1 Case #BusTypeUsb : GDI_Device_BusType.s = "USB" : GDI_Device_FoundUSB.i + 1 Case #BusTypeRAID : GDI_Device_BusType.s = "RAID" : GDI_Device_FoundRAID.i + 1 Case #BusTypeMaxReserved : GDI_Device_BusType.s = "Reserved" : GDI_Device_FoundReserved.i + 1 Default : GDI_Device_BusType.s = Str(udtOut\BusType) EndSelect If udtOut\RemovableMedia : GDI_Device_Removable.s = "Removable Media" : EndIf If udtOut\VendorIdOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_Vendor.s = PeekS(@udtOut + udtOut\VendorIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Vendor.s = PeekS(@udtOut + udtOut\VendorIdOffset) : CompilerEndIf : EndIf If udtOut\ProductIdOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_ModelID.s = PeekS(@udtOut + udtOut\ProductIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_ModelID.s = PeekS(@udtOut + udtOut\ProductIdOffset) : CompilerEndIf : EndIf If udtOut\ProductRevisionOffset > 0 : CompilerIf #PB_Compiler_Unicode : GDI_Device_Revision.s = PeekS(@udtOut + udtOut\ProductIdOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Revision.s = PeekS(@udtOut + udtOut\ProductIdOffset) : CompilerEndIf : EndIf If udtOut\SerialNumberOffset > 0 SerialNumber.s = PeekS(@udtOut + udtOut\SerialNumberOffset) ;Now convert into readable format, coz its encrypted in HEX-Ascii sdummy.s = "" For t = 1 To Len(SerialNumber) Step 2 sdummy.s + Chr(Hex2Dec(Mid(SerialNumber.s, t, 2))) Next t CompilerIf #PB_Compiler_Unicode : GDI_Device_Serial.s = PeekS(@udtOut + udtOut\SerialNumberOffset, -1, #PB_Ascii) : CompilerElse : GDI_Device_Serial.s = PeekS(@udtOut + udtOut\SerialNumberOffset) : CompilerEndIf EndIf GDI_Device_FoundNew.i + 1 If OSVersion() > #PB_OS_Windows_95 SetErrorMode_(#SEM_FAILCRITICALERRORS) GetDiskFreeSpaceEx_(@GVI_Device.s, @BytesFreeToCaller.q, @TotalBytes.q, @TotalFreeBytes.q) SetErrorMode_(0) ResultFree.d = TotalFreeBytes.q ResultTotal.d = TotalBytes.q EndIf If Core_List_Settings_Measurement.s = "Bytes" Or Core_List_Settings_Measurement.s = "bytes" Or Core_List_Settings_Measurement.s = "B" GDI_Device_SpaceFree.s = StrF(ResultFree.d, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d, 2) ElseIf Core_List_Settings_Measurement.s = "Kilobytes" Or Core_List_Settings_Measurement.s = "kilobytes" Or Core_List_Settings_Measurement.s = "KB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024, 2) ElseIf Core_List_Settings_Measurement.s = "Megabytes" Or Core_List_Settings_Measurement.s = "megabytes" Or Core_List_Settings_Measurement.s = "MB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024 / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024 / 1024, 2) ElseIf Core_List_Settings_Measurement.s = "Gigabytes" Or Core_List_Settings_Measurement.s = "gigabytes" Or Core_List_Settings_Measurement.s = "GB" GDI_Device_SpaceFree.s = StrF(ResultFree.d / 1024 / 1024 / 1024, 2) GDI_Device_SpaceTotal.s = StrF(ResultTotal.d / 1024 / 1024 / 1024, 2) EndIf CLMF("Add", 0, "System Devices", "Device (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GVI_Device.s) CLMF("Add", 0, "System Devices", "Name (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GVI_Device_Name.s) CLMF("Add", 0, "System Devices", "Space Free (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_SpaceFree.s + Chr(32) + Core_List_Settings_Measurement.s) CLMF("Add", 0, "System Devices", "Space Total (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_SpaceTotal.s + Chr(32) + Core_List_Settings_Measurement.s) CLMF("Add", 0, "System Devices", "Vendor (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_Vendor.s) CLMF("Add", 0, "System Devices", "Model ID (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_ModelID.s) CLMF("Add", 0, "System Devices", "Bus (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_BusType.s) CLMF("Add", 0, "System Devices", "Type (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GVI_Device_Type.s) CLMF("Add", 0, "System Devices", "Serial (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GDI_Device_Serial.s) CLMF("Add", 0, "System Devices", "Serial (OS) (" + GDI_Device_FoundNew.i + ")", 0, 0, 0, 0, 0, GVI_Device_SerialOS.s) EndIf EndIf CloseHandle_(hDrive) Next If GDI_Device_FoundNew.i <= 1 CLMF("Edit", 0, "System Hardware", "Devices Total", 0, GDI_Device_FoundNew.i, 0, 0, 0, Str(GDI_Device_FoundNew.i) + " Device") ElseIf GDI_Device_FoundNew.i >= 2 CLMF("Edit", 0, "System Hardware", "Devices Total", 0, GDI_Device_FoundNew.i, 0, 0, 0, Str(GDI_Device_FoundNew.i) + " Devices") EndIf If GDI_Device_FoundNew.i <= 1 CLMF("Edit", 0, "System Devices", "Devices Total", 0, GDI_Device_FoundNew.i, 0, 0, 0, Str(GDI_Device_FoundNew.i) + " Device") ElseIf GDI_Device_FoundNew.i >= 2 CLMF("Edit", 0, "System Devices", "Devices Total", 0, GDI_Device_FoundNew.i, 0, 0, 0, Str(GDI_Device_FoundNew.i) + " Devices") EndIf If GDI_Device_FoundSCSI.i <= 1 CLMF("Edit", 0, "System Devices", "SCSI Devices", 0, GDI_Device_FoundSCSI.i, 0, 0, 0, Str(GDI_Device_FoundSCSI.i) + " Device") ElseIf GDI_Device_FoundSCSI.i >= 2 CLMF("Edit", 0, "System Devices", "SCSI Devices", 0, GDI_Device_FoundSCSI.i, 0, 0, 0, Str(GDI_Device_FoundSCSI.i) + " Devices") EndIf If GDI_Device_FoundATAPI.i <= 1 CLMF("Edit", 0, "System Devices", "ATAPI Devices", 0, GDI_Device_FoundATAPI.i, 0, 0, 0, Str(GDI_Device_FoundATAPI.i) + " Device") ElseIf GDI_Device_FoundATAPI.i >= 2 CLMF("Edit", 0, "System Devices", "ATAPI Devices", 0, GDI_Device_FoundATAPI.i, 0, 0, 0, Str(GDI_Device_FoundATAPI.i) + " Devices") EndIf If GDI_Device_FoundATA.i <= 1 CLMF("Edit", 0, "System Devices", "ATA Devices", 0, GDI_Device_FoundATA.i, 0, 0, 0, Str(GDI_Device_FoundATA.i) + " Device") ElseIf GDI_Device_FoundATA.i >= 2 CLMF("Edit", 0, "System Devices", "ATA Devices", 0, GDI_Device_FoundATA.i, 0, 0, 0, Str(GDI_Device_FoundATA.i) + " Devices") EndIf If GDI_Device_FoundUSB.i <= 1 CLMF("Edit", 0, "System Devices", "USB Devices", 0, GDI_Device_FoundUSB.i, 0, 0, 0, Str(GDI_Device_FoundUSB.i) + " Device") ElseIf GDI_Device_FoundUSB.i >= 2 CLMF("Edit", 0, "System Devices", "USB Devices", 0, GDI_Device_FoundUSB.i, 0, 0, 0, Str(GDI_Device_FoundUSB.i) + " Devices") EndIf If GDI_Device_FoundRAID.i <= 1 CLMF("Edit", 0, "System Devices", "RAID Devices", 0, GDI_Device_FoundRAID.i, 0, 0, 0, Str(GDI_Device_FoundRAID.i) + " Device") ElseIf GDI_Device_FoundRAID.i >= 2 CLMF("Edit", 0, "System Devices", "RAID Devices", 0, GDI_Device_FoundRAID.i, 0, 0, 0, Str(GDI_Device_FoundRAID.i) + " Devices") EndIf EndIf EndProcedure ; Windows only Procedure.s System_Software_Filesystem(Path.s) ; Code by RSBasic Filesystem.s = Space(#MAX_PATH) GetVolumeInformation_(Path.s, 0, 255, 0, 0, 0, @Filesystem.s, 255) ProcedureReturn Filesystem.s EndProcedure ; Windows only Procedure.s System_Software_Language() ; Code by RSBasic Select GetUserDefaultLangID_() & $0003FF Case #LANG_CHINESE : ProcedureReturn "Chinese" Case #LANG_CROATIAN : ProcedureReturn "Croatian" Case #LANG_CZECH : ProcedureReturn "Czech" Case #LANG_DANISH : ProcedureReturn "Danish" Case #LANG_DUTCH : ProcedureReturn "Dutch" Case #LANG_ENGLISH : ProcedureReturn "English" Case #LANG_FINNISH : ProcedureReturn "Finnish" Case #LANG_FRENCH : ProcedureReturn "French" Case #LANG_GERMAN : ProcedureReturn "German" Case #LANG_GREEK : ProcedureReturn "Greek" Case #LANG_ITALIAN : ProcedureReturn "Italian" Case #LANG_JAPANESE : ProcedureReturn "Japanese" Case #LANG_KOREAN : ProcedureReturn "Korean" Case #LANG_NORWEGIAN : ProcedureReturn "Norwegian" Case #LANG_POLISH : ProcedureReturn "Polish" Case #LANG_PORTUGUESE : ProcedureReturn "Portuguese" Case #LANG_RUSSIAN : ProcedureReturn "Russian" Case #LANG_SPANISH : ProcedureReturn "Spanish" Case #LANG_SWEDISH : ProcedureReturn "Swedish" Case #LANG_TURKISH : ProcedureReturn "Turkish" Default : ProcedureReturn "Other language" EndSelect EndProcedure ; Windows only Procedure.s System_GPU_Name() ; Code by RSBasic Protected device.DISPLAY_DEVICE Protected settings.DEVMODE device\cb = SizeOf(DISPLAY_DEVICE) settings\dmSize = SizeOf(DEVMODE) EnumDisplayDevices_(#Null,#Null,device,#Null) ProcedureReturn PeekS(@device\DeviceString,128) EndProcedure ; All OS Procedure ggT(a.i, b.i) ; Code by Andreas_S If a.i = b.i Or b.i = 0 ProcedureReturn a.i Else ProcedureReturn ggT(b.i, a.i % b.i) EndIf EndProcedure ; Assembler Procedure.l ggTAsm(a.l, b.l) ; euclid in asm ; Code by Froggerprogger !MOV eax, [esp+4] ; copy a to eax !AND eax, eax ; set flags !JGE @f ; IF eax >= 0 then jump to @@ !NEG eax ; ELSE negate eax !@@: !MOV ebx, [esp+8] ; copy b to ebx !AND ebx, ebx ; set flags !JGE @f ; IF ebx >= 0 then jump to @@ !NEG ebx ; ELSE negate ebx !@@: !_ggtMyAsmWhile: !AND ebx, ebx ; set flags !JLE _ggtMyAsmWend ; jump to end on 0 ; c = b !MOV ecx, ebx ; save b to ecx ; b = a % b !XOR edx, edx ; extend sign to edx with 0 !IDIV ebx ; div edx:eax / ebx !MOV ebx, edx ; move rest to b ; a = c !MOV eax, ecx ; move temp to a !JMP _ggtMyAsmWhile ; loop !_ggtMyAsmWend: ProcedureReturn ; return eax EndProcedure ; All OS Procedure.s System_Display_AR(Width.i, Height.i) ggT = ggTAsm(Width.i, Height.i) ProcedureReturn Str(Width.i / ggT) + Chr(58) + Str(Height.i / ggT) EndProcedure ; Windows only Prototype GetUserGeoID(GeoClass) Procedure.s System_Internet_Location(Type.s) ; Code by RSBasic #GEOCLASS_NATION = 16 #GEOCLASS_REGION = 14 #GEOCLASS_ALL = 0 #GEOID_NOT_AVAILABLE = -1 Define GeoID If OpenLibrary(0, "Kernel32.dll") ;Prototype GetUserGeoID(GeoClass) Define GetUserGeoID.GetUserGeoID = GetFunction(0, "GetUserGeoID") CloseLibrary(0) EndIf GeoID = GetUserGeoID(16) If GeoID = #GEOID_NOT_AVAILABLE ProcedureReturn "Unknown location" Else Select GeoID Case $2 : If Type.s = "Name" : ProcedureReturn "Antigua And Barbuda" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AG" : EndIf Case $3 : If Type.s = "Name" : ProcedureReturn "Afghanistan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AF" : EndIf Case $4 : If Type.s = "Name" : ProcedureReturn "Algeria" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DZ" : EndIf Case $5 : If Type.s = "Name" : ProcedureReturn "Azerbaijan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AZ" : EndIf Case $6 : If Type.s = "Name" : ProcedureReturn "Albania" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AL" : EndIf Case $7 : If Type.s = "Name" : ProcedureReturn "Armenia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AM" : EndIf Case $8 : If Type.s = "Name" : ProcedureReturn "Andorra" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AD" : EndIf Case $9 : If Type.s = "Name" : ProcedureReturn "Angola" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AO" : EndIf Case $a : If Type.s = "Name" : ProcedureReturn "American Samoa" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AS" : EndIf Case $b : If Type.s = "Name" : ProcedureReturn "Argentina" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AR" : EndIf Case $c : If Type.s = "Name" : ProcedureReturn "Australia " : ElseIf Type.s = "Alpha2" : ProcedureReturn "AU" : EndIf Case $e : If Type.s = "Name" : ProcedureReturn "Austria" : ElseIf Type.s = "Alpha2" : ProcedureReturn "AT" : EndIf Case $11 : If Type.s = "Name" : ProcedureReturn "Bahrain" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BH" : EndIf Case $12 : If Type.s = "Name" : ProcedureReturn "Barbados" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BB" : EndIf Case $13 : If Type.s = "Name" : ProcedureReturn "Botswana" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BW" : EndIf Case $14 : If Type.s = "Name" : ProcedureReturn "Bermuda" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BM" : EndIf Case $15 : If Type.s = "Name" : ProcedureReturn "Belgium" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BE" : EndIf Case $16 : If Type.s = "Name" : ProcedureReturn "Bahamas" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BS" : EndIf Case $17 : If Type.s = "Name" : ProcedureReturn "Bangladesh" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BD" : EndIf Case $18 : If Type.s = "Name" : ProcedureReturn "Belize" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BZ" : EndIf Case $19 : If Type.s = "Name" : ProcedureReturn "Bosnia and Herzegovina" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BA" : EndIf Case $1a : If Type.s = "Name" : ProcedureReturn "Bolivia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BO" : EndIf Case $1b : If Type.s = "Name" : ProcedureReturn "Myanmar" : ElseIf Type.s = "Alpha2" : ProcedureReturn "MM" : EndIf Case $1c : If Type.s = "Name" : ProcedureReturn "Benin" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BJ" : EndIf Case $1d : If Type.s = "Name" : ProcedureReturn "Belarus" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BY" : EndIf Case $1e : If Type.s = "Name" : ProcedureReturn "Solomon Islands" : ElseIf Type.s = "Alpha2" : ProcedureReturn "SB" : EndIf Case $20 : If Type.s = "Name" : ProcedureReturn "Brazil" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BR" : EndIf Case $23 : If Type.s = "Name" : ProcedureReturn "Bulgaria" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BG" : EndIf Case $25 : If Type.s = "Name" : ProcedureReturn "Brunei" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BN" : EndIf Case $26 : If Type.s = "Name" : ProcedureReturn "Burundi" : ElseIf Type.s = "Alpha2" : ProcedureReturn "BI" : EndIf Case $27 : If Type.s = "Name" : ProcedureReturn "Canada" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CA" : EndIf Case $28 : If Type.s = "Name" : ProcedureReturn "Cambodia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KH" : EndIf Case $29 : If Type.s = "Name" : ProcedureReturn "Chad" : ElseIf Type.s = "Alpha2" : ProcedureReturn "TD" : EndIf Case $2a : If Type.s = "Name" : ProcedureReturn "Sri Lanka" : ElseIf Type.s = "Alpha2" : ProcedureReturn "LK" : EndIf Case $2b : If Type.s = "Name" : ProcedureReturn "Congo" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CG" : EndIf Case $2c : If Type.s = "Name" : ProcedureReturn "Congo (DRC)" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CD" : EndIf Case $2d : If Type.s = "Name" : ProcedureReturn "China" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CN" : EndIf Case $2e : If Type.s = "Name" : ProcedureReturn "Chile" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CL" : EndIf Case $31 : If Type.s = "Name" : ProcedureReturn "Cameroon" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CM" : EndIf Case $32 : If Type.s = "Name" : ProcedureReturn "Comoros" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KM" : EndIf Case $33 : If Type.s = "Name" : ProcedureReturn "Colombia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CO" : EndIf Case $36 : If Type.s = "Name" : ProcedureReturn "Costa Rica" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CR" : EndIf Case $37 : If Type.s = "Name" : ProcedureReturn "Central African Republic" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CF" : EndIf Case $38 : If Type.s = "Name" : ProcedureReturn "Cuba" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CU" : EndIf Case $39 : If Type.s = "Name" : ProcedureReturn "Cabo Verde" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CV" : EndIf Case $3b : If Type.s = "Name" : ProcedureReturn "Cyprus" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CY" : EndIf Case $3d : If Type.s = "Name" : ProcedureReturn "Denmark" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DK" : EndIf Case $3e : If Type.s = "Name" : ProcedureReturn "Djibouti" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DJ" : EndIf Case $3f : If Type.s = "Name" : ProcedureReturn "Dominica" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DM" : EndIf Case $41 : If Type.s = "Name" : ProcedureReturn "Dominican Republic" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DO" : EndIf Case $42 : If Type.s = "Name" : ProcedureReturn "Ecuador" : ElseIf Type.s = "Alpha2" : ProcedureReturn "EC" : EndIf Case $43 : If Type.s = "Name" : ProcedureReturn "Egypt" : ElseIf Type.s = "Alpha2" : ProcedureReturn "EG" : EndIf Case $44 : If Type.s = "Name" : ProcedureReturn "Ireland" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IE" : EndIf Case $45 : If Type.s = "Name" : ProcedureReturn "Equatorial Guinea" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GQ" : EndIf Case $46 : If Type.s = "Name" : ProcedureReturn "Estonia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "EE" : EndIf Case $47 : If Type.s = "Name" : ProcedureReturn "Eritrea" : ElseIf Type.s = "Alpha2" : ProcedureReturn "ER" : EndIf Case $48 : If Type.s = "Name" : ProcedureReturn "El Salvador" : ElseIf Type.s = "Alpha2" : ProcedureReturn "SV" : EndIf Case $49 : If Type.s = "Name" : ProcedureReturn "Ethiopia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "ET" : EndIf Case $4b : If Type.s = "Name" : ProcedureReturn "Czech Republic" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CZ" : EndIf Case $4d : If Type.s = "Name" : ProcedureReturn "Finland" : ElseIf Type.s = "Alpha2" : ProcedureReturn "FI" : EndIf Case $4e : If Type.s = "Name" : ProcedureReturn "Fiji" : ElseIf Type.s = "Alpha2" : ProcedureReturn "FJ" : EndIf Case $50 : If Type.s = "Name" : ProcedureReturn "Micronesia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "FM" : EndIf Case $51 : If Type.s = "Name" : ProcedureReturn "Faroe Islands" : ElseIf Type.s = "Alpha2" : ProcedureReturn "FO" : EndIf Case $54 : If Type.s = "Name" : ProcedureReturn "France" : ElseIf Type.s = "Alpha2" : ProcedureReturn "FR" : EndIf Case $56 : If Type.s = "Name" : ProcedureReturn "Gambia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GM" : EndIf Case $57 : If Type.s = "Name" : ProcedureReturn "Gabon" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GA" : EndIf Case $58 : If Type.s = "Name" : ProcedureReturn "Georgia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GE" : EndIf Case $59 : If Type.s = "Name" : ProcedureReturn "Ghana" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GH" : EndIf Case $5a : If Type.s = "Name" : ProcedureReturn "Gibraltar" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GI" : EndIf Case $5b : If Type.s = "Name" : ProcedureReturn "Grenada" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GD" : EndIf Case $5d : If Type.s = "Name" : ProcedureReturn "Greenland" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GL" : EndIf Case $5e : If Type.s = "Name" : ProcedureReturn "Germany" : ElseIf Type.s = "Alpha2" : ProcedureReturn "DE" : EndIf Case $62 : If Type.s = "Name" : ProcedureReturn "Greece" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GR" : EndIf Case $63 : If Type.s = "Name" : ProcedureReturn "Guatemala" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GT" : EndIf Case $64 : If Type.s = "Name" : ProcedureReturn "Guinea" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GN" : EndIf Case $65 : If Type.s = "Name" : ProcedureReturn "Guyana" : ElseIf Type.s = "Alpha2" : ProcedureReturn "GY" : EndIf Case $67 : If Type.s = "Name" : ProcedureReturn "Haiti" : ElseIf Type.s = "Alpha2" : ProcedureReturn "HT" : EndIf Case $68 : If Type.s = "Name" : ProcedureReturn "Hong Kong" : ElseIf Type.s = "Alpha2" : ProcedureReturn "HK" : EndIf Case $6a : If Type.s = "Name" : ProcedureReturn "Honduras" : ElseIf Type.s = "Alpha2" : ProcedureReturn "HN" : EndIf Case $6c : If Type.s = "Name" : ProcedureReturn "Croatia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "HR" : EndIf Case $6d : If Type.s = "Name" : ProcedureReturn "Hungary" : ElseIf Type.s = "Alpha2" : ProcedureReturn "HU" : EndIf Case $6e : If Type.s = "Name" : ProcedureReturn "Iceland" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IS" : EndIf Case $6f : If Type.s = "Name" : ProcedureReturn "Indonesia" : ElseIf Type.s = "Alpha2" : ProcedureReturn "ID" : EndIf Case $71 : If Type.s = "Name" : ProcedureReturn "India" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IN" : EndIf Case $72 : If Type.s = "Name" : ProcedureReturn "British Indian Ocean Territory" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IO" : EndIf Case $74 : If Type.s = "Name" : ProcedureReturn "Iran" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IR" : EndIf Case $75 : If Type.s = "Name" : ProcedureReturn "Israel" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IL" : EndIf Case $76 : If Type.s = "Name" : ProcedureReturn "Italy" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IT" : EndIf Case $77 : If Type.s = "Name" : ProcedureReturn "Côte d'Ivoire" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CI" : EndIf Case $79 : If Type.s = "Name" : ProcedureReturn "Iraq" : ElseIf Type.s = "Alpha2" : ProcedureReturn "IQ" : EndIf Case $7a : If Type.s = "Name" : ProcedureReturn "Japan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "JP" : EndIf Case $7c : If Type.s = "Name" : ProcedureReturn "Jamaica" : ElseIf Type.s = "Alpha2" : ProcedureReturn "JM" : EndIf Case $7d : If Type.s = "Name" : ProcedureReturn "Jan Mayen" : ElseIf Type.s = "Alpha2" : ProcedureReturn "SJ" : EndIf Case $7e : If Type.s = "Name" : ProcedureReturn "Jordan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "JO" : EndIf Case $81 : If Type.s = "Name" : ProcedureReturn "Kenya" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KE" : EndIf Case $82 : If Type.s = "Name" : ProcedureReturn "Kyrgyzstan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KG" : EndIf Case $83 : If Type.s = "Name" : ProcedureReturn "North Korea" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KP" : EndIf Case $85 : If Type.s = "Name" : ProcedureReturn "Kiribati" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KI" : EndIf Case $86 : If Type.s = "Name" : ProcedureReturn "Korea" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KR" : EndIf Case $88 : If Type.s = "Name" : ProcedureReturn "Kuwait" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KW" : EndIf Case $89 : If Type.s = "Name" : ProcedureReturn "Kazakhstan" : ElseIf Type.s = "Alpha2" : ProcedureReturn "KZ" : EndIf Case $d9 : If Type.s = "Name" : ProcedureReturn "Spain" : ElseIf Type.s = "Alpha2" : ProcedureReturn "ES" : EndIf Case $df : If Type.s = "Name" : ProcedureReturn "Switzerland" : ElseIf Type.s = "Alpha2" : ProcedureReturn "CH" : EndIf Default : If Type.s = "Name" : ProcedureReturn "Other location, visit: http://msdn.microsoft.com/en-us/library/dd374073.aspx" : ElseIf Type.s = "Alpha2" : ProcedureReturn "??" : EndIf EndSelect EndIf EndProcedure ;} ;} ;{ =====[Test Environment]===== Core_Init() Core_List_Main_Init() CLMF("Prepare") TestEnvironment.s = "ExportFileAll" If TestEnvironment.s = "Debug" CLMF("Debug") ElseIf TestEnvironment.s = "DeviceInfo" Debug "==============================" Debug "Device Info" Debug "Device: " + GetDeviceInfo(67, "Device") Debug "Name: " + GetDeviceInfo(67, "Name") Debug "Space Free: " + GetDeviceInfo(67, "SpaceFree") Debug "Space Total: " + GetDeviceInfo(67, "SpaceTotal") Debug "Model ID: " + GetDeviceInfo(67, "ModelID") Debug "Bus: " + GetDeviceInfo(67, "Bus") Debug "Device Type: " + GetDeviceInfo(67, "DeviceType") Debug "Serial: " + GetDeviceInfo(67, "Serial") Debug "Serial (OS): " + GetDeviceInfo(67, "SerialOS") Debug "==============================" CLMF("Debug") ElseIf TestEnvironment.s = "UniversalFunctions" Debug "==============================" Debug "Function 1: CPU Vendor (Asm): " + CLMF_String("Check_Asm_CPUVendor") Debug "Function 2: CPU Model (Asm): " + CLMF_String("Check_Asm_CPUModel") Debug "Function 3: CPU Name: " + CLMF_String("Check_CPUName") Debug "Function 4: CPU Name (Asm): " + CLMF_String("Check_Asm_CPUName") Debug "Function 5: CPU Clock (Asm): " + CLMF_String("Check_Asm_CPUClock") Debug "Function 6: CPU Cores: " + CLMF_String("Check_CPUCores") Debug "Function 7: CPU Architecture (Asm): " + CLMF_String("Check_Asm_CPUArchitecture") Debug "Function 8: OS Version: " + CLMF_String("Check_OSVersion") CLMF("Debug") ElseIf TestEnvironment.s = "DeleteEntries" CLMF("Del", 8) CLMF("Del", 0, "System Software", "Username") CLMF("Debug") ElseIf TestEnvironment.s = "ExportFileLog" CLMF("CoreListMainExportFileLog", 1, "", "", 0, 0, 0, 0, 0, "", "Log\Core Project.log") CLMF("Debug") ElseIf TestEnvironment.s = "ExportFilePDF" CLMF("CoreListExportFilePDF", 1, "", "", 0, 0, 0, 0, 0, "", "Log\Core Project.pdf") CLMF("Debug") ElseIf TestEnvironment.s = "ExportFileAll" CLMF("CoreListMainExportFileLog", 1, "", "", 0, 0, 0, 0, 0, "", "Log\Core Project.log") CLMF("CoreListExportFilePDF", 1, "", "", 0, 0, 0, 0, 0, "", "Log\Core Project.pdf") CLMF("Debug") ElseIf TestEnvironment.s = "DeviceName" Debug "==============================" Debug "Device Name" Debug "Device (5) Name by number: " + CLMF_String("GetDeviceName", 0, "", "", 5) Debug "==============================" CLMF("Debug") EndIf ;} ; IDE Options = PureBasic 5.40 LTS (Windows - x86) ; Folding = AAAAAAAAAAw-A9 ; EnableUnicode ; EnableXP ; EnableUser ; Executable = Core Project (Core List Window).exe ; CompileSourceDirectory ; EnableCompileCount = 1806 ; EnableBuildCount = 16 ; EnableExeConstant