Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Color Constants v0.75 [nur Windows]

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 24.02.2020, 13:13    Titel: Color Constants v0.75 [nur Windows] Antworten mit Zitat

Hier ein kleines Tool zum Anzeigen von Farbwerten zwecks z.B. GUI Farbgestaltung.



Nach dem Starten wir die Datei ColorConstants.txt erstellt, die dann in der GUI dargestellt wird.

Ein Doppelklick auf den Eintrag in der Spalte "Color Name" kopiert den Farbwert in den Zwischenspeicher.

Download Code + Exe: Color_Constants v0.75.zip

Code:

'Coded by UEZ build 2020-02-28

#Include "fbgfx.bi" 'needed for LZW
#Include "VBcompat.bi"
#Include "windows.bi"
#Include "win\commctrl.bi"
#include "win\shellapi.bi"

Declare Function WndProc(hWnd As HWND, wMsg As UINT, wParam As WPARAM, lParam As LPARAM) As LRESULT
Declare Function LV_InsertColumn(Byval hWndControl As HWND, Byval iPosition As Integer, Byref sString As String, Byval nAlignment As Integer = LVCFMT_LEFT, Byval nWidth As Integer = 100) As Integer
Declare Function LV_InsertItem(Byval hWndControl As HWND, Byval iRow As Integer, Byval iColumn As Integer, Byref sString As String, Byval lParam As Integer = 0, Byval iImage As Integer = 0) As Integer
Declare Function _WinAPI_CreateToolTip(hDlg As HWND, sToolTipText As String, bBalloon As Ubyte = 1, iWidth As Ushort = 500, toolID As Integer = 0) As HWND
Declare Function Base64Decode(sString As String, Byref iBase64Len as Uinteger) As Ubyte Ptr
Declare Function LZW_Decode Alias "fb_hDecode" (Byval in_buffer As Any Ptr, Byval in_size As Integer, Byval out_buffer As Any Ptr, Byref out_size As Integer) As Integer

Dim As String sFile = Curdir & "\ColorConstants.txt"
If Fileexists(sFile) = 0 Then
   Dim As Uinteger iLines, iCompression, iFileSize, iCompressedSize, l
   Dim as String aB64(1), sB64, sBaseType

   Restore __Label0:
   Read iLines
   Read iCompression
   Read iFileSize
   Read iCompressedSize
   Read sBaseType

   For i as uByte = 0 to iLines
      Read aB64(0)
      sB64 &= aB64(0)
   Next

   Dim As UByte Ptr aBinary = Base64Decode(sB64, l)
    If l <> iCompressedSize Then
      ? "Error in decoding base64!"
      Beep
   Else
      Dim As Integer hFile
      hFile = Freefile()
      Open sFile For Binary Access Write As #hFile
      If iCompression Then
         Dim As Ubyte Ptr aBinaryC = Allocate(iFileSize)
         LZW_Decode(aBinary, iCompressedSize, aBinaryC, iFileSize)
         Put #hFile, 0, aBinaryC[0], iFileSize
         Deallocate(aBinaryC)
      Else
         Put #hFile, 0, aBinary[0], iFileSize
      Endif
      Close #hFile
      aBinary = 0
   End If
End If

Dim Shared As HFONT guiFont
Dim Shared As HWND hGUI, hButton_exit, hListView, hCheckbox
DIM Shared As Ubyte bChkBox = 0

' Create  Window Class:
Dim As WNDCLASS WinCls

#Ifdef unicode
   Dim szClassName As Wstring * 64
   Dim szCaption   As Wstring * 64
#Else
   Dim szClassName As Zstring * 64
   Dim szCaption   As Zstring * 64
#Endif

szClassName = "FB_GUI"

With WinCls
    .style          = CS_HREDRAW Or CS_VREDRAW
    .lpfnWndProc    = Cast(WNDPROC, @WndProc)
    .hInstance      = GetModuleHandle(NULL)
    .hIcon          = LoadIcon(NULL, IDI_APPLICATION)
    .hCursor        = LoadCursor(NULL, IDC_ARROW)
    .hbrBackground  = GetSyscolorbrush(COLOR_3DFACE) 'GetStockObject(WHITE_BRUSH)
    .lpszMenuName   = NULL
    .lpszClassName  = Strptr(szClassName)
End With

If RegisterClass(@WinCls) = False Then
    MessageBox(NULL, "RegisterClass('WindowClass') FAIL!", "Error!", MB_OK Or MB_ICONERROR)
    End
End If

Dim As Ushort iW = 455, iH = 600
hGUI = CreateWindowEx(0, szClassName, "Color Constants v0.75 by UEZ", WS_OVERLAPPEDWINDOW Or WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, iW, iH, NULL, NULL, NULL, NULL)
hButton_exit = CreateWindowEx(0, "Button", "Exit", WS_VISIBLE Or WS_CHILD, iW - 115, iH - 70, 90, 24, hGUI, NULL, NULL, NULL)
hListView = CreateWindowEx(0, "SysListView32", "", WS_BORDER Or WS_CHILD Or WS_VISIBLE Or WS_CLIPSIBLINGS Or _
                                       LVS_REPORT Or LVS_SINGLESEL Or LVS_SHOWSELALWAYS, _
                                       10, 10, iW - 35, iH - 90, hGUI, NULL, NULL, NULL)
SendMessage(hListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, WS_EX_CLIENTEDGE Or LVS_EX_GRIDLINES Or LVS_EX_FULLROWSELECT)
hCheckbox = CreateWindowEx(0, "Button", "Add &&h prefix for hex color value", BS_AUTOCHECKBOX Or WS_VISIBLE Or WS_CHILD, 10, iH - 70, 260, 24, hGUI, Cast(HMENU, 2), NULL, NULL)
CheckDlgButton(hGUI, 2, BST_CHECKED)
_WinAPI_CreateToolTip(hCheckbox, "If checked than the prefix &h will be added to the color value which will be copied to the clipboard")

Const LV_WM_SETREDRAW = 11
SendMessage(hListView, LV_WM_SETREDRAW, False, 0)
LV_InsertColumn(hListView, 0, "Color Name", LVCFMT_LEFT, 150)
LV_InsertColumn(hListView, 1, "RGB Hex Value", LVCFMT_LEFT, 100)
LV_InsertColumn(hListView, 2, "RGB Color Preview", LVCFMT_LEFT, 150)

Dim As HICON hIcon
Dim SystemDir As Zstring * 32767
GetSystemDirectory(@SystemDir, 32767)
ExtractIconEx(SystemDir & "\Shell32.dll", 161, NULL, @hIcon, 1)
SendMessageW(hGUI, WM_SETICON, 1, Cast(lParam, hIcon))

Dim sLine As String
Dim As Integer iFilenum, iRes, iLine = 0

iFilenum = Freefile
iRes = Open (sFile, For Input, As #iFilenum)
While (Not Eof(iFilenum))
   Line Input #iFilenum, sLine
   If sLine <> "" Then
      LV_InsertItem(hListView, iLine, 0, Left(sLine, Instr(sLine, ";") - 1))
      LV_InsertItem(hListView, iLine, 1, Right(sLine, Len(sLine) - Instr(sLine, ";")))
      iLine += 1
   End If
Wend
Close #iFilenum

SendMessage(hListView, LV_WM_SETREDRAW, True, 0)
ShowWindow(hGUI, SW_SHOWNORMAL)
UpdateWindow(hGUI)

Dim As MSG uMsg

If IsDlgButtonChecked(hGUI, 2) Then bChkBox = True

While GetMessage(@uMsg, NULL, NULL, NULL) <> False
   TranslateMessage(@uMsg)
   DispatchMessage(@uMsg)
Wend

End

Function WndProc(hWnd As HWND, wMsg As UINT, wParam As WPARAM, lParam As LPARAM) As LRESULT
    Select Case hWnd
      Case hGUI 
         Select Case wMsg            
            Case WM_DESTROY
               PostQuitMessage(NULL)
               Return 0
            Case WM_COMMAND
               Select Case lParam 
                  Case hButton_exit
                     DestroyWindow(hGUI)
                     Return 0
                  Case hCheckbox
                     If IsDlgButtonChecked(hWnd, 2) Then
                        bChkBox = 1
                     Else
                        bChkBox = 0
                     End If
                     Return 0
               End Select
            Case WM_KEYDOWN
               If wParam = VK_ESCAPE Then
                  DestroyWindow(hGUI)
                  Return 0
               Endif
            CASE WM_NOTIFY
               Static As Integer aHit(2) = {-1, -1}
               Dim As NMHDR Ptr pNMHDR = Cast(NMHDR Ptr, lParam)
               Select Case pNMHDR->hwndFrom
                  Case hListView
                     Select Case pNMHDR->Code
                        Case LVN_ITEMCHANGED
                           Dim tNMLISTVIEW As NMLISTVIEW Ptr
                           tNMLISTVIEW = Cast(NMLISTVIEW Ptr, lParam)
                           Dim As Integer iIndex = tNMLISTVIEW->iItem

                           '_GUICtrlListView_SetItemSelected
                           Dim iItem As LVITEM                     
                           iItem.mask = LVIF_STATE
                           iItem.iItem = iIndex
                           iItem.state = 0 'LVIS_SELECTED
                           iItem.StateMask = LVIS_SELECTED
                           SendMessage(hListView, LVM_SETITEMSTATE, iIndex, Cast(lParam, @iItem))
                           
                           '_GUICtrlListView_SetItemState
                           Dim iItem2 As LVITEM   
                           iItem2.mask = LVIF_STATE
                           iItem2.iItem = iIndex
                           iItem2.state = 0
                           iItem2.StateMask = LVIS_FOCUSED
                           SendMessage(hListView, LVM_SETITEM, 0, Cast(lParam, @iItem2))
                     
                           If GetKeyState(VK_LBUTTON) Then
                              Dim As POINT mPos
                              Dim iItemHitTest As LVHITTESTINFO
                              GetCursorPos(@mPos)
                              ScreenToClient(hGUI, @mPos)
                              iItemHitTest.pt.x = mPos.x '- 8
                              iItemHitTest.pt.y = mPos.y - 8
                              iItemHitTest.flags = LVHT_ONITEM
                              'SendMessage(hListView, LVM_SUBITEMHITTEST, 0, Cast(lParam, @iItemHitTest))
                              ListView_SubItemHitTest(hListView, @iItemHitTest)
                              If iItemHitTest.iItem > -1 Andalso iItemHitTest.iSubItem > -1 Andalso iItemHitTest.iItem = iIndex Then
                                 If aHit(0) > -1 Then SendMessage(hListView, LVM_REDRAWITEMS, aHit(0), aHit(0))
                                 If aHit(0) <> iItemHitTest.iItem Or aHit(1) <> iItemHitTest.iSubItem Then
                                    aHit(0) = iItemHitTest.iItem
                                    aHit(1) = iItemHitTest.iSubItem
                                 Else
                                    aHit(0) = -1
                                    aHit(1) = -1
                                 End If
                                 SendMessage(hListView, LVM_REDRAWITEMS, iIndex, iIndex)
                              End If
                           End If
                        Case NM_DBLCLK
                           Dim As ZString * 255 sHexColor, sName
                           Dim tLV_item As LV_ITEM
                           With tLV_item
                              .mask = LVIF_TEXT
                              .iItem = SendMessage(hListView, LVM_GETSELECTIONMARK, 0, 0)
                              .iSubItem = 1
                              .pszText = Strptr(sHexColor)
                              .cchTextMax = 256
                           End With
                           If tLV_item. iItem <> -1 Then                     
                              SendMessage(hListView, LVM_GETITEM, 0, Cint(@tLV_item))
                              If bChkBox Then sHexColor = "&h" & sHexColor
                              
                              Dim As Byte hClipboard = OpenClipboard(hGUI)
                              If hClipboard = 0 Then
                                 MessageBox(hGUI, "Error opening the clipboard", "ERROR", MB_OK)
                              Else
                                 If EmptyClipboard() = 0 Then
                                    CloseClipboard()
                                    MessageBox(hGUI, "Error cleaning the clipboard", "ERROR", MB_OK)
                                 Else
                                    Dim As Any Ptr pMemClip, hMemClip = GlobalAlloc(GMEM_MOVEABLE Or GMEM_SHARE, Len(sHexColor) + 1)
                                    pMemClip = GlobalLock(hMemClip)
                                    CopyMemory(pMemClip, Strptr(sHexColor), Len(sHexColor))
                                    GlobalUnlock(pMemClip)
                                    SetClipboardData(CF_TEXT, hMemClip)
                                    CloseClipboard()
                                    
                                    tLV_item.iSubItem = 0
                                    tLV_item.pszText = Strptr(sName)
                                    SendMessage(hListView, LVM_GETITEM, 0, Cint(@tLV_item))   
                                    
                                    MessageBox(hGUI, "Hex color value " & sHexColor & " (" & sName & ") has been copied to clipboard.", "Information", MB_ICONINFORMATION Or MB_OK)
                                    GlobalFree(hMemClip)
                                 End If         
                              End If
                           End If
                           Return 1
                        Case NM_CUSTOMDRAW
                           Dim As NMLVCUSTOMDRAW Ptr pCustomDraw = Cast(NMLVCUSTOMDRAW Ptr, lParam)
                           Select Case pCustomDraw->NMCD.dwDrawStage
                              Case CDDS_PREPAINT
                                 Return CDRF_NOTIFYITEMDRAW
                              Case CDDS_ITEMPREPAINT
                                 Return CDRF_NOTIFYSUBITEMDRAW
                              Case CDDS_ITEMPREPAINT OR CDDS_SUBITEM
                                 Select Case pCustomDraw->iSubItem
                                    Case 0 To 1
                                       If pCustomDraw->nmcd.dwItemSpec = aHit(0) Then
                                          pCustomDraw->ClrText = &hFFFFFF
                                          pCustomDraw->ClrTextBk = &hCC6600
                                       Else
                                          pCustomDraw->ClrText = &h000000
                                          pCustomDraw->ClrTextBk = &hFFFFFF
                                       End If
                                    Case 2
                                       Dim As ZString * 255 sText
                                       Dim tLV_item As LV_ITEM
                                       With tLV_item
                                          .mask = LVIF_TEXT
                                          .iItem = pCustomDraw->NMCD.dwItemSpec
                                          .iSubItem = 1
                                          .pszText = Strptr(sText)
                                          .cchTextMax = 256
                                       End With
                                       SendMessage(hListView, LVM_GETITEM, 0, Cint(@tLV_item))
                                       pCustomDraw->clrTextBk = BGR(Valint("&h" & Left(sText, 2)), Valint("&h" & Mid(sText, 3, 2)), Valint("&h" & Right(sText, 2)))                                       
                                 End Select
                              Return CDRF_NEWFONT 'CDRF_DODEFAULT
                           End Select
                     End Select
                     Return CDRF_DODEFAULT
               End Select
         End Select
    End Select
   
    Return DefWindowProc(hWnd, wMsg, wParam, lParam)
End Function


'LV Function taken from https://www.freebasic.net/forum/viewtopic.php?f=6&t=17060

Function LV_InsertColumn(   Byval hWndControl As HWND, _
                     Byval iPosition   As Integer, _
                     Byref sString     As String, _
                     Byval nAlignment  As Integer = LVCFMT_LEFT, _
                     Byval nWidth      As Integer = 100 _
                     ) As Integer

    Dim tlvc As LV_COLUMN

    ' Do a check to ensure that this is actually a Window handle
    If IsWindow(hWndControl) Then 
       tlvc.mask     = LVCF_FMT Or LVCF_WIDTH Or LVCF_TEXT Or LVCF_SUBITEM
       tlvc.fmt      = nAlignment
       tlvc.cx       = nWidth
       tlvc.pszText  = Strptr(sString)
       tlvc.iSubItem = 0
       Function = SendMessage( hWndControl, LVM_INSERTCOLUMN, iPosition, Cint(@tlvc))
    End If
End Function

Function LV_InsertItem( Byval hWndControl As HWND, _
                  Byval iRow        As Integer, _         
                  Byval iColumn     As Integer, _
                  Byref sString     As String, _
                  Byval lParam     As Integer = 0, _
                  Byval iImage      As Integer = 0 _
                  ) As Integer

    Dim tLV_item As LV_ITEM

    ' Do a check to ensure that this is actually a Window handle
    If IsWindow(hWndControl) Then 
        tLV_item.iItem     = iRow
        tLV_item.iSubItem  = iColumn
        tLV_item.pszText   = Strptr(sString)
        tLV_item.iImage    = iImage
        tLV_item.lParam    = lParam
       
        If iColumn = 0 Then
           tLV_item.mask      = LVIF_TEXT Or LVIF_PARAM Or LVIF_IMAGE
           Function = SendMessage( hWndControl, LVM_INSERTITEM, 0, Cint(@tLV_item))
        Else
           tLV_item.mask      = LVIF_TEXT Or LVIF_IMAGE
           Function = SendMessage( hWndControl, LVM_SETITEM, 0, Cint(@tLV_item))
        End If
    End If
End Function

'https://msdn.microsoft.com/en-us/library/windows/desktop/hh298368(v=vs.85).aspx
Function _WinAPI_CreateToolTip(hDlg As HWND, sToolTipText As String, bBalloon As Ubyte = 1, iWidth As Ushort = 500, toolID As Integer = 0) As HWND
   If hDlg = 0 Or Len(sToolTipText) = 0 Then Return 0
   If Len(sToolTipText) > 79 Then Left(sToolTipText, 79)
   Dim hToolTip As HWND
   
   bBalloon = Iif(bBalloon > 1, 1, bBalloon)
   Dim As Long iStyle = bBalloon * TTS_BALLOON
   hToolTip = CreateWindowEx(Null, TOOLTIPS_CLASS, NULL, _
                       TTS_NOPREFIX Or TTS_ALWAYSTIP Or iStyle, _
                       CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, _
                       hDlg, Null, Null, Null)

   If hToolTip = 0 Then Return 0
   SetWindowPos(hToolTip, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE)
   SendMessage(hToolTip, TTM_SETTIPBKCOLOR, &hFFFFFF, 0)
   SendMessage(hToolTip, TTM_SETTIPTEXTCOLOR, &h000000, 0)
   SendMessage(hToolTip, TTM_SETMAXTIPWIDTH, 0, iWidth) 'multi line tooltip text
   
   Dim As HWND hwndTool = GetDlgItem(hDlg, toolID)
   Dim tToolInfo As TOOLINFO
   With tToolInfo
      .cbSize = Sizeof(tToolInfo)
      .uFlags = TTF_SUBCLASS
      .hwnd = hDlg
      .hinst = Null
      .lpszText = Strptr(sToolTipText)
      .uId = Cptr(UINT_PTR, hwndTool)
   End With
   GetClientRect(hDlg, @tToolInfo.rect)

   SendMessage(hToolTip, TTM_ADDTOOL, 0, Cast(LPARAM, @tToolInfo))

   Return hToolTip
End Function

'Original code by D.J.Peters
Function Base64Decode(sString As String, Byref iBase64Len as Uinteger) As Ubyte Ptr
   #Define P0(p) InStr(B64, Chr(sString[n + p])) - 1
   Dim As String*64 B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
   Dim As String sDecoded
   Dim As Integer nChars = Len(sString) - 1
   If nChars < 0 Then Return 0
   For n As Integer = 0 To nChars Step 4
      Var b = P0(1), c = P0(2), d = P0(3)
      If b >-1 Then
         Var a = P0(0)
         sDecoded += Chr((a Shl 2 + b Shr 4))
      End If
      If c > -1 Then sDecoded += Chr((b Shl 4 + c Shr 2))
      If d > -1 Then sDecoded += Chr((c Shl 6 + d      ))
   Next
   iBase64Len = Len(sDecoded)
   
    'workaround For multiple embedded file other crash will occure
    Static As Ubyte aReturn(0 To iBase64Len - 1)
    Redim aReturn(0 To iBase64Len - 1) As Ubyte
   
   For i As Uinteger = 0 to Len(sDecoded) - 1 'convert result string to ascii code values
      aReturn(i) = Asc(sDecoded, i + 1)
   Next
   Return @aReturn(0) 'return pointer to the array
End Function

'Code below was generated by: FB File2Bas Code Generator v1.01 build 2020-02-27 beta

'ColorConstants.txt
__Label0:
Data 12,8,6733,4346,"Base64"
Data "QsAGYTAGa7ADMGAQB9EACuAEaXAGaEAHBTEEMJADMBAECXEEdeAGbVAGdBAGbLADMjAEM1ADM5ADCdEEaUAGbsAQDvERQhADLnEDCTEEaBAGcjAGb9AROzADNCADOAASCUEENbEGIDAFAUEHZQACRyAHZZAHHzESODADQ5AQT5AGHjEDQjADMZAVCQEQAjEUQxAGD0EDWgEVJaEASSAHKJEGddAGOkEEUTEDFaEAXTEQIFAEZeARNGADM1AEM2AEXBEQdTEEb3AHO0ADQ6AXemERchAGeQACV/AGbGAGO1ADMEADQUADQpAQVhAGbQAHabAUScEYTVEDNlAZNRADi9EYIEAEkQEHaJAGbkAZQ1ADOFAbMlETYvAGbiAajbEDNiADNUAEwpEQQTAHaNAbTWEDyzEDwCETbPAGdUAGjqEUvmEDRGADOWADOJAQU9AGb7AGTJEcO3ADMmADRXAdqtEUN9AcRnAeqqESR7EDUHEDRXADUjEXYUEH"
Data "bFAGx5EGcDAeOEADAuIT6gECQwAd0rEDQmADDCIENGAgR/AGbzAHZbADRBADRAADQ1AECQEFRhEbbLEDRVADRUADRSADJrERHcEGaTAGRFEVdlAGcrAgQzAENmAjgFEHSFEdTZEDOBAERjAEMaEATLASdEAURsEjo/EbRHADQoADRNAdSjIepsEeUJEQSrARVRID11EfJpEGc4AkALEjv6EXTtIhCtAEucEfIEAmFlIaXpImRREWSPEm5DED9xEEqaEAU3AUeOEmbFAmA7IXQQADOoIUSuAbMiAENUADX6IAQSEHQ0EnRxEoZcIoM2AbNgAmKXEkl2IhMYAajQIhChEGduAYd3IQMIADhzIXgoIUV0AT/KETPIEmCcEEYfAZcwAqOyAqWQEpRFAGKtEGrCEUvSIqLxElCVEENUEHyKEqB2EoMvEGYtARYwIrBQEDMrAhKfIqOyIGMyIHqZItBjEWQ+AtU6ArrwEadpItweEoQ4IodpEH/eEr"
Data "pZED8qIAUvAGedARvcIoNgADRJAmbwICT2ATsEEGvmIENFADQjIvTPAGdFAHc/Ab2gEDRYAfRtIQSFIp7lIm7GEDQfIXCnAFsUEGhMErdyIS9aEvRxAYafAvBpMEY2AhzYEDQjAEfDIFVTEUdzIgQKIvNIMqOiERG0IkBrMEb5AGv1EDOaAxRDIYgtIGYiAzvYIDNxAkQxMGYkAuZZIDNSAE+UIkHOMQRPEnbNAr5YEDQpImT2AzYcAbdxIwJYIfBiMFaSAGuiEbMwAD52EEJWMwRLAUc2AxonIDBIMfrUEGZzAjyFIbORA41CIHbmAG0HEHj3MnNkADYVMEUtIna/A1FrIcPzI5c1EHdHAUcnA5o6MTQqMxCVEzZRAucnAGlDEydiMT4yImM5MtNTAEWHE6wlIGADIFotMrVzE2wzMsaVAsd3IDOSAEQRA7RfIpx+M6PjEEQSIXQeEY2IM1IEEyWVIGcrMy2WIoQ2AE1WMwQeAGjuMRQnAf"
Data "RVA9UBAGYgIod/Ig6lM9U1A+vYIuRBA4JQMFhEEGmpMtN0IwpzMYjKE2dxIkRMAhG/MpEEQEAnQ6/GI1vFEEZ3AGvSIEBINBHtIRIIMURsIGTcE/E4QrnzIE/iIbRQADA1QyV1AnNFIEQtAwRiAXQdAiNnMnRjBDbVMyQaAHdbAUOyBENNRCHZMkdbIDNsJE1uNEQRAHddAZNREbFpIDfrE+3KEARcAfY0AHafEid5IDQVIEp2NFWNQGWuQGFnIDA0QEpfJCcgMCbyAHINBGYaAtU0QFcrAbayNAAlQwsAICWgAaNyEbNTBHayQ4iJQrZzAhsoED9CME1TMEeNEf8lEZOcQ+iEQEMvMdbrAwJ4Ii1UMFaWAGZiA32ZMhUeIqd8QbTwAHYXBFXAQS95E0iIQEFMIR5PEkQkIkTqBHzzIjvGE2dHA+IYMDQ6IvTVAGZLAWxUIFSHRFTFMhhvFMNgI61yQH2RQmFkIDUXEdmqEAWsIGKWQGYYIG"
Data "hoEjvDQvZ7AUw0IeOhM8NWASAhEGdwAqolEG9lROOqQvy0QU/6MUAdU3RRAEOSA5QHEs4CRO23QV+ZIv3fE/4LQfS6JQhqEpRNAqKkJNbMFHV5RFaRFHtZI1OMAnCdU8x5E8MJA4kNIj7gQCElUH2gQn9nErcxFQGwVQAjUkWZMmVFA+HmEQrRJSfYJQ9SQbJ4IDOXAD+qQAYPEddXA5YeA4QSUbN4ADOLAc6KQuW+VSljQgYhA9CYEEYaAHgFJWvxED93EbCmAFw/IGxfJWbBMRrmIEycRVv2ED92EeEDUpIGAEetRJfxUcYxFXIlVNBxUGf+U3geUojkVSh1U4SPJWO1EeIoFR/RRQZPBX5XQfjaUAULBFkpU1iFEqSoARZ9Amm/Uo6IIfU0ATbSBIdSFbpUUk0jRSxTIFcIBSHyRbrWJamJVYb3UiORAcYFRWB6MSu/EbQbAnMsAzwhUbxOVUhkFd20JBGjFaMRAEwPIcbyAje7RZDAUD"
Data "NUBVzzUFbhAG4fEbwYMV+OFDaTAsf4UjiGFazxUEcAAHtHIY/EUkWYAXmPNXNSADGmJaS3Bg1LFdA8Ze3qIFd2U1HGVP8eJIfGIEgqRdHeVQN3JJi6FQIAAF5WMxURUSwAMUkREQeyQEVaE2b2UbQsAgVCUplNJUHZUzWMFSsnMGWARff5UvQiBTfBIEdvAGYxAGKfNXQgASMjAgHhImHDEGsPEGRCZB3GIW6hIQovVWezIEXURVSMAWbZBdViMHYLZdj8RSxUQ7dRAQCQY1b9YddPAGAfYpEpJg9aEdpeJDZxAGGCYbnFMEP8Ip6dRkhEYZa8QgafJWBhE4BsEsGuFAbNZRD2MEMIEr/cQbNDZHN2BaM+EsS1ExFgIkm2ZahKNVg/RWI7NpzAUmboAk9ARiRPQjJJZfVIAGbCEGC1Ii1CUXBqUoBxRFfkEEUJIQRhVZbyVFjQI6z2Vg60QYCxIDqkYkReE8jKYzh1ZZCiAhbHBAbiBIC/M5"
Data "RBAEN1AqayUHMiImSREZ5kYwMjBV3YERIDBtmKNEX3QfCZFv1UZDlFZVesQb/1YYA6QprmI/CaMRtLZvgYMuu1M+bUFDOVIkZVBKBwIbrSRdA/RMidZAbjAHPvNwUXI3ZcAQFmIEDyMcdwMdpqRyOnQdZuE+dJAGuSQraSAfPJRDTiITt3VLZ5BSRlAf8wMYcnNl0+RDpbQwgZNDQwA6nKES6+RHRsAXNRAE6EQFeCQEgnQHMcQhYpNoJyYQ7+R0YlMqTVAxHLFm+5ZscyUFdbA3j0MEdTAQjmFwbmdcXJEWThRuTXdBMNBf8ZZfYuB1MRQEO2Naa8JkgqQSICA3ojUTAbVNRsAoDJJo6tJKjqdENpYDpiUEAUUjm+YSoyY3HJEgcKByPAQcghNQ+HZg1XZoWQd6h0cUdSBoOCQD6WYDgoNEKQQZb7AwBAMlWQMUAQUgZHdl+xY8mGER2aU5hxdF0oMe6XJlE/JAFQN71FYYRQAk5NUnkZcq"
Data "0kc/aUQDoGMELAICTFA+ZuAm0jcEOVMaroIwckNW8XYhlyF42RZ5UcQoPTFLE7IG+PV+hCEbQzJepscYGuERIlYEtXc/FtMoQcA53rIENDGAOxAE6KYdaWJVgGJ4BhhFMZBGDcJ3u9FWUeQkVuctq+Q4e1R/72Mh8cdSYyETsQFfpRRFkQN6csYfHoMGB6aBRiA9AkNYQ/F3w1JuQ+hVo5ZnqkcjUMIeMzADCRF8C6MdvUeFUxFfBfh18/E3qNFbS8ZkI2dJ9FYWxSEHbTB+IugTT2KE4WdKYrIbcgRWw1EyTbBkNGEYXUQEg6UAW1cHqsdNcOEtg9FKAfUbDdMXSWN7oVcT8yESIYFOUjBNrAEaDzFHCmZa/vMZfjRHevETChCDW+VlOogY6oYaCRF3YnJswGGD+3KJh4UHx1Ybo4YGSxYZUBR/WNeJ07QbfmQjyyFw9nNL/nIwjCGDI1IaokYka8V9JVaKFoIeODKKUMAWcDCAtaSMjqNE"
Data "WWNdUrMbYiIHdmdzgzQYcZSM9qdyWVNOPIMRaVEh67iM6KGKfLIm75Nl07hvrUIDrpJj9OiNRvBV+0c5ORE4m+gqQnA/4TEm6sePBMlSc2VQp9hxDhVWy8aOKEWNXkWBfBKQFhlDMZAzJkhFZ9NAOWEf6iZqXFE+vGGJTTdVw2EWnMEftJZaMcmMjrKKfZKLA5FdAkmN7FVfrDhN+7Yq3dF4P7hvUiZwcec1IKCT7iED4ZgQfSUHjJEWUnmURDcw4nWV7WIX75OTXQkcdlYkpxJZOmkiVWlaEiMjXGluY8Fp4MYYqmcG5ahzFxISLFUykycmbpA6cnlslzGKk5eVjqGT6JIY+BgGuShobqBCloEQVQUb65QGJlY8UDiCLzFqylg747IDknMQJROTj7FFozkRguctQoBEQWZKTfFMBgGWltlJgvkQYeMwnvUqEyJaOlkfItGJ+OUG8DUfmBEDnWh/aQGKfYGWRtAuhuciBNEq67V4NVFJ8xED"
Data "6xWLH0JSqCVHGuIofFJXbCAjSLImgiRdwekooOOdxVKe50ke4qlgrEghjgGdbrB8oUgi3oKNNkMeKxcEc1V362RiSBRgcrRywQE6/DIHbfiFPjYgfHKB8ZWZDjqDT8MqaYJabvAz1YYYLBVVLQQHYjKdJhYbBBGi0VOF+0Ih1Agk6CYXGApv4jYiNgI8ANkfM+Ix/fc5YxYkVPZBHUoQRnBB9WFHE4NnvAEWsalEUDdAVOahbiJ3YhBbIhI4hQQ6JyEmivminWdjYyOlRUpdm5YmBkWkSlSm03OVAYFm+oiiHqpEafQkCpeiUvml9rEnRjamxhImTWEfDjVeuEFNVPciaeqc1OWBNQFf58gbaUp0HsknZAJTbFkah7ZuExOnRUqMWWeFN8SAgwSpN9KLm5EGkbElU7kXtdE9yLepSqRgX0UkRHogg8hk8mUiJZID7nmn7FdKizYiPLFaCeEEZSCqKQqrIkFd++Q4tFZ1QjRDJTNK3yEHrzEx"
Data "QchkILAmzRpMfZEVu8p3n1KsxyqnDUOFp2M/bWIFp/qDhIkhpmF8gShn//Gq6IJ1/aYm0/RY64qqSLKYQVCVJskvQYYUabozPZEdXIFEtFavMRCwSXM/aGAGclavwdETLRqQYFE5YXGqj4qsB3uxHkI1C9JFUFIy/Dpn2FittFIftQEpKpugIIAWYUIZoiY/HEo1B7qycEIfTyM7psQQb2AYRsYq/omgbaKHIrc68PQSL3u0SLFWKXgimgIpHXQGAXZ6cPWPPVkdhFgiWLdUMNsmitIWI9MTwXIsCHNlKDGfTcuhT2tYmDMjGqhuiddb+kpSaqswC2IZ8uchcBsEGvEseeCK1ihBRBKQKLsR82ErHGKq/Tofb/FMZiG2SDFWdlIx76Q1LVc25oUXjlG5Aaop9fO089EXJVJEenAUV6azCTofJXs6vvVYoSsggeVzijYHb1qwpQuwV0G6O2ssHFeofDsWp0MFecCcj1q6iIF1mpRb2he6n1ce"
Data "vxuzJ/Edc+BHUDNMJYMEeHGqZZRnu7uz+dd6f5kWbTAH0oUio4sflcsajEFJB8i+ZVMVAhFFQAISYESpyIGoIwM1+LEmdSAjIwIDRnY6J4M/zNm6tHIj1DM00GE4d/WqRCg/xgsbYkIrfzg2b+EhM5IGd5CitHJoK9RpMgJze9ShZIhlIxJC81bCw3JAe2SlZdIXJsJDHVwTHmGk9NMwn2VbQjhAJZImJ8EGQ5FzO7dG6lNDsLFzNFQy/w8="


Hier der Inhalt der Datei ColorConstants.txt, die beim ersten Start erzeugt wird:
Code:

Black;000000
Night;0C090A
Gunmetal;2C3539
Midnight;2B1B17
Charcoal;34282C
Dark Slate Grey;25383C
Oil;3B3131
Black Cat;413839
Iridium;3D3C3A
Black Eel;463E3F
Black Cow;4C4646
Gray Wolf;504A4B
Vampire Gray;565051
Gray Dolphin;5C5858
Carbon Gray;625D5D
Ash Gray;666362
Cloudy Gray;6D6968
Smokey Gray;726E6D
Gray;736F6E
Granite;837E7C
Battleship Gray;848482
Gray Cloud;B6B6B4
Gray Goose;D1D0CE
Platinum;E5E4E2
Metallic Silver;BCC6CC
Blue Gray;98AFC7
Light Slate Gray;6D7B8D
Slate Gray;657383
Jet Gray;616D7E
Mist Blue;646D7E
Marble Blue;566D7E
Slate Blue;737CA1
Steel Blue;4863A0
Blue Jay;2B547E
Dark Slate Blue;2B3856
Midnight Blue;151B54
Navy Blue;000080
Blue Whale;342D7E
Lapis Blue;15317E
Denim Dark Blue;151B8D
Earth Blue;0000A0
Cobalt Blue;0020C2
Blueberry Blue;0041C2
Sapphire Blue;2554C7
Blue Eyes;1569C7
Royal Blue;2B60DE
Blue Orchid;1F45FC
Blue Lotus;6960EC
Light Slate Blue;736AFF
Windows Blue;357EC7
Glacial Blue Ice;368BC1
Silk Blue;488AC7
Blue Ivy;3090C7
Blue Koi;659EC7
Columbia Blue;87AFC7
Baby Blue;95B9C7
Light Steel Blue;728FCE
Ocean Blue;2B65EC
Blue Ribbon;306EFF
Blue Dress;157DEC
Dodger Blue;1589FF
Cornflower Blue;6495ED
Sky Blue;6698FF
Butterfly Blue;38ACEC
Iceberg;56A5EC
Crystal Blue;5CB3FF
Deep Sky Blue;3BB9FF
Denim Blue;79BAEC
Light Sky Blue;82CAFA
Day Sky Blue;82CAFF
Jeans Blue;A0CFEC
Blue Angel;B7CEEC
Pastel Blue;B4CFEC
Sea Blue;C2DFFF
Powder Blue;C6DEFF
Coral Blue;AFDCEC
Light Blue;ADDFFF
Robin Egg Blue;BDEDFF
Pale Blue Lily;CFECEC
Light Cyan;E0FFFF
Water;EBF4FA
AliceBlue;F0F8FF
Azure;F0FFFF
Light Slate;CCFFFF
Light Aquamarine;93FFE8
Electric Blue;9AFEFF
Aquamarine;7FFFD4
Cyan or Aqua;00FFFF
Tron Blue;7DFDFE
Blue Zircon;57FEFF
Blue Lagoon;8EEBEC
Celeste;50EBEC
Blue Diamond;4EE2EC
Tiffany Blue;81D8D0
Cyan Opaque;92C7C7
Blue Hosta;77BFC7
Northern Lights Blue;78C7C7
Medium Turquoise;48CCCD
Turquoise;43C6DB
Jellyfish;46C7C7
Blue green;7BCCB5
Macaw Blue Green;43BFC7
Light Sea Green;3EA99F
Dark Turquoise;3B9C9C
Sea Turtle Green;438D80
Medium Aquamarine;348781
Greenish Blue;307D7E
Grayish Turquoise;5E7D7E
Beetle Green;4C787E
Teal;008080
Sea Green;4E8975
Camouflage Green;78866B
Sage Green;848b79
Hazel Green;617C58
Venom Green;728C00
Fern Green;667C26
Dark Forest Green;254117
Medium Sea Green;306754
Medium Forest Green;347235
Seaweed Green;437C17
Pine Green;387C44
Jungle Green;347C2C
Shamrock Green;347C17
Medium Spring Green;348017
Forest Green;4E9258
Green Onion;6AA121
Spring Green;4AA02C
Lime Green;41A317
Clover Green;3EA055
Green Snake;6CBB3C
Alien Green;6CC417
Green Apple;4CC417
Yellow Green;52D017
Kelly Green;4CC552
Zombie Green;54C571
Frog Green;99C68E
Green Peas;89C35C
Dollar Bill Green;85BB65
Dark Sea Green;8BB381
Iguana Green;9CB071
Avocado Green;B2C248
Pistachio Green;9DC209
Salad Green;A1C935
Hummingbird Green;7FE817
Nebula Green;59E817
Stoplight Go Green;57E964
Algae Green;64E986
Jade Green;5EFB6E
Green;00FF00
Emerald Green;5FFB17
Lawn Green;87F717
Chartreuse;8AFB17
Dragon Green;6AFB92
Mint green;98FF98
Green Thumb;B5EAAA
Light Jade;C3FDB8
Tea Green;CCFB5D
Green Yellow;B1FB17
Slime Green;BCE954
Goldenrod;EDDA74
Harvest Gold;EDE275
Sun Yellow;FFE87C
Yellow;FFFF00
Corn Yellow;FFF380
Parchment;FFFFC2
Cream;FFFFCC
Lemon Chiffon;FFF8C6
Cornsilk;FFF8DC
Beige;F5F5DC
Blonde;FBF6D9
AntiqueWhite;FAEBD7
Champagne;F7E7CE
BlanchedAlmond;FFEBCD
Vanilla;F3E5AB
Tan Brown;ECE5B6
Peach;FFE5B4
Mustard;FFDB58
Rubber Ducky Yellow;FFD801
Bright Gold;FDD017
Golden brown;EAC117
Macaroni and Cheese;F2BB66
Saffron;FBB917
Beer;FBB117
Cantaloupe;FFA62F
Bee Yellow;E9AB17
Brown Sugar;E2A76F
BurlyWood;DEB887
Deep Peach;FFCBA4
Ginger Brown;C9BE62
School Bus Yellow;E8A317
Sandy Brown;EE9A4D
Fall Leaf Brown;C8B560
Orange Gold;D4A017
Sand;C2B280
Cookie Brown;C7A317
Caramel;C68E17
Brass;B5A642
Khaki;ADA96E
Camel brown;C19A6B
Bronze;CD7F32
Tiger Orange;C88141
Cinnamon;C58917
Bullet Shell;AF9B60
Dark Goldenrod;AF7817
Copper;B87333
Wood;966F33
Oak Brown;806517
Moccasin;827839
Army Brown;827B60
Sandstone;786D5F
Mocha;493D26
Taupe;483C32
Coffee;6F4E37
Brown Bear;835C3B
Red Dirt;7F5217
Sepia;7F462C
Orange Salmon;C47451
Rust;C36241
Red Fox;C35817
Chocolate;C85A17
Sedona;CC6600
Papaya Orange;E56717
Halloween Orange;E66C2C
Pumpkin Orange;F87217
Construction Cone Orange;F87431
Sunrise Orange;E67451
Mango Orange;FF8040
Dark Orange;F88017
Coral;FF7F50
Basket Ball Orange;F88158
Light Salmon;F9966B
Tangerine;E78A61
Dark Salmon;E18B6B
Light Coral;E77471
Bean Red;F75D59
Valentine Red;E55451
Shocking Orange;E55B3C
Red;FF0000
Scarlet;FF2400
Ruby Red;F62217
Ferrari Red;F70D1A
Fire Engine Red;F62817
Lava Red;E42217
Love Red;E41B17
Grapefruit;DC381F
Chestnut Red;C34A2C
Cherry Red;C24641
Mahogany;C04000
Chilli Pepper;C11B17
Cranberry;9F000F
Red Wine;990012
Burgundy;8C001A
Chestnut;954535
Blood Red;7E3517
Sienna;8A4117
Sangria;7E3817
Firebrick;800517
Maroon;810541
Plum Pie;7D0541
Velvet Maroon;7E354D
Plum Velvet;7D0552
Rosy Finch;7F4E52
Puce;7F5A58
Dull Purple;7F525D
Rosy Brown;B38481
Khaki Rose;C5908E
Pink Bow;C48189
Lipstick Pink;C48793
Rose;E8ADAA
Rose Gold;ECC5C0
Desert Sand;EDC9AF
Pig Pink;FDD7E4
Cotton Candy;FCDFFF
Pink Bubble Gum;FFDFDD
Misty Rose;FBBBB9
Pink;FAAFBE
Light Pink;FAAFBA
Flamingo Pink;F9A7B0
Pink Rose;E7A1B0
Pink Daisy;E799A3
Cadillac Pink;E38AAE
Carnation Pink;F778A1
Blush Red;E56E94
Hot Pink;F660AB
Watermelon Pink;FC6C85
Violet Red;F6358A
Deep Pink;F52887
Pink Cupcake;E45E9D
Pink Lemonade;E4287C
Neon Pink;F535AA
Magenta;FF00FF
Dimorphotheca Magenta;E3319D
Bright Neon Pink;F433FF
Pale Violet Red;D16587
Tulip Pink;C25A7C
Medium Violet Red;CA226B
Rogue Pink;C12869
Burnt Pink;C12267
Bashful Pink;C25283
Dark Carnation Pink;C12283
Plum;B93B8F
Viola Purple;7E587E
Purple Iris;571B7E
Plum Purple;583759
Indigo;4B0082
Purple Monster;461B7E
Purple Haze;4E387E
Eggplant;614051
Grape;5E5A80
Purple Jam;6A287E
Dark Orchid;7D1B7E
Purple Flower;A74AC7
Medium Orchid;B048B5
Purple Amethyst;6C2DC7
Dark Violet;842DCE
Violet;8D38C9
Purple Sage Bush;7A5DC7
Lovely Purple;7F38EC
Purple;8E35EF
Aztech Purple;893BFF
Medium Purple;8467D7
Jasmine Purple;A23BEC
Purple Daffodil;B041FF
Tyrian Purple;C45AEC
Crocus Purple;9172EC
Purple Mimosa;9E7BFF
Heliotrope Purple;D462FF
Crimson;E238EC
Purple Dragon;C38EC7
Lilac;C8A2C8
Blush Pink;E6A9EC
Mauve;E0B0FF
Wisteria Purple;C6AEC7
Blossom Pink;F9B7FF
Thistle;D2B9D3
Periwinkle;E9CFEC
Lavender Pinocchio;EBDDE2
Lavender blue;E3E4FA
Pearl;FDEEF4
SeaShell;FFF5EE
Milk White;FEFCFF
White;FFFFFF


Die App ist noch in der Entwicklung...
_________________
Gruß,
UEZ


Zuletzt bearbeitet von UEZ am 28.02.2020, 10:03, insgesamt 6-mal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 25.02.2020, 15:46    Titel: Antworten mit Zitat

Hallo URZ!

Beim Compilieren bekomme ich die Fehlermeldung:
    ...\FreeBASIC-1_05_0\bin\win32\ld.exe: cannot find -lz
Liegt das an meiner veralteten FB-Version (1.05) oder brauche ich noch irgendeine externe Bibliothek?

Ansonsten: Tolles Tool, die Idee könnte glatt von mir sein. zwinkern Daumen rauf! Vielleicht (nur mal als Anregung) könnte man noch einen Farbeditor integrieren?

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 25.02.2020, 16:10    Titel: Antworten mit Zitat

grindstone hat Folgendes geschrieben:
Hallo URZ!

Beim Compilieren bekomme ich die Fehlermeldung:
    ...\FreeBASIC-1_05_0\bin\win32\ld.exe: cannot find -lz
Liegt das an meiner veralteten FB-Version (1.05) oder brauche ich noch irgendeine externe Bibliothek?

Ansonsten: Tolles Tool, die Idee könnte glatt von mir sein. zwinkern Daumen rauf! Vielleicht (nur mal als Anregung) könnte man noch einen Farbeditor integrieren?

Gruß
grindstone


Hallo grindstone,

danke für dein Feedback. Ich dachte, dass die ZLib standardmäßig dabei ist, aber anscheinend doch nicht.
Im 1. Beitrag oben habe ich einen Download Link angeben, wo die benötigten Dateien in dem Zip Archiv hinterlegt sind. Ich hoffe, dass die Dateien vollständig sind.

Farbeditor?!? - hmm, muss ich mir noch überlegen, wie ich ihn integrieren soll.

Hat jemand eine Idee, wie ich bei Verwendung von LVS_EX_FULLROWSELECT verhindern kann, dass die Auswahl der Zeile nicht die letzte Spalte markiert und somit die Farbe überschreibt?

Eine Autoit Lösung habe ich, aber einige Funktionen nach FB zu übersetzen ist nicht ganz trivial...
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 26.02.2020, 16:20    Titel: Antworten mit Zitat

Das Programm will irgendwie nicht. Mit den Dateien von dem angegebenen Link bekomme ich dieselbe Fehlermeldung, und wenn ich die einzige libz.dll, die ich auf dem System habe (von Avidemux), in den Programmodner kopiere, compiliert das Programm und startet auch, aber es erscheint nur das Fenster ohne Farben.

Ich würde gerne einen Screenshot hochladen, aber ich bekomme gerade keine Verbindung zum Server.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 26.02.2020, 17:00    Titel: Antworten mit Zitat

Ich habe den Inhalt der Datei ColorConstants.txt in den Post#1 hinzugefügt. Wenn du den Inhalt als Datei erstellst, sollten die Farben sichtbar sein.

Ich werde in einer VM FB installieren und testen, warum das Kompilieren nicht funzt.

Funktioniert eigentlich das Zip Archiv mit der bereits kompilierten Exe?
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 27.02.2020, 10:20    Titel: Antworten mit Zitat

Ich habe jetzt die ZLib Komprimierung durch die Windows interne ersetzt. Jetzt sollte das Problem mit ZLib (zlib1.dll) nicht mehr existieren und die Farbtabelle sollte erstellt werden!
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5952
Wohnort: Deutschland

BeitragVerfasst am: 27.02.2020, 12:30    Titel: LZW-Codec in der Gfxlib Antworten mit Zitat

UEZ hat Folgendes geschrieben:
Ich habe jetzt die ZLib Komprimierung durch die Windows interne ersetzt.

Die FreeBASIC-gfxlib, die sowieso plattformunabhängig eingebunden wird, enthält übrigens auch schon fertige (De-)Kompressions-Routinen (LZW). lächeln

Siehe Unterabschnitt "LZW-Codec in der Gfxlib" unter:
https://www.freebasic-portal.de/befehlsreferenz/tipps-und-tricks-465.html
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 27.02.2020, 14:47    Titel: Re: LZW-Codec in der Gfxlib Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
UEZ hat Folgendes geschrieben:
Ich habe jetzt die ZLib Komprimierung durch die Windows interne ersetzt.

Die FreeBASIC-gfxlib, die sowieso plattformunabhängig eingebunden wird, enthält übrigens auch schon fertige (De-)Kompressions-Routinen (LZW). lächeln

Siehe Unterabschnitt "LZW-Codec in der Gfxlib" unter:
https://www.freebasic-portal.de/befehlsreferenz/tipps-und-tricks-465.html


Danke für den Tipp. Ich habe jetzt LZW in mein Tool "FB File2Bas Code Generator" integriert, aber wie kann ich das Fenster, das mit Screenres geöffnet wurde, wieder schließen?
Ich weiß, da war was, aber ich kann es momentan nicht finden...happy
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5952
Wohnort: Deutschland

BeitragVerfasst am: 27.02.2020, 15:10    Titel: #include "fbgfx.bi" Antworten mit Zitat

Wenn du
Code:
#include "fbgfx.bi"

am Anfang einbindest, müsste es auch ohne SCREENRES-Aufruf gehen. lächeln

Hat bei mir gerade zumindest geklappt. lächeln
_________________

Der Markt regelt das! | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 27.02.2020, 15:13    Titel: Re: LZW-Codec in der Gfxlib Antworten mit Zitat

UEZ hat Folgendes geschrieben:
wie kann ich das Fenster, das mit Screenres geöffnet wurde, wieder schließen?
Bei einem Klick auf das Kreuz liefert INKEY den Wert Chr(255,107).
Code:
ScreenRes 600,600
Do
   Sleep 1
Loop Until InKey = Chr(255,107)


Alternativ kannst du das Programm auch mit "console" compilieren. Dann verschwindet beim Schließen des Konsolenfensters auch das Screenres - Fenster.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 27.02.2020, 15:47    Titel: Re: #include "fbgfx.bi" Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Wenn du
Code:
#include "fbgfx.bi"

am Anfang einbindest, müsste es auch ohne SCREENRES-Aufruf gehen. lächeln

Hat bei mir gerade zumindest geklappt. lächeln


Yep, danke funktioniert ohne Screenres! cool

@grindstone: danke für die alternativ Lösung.
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 27.02.2020, 16:10    Titel: Antworten mit Zitat

@UEZ: Das Programm compiliert jetzt, beim Erstellen der Farbtabelle gibt es aber noch Probleme: Beim Erstellen von "ColorConstants.txt" stürzt das Programm mit einer Schutzverletzung ab, hinterlässt aber eine leere Datei. Beim zweiten Start erscheint dann das Fenster, aber ohne Farbwerte. Wenn ich die geposteten Farbwerte in die Datei kopiere, läuft alles einwandfrei.

Das Problem liegt in "pRtlDecompressBufferEx". Die eigentliche Ursache ist aber möglicherweise mein Betriebssystem. Ich benutze (immer noch) XP.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 27.02.2020, 16:36    Titel: Antworten mit Zitat

grindstone hat Folgendes geschrieben:
@UEZ: Das Programm compiliert jetzt, beim Erstellen der Farbtabelle gibt es aber noch Probleme: Beim Erstellen von "ColorConstants.txt" stürzt das Programm mit einer Schutzverletzung ab, hinterlässt aber eine leere Datei. Beim zweiten Start erscheint dann das Fenster, aber ohne Farbwerte. Wenn ich die geposteten Farbwerte in die Datei kopiere, läuft alles einwandfrei.

Das Problem liegt in "pRtlDecompressBufferEx". Die eigentliche Ursache ist aber möglicherweise mein Betriebssystem. Ich benutze (immer noch) XP.

Gruß
grindstone


WindowsXP!?! Daran liegt es wohl, denn laut MS setzt die Funktion RtlDecompressBufferEx mindestens Windows 8 voraus.
¯\_(ツ)_/¯
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 27.02.2020, 17:38    Titel: Antworten mit Zitat

Na, dann hätten wir ja den Übeltäter... grinsen

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 28.02.2020, 08:51    Titel: Antworten mit Zitat

Ich habe jetzt die Komprimierung auf LZW umgestellt, damit auch "ältere" BS die Datei entpacken und erstellen können.

Bitte mal testen!

Danke.

PS: danke an Sebastian für den Hinweis bezgl. LZW Komprimierung. lächeln
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 1153
Wohnort: Ruhrpott

BeitragVerfasst am: 28.02.2020, 14:40    Titel: Antworten mit Zitat

Herzlichen Glückwunsch, jetzt läuft es! happy Daumen rauf!

Einige kleine Schönheitsfehler gibt es noch: Der Inhalt des Fensters lässt sich erst dann mit dem Mausrad scrollen, wenn ein Element markiert ist, und die Pfeil- und Bildtasten funktionieren überhaupt (noch) nicht.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
UEZ



Anmeldungsdatum: 24.06.2016
Beiträge: 128
Wohnort: Opel Stadt

BeitragVerfasst am: 28.02.2020, 15:12    Titel: Antworten mit Zitat

Danke für's Testen!

Sobald ich mit der Maus über dem Fenster bin, kann ich per Scrollrad scrollen. Kann sein, dass das ein Feature von dem Maustreiber ist.

Die Tasten muss ich noch coden. lächeln

Ich habe auch das Maximieren bzw. GUI Größe ändern herausgenommen.

Ich werde noch ein Color Picker hinzufügen, so dass eine Farbe vom Desktop mit der Maus selektiert werden kann.
_________________
Gruß,
UEZ
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Projektvorstellungen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz