Examples/LazResExplorer: Misc improvements (display png, groupiccon and groupcursor resources as images, display image info, activate high-dpi-awareness).

This commit is contained in:
wp_xyz 2025-08-13 00:37:18 +02:00
parent 2bf4c5575d
commit 0b7e51921f
20 changed files with 1288 additions and 231 deletions

View File

@ -34,6 +34,10 @@ msgstr "Datum sestavení : "
msgid "Carbon widget set"
msgstr "Sada widgetů Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Konec"
@ -53,13 +57,23 @@ msgid "FpGUI widget set"
msgstr "Sada widgetů FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Sada widgetů GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Sada widgetů GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Nápověda"
@ -68,6 +82,15 @@ msgstr "Nápověda"
msgid "Image"
msgstr "Obrázek"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Verze LCL: "
@ -76,6 +99,10 @@ msgstr "Verze LCL: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Tento program je svobodný software pod licencí GNU GPL 2, podívejte se do souboru COPYING"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
#, fuzzy
#| msgid "Open..."
@ -86,6 +113,22 @@ msgstr "Otevřít..."
msgid "Other gui"
msgstr "Jiné GUI"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Sada widgetů QT"
@ -120,6 +163,10 @@ msgstr "Cílový CPU : "
msgid "Target OS: "
msgstr "Cílový OS : "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Sada widgetů Win32/Win64"

View File

@ -1,38 +1,40 @@
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: \n"
"Last-Translator: Swen Heinig <swen.heinig@freenet.de>\n"
"Language-Team: \n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 3.6\n"
#: reconstsunit.sabout
#, fuzzy
#| msgid "About..."
msgid "About ..."
msgstr "Über..."
#: reconstsunit.sallfilesexcutablefilesexeexedlldlldll
msgid "All files (*.*)|*.*|Excutable files (*.exe)|*.exe|DLL (*.dll)|*.dll"
msgstr ""
msgstr "Alle Dateien (*.*)|*.*|Ausführbare Dateien (*.exe)|*.exe|DLL(*.dll)|*.dll"
#: reconstsunit.sallfilessharedlibsoso
msgid "All files (*)|*|Shared libraries (*.so)|*.so"
msgstr ""
msgstr "Alle Dateien (*)|Bibliotheksdateien (*.so)|*.so"
#: reconstsunit.sbuilddate
#, fuzzy
#| msgid "Build date : "
msgid "Build date: "
msgstr "Build-Datum :"
msgstr "Build-Datum: "
#: reconstsunit.scarbonwidgetset
msgid "Carbon widget set"
msgstr ""
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Beenden"
@ -42,23 +44,29 @@ msgid "File"
msgstr "Datei"
#: reconstsunit.sfpcversion
#, fuzzy
#| msgid "FPC version : "
msgid "FPC version: "
msgstr "FPC-Version :"
msgstr "FPC-Version: "
#: reconstsunit.sfpguiwidgetset
msgid "FpGUI widget set"
msgstr ""
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr ""
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr ""
#: reconstsunit.sheight
msgid "Height:"
msgstr "Höhe:"
#: reconstsunit.shelp
msgid "Help"
msgstr "Hilfe"
@ -67,55 +75,82 @@ msgstr "Hilfe"
msgid "Image"
msgstr "Bild"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr "Bild-Index:"
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr "%d von %d"
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "LCL-Version:"
msgstr "LCL-Version: "
#: reconstsunit.slicense
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr ""
msgstr "Dieses Programm ist freie Software unter der GNU GPL 2 Lizenz, siehe Datei COPYING"
#: reconstsunit.snextimage
msgid "Next image"
msgstr "Nächstes Bild"
#: reconstsunit.sopen
#, fuzzy
#| msgid "Open..."
msgid "Open ..."
msgstr "Öffnen..."
msgstr "Öffnen ..."
#: reconstsunit.sotherguiwidgetset
msgid "Other gui"
msgstr ""
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr "Pixel-Format:"
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr "Voriges Bild"
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr ""
#: reconstsunit.sresourceexplorer
msgid "Resource explorer"
msgstr ""
msgstr "Ressource-Explorer"
#: reconstsunit.sresources
msgid "Resources"
msgstr ""
msgstr "Ressourcen"
#: reconstsunit.ssaveresource
msgid "Save resource ..."
msgstr ""
msgstr "Ressource speichern ..."
#: reconstsunit.sstrings
msgid "Strings"
msgstr ""
msgstr "Strings"
#: reconstsunit.stargetcpu
#, fuzzy
#| msgid "Target CPU : "
msgid "Target CPU: "
msgstr "Ziel-CPU :"
msgstr "Ziel-CPU: "
#: reconstsunit.stargetos
#, fuzzy
#| msgid "Target OS : "
msgid "Target OS: "
msgstr "Ziel-OS :"
msgstr "Ziel-OS: "
#: reconstsunit.swidth
msgid "Width:"
msgstr "Breite:"
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"

View File

@ -29,6 +29,10 @@ msgstr "Fecha de Construcción: "
msgid "Carbon widget set"
msgstr "Conjunto de widget Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Salir"
@ -46,13 +50,23 @@ msgid "FpGUI widget set"
msgstr "Conjunto de widget FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Conjunto de widget GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Conjunto de widget GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Ayuda"
@ -61,6 +75,15 @@ msgstr "Ayuda"
msgid "Image"
msgstr "Imagen"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Versión LCL: "
@ -69,6 +92,10 @@ msgstr "Versión LCL: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Este programa es software libre bajo licencia GNU GPL 2, ver archivo COPYING"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Abrir..."
@ -77,6 +104,22 @@ msgstr "Abrir..."
msgid "Other gui"
msgstr "Otro GUI"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Conjunto de widget QT"
@ -105,6 +148,10 @@ msgstr "CPU Objetivo: "
msgid "Target OS: "
msgstr "S.O. Objetivo: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Conjunto de widget Win32/Win64"

View File

@ -32,6 +32,10 @@ msgstr "Date de création : "
msgid "Carbon widget set"
msgstr "Jeu graphique Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Quitter"
@ -49,13 +53,23 @@ msgid "FpGUI widget set"
msgstr "Jeu graphique FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Jeu graphique GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Jeu graphique GTK 1"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Aide"
@ -64,6 +78,15 @@ msgstr "Aide"
msgid "Image"
msgstr "Image"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Version LCL : "
@ -72,6 +95,10 @@ msgstr "Version LCL : "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Ce programme est libre et édité sous la licence GNU GPL 2 (voir le fichier COPYING)"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Ouvrir..."
@ -80,6 +107,22 @@ msgstr "Ouvrir..."
msgid "Other gui"
msgstr "Autre GUI"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Jeu graphique QT"
@ -108,6 +151,10 @@ msgstr "Processeur cible : "
msgid "Target OS: "
msgstr "OS cible : "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Jeu graphique Win32/Win64"

View File

@ -31,6 +31,10 @@ msgstr "Építés dátuma: "
msgid "Carbon widget set"
msgstr "Carbon vezérlőkészlet"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Kilépés"
@ -48,13 +52,23 @@ msgid "FpGUI widget set"
msgstr "FpGUI vezérlőkészlet"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "GTK 2 vezérlőkészlet"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "GTK vezérlőkészlet"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Súgó"
@ -63,6 +77,15 @@ msgstr "Súgó"
msgid "Image"
msgstr "Kép"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "LCL változat:"
@ -71,6 +94,10 @@ msgstr "LCL változat:"
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Ez a program szabad szoftver GNU GPL 2 licenc alatt, lásd a COPYING fájlt!"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Megnyitás ..."
@ -79,6 +106,22 @@ msgstr "Megnyitás ..."
msgid "Other gui"
msgstr "Egyéb GUI"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "QT vezérlőkészlet"
@ -107,6 +150,10 @@ msgstr "Cél CPU: "
msgid "Target OS: "
msgstr "Cél OS: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Win32/Win64 vezérlőkészlet"

View File

@ -33,6 +33,10 @@ msgstr "Data di compilazione:"
msgid "Carbon widget set"
msgstr "Set di widget Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Esci"
@ -50,13 +54,23 @@ msgid "FpGUI widget set"
msgstr "Set di widget FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Set di widget GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Set di widget GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Aiuto"
@ -65,6 +79,15 @@ msgstr "Aiuto"
msgid "Image"
msgstr "Immagine"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Versione LCL: "
@ -73,6 +96,10 @@ msgstr "Versione LCL: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Questo programma è software libero distribuito sotto la licenza GNU GPL 2, vedi file COPYING"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Apri ..."
@ -81,6 +108,22 @@ msgstr "Apri ..."
msgid "Other gui"
msgstr "Altre gui"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Set di widget QT"
@ -109,6 +152,10 @@ msgstr "CPU di riferimento: "
msgid "Target OS: "
msgstr "SO di riferimento: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Set di widget Win32/Win64"

View File

@ -32,6 +32,10 @@ msgstr "Darymo data:"
msgid "Carbon widget set"
msgstr "Valdikliai „Carbon“"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Baigti darbą"
@ -49,13 +53,23 @@ msgid "FpGUI widget set"
msgstr "Valdikliai „FpGUI“"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Valdikliai „GTK2“"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Valdikliai „GTK“"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Žinynas"
@ -64,6 +78,15 @@ msgstr "Žinynas"
msgid "Image"
msgstr "Paveikslas"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "LCL laida: "
@ -72,6 +95,10 @@ msgstr "LCL laida: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Tai laisvoji programinė įranga, kuriai taikoma GNU GPL 2 licencija (žvilgtelėkite į COPYING failą)"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Atverti…"
@ -80,6 +107,22 @@ msgstr "Atverti…"
msgid "Other gui"
msgstr "Kita grafinė sąsaja"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Valdikliai „QT“"
@ -108,6 +151,10 @@ msgstr "Paskirties procesorius: "
msgid "Target OS: "
msgstr "Paskirties OS: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Valdikliai „Win32/Win64“"

View File

@ -21,6 +21,10 @@ msgstr ""
msgid "Carbon widget set"
msgstr ""
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr ""
@ -38,13 +42,21 @@ msgid "FpGUI widget set"
msgstr ""
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr ""
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr ""
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr ""
@ -53,6 +65,15 @@ msgstr ""
msgid "Image"
msgstr ""
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr ""
@ -61,6 +82,10 @@ msgstr ""
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr ""
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr ""
@ -69,6 +94,22 @@ msgstr ""
msgid "Other gui"
msgstr ""
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr ""
@ -97,6 +138,10 @@ msgstr ""
msgid "Target OS: "
msgstr ""
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr ""

View File

@ -31,6 +31,10 @@ msgstr "Data construção:"
msgid "Carbon widget set"
msgstr "Conjunto \"widget\" Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Sair"
@ -48,13 +52,23 @@ msgid "FpGUI widget set"
msgstr "Conjunto \"widget\" FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Conjunto \"widget\" GTK2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Conjunto \"widget\" GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Ajuda"
@ -63,6 +77,15 @@ msgstr "Ajuda"
msgid "Image"
msgstr "Imagem"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Versão LCL:"
@ -71,6 +94,10 @@ msgstr "Versão LCL:"
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Este programa é \"software\" livre sob a licença GNU GPL 2, veja arquivo \"COPYING\""
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Abrir ..."
@ -79,6 +106,22 @@ msgstr "Abrir ..."
msgid "Other gui"
msgstr "Outro \"gui\""
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Conjunto \"widget\" QT"
@ -107,6 +150,10 @@ msgstr "CPU Alvo:"
msgid "Target OS: "
msgstr "SO Alvo:"
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Conjunto \"widget\" Win32/Win64"

View File

@ -30,6 +30,10 @@ msgstr "Дата сборки: "
msgid "Carbon widget set"
msgstr "Библиотека виджетов Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgctxt "reconstsunit.sexit"
msgid "Exit"
@ -49,13 +53,23 @@ msgid "FpGUI widget set"
msgstr "Библиотека виджетов FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Библиотека виджетов GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Библиотека виджетов GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgctxt "reconstsunit.shelp"
msgid "Help"
@ -66,6 +80,15 @@ msgctxt "reconstsunit.simage"
msgid "Image"
msgstr "Изображение"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Версия LCL: "
@ -74,6 +97,10 @@ msgstr "Версия LCL: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Это свободное ПО, распространяющееся под лицензией GNU GPL версии 2 (см. файл COPYING)."
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgctxt "reconstsunit.sopen"
msgid "Open ..."
@ -83,6 +110,22 @@ msgstr "Открыть ..."
msgid "Other gui"
msgstr "Другая библиотека виджетов"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Библиотека виджетов Qt"
@ -112,6 +155,10 @@ msgstr "Целевой процессор: "
msgid "Target OS: "
msgstr "Целевая ОС: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Библиотека виджетов Win32/Win64"

View File

@ -33,6 +33,10 @@ msgstr "Дата збирання : "
msgid "Carbon widget set"
msgstr "Набір віджетів Carbon"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "Вийти"
@ -50,13 +54,23 @@ msgid "FpGUI widget set"
msgstr "Набір віджетів FpGUI"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "Набір віджетів GTK 2"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "Набір віджетів GTK"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "Довідка"
@ -65,6 +79,15 @@ msgstr "Довідка"
msgid "Image"
msgstr "Зображення"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "Версія LCL: "
@ -73,6 +96,10 @@ msgstr "Версія LCL: "
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "Ця програма є вільним ПЗ, ліцензованим згідно ліцензії GNU GPL 2, див. файл COPYING"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "Відкрити ..."
@ -81,6 +108,22 @@ msgstr "Відкрити ..."
msgid "Other gui"
msgstr "Інший ГІК"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "Набір віджетів QT"
@ -109,6 +152,10 @@ msgstr "Цільовий процесор: "
msgid "Target OS: "
msgstr "Цільова ОС: "
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Набір віджетів Win32/Win64"

View File

@ -32,6 +32,10 @@ msgstr "构建日期:"
msgid "Carbon widget set"
msgstr "Carbon 组件集"
#: reconstsunit.scocoawidgetset
msgid "Cocoa widget set"
msgstr ""
#: reconstsunit.sexit
msgid "Exit"
msgstr "退出"
@ -49,13 +53,23 @@ msgid "FpGUI widget set"
msgstr "FpGUI 组件集"
#: reconstsunit.sgtk2widgetset
msgid "GTK 2 widget set"
#, fuzzy
#| msgid "GTK 2 widget set"
msgid "GTK2 widget set"
msgstr "GTK 2 组件集"
#: reconstsunit.sgtk3widgetset
msgid "GTK3 widget set"
msgstr ""
#: reconstsunit.sgtkwidgetset
msgid "GTK widget set"
msgstr "GTK 组件集"
#: reconstsunit.sheight
msgid "Height:"
msgstr ""
#: reconstsunit.shelp
msgid "Help"
msgstr "帮助"
@ -64,6 +78,15 @@ msgstr "帮助"
msgid "Image"
msgstr "图片"
#: reconstsunit.simageindex
msgid "Image index:"
msgstr ""
#: reconstsunit.sindexofcount
#, object-pascal-format
msgid "%d of %d"
msgstr ""
#: reconstsunit.slclversion
msgid "LCL Version: "
msgstr "LCL 版本:"
@ -72,6 +95,10 @@ msgstr "LCL 版本:"
msgid "This program is free software under GNU GPL 2 license, see COPYING file"
msgstr "本程序是 GNU GPL 2 许可下的自由软件,参见 COPYING 文件"
#: reconstsunit.snextimage
msgid "Next image"
msgstr ""
#: reconstsunit.sopen
msgid "Open ..."
msgstr "打开..."
@ -80,6 +107,22 @@ msgstr "打开..."
msgid "Other gui"
msgstr "其他图形界面"
#: reconstsunit.spixelformat
msgid "Pixel format:"
msgstr ""
#: reconstsunit.sprevimage
msgid "Previous image"
msgstr ""
#: reconstsunit.sqt5widgetset
msgid "QT5 widget set"
msgstr ""
#: reconstsunit.sqt6widgetset
msgid "QT6 widget set"
msgstr ""
#: reconstsunit.sqtwidgetset
msgid "QT widget set"
msgstr "QT 组件集"
@ -108,6 +151,10 @@ msgstr "目标 CPU:"
msgid "Target OS: "
msgstr "目标操作系统:"
#: reconstsunit.swidth
msgid "Width:"
msgstr ""
#: reconstsunit.swin32_64widgetset
msgid "Win32/Win64 widget set"
msgstr "Win32/Win64 组件集"

View File

@ -7,22 +7,30 @@ object reAboutForm: TreAboutForm
Caption = 'reAboutForm'
ClientHeight = 471
ClientWidth = 527
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '0.9.29'
LCLVersion = '4.99.0.0'
OnCreate = FormCreate
object ButtonPanel1: TButtonPanel
Left = 6
Height = 40
Top = 425
Height = 34
Top = 431
Width = 515
OKButton.Name = 'OKButton'
OKButton.DefaultCaption = True
HelpButton.Name = 'HelpButton'
HelpButton.DefaultCaption = True
CloseButton.Name = 'CloseButton'
CloseButton.DefaultCaption = True
CancelButton.Name = 'CancelButton'
CancelButton.DefaultCaption = True
TabOrder = 0
ShowButtons = [pbClose, pbHelp]
end
object Label2: TLabel
AnchorSideTop.Control = Owner
Left = 0
Height = 18
Top = 24
Height = 15
Top = 27
Width = 527
Align = alTop
Alignment = taCenter
@ -32,7 +40,7 @@ object reAboutForm: TreAboutForm
object lblLicense: TLabel
AnchorSideTop.Control = Label2
Left = 0
Height = 18
Height = 15
Top = 42
Width = 527
Align = alTop
@ -44,8 +52,8 @@ object reAboutForm: TreAboutForm
object lblBuildDate: TLabel
AnchorSideTop.Control = lblLicense
Left = 0
Height = 18
Top = 66
Height = 15
Top = 63
Width = 527
Align = alTop
Alignment = taCenter
@ -56,8 +64,8 @@ object reAboutForm: TreAboutForm
object lblLCLVersion: TLabel
AnchorSideTop.Control = lblBuildDate
Left = 0
Height = 18
Top = 84
Height = 15
Top = 78
Width = 527
Align = alTop
Alignment = taCenter
@ -67,8 +75,8 @@ object reAboutForm: TreAboutForm
object lblFPCVersion: TLabel
AnchorSideTop.Control = lblLCLVersion
Left = 0
Height = 18
Top = 102
Height = 15
Top = 93
Width = 527
Align = alTop
Alignment = taCenter
@ -78,8 +86,8 @@ object reAboutForm: TreAboutForm
object lblTargCPU: TLabel
AnchorSideTop.Control = lblFPCVersion
Left = 0
Height = 18
Top = 120
Height = 15
Top = 108
Width = 527
Align = alTop
Alignment = taCenter
@ -88,8 +96,8 @@ object reAboutForm: TreAboutForm
end
object lblTargetOS: TLabel
Left = 0
Height = 18
Top = 138
Height = 15
Top = 123
Width = 527
Align = alTop
Alignment = taCenter
@ -99,8 +107,8 @@ object reAboutForm: TreAboutForm
object lblWidgetName: TLabel
AnchorSideTop.Control = lblTargetOS
Left = 0
Height = 18
Top = 156
Height = 15
Top = 138
Width = 527
Align = alTop
Alignment = taCenter
@ -108,25 +116,28 @@ object reAboutForm: TreAboutForm
ParentColor = False
end
object ListBox1: TListBox
Left = 0
Height = 245
Top = 174
Width = 527
Left = 6
Height = 266
Top = 159
Width = 515
Align = alClient
BorderSpacing.Around = 6
ItemHeight = 0
TabOrder = 1
TopIndex = -1
end
object lblAppName: TLabel
AnchorSideTop.Control = Label2
Left = 0
Height = 18
Height = 21
Top = 6
Width = 527
Align = alTop
Alignment = taCenter
BorderSpacing.Top = 6
Caption = 'App name'
Font.Height = -16
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
end
end

View File

@ -25,7 +25,7 @@ type
lblAppName: TLabel;
procedure FormCreate(Sender: TObject);
private
procedure ParceVersionInfo(V:TVersionResource);
procedure ParseVersionInfo(V:TVersionResource);
public
{ public declarations }
end;
@ -84,12 +84,12 @@ begin
V:=Res[i] as TVersionResource;
end;
if Assigned(V) then
ParceVersionInfo(V);
ParseVersionInfo(V);
Res.Free;
Reader.Free;
end;
procedure TreAboutForm.ParceVersionInfo(V: TVersionResource);
procedure TreAboutForm.ParseVersionInfo(V: TVersionResource);
var
i,j:integer;
begin

View File

@ -17,7 +17,13 @@ resourcestring
sStrings = 'Strings';
sImage = 'Image';
sLicense = 'This program is free software under GNU GPL 2 license, see COPYING file';
sWidth = 'Width:';
sHeight = 'Height:';
sPixelformat = 'Pixel format:';
sImageIndex = 'Image index:';
sIndexOfCount = '%d of %d';
sNextImage = 'Next image';
sPrevImage = 'Previous image';
sLCLVersion = 'LCL Version: ';
sBuildDate = 'Build date: ';
@ -25,11 +31,15 @@ resourcestring
sTargetCPU = 'Target CPU: ';
sTargetOS = 'Target OS: ';
sGTKWidgetSet = 'GTK widget set';
sGTK2WidgetSet = 'GTK 2 widget set';
sGTK2WidgetSet = 'GTK2 widget set';
sGTK3WidgetSet = 'GTK3 widget set';
sWin32_64WidgetSet = 'Win32/Win64 widget set';
sWinCEWidgetSet = 'WinCE widget set';
sCarbonWidgetSet = 'Carbon widget set';
sCocoaWidgetSet = 'Cocoa widget set';
sQTWidgetSet = 'QT widget set';
sQT5WidgetSet = 'QT5 widget set';
sQT6WidgetSet = 'QT6 widget set';
sFpGUIWidgetSet = 'FpGUI widget set';
sOtherGUIWidgetSet = 'Other gui';
sAllFilesExcutableFilesExeExeDLLDllDll = 'All files (*.*)|*.*|Excutable files (*.exe)|*.exe|DLL (*.dll)|*.dll';
@ -46,11 +56,15 @@ begin
case WidgetSet.LCLPlatform of
lpGtk:Result:=sGTKWidgetSet;
lpGtk2:Result:=sGTK2WidgetSet;
lpGtk3: Result := sGTK3WidgetSet;
lpWin32:Result:=sWin32_64WidgetSet;
lpWinCE:Result:=sWinCEWidgetSet;
lpCarbon:Result:=sCarbonWidgetSet;
lpCocoa: Result := sCocoaWidgetSet;
lpQT:Result:=sQTWidgetSet;
lpfpGUI:Result:=sFpGUIWidgetSet;
lpQT5: Result := sQT5WidgetSet;
lpQT6: Result := sQT6WidgetSet;
lpfpGUI: Result := sFpGUIWidgetSet;
else
Result:=sOtherGUIWidgetSet;
end;

View File

@ -1,20 +1,22 @@
object reMainForm: TreMainForm
Left = 341
Left = 457
Height = 605
Top = 242
Width = 768
Top = 292
Width = 870
Caption = 'reMainForm'
ClientHeight = 605
ClientWidth = 768
ClientWidth = 870
Menu = MainMenu1
Position = poScreenCenter
ShowHint = True
LCLVersion = '4.99.0.0'
OnActivate = FormActivate
OnCreate = FormCreate
OnDestroy = FormDestroy
object TreeView1: TTreeView
Left = 0
Height = 526
Top = 56
Height = 524
Top = 58
Width = 288
Align = alLeft
HideSelection = False
@ -26,22 +28,22 @@ object reMainForm: TreMainForm
end
object PageControl1: TPageControl
Left = 293
Height = 526
Top = 56
Width = 475
ActivePage = tabBinary
Height = 524
Top = 58
Width = 577
ActivePage = tabString
Align = alClient
TabIndex = 2
TabIndex = 0
TabOrder = 1
object tabString: TTabSheet
Caption = 'String'
ClientHeight = 498
ClientWidth = 467
ClientHeight = 496
ClientWidth = 569
object StringGrid1: TStringGrid
Left = 0
Height = 498
Height = 496
Top = 0
Width = 467
Width = 569
Align = alClient
AutoFillColumns = True
ColCount = 2
@ -49,42 +51,194 @@ object reMainForm: TreMainForm
FixedRows = 0
TabOrder = 0
ColWidths = (
232
231
283
282
)
end
end
object tabImage: TTabSheet
Caption = 'Image'
ClientHeight = 498
ClientWidth = 467
ClientHeight = 496
ClientWidth = 569
object Image1: TImage
Left = 0
Height = 498
Top = 0
Width = 467
Left = 6
Height = 380
Top = 110
Width = 557
Align = alClient
Center = True
BorderSpacing.Around = 6
end
object ImagePropsPanel: TPanel
Left = 6
Height = 98
Top = 6
Width = 557
Align = alTop
AutoSize = True
BorderSpacing.Around = 6
BevelOuter = bvNone
ClientHeight = 98
ClientWidth = 557
TabOrder = 0
Visible = False
object lblWidth: TLabel
AnchorSideLeft.Control = ImagePropsPanel
AnchorSideTop.Control = ImagePropsPanel
Left = 0
Height = 15
Top = 0
Width = 47
Caption = 'lblWidth'
Font.Style = [fsBold]
ParentFont = False
end
object lblHeight: TLabel
AnchorSideLeft.Control = ImagePropsPanel
AnchorSideTop.Control = lblWidth
AnchorSideTop.Side = asrBottom
Left = 0
Height = 15
Top = 17
Width = 51
BorderSpacing.Top = 2
Caption = 'lblHeight'
Font.Style = [fsBold]
ParentFont = False
end
object lblPixelformat: TLabel
AnchorSideLeft.Control = ImagePropsPanel
AnchorSideTop.Control = lblHeight
AnchorSideTop.Side = asrBottom
Left = 0
Height = 15
Top = 34
Width = 79
BorderSpacing.Top = 2
Caption = 'lblPixelformat'
Font.Style = [fsBold]
ParentFont = False
end
object lblImageIndexCount: TLabel
AnchorSideLeft.Control = ImagePropsPanel
AnchorSideTop.Control = lblPixelformat
AnchorSideTop.Side = asrBottom
Left = 0
Height = 15
Top = 51
Width = 113
BorderSpacing.Top = 2
Caption = 'lblImageIndexCount'
Font.Style = [fsBold]
ParentFont = False
end
object infoWidth: TLabel
AnchorSideTop.Control = lblWidth
Left = 120
Height = 15
Top = 0
Width = 53
BorderSpacing.Left = 120
Caption = 'infoWidth'
end
object infoHeight: TLabel
AnchorSideLeft.Control = infoWidth
AnchorSideTop.Control = lblHeight
Left = 120
Height = 15
Top = 17
Width = 57
Caption = 'infoHeight'
end
object infoPixelformat: TLabel
AnchorSideLeft.Control = infoWidth
AnchorSideTop.Control = lblPixelformat
Left = 120
Height = 15
Top = 34
Width = 81
Caption = 'infoPixelformat'
end
object infoImageIndexCount: TLabel
AnchorSideLeft.Control = infoWidth
AnchorSideTop.Control = lblImageIndexCount
Left = 120
Height = 15
Top = 51
Width = 115
Caption = 'infoImageIndexCount'
end
object IconNavigatorPanel: TPanel
AnchorSideLeft.Control = infoImageIndexCount
AnchorSideTop.Control = lblImageIndexCount
AnchorSideTop.Side = asrBottom
Left = 120
Height = 22
Top = 70
Width = 46
AutoSize = True
BorderSpacing.Top = 4
BevelOuter = bvNone
ClientHeight = 22
ClientWidth = 46
TabOrder = 0
object btnPrevImage: TSpeedButton
AnchorSideLeft.Control = IconNavigatorPanel
AnchorSideTop.Control = IconNavigatorPanel
Left = 0
Height = 22
Top = 0
Width = 23
Images = ImageList1
ImageIndex = 4
OnClick = btnPrevImageClick
end
object btnNextImage: TSpeedButton
AnchorSideLeft.Control = btnPrevImage
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = IconNavigatorPanel
Left = 23
Height = 22
Top = 0
Width = 23
Images = ImageList1
ImageIndex = 5
OnClick = btnNextImageClick
end
end
object Bevel1: TBevel
AnchorSideLeft.Control = ImagePropsPanel
AnchorSideTop.Control = IconNavigatorPanel
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = ImagePropsPanel
AnchorSideRight.Side = asrBottom
Left = 0
Height = 6
Top = 92
Width = 557
Anchors = [akTop, akLeft, akRight]
Shape = bsBottomLine
end
end
end
object tabBinary: TTabSheet
Caption = 'Binary'
ClientHeight = 498
ClientWidth = 467
ClientHeight = 496
ClientWidth = 569
inline SynEdit1: TSynEdit
Left = 0
Height = 498
Height = 496
Top = 0
Width = 467
Width = 569
Align = alClient
Font.Height = -13
Font.Height = -12
Font.Name = 'Courier New'
Font.Pitch = fpFixed
Font.Quality = fqNonAntialiased
Font.Style = [fsBold]
ParentColor = False
ParentFont = False
TabOrder = 0
Gutter.Width = 57
Gutter.Width = 55
Gutter.MouseActions = <>
RightGutter.Width = 0
RightGutter.MouseActions = <>
@ -514,36 +668,38 @@ object reMainForm: TreMainForm
MouseSelActions = <>
VisibleSpecialChars = [vscSpace, vscTabAtLast]
ReadOnly = True
SelectedColor.BackPriority = 50
SelectedColor.ForePriority = 50
SelectedColor.BackPriority = 50
SelectedColor.FramePriority = 50
SelectedColor.BoldPriority = 50
SelectedColor.ItalicPriority = 50
SelectedColor.UnderlinePriority = 50
SelectedColor.StrikeOutPriority = 50
SelectedColor.ExtendPastEol = True
IncrementColor.ExtendPastEol = False
BracketHighlightStyle = sbhsBoth
BracketMatchColor.Background = clNone
BracketMatchColor.Foreground = clNone
BracketMatchColor.Background = clNone
BracketMatchColor.Style = [fsBold]
FoldedCodeColor.Background = clNone
FoldedCodeColor.Foreground = clGray
FoldedCodeColor.Background = clNone
FoldedCodeColor.FrameColor = clGray
MouseLinkColor.Background = clNone
MouseLinkColor.Foreground = clBlue
LineHighlightColor.Background = clNone
MouseLinkColor.Background = clNone
LineHighlightColor.Foreground = clNone
LineHighlightColor.Background = clNone
inline SynLeftGutterPartList1: TSynGutterPartList
object SynGutterMarks1: TSynGutterMarks
Width = 24
MouseActions = <>
MaxExtraMarksColums = 0
Options = [sgmoDeDuplicateMarksOnOverflow]
MarkupInfo.Background = clBtnFace
MarkupInfoCurrentLine.Foreground = clNone
MarkupInfoCurrentLine.Background = clNone
end
object SynGutterLineNumber1: TSynGutterLineNumber
Width = 17
Width = 15
MouseActions = <>
MarkupInfo.Background = clBtnFace
MarkupInfo.Foreground = clNone
MarkupInfoCurrentLine.Foreground = clNone
MarkupInfoCurrentLine.Background = clNone
DigitCount = 2
ShowOnlyLineNumbersMultiplesOf = 1
ZeroStart = False
@ -554,17 +710,24 @@ object reMainForm: TreMainForm
MouseActions = <>
ModifiedColor = 59900
SavedColor = clGreen
MarkupInfo.Foreground = clGreen
MarkupInfo.FrameColor = 59900
MarkupInfoCurrentLine.Foreground = clNone
MarkupInfoCurrentLine.Background = clNone
end
object SynGutterSeparator1: TSynGutterSeparator
Width = 2
MouseActions = <>
MarkupInfo.Background = clWhite
MarkupInfo.Foreground = clGray
MarkupInfo.Background = clWhite
MarkupInfoCurrentLine.Foreground = clNone
MarkupInfoCurrentLine.Background = clNone
end
object SynGutterCodeFolding1: TSynGutterCodeFolding
MouseActions = <>
MarkupInfo.Background = clNone
MarkupInfo.Foreground = clGray
MarkupInfoCurrentLine.Foreground = clNone
MarkupInfoCurrentLine.Background = clNone
MouseActionsExpanded = <>
MouseActionsCollapsed = <>
end
@ -574,16 +737,16 @@ object reMainForm: TreMainForm
end
object Splitter1: TSplitter
Left = 288
Height = 526
Top = 56
Height = 524
Top = 58
Width = 5
OnChangeBounds = Splitter1ChangeBounds
end
object HeaderControl1: THeaderControl
Left = 0
Height = 30
Top = 26
Width = 768
Top = 28
Width = 870
DragReorder = False
Sections = <
item
@ -599,15 +762,17 @@ object reMainForm: TreMainForm
Left = 0
Height = 23
Top = 582
Width = 768
Width = 870
Panels = <>
end
object ToolBar1: TToolBar
Left = 0
Height = 26
Height = 28
Top = 0
Width = 768
Width = 870
AutoSize = True
ButtonHeight = 24
ButtonWidth = 23
Caption = 'ToolBar1'
EdgeBorders = [ebTop, ebBottom]
Images = ImageList1
@ -621,21 +786,21 @@ object reMainForm: TreMainForm
AutoSize = True
end
object ToolButton2: TToolButton
Left = 70
Left = 68
Top = 2
Action = fileSave
AutoSize = True
end
object ToolButton3: TToolButton
Left = 182
Height = 22
Left = 178
Height = 24
Top = 2
AutoSize = True
Caption = 'ToolButton3'
Style = tbsSeparator
Style = tbsDivider
end
object ToolButton4: TToolButton
Left = 190
Left = 183
Top = 2
Action = hlpAbout
AutoSize = True
@ -643,8 +808,8 @@ object reMainForm: TreMainForm
end
object ActionList1: TActionList
Images = ImageList1
Left = 408
Top = 168
Left = 624
Top = 88
object fileOpen: TAction
Category = 'File'
Caption = 'Open...'
@ -670,99 +835,286 @@ object reMainForm: TreMainForm
end
end
object ImageList1: TImageList
Height = 18
Width = 18
Left = 496
Top = 168
Scaled = True
Left = 704
Top = 88
Bitmap = {
4C7A0400000012000000120000001B0A00000000000078DAD597795093771AC7
9DD9999DE96E777667BAB333FBC76E77EA74763AD37667B7894ED762C58A54C5
0272481511A1A2282A67112401E40C9123043922845B11AA88A0225029843B09
24103912901B94AEA224044848BEFB7B5F4B8CB01EED4C67B6EFCC87F79D3779
3EEFF33CBF83BCEBD6FDFCC78C280753F5E998A84DA591E7F9CCCB8427B492F4
83CAA690ADECEB473E79E3753C9377D2011861503F20CC6079EE3E74B3E3D0CD
4D63A6361E5D314E9555DE166FBECA3351CB8771FE2196EF35433FD28AA5C146
CCF754C1B8A4866EAC09FF69E043C4FA9CFF6A4F2A8CDAC7581E9362795C0ADD
701B1606EA30FF60083AF5F7D02FAAD111E5607C2DCFC2132C4F766379420EFD
98044B434DD0F6D5422D2F27354E4012E762F230AA06646E8DA33A77D1988983
84895A1EB03007E3F45D1AC3A41CBA910E2CDD6BA2F332903E49E2F69A3C1B2A
958B06A39174947495FC3118415F4FD4509EC700E598EE85614A41F292413F2E
868EF4CAA8BE0F49ACB3C9C32C573E5E583622696211BC7BF3C81D99C737A35A
7444EF219E27C083016046F5F43CDD07903A3126A63F13C7383DCBA75439F744
67401A71F00735F8AAEE019869CA57A2D7CE4212F5CCC32C53EAEE6BF5F0AD9B
8653E91876178F80D7FE3D19935952A38114BA4C63A458D693DA0DB46796CCA7
CE4867AC78365E54EAA87E2C92102D619E84A9499D82090D04530BB830A545CE
E43C8484DC490D94EA45DA63D03C424784E392A9AE7CE59296C4A54D2E82FF03
3CEAAC7A007EDF38F8DD8348E9ECC3B9B62EC436B4A0BDBF97F634076EBBDF11
EEF0C4E4112817E7A8FE4C2D2295C4A710B8E38B881D5B40F8E80282EF69E133
A885DB8006B677D590CCE969CFEAF946EE2DCC92CAA83C92C9987188E32C890F
1D5E801F711C51CD637FBF06BB156A6C91CFA1E3059E8F9206F4838F75C82463
7D7E448BD4612D92C8D87106E711A3D42082E411DAA74620C9C5B7670E8D338B
FFD3F37E6CBFFC83F8FE850FE208F1AFE087EF50313FC75E4586FB4773225BC1
3926E8D67B65743DFA291E5F61AF8A381053A1C43EDE6DB8F3C533AB3D111111
60B3D9080B0B43686828828383111414047F7F7FF809153825EC45DCF54194F5
DCC765D9145C52AAF16552CB1A0F8BC5425656168D4020A0B970E102CDA99C1E
94CAA75146C86C1D05AFF11E9C936F610FA7618D87CA8172ECE17D892C41161D
9F9D9D4DE32390E152E724921B86C1F976105C8243E24DEC8AAE5BE3A1EAA072
B048B0C28E045B3A3E272787C62B5D8202F138ED88BAAD4434C19E7B039FB16F
9A3CDBD276632B6F173E4DFC1C161C2B1C283A8C7D79876015B50B42A190C63D
B51DC2D63144552BC1AAEA03BBB20FB69C2A6C0AA930792C537622AD3B173C99
0089D27470C4A9886E4B847DA60B2CC3B623373717FB929A90291A4118890F2C
EF855BD343EC8AAF0423A0CCE4D9CCDD8EE4CE2CB05AE2705A148980EFC21048
08698CC48E145B3886EF8523A71E69F54308BAA28067F528762980ADDC6ABC7F
F2A2C9B3296EAB29878896789C114521B8211CD6C9BBB129F053E4E7E7C326BA
0689B52A9C2C91C3EBA21C07AB86611D538177BDF34D9E8D673783C1DE847F86
6CC487410CECE0D9617BB20D3E0EB0A01D050505B0625721FED6008E1476E190
5002CF5C09E95F05DEFE2A7BCD78B9BBBB232F2F0F165F5B6283DFC7743C4561
61212C42AEE12CE98D0789DF276887DB850E7C16598E3FBB67AEF1B8BABAD2CF
FF24600BF2C8998AA7282A2AC286C052B0CA15D84F1C8EE75BE192DE06CB88AB
78CB356D8DC7C5C5E5B91CA8788AE2E262FCE354314E9775137A1070490EEF3C
29B6845FC5EFBFE4993CD41CF6F3F383A3A323ECEDED616B6B0B1B1B1BECDCB9
13D6D6D6B0B2B2C2BB4772F0AFC012588495C33AFA06BE48A8C166F615BCB937
79E6C7ACF7BF785EF813E9C5C77F3C70DEE30FFB52E37FE79252F4966BEA32F1
3C5CF77F7AFC94FDD09C1779FA33F7AC57A4EF6675A7DAA8A4E7ACD462AEA5BA
9DBB45D5CADDC26A8EB358FF3A9EDE0C5B07396FC7942CEF1846EAF330DE7C95
66B82E176D191EF896C59CAA63331D5EE621393874255A6B06AE9FC394B41A23
3539E82B8B41EFE5B318A8E461B4B10C8AABB1A838CED4549C7AE632F774F36D
DEE94CB29EA41D1D95249605797108C69A4A302A2A81ACE06BC88B8231F46D01
64DFC4A0CC8B3979F930F39DD59E4E9E355B9A7D14D3E22A288A4321CB0B4697
3090FC8E9CA7110BFD20CEF183343F18C3DF15E376C27E14B932D8AB3DE2244B
D508E981AA928FAEBC204885FE1067FB61A8BE905080E6ACE3344D99C72127B5
F6D76440E8CC54ADF634C76CD24EB45F83AC301412F2DC56810F9A49CCD3C308
51BA371AD28EA29120CA3C81E1E6329C776068577BEAD94CED786B39DD07FAB9
19C7D044621F8D28A05FD0A03EC50B77920F13BEC29D546F0CB79422D56EAD87
8CA54A55978DBB573868CDF481E83C793EFF081E0EF740473CB55C4FD2134F54
2778A039E734BAABF948B15F5B57F56926BB9EE78691C61234A7FBA091E78D51
7135FD7B90AA6B665086AA183754121437B270F58C3392ED996BFA5CEECB7CA7
CC9B39D9551A09655D01EEF0BC5073CE03B738075119ED868AA803B816E50A69
69225AC87CE0D8312639766BC79DE29207C321D7E9238DF8120BFDB5B9106507
E326A9A32AD61D77D2FD21AFCC40736130A26D991AE27078D9BAC87566386439
31A6AE47ECC5DD5B7CA84417A1247457A5A02C740F626D1953F1762F5F172B64
3832D7A7393058A97B18AA043B863ADE96A126CF571158D1761BD6BFEE7AFFA9
FBC62F713F341A8DEB3C7D8AB17E33795722D70B0B7AFADECBFAD3D52D472C97
B386B7FF1E8CDF6CECC06FADD4B44BA75B7EA1672526312519946FE5FE71EFF3
58FF9E1FDE7CBF06BFB69CC3F6439D78513E547CF5291FDC0EF0C5D35A0CA6CF
2807C51B7F2BA1F3A170F66AC06ACFE53D3B51E3E688267FB23E7D8FE09AA78B
299714DE15AC787EF5D7249387C2DC936DF7392ABEB04203CB0FD3356590A573
D0167A12554EBBB03A1F8A15475852D7731E45C64928846720CBF4436FD15948
938E429AE20D992008F2AC00B4713DF06848F69C67B3AB84EEA3B9479278186A
E9357AE71B6FADC4EA63A63E1FED1C77ACE465DE4F734F6BEC7ECC7E27A46324
FC93CF04FA05F2A2F90413E5E7D09A7008EA25DD9AB135F7B4C51FC02C79A661
59F7F41DD660A0F72F835E47EEE931541283867007F82B0C18A35E5CCDE698B9
A783D435539D85A16236862E464055188681BC504208FA734FA35F781AF5D107
680F85F93C33F7B4730F61EA462AC62E45629470AF9085C1FC3350E586604018
0C852000B5ECBDB4E33DCF7358C965659EAE1C4D918E98B99901B57A060F9F4C
6196E2F114B99E847AFE21EE6687E09AEF36DA41619E8BB947146E8FD99B02CC
A8EFC3BE3E1AA7DA33E1D79E0547723DA17980A1EC3328F5FEF7731EF335B372
B4443961B6B30643E466DCA3561468FA50A025EFEAE47A84DC1B2A20FFCF8F6D
36D5F4A27DAC83CC3351B40B7AB847319AEC8BC1441F28B927D097701252AE0F
CA4E6CC3C5831FE297B61FFE17FCB51BA0
4C7A060000001000000010000000D20600000000000078DAED97095053571486
336869AD556ADDA9AD833A6AAB76B48BB8B42A58976A4565A98E6355705770A4
282EA8C5AD205ADC10B4D4A2204B8282EBA87574D45A1505920009901042D80C
58103490BC84E4F49E0B2F067C8082636DA799F9E7BEDC77BEB3DD73C300003C
F887F571F8ADB089F162C544814889B28F4C1277D97771C0F3F25FF2C5397B73
6A80D56E991E7A1EBC26B23B722BBC5185DD38D4A12EC6273122A5673A032FA2
E5622DD81D4D1221DFFBB8503939490B961A9E900D9312A5303141524F13EAF4
3579D7EFE89DC7C8770A4F2AEC2FC88281824CB39CCEC920A10820BED004FC02
13C4109DC837C1719509225446F835CF08A3F82203F243A39299D8FC9A46ED7E
511A212CD70821440714B53DFA9968789C98F263F862ADD94EF9AC5D90BC0602
6535B05366806DD906F0CF32C066A261D1222DF25FF1C5CA8676DB2DECFC320D
B05EAA075F221F891EBC33F4B08A08FB8EBC7D9C58D994DD4AEC771A034BC40C
2C22721731305FA88301276AF9A1C40FDA79B27669F5EDE612CD49D5C1AC141D
B81239276B61FA7D727E9142CA7F1425CC69CA6E1AD1947BB5E73A21A91A1CEF
56C3B83BD5607B2C3507F9CE21D743FB4409657D4FA4C9FB10D945A5C97B4789
E41F127D40D48BE8FD4891DC96A8075177A2AE1142D9DB07FE0881D7E0FE3526
BECFD43D277D671CC1B525FCCDE06579902C00BABE007764C9884FB97876BF31
F9FBF3AC4EAE9F1E11E3FD8D9A8BC7FDF875338EA21D67BD6BA785975D0E636E
042F5572F1B85F7639D410BFCEE96843F698A7C36869D4964768DF148FDFA551
9BCB7F5BE138CA923FB3C9E59CE93E1F0C776320D16FE6652E3ED1CFE532BE47
BBD37E2E672DF9AB81EE2968AB88DBA1095D64FF19177FD863F4E70AFE0E0DEE
5D0DF448B6E4AFEF599283FBB70F7AA982DD46B6C3BDE8D59342637DA6C4E08A
DF71FFCE41AF7C5AE39EC5F27AF17779A4D5D6B6A53C64F1E8419CE7BA60E490
ACBA1E91F86996EF4E6F72BB00B4FE6848D8E8FC3B179FE8E77C05EB075ABFEB
F97AFD5FE5303E2BDABF1C7D975E0CA946DBB085A306FBBB0DB2C6B8F8BDF452
8816DF67921C8FAF18EFD0D0BFC0777AE4A32B613568837960AEB7F77BAA70A5
71C93EBE17F84E8BE49CBF71E3DAA28FCC135BCA3147B4378B7CC77D64D1AEA9
398E5CEDE8787AB3DB79D25331391705AE586FA4A7A3E32BB9FB4AE1BB509CE1
028519DE54F88C7BCD7125E9DD8DB92951A67CA14E9FC4AFA8BA10A4D79CDFA5
D7DD8EAE30A9843A634E5224A8C5DD3859B574B04995FA50772998A90C708047
3F7E01659B8741E9BA4150B4BA0F1478F787CA535B199332B9146D1BC645B63A
D6DBA409180B55418E80AB26C61B1E1FF704F5DA8150E0D51B944BBA817A9FAB
89FA7820EFCAF2983373692F830CB37732E8F74F055DF02400030326A292BA1C
F2967507F9828E50CEDFC41873EF1D637B85F562CE55BB1C407FE05B301D76A5
3E8C0569605089E0E1862150E48D7C0FC871B7816CF7F7C0A8227F68140A1BEC
2DE955E523FFE1A0091C4BE3B2F1350163681FD81E2897D6C697CE6E0B4F6E44
5442B174261449D654911E976D1A0615DB46D4D61D380E9EFC3486C636E4A582
7ACD00285C85F57705D9BCF620F9CE0ACA6237305028F981C847733680C118E8
03E3556CB5A72BFB29F6EE0BAA15B6A058D809B2E7B6830C371EE13732B5B391
EEACFD33BA126DB0CFA5EB07110DA62BFBC95FD90B72177701D9FC774032BB0D
E5CDF963FFC86C1492F3C533C23A59B11F64E50B3A40E61C6BCA66CEEBF8B47F
787E64AE703672497DD863D5F29EF4AC4C7A1D15C6CD9CF32665517FC56DD419
95F7229ECE9EB81BCE847A9F9B09FBCBAA688F3314044D27FD6E63660B839C70
7E4AA038BBCB33F39B9B5C5ACEF763641E9D2923996565E63067F24E47D90712
CEDF479C499C2BAC4D7323A2829C911E85CFB847736E18974B74AE486FCDF797
3CD7F58A4B59676C4225F1563519021E484EBD0519F1A45EF25C4F644F72AA1D
7DCE4C687F5122E059B33CB2A6CAAB004F6E82E4E41B60D4E602D43CAC27DC93
9CB406B4CBBB665F853E581E7D228BA2CF165C49FA5AF31E6B873EE8730B79B3
1D07DF58FE355A05CDBF395E9D328FFA68D83FDC2B499DD72CFFBCE2E2D529DF
73C6B6CC01F36B8C6FACF68667D818DFB0F75CAA67FB1FE1D9F96FAE7FEC0C51
5BC298EFDF699B4312819591DE2FAEBB677107A5E47EA26D56A2CDA1D7F97F87
D749E4B7CA292B9667DB22369EB793DE1D012FB4A52C51BE58C0B37B113683CF
DBCEB2E971BCBE2F58AF674BD997C1D3FCE379DBEA7C14107FFD5AD3FB96F4EF
659CDFCB989FFFF5EA85678567D68AF30EA5334366A7253CCE2ACE6C6B7C484F
F17A135E59E763774B7CE0DDB5C8C3EB55F2F5F217F0825E65FF5A7B7EAD9D9F
7F93FE06638C87FC
}
BitmapAdv = {
4C69020000004C7A060000001800000018000000490B00000000000078DAED99
075094D716C7B13DCB336A8C5D93A8F1E9D3D835B161057BCB4B628DC62EA814
1B58A251B0248A8A5D111B4B93A5AACF4CC63249548C9DE8B28D154576172CC8
5277177697F3CEF9CAB2B405152C7930F39FFDD8EFDEDF3DF79CFF3D971900C0
062A6555AD04A2795DC3E4F23E918A784BB50D965CB7397EB7F1EBF23B0AE5F2
63092628AC6D521D34F78FF57D5DFEE7E18A849FE28C509C7A9D7EA4EE141617
FFB26A1B229337F617CF217EBB5045C2B2D85C286F7D1C2C9313FF13A13C6146
8C1ECA5BC4257ED36079C2881B3A284E5F5C780A3DA31E42BFB38FCAA4BE9CBA
E39C6681D214E23708942574BF920DC5A92B8E3B9B0405741A15A906884085A9
F240880A51E641302A30310F025082C779D05E28CF257EC340494A97C887D0FB
4C51B9DC4C8570154028C739858C208EE38FF243CE49D471F4DB51942FCAE791
090EA13A47280CC4EF142A33F0B1845AC412C4C7C2714E3C667D4B9C2338FF30
711E9AE0006A1F6A6FBC1176A3763D30C24E54C7F03886DF3D5261F0E7F6C4C4
C271F858887310E7EF274EBC09F620C3FB01CBD981DAAE30C23605EBE72D88DC
2C378027AA7D18CBEF1C1667E2F77480E3F0B17873B1782958CECFA8AD1C6713
323C501B6506F811B54E6A801F506B50AB24B9D03624CEC4F0C3E39EF2B17859
C4B2D52216E26C40C67A8EB316B51A19C47113E7C20AD472D452F4BD0BCA5994
0B6D84F2A74CFEF1FC6EE2387C2CEB2D62218E3B6A25C7A1B3E34A1C6438A116
8B7260D1FD1C70402DB89703F35173FFCA814F850AC6FF1DC214096BF858380E
1F8B2B17CB12642CC6F98EA8851C671E6A0E7266A3BEE7CED47777F5300D3505
D5F2147BBE3EC3FE407B72E2387C2C0B2D6221CE2CD44C8E331DE74F25CE1D3D
4C427D735B0F5FDFD6C157A809B774301ED52C98E5B7C6733C8FE3F0B1CCB488
85389391F12DC7F90F3226DE6239E36EEA600C6A346A249EF7E128FBEB5A1886
6A142463F88D03C4A2A977F263210E1FCB442E96B11C6714D73786DFD0821D32
86A286FCA9854128DB6B5A1880EA17AD852FAF66415D81F82FE2D73A79CFAE61
802416FB503CAF269C1A07B16AC4A9A1853E0C24C9E21B70AACFA91EAA0EB26B
F8DEEB5B797FBF1F3ABE6870B4C0D94E4CA2E7F2E6072F1F930CB78540629EDF
71FE81D95F343BB2A0FFEED2F83466F7FC3E4D5F867D64AEADBDBFCBF0A4638E
83334AE3D3181A4B73CAC2F659D87F84D06DFC337DB4A000A7243E3DD358A1FB
B867A5AD4139F17719A1CEB916502CA7243E7D9773CD1F681F3E337A352F897F
D269D8E9A433BBF2AC71AC7DAF3EE39D7762B15D5449B187AE9AF0841F6BBC11
0C27970C2B954F63682CFF4EE83EFE4971F53EE230C8551AB0C1C08FBB7B6445
D651C7814EA5FAC761A0F35D5FB76CFE9D44B0DE809E722ECC17B80C3F9776D1
C71C47D0D251EABDCEED6A96C6A73141CB47A9F9771A64089CECCE16E6FB39D9
C718AE0799F9F8BBBCACFDC1CFD93E8E9F470C3F27BB9862F8B77239DF307C9A
53C6F32270B257F0F3C87B0267FB9B45C638DB47692E1ECECF0FEEF9C4EC21B5
4A63EF9AD4AF76F0F2D1E6FCA49E3F4CFCC822F55D30C031F6E45A7D7E7D5766
F93ADABA94C63FEA3878598CAFBBB9BEA2E36BF458DF0585C7ED9DD3A3319EC1
644B7F062D1DF9E4D0CCDE9D4B62EF9BDDAB0B8D31DEC8AF5B88DBB8649F69BD
1A157BBE960C0D5145ED30F163337F3FC6AC71D4C1D695F26099138A9BDED118
7EBC32D2CB74C26958B0B5FE803E55E9AEFA41FE3E8220C6D72D2B18EB811E50
9028DF3147DDB32DCF15CD11B8D8AB0ECDECDFC45A3E0FCE1F303064E5D86796
6B9426DD153FA0393E0B6D6DCBE2375A83F6A1B4C855494A8CD86EA2B869CECB
DC01D4434E2C1E7A8AEA459E20DFD1F920BD387F88F149C8CA71C934A6B49C58
BD0FD00B3EF3FB2FF477B28BA03348A267F260493E79F7F45B754894B5802469
2F46F40C50EDB5B92AC958508B034125CAC04FB0549E52948E9F01A0948C7969
AE5ADC0399D788638ABF6ED49DDF0719FEAE90766806A41E98069AE38E90756E
07981EFC6964D65389AE822AB65BD9D892A9385E6F7A106DCC0E5E011A8FBEA0
D9D01B5EACEF09293F7483A7AB3A41F28AF6A0726D0D89CE9FC0739F39608CBB
6C44BE0E54E2C9A5B0A7603C79863B11A64CAF1190B1C51632B70E84F4CDFD21
DDB32FA4FED89B5DC3BD13242D6F074AE4273836830497B6A08D0E34D1DC12D7
6073A22776C6964190F5F310D06E1F86B283EC6D43216BE728C889390BFA3BA7
2165633F78E2D601D44BDBC0E3C52DE0E18246F060DE47A0BD1A6062F6A11475
2D5A4BD135CA49C6F6110C5BB77304E4788F869CDD6340BF7324E45C3A00FC4F
D6392F78E2DE1192967D064AA78FE1D1C2C6A098531F140E2DC020BF6CCC53DE
BF5C8C4F80F29D8939C9C6B8896DD837014C07BE82DC3D63C170E5B899AFBDB0
1F9EADFA1CF96C8E1E39348507731B807C661D48DA3D99F558927894456E02C9
27544BE26BBDEC98B8896D3AF83518F68E03FDD15990A7490293460D69DE1359
3ED580E27768C2F16B8364FA3FB0DED1586FB13FC7AF46FE260FA6A24F32360F
802CCCB77ED748366E64D35EA80E546B8DC797F0625D77AC71C7227CD98CDA20
9E5215522336B1E783D84A794BDA4F66802BE341F20971A8B6BA1DC3B10EC319
76D64F5893280FC80A5F8F1EEA8EF5FD3757DF96F090F23FBB1EF26B41ECE42A
A0F6E6729420690E49A2DEF4AC3938039EAFEDCAEC21DDB31FE74DF2D160663D
DD694F73FE334256B367C0A5353C5ED41C1ECEFF08E2667D00B2E9352176920D
3CDE3884AB01D74FF099CE25E594FC9DFA632F48C33CA4E15E1879F401DD6F47
F2FD737E3FC6DE16129D5AA1779A40FCBC0F99DA4AA65667F91E4339BEA427D3
AB28FE138B30A67F316787F641EB50BE5EACEBC1487BE990999FF9EB1E26EF4C
EC0BB8D8BFABC9E49EF805F2C3D440949EF5CB4E50BBB6616AF6646507661DEA
05B427FAA498F99FF45FBCF3CF15FA9E62974EABC1B0499A88CD58DFFB6938B4
2AE7CF0023F62AEA272A974FB1B7B461CE0EADC52BE3D7DD667EDA7F77B06CF4
4CDCF7FF2CC0164FAD064605E34F81D9FFC9E2D1B41FEA55B467F244E292564C
0EE8FC509ED3CFED34F33567B661DCE47764A3DFF9BC9092BCA770B98F1D59A8
3F5CA53E48BD8A62234F27383665CE263DBF085967E63F0F5ACDE6A4105B36B7
21F6872BD81F447F14ED3FE2EED49BA80F52AFA27E42FBA73829C7F18B5A42FA
6501A4FDE10771F39B98BD929F971A907DD51FFB9B480B4A6997E2EF2BECADD8
63690D85437326463AF3723C977476285EE28AF10C59B2296E86CDF6E76FADDF
89B806EE83FA20F52AC9F41A6C0E0A31F95A52BE29274CDC49B1DF94EDDE8DED
969728BA4275222FA4867B329EA67349A267EA318C4F98FB18F35D524EAC897C
857D90BBCB0BDDEFE86FF260619FBC9AAAB2BD8AEB27ECB9ACFAAEFCFD240EAD
B9521C5A4D1B2BC4BA995505C46135A0E07705C5BEAF92FF7B68F5E762A14DA7
22FCB0EADA54E92AD0AA7CCD9246D68514E926D0A65C2C5129524F1CF781798E
3A7AB4511C5E235574CAA6A3259FD6D6AAB0FF665E368BF92EE50280F179013D
15B931EFE893DED3B3795EC6EFA08A1E659084567F56217C147198EFDE325F1A
598FC9AFF5FC7BE0B8FAAFC4D748D73273ADF987DE6B646B5F89FFAA7ADB7C8D
6C35937B6B79299AA77A4C3ECBC267EB6AFD5C157FCEEA97895F922FADC9D2A7
95FC4A7E25BF20DFF27E64EF45CF973CBF1EE67B9238749717E087D75C416B94
F55EB776CF1387FE5EA8FC9F58A5DE96A4C136AD63436D7649426C0695FBDFC2
429B76E87325E7FDE40A6493A2CA3527429B4716ECCBB85EDDFF67364924B411
59B02FDD3E6B53A73C6B5AD1FC8ACECFDF698D8A3C5F6FA23FBC89FE56A94A55
EAFD11F500EA05D4132A824F3D8CEB654AEA6D15C08FB2E8C7E5BE06DDB7C8BD
58B94699D7B864B1C6BDF7855F91F9795FD96FE27C55747FA8E8FE56A9F75BFF
0392860C2C4C7A060000002000000020000000F60E00000000000078DAED9809
78535516C74341D90A02B2A8E8200E383ACCB088D07D11701746411059BB03B2
29AB5081822C2DA58040770A658716954566F013511959654B9AB4A52D6DE946
9B025D93B44D9B33E7DCBCD7BEA449931468614CBEEFFF25DF7BEF9EDFBDE79E
E5BE008008ACFA534B1471AD6F9758B1A4C76E89BCC79E84C2FA92E4E3FD53A2
2D173A3E0C7E676407272A202E47635433CF17AABBC44A763C0C7ED7DD928288
8C1A6848A1E9D5F0D4CE6B690F83FFF42E897C5D4A359852CFFD89C59D77890B
EF5BB16279871DD725A2D02B7D88FF54AC44BE5056054DA9A9974AC136462C26
7E879D62B9B7B8129A5A1D622505C46F8FFC8F2EABC094DEFCBD045E38980CCF
EF97DD977AA2C84EBB18F15DE2B7DD2196BB9F5782293D772009B6262BE1781E
18D431D451D4915C80EF51DFA1BECD01388CF9134F7994AD8183A803A8753205
E0BEAB89DF1AF9FDCF28C0949EDD27D332728D330E0918FB51FBB234B017B507
B5FB960676A162513B6FD500C67D0DF15B6E17DFEDBE3F099E41FB0DC9E54426
AB05E6316A6047660DC4A0B6A3A2515198C7915C3E87A7133F81F13BED12AB37
A25F6BFDA4CFC8AACFE0D7608A11964EB5A306B6A2B6DCAC866F509B519BD2AA
A10BB7FEAEF82D64ECCED2F5932906D9DF6684B1111582DA905A0DC1A8F5A8C0
546D3DE9CCF3774B34C618E119756B608C9B0D33C87E9080B116B526450DAB6F
A8E16BD42AD44A5440B21A3AED9268B8F5979ACB08B680B10219CB51CB505F25
A9C11FB514B524510D5F265651FC97727CF9267E0DFA8C14E30C5A8371461563
2C462D422DC09A371F350FF585B40A3E9732BE5C58FFD7A27D9E21F493398C85
461873517312AA60366A564225CC44CD9054C2745447EC03ACFF22BF2106BF06
AADBE6303E1330A6A1FCB0D6FAA27CB8BAEB75BD123C5154F759FEA11FCC65CC
42CDB480311535E55A054C464D424DBC5A0113509FA26C393EED03CF986D2E83
B3EF6182311EF5C9950A1887FA1835E672058C46513F69CFF1691F0C31BC2C60
90FDB13A0C6DCFFAF00F15FC0B350A3512F5C12515BC8F7A17D58EE3D33E6819
154619FC1ACC6190FDF738C63B1755F036EA2DD49B179530E2821286A386A1A8
EF11DF76A7A460BC058C0F2C6050DF7443B9A25CCE29C119E5847244B5D9212E
E0FAAF64D89922C6A8F553438C0B758C374C301CCE2AC1FEAC02EC50437E57C0
EBA8C1A8574FDD8327B66BCF3F74FE6E1D735D42FE68B7435CD8B601B531AAEB
85AD0D2946574F9090D32A5A2CE6CF7F5659F53829CCD3BE6CDBD42120145D6B
2A3EF1E0729C8ED8352BFFA1F0B678D8D9877B3AC498CBA767B74D1E6C77DFDC
D97D5A47FA39C66C9FE6A210DA37C5A7DF3426D2C7253A606CBF271BC59E68D7
31CAD7F9DA0F01E31555E7F782A5FCCA737BE1F88A718A483FA7AB315E4E1D2C
61EFF4706F13E5EB74ED97605F15FC71C8A07D537C761DC79E5EEFAD8AF275BC
42BE34971FE1EB1C7502D7CDB31BCDE7E6707CF97865949F738439EC50CF218E
3133DCCA2BCFED31CFBE19F72BCEEEC678702D372726A3FD5CAE26EF5BAE118E
AFBE7880EC6B2CE06BAA2FEED7B99FB4679926CACFE99289BCEE4771AB11F89D
743AC84B85638F9ACBC7D839723AD84729BC4F36716D8AAD1E835F31C60FF7B6
5F7D76F38C2AE1B83B3F8642848F43B130864DF1E9D9086F8792BB3F86E93CF3
DF8DD3ABC2BDEC5619E3C74C77BD94F96DA0CE18CA81304F87E596D6BF702FFB
805F37F855089FC9885F4775E182317EA4B75351D9AF313A7663670D2BD9E235
7480A5FC2D535E1FB46BD6F012E133A5BF6C87485FC77BC663DF4E4DB1261C83
EBA80A9EDCBFBDA5FD37746C3F5B1A2BB4A5BEB01F9FB3AB32DAD7BDEC2BA8D6
E9F3C95663EA6784977DA5D016D544B4A7323606EB6D5ED1A90893FE378B6FC0
FF641B19B9C6C6608DB8A81F7F1443E11E76CB2CE5877BD8AFF82D649A4EFC65
1E0E6C30FEC23C862EA67AAD937F2729FF1C8B2DD903967F38867257A78EA0ED
504FFB45C6C67DE361D737DACF595173E9A0CEB89F033D95D17E4EC7F04DA985
493E3E83FDE6F8E9204F9DFA4336A9FE844E7AADC1779E681F9773D29D4B6BF4
EB6FDCA291E53487867A29DD2376DCE251E5FAF5372176690DEEFD5973E286E6
A9DF7FC8DECF415E4AF22BD5237A8EF68444BF69BFA9E6D1BAF5D9648BADDD63
C84073F60FEB77C491A51F97EBF701BE1EFF16E25741B14DB949DA357B4409C5
9AFE7EF375FF88FFC7E5913ECE61E6C64F80BB7B2BF4F5B9D341DE1586E660AE
682CD920BF934D4BF26793C7C04E513ECEBF7FEF3FA68CEA86A56CF2F911FF31
8A285F97B364AB3167409A73948F5338ED1DC5A47E5E18123D43B14663C8E796
AEDB605FC0B8A1BC209BE84F15D5A87B3F854315FA8544BFE91ADDA367C8DFE6
C69A45F3C0DC0D9D3A7411D5303C8FE48479395490E8375DA37BA6F2DBAAC756
2D212FD115F26421902BFB0D958C2AE794C45D0BC6FB2EECD907C5CDCE6E0BB9
D2C5685B8E02335500B9898BD8D8FB61E7C8C6A1AD6CDE6EB5F414288F074271
D804B81BF416C8FD0741FE927F82FC6B3728DCF821947EBB02AA242785F3C882
3CE99846B05BE0D800948671AF9F80B2C829706FC5EB4C7797BD0677FC0742E1
D2FE50B0E8EF90BFE06F90FBC55F2167CE8B9035B327DC5E3D0C54E70FF27340
1B8978A8011B33D93638E6108DD5644B4019F725947CED28900314AFB483A215
43D83CD81C167373F8FC25C89EFD17C89CF12CA4FB7587C2481FB421E6E6213D
60D61C72646B193BFD1228A23DA06C8D3394AD7585F2756E50B6CE95A9748D13
14AFB2AF9B03EE41FEC257E1F6BCBE9C0F9E87CC693DE0A64F17C85EE90ED569
17B473C893AD36C11E4BFEA2759723BB14D9E581EEA0588FFEDC300294C123D8
EFF2403750C52D869AD242941C4A77CF01F997FF10F8E005F4C13390EEDB15D2
3C9F82EC0057DE0F1AA3F1C0E25C1B6BCAB8258CAD087267CC8A8D6F43E5A677
99E8B73278386890CD7F6A4A0A381FBC02792C0E7AC12DDC830CBF6EC8EF0437
A6B487FC6D93EB623223A34D3D7E9E6C09DD575FFB017DEBC8FC4C6B255ED537
EF837AEB48D428A8DCFC1E5484BC05FA9F3BFE0330165F85BC797DD81EDCFAEC
39E477879BDE9D2105F9C913DB80EA421C3787C485F56A0B97DF659193599C91
8F69EDB46662D7848F869AB0D1A0DE3212AFBD039A32E1FAE5188703581C123F
772EF17B42C6B4EE90E6D50952A6DA22BF35647EE5C8FB205FA746515D63F9FD
138B29C65FE7C6FCACE58F020DE37FC4F86C3FBEF36773A07D28DBF739DC41BE
1CF9B7E7630C0AF837BD68FDB69034E149907D620315E85F2E169D05BE0F61FB
7E6C2DCB6F8A6D8A7925F91F7D4D3EAFDAF28176ED9BDF65D714416F606EB8B0
5CBCB77C30570BB4FECFA6FD67FEC7FD27FE548E3FCE060AF7CCE77D102C88FB
5FE95A71E8A72C9FC866E96A275060EC2BD70FD7CE017D4EEBA6DF748DE5213E
53BC7228DCFD6A108BBF023EFE66D7F15331FE69FF892F1DD7A26E0FF264A76B
F9B9B214BA7637F04D56D78AD00725AB1CB8FC73637EA0BD202ECB3FDC1BD5A1
457AF9D78FCBBFDEDAFC9B4EF9F734F23BC28D496D21F1D327403A5604A9337B
F3EB4F16F0CBE81AD573F223ADA72800E300F781D658B6D685ED87B6F638B36B
C415E69F36F7FAD4D660B6F7DE5D20D583E38F6FC5F88993DAF1FC3201BF94AE
E52FA118EA573B07160BB817C52BED993FB4B517EB5EC0D07AF9777BFECBB5F5
B736F729F639DF53EC31FE645B9E5F22E0DF60EB5FE5CA7C4879A49DC340160F
145F455CEFA1DF744DFF535B7768DF69ED3EDAB527E3DA9338DF33FFCFAAF57F
9220FF7EA16BD443C94EFE8297593DA73D95635CD15C28BFB4DFFD59ACE97F28
E6C9EFDA7DEF5A5BF728EF659FB4ACE5672E33107F79B20D748DFA37AD81FC48
79C47C81FB4A3D96729BFC4239467BADFF613D876353CEA74EED506FEDA43B7B
17F2FD3048C077A16B55093F323BB487B9737B6BE781FEA0B990A8B6F0BFF53F
99D37BB03DA77A4BEC1B93DB31B60C734EC8AFC4B384969FE0A8577F0BE8FAED
75EFB0F8B985BEA43C227F30614DA3D826D1FCF43FCCE7186FA91E1C9BC55C4B
1DB65EFDD53D0BD0790DEF555E398AF1D383F56F3A47D05CB2B096523DA5FDA5
F8A26BFA1FEAB3B5EB4676E2785DB6146B9FEA62BC969F239B5FAFFF514FA4DE
487118E9CD7297D694EEDB8DC533F532ED77372675515E2D5B7D2F57DBE3B83A
A3BF6ED2EDBAFE9B69B0FFB238C0B3013B7F882167953BAB9DE453DA53AAE3DA
EF4E4C799BC7B139907242C6B0FE4A3586CF73A132FCED419325E1CE1F891F35
7806A23312F5423C3365AF70417FB667FD8BD6A7FDB6653E66A2F89ED09AE3D6
5F33CFAE3B7F25AE32EFFC89674576FE14E3B9651224610E531E134BFBFD64AD
9F0DAD97DFEFDB5B27F1EB26ED63E76AB3CFDFEC9D839DBF2B2E1F81AC00772D
0BF3493FA7EAAFD9A12ED62C3F7F0BF62261348EBFC5BF4F545EFF37EBDF9447
5447A997905267BDC4EA5AE1DE05EC19C1FB4726FAFCC3FB7A07627981E735CA
59F3DFBFE8D90546E3BC71B2616726F68EC9FA4512D7B7CBD86FEDB5F5B86F4E
8DF2F59F58890745AFC9E25B49A571220D0AF4258B6F0986AE1B93A1E765876D
32C471A2DE86F8C44E39FE4C75FEE589A0AFE4A35D20E5442FC817CF315B293F
FC05C73D5D67E78F0990F49D6DB534DE26DBD01C707E3505573D00CACED4138E
8182840500D58506559E7F04EF2F64A2DF748D9EA771423BAADC18A37320FF14
5CF534CCA77B68DB189FEEF13EE69FE3AFE9DBE2E7208BB7496F0E3E89FCCCEE
351BDFF3F1E23FA0F86B2C3FED641FCCA75E20972E8542D93293A2E728FFD24E
F67D207C55CE763607695C0BF3EA0FAE9BD814EB0F82FFA0F538F09539D190F6
1F0B7C6E542D981DDA434BF83426E5C48B16D57CE3BDA0178B1F4BF8A672CE12
E9E7A2597C1335C732BE6E2DB2F2AD7C2BDFCAB7F21F29BECEFBC7C3ED3FECFC
5D53FFFDAB47B5FCBA0F148AA741F2B16EEC0C67EE99AFE1B3E00BCC1ED925FB
C4C1F70F49BDF7CFC33609C2F74F4BDF398D9F0775EC68882D3B2C1A647DEFB7
CA2AAB1E94A487445F607D399310279ADBD46C59BC2858A7E61D140D68367613
F20DB2E345814DC14E38245A6BA0DF8458D90F71BFE344EBEBFFD72C0A6E92FC
C6986E2EF6A3C06F6EFF0B727E8D819CDF689D43B3CCA1D9EAEFA3D07F1E85FE
FB289C3FACB2CA2AABACB2EAFF59D45BA9C7E239785E93F777BDF37F539FBBAD
EF1FD6B3FFE3F0FE4131F2677AFF78D4FE7F6B2AFF5BFF7FB3FEFFD69CFFBF35
75DF69EEF387555659F5E0F53F1571E3A8
}
end
object MainMenu1: TMainMenu
Images = ImageList1
Left = 320
Top = 168
Left = 552
Top = 88
object MenuItem1: TMenuItem
Caption = 'File'
object MenuItem4: TMenuItem

View File

@ -5,15 +5,17 @@ unit reMainUnit;
interface
uses
SysUtils, resource, LazUTF8, SynEdit, Forms, Controls, Dialogs, ComCtrls,
ActnList, Menus, ExtCtrls, Grids, bitmapresource, versionresource,
groupiconresource, Classes;
SysUtils, Classes, Math, resource, TypInfo, fpImage, fpReadPNG, fpReadJPEG,
LazUTF8, Graphics, SynEdit, Forms, Controls, Dialogs, ComCtrls, ActnList, Menus,
ExtCtrls, Grids, Buttons, StdCtrls,
BitmapResource, VersionResource, GroupIconResource, GroupCursorResource;
type
{ TreMainForm }
TreMainForm = class(TForm)
Bevel1: TBevel;
fileSave: TAction;
HeaderControl1: THeaderControl;
hlpAbout: TAction;
@ -22,6 +24,14 @@ type
ActionList1: TActionList;
Image1: TImage;
ImageList1: TImageList;
lblWidth: TLabel;
lblHeight: TLabel;
lblPixelformat: TLabel;
lblImageIndexCount: TLabel;
infoWidth: TLabel;
infoHeight: TLabel;
infoPixelformat: TLabel;
infoImageIndexCount: TLabel;
MainMenu1: TMainMenu;
MenuItem1: TMenuItem;
MenuItem2: TMenuItem;
@ -31,6 +41,10 @@ type
MenuItem6: TMenuItem;
OpenDialog1: TOpenDialog;
PageControl1: TPageControl;
IconNavigatorPanel: TPanel;
ImagePropsPanel: TPanel;
btnPrevImage: TSpeedButton;
btnNextImage: TSpeedButton;
Splitter1: TSplitter;
StatusBar1: TStatusBar;
StringGrid1: TStringGrid;
@ -46,20 +60,27 @@ type
TreeView1: TTreeView;
procedure fileExitExecute(Sender: TObject);
procedure fileOpenExecute(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure HeaderControl1SectionResize(HeaderControl: TCustomHeaderControl;
Section: THeaderSection);
procedure hlpAboutExecute(Sender: TObject);
procedure btnPrevImageClick(Sender: TObject);
procedure btnNextImageClick(Sender: TObject);
procedure Splitter1ChangeBounds(Sender: TObject);
procedure TreeView1SelectionChanged(Sender: TObject);
private
Res:TResources;
FActivated: Boolean;
procedure ClearDisplay;
procedure LoadVersionResource(V:TVersionResource);
procedure LoadBitmapResource(B:TBitmapResource);
procedure LoadGroupCursorResource(G: TGroupCursorResource);
procedure LoadGroupIconResource(G:TGroupIconResource);
procedure LoadResourceAsBinary(R: TAbstractResource);
function ResourceIsImage(S: TStream): Boolean;
procedure UpdatePictureInfo(Pic: TPicture; IsIcon: Boolean);
public
procedure OpenFile(const AFileName:string);
end;
@ -87,6 +108,19 @@ begin
OpenFile(UTF8ToSys(OpenDialog1.FileName));
end;
procedure TreMainForm.FormActivate(Sender: TObject);
var
wmax: Integer;
begin
if not FActivated then
begin
FActivated := true;
wmax := Max(lblWidth.Width, lblHeight.Width);
wmax := Max(lblPixelFormat.Width, Max(lblImageIndexCount.Width, wmax));
infoWidth.BorderSpacing.Left := wmax; // + 16;
end;
end;
procedure TreMainForm.FormCreate(Sender: TObject);
begin
Caption:=sResourceExplorer;
@ -100,6 +134,12 @@ begin
tabString.Caption:=sStrings;
tabImage.Caption:=sImage;
HeaderControl1.Sections[0].Text := sResources;
lblWidth.Caption := sWidth;
lblHeight.Caption := sHeight;
lblPixelFormat.Caption := sPixelFormat;
lblImageIndexCount.Caption := sImageIndex;
btnPrevImage.Hint := sPrevImage;
btnNextImage.Hint := sNextImage;
{$IFDEF Windows}
OpenDialog1.Filter := sAllFilesExcutableFilesExeExeDLLDllDll;
@ -108,7 +148,11 @@ begin
{$ENDIF}
Splitter1ChangeBounds(nil);
SynEdit1.Gutter.Visible := False;
SynEdit1.Font.Quality := fqClearType;
ClearDisplay;
if ParamCount > 0 then
OpenFile(ParamStr(1));
end;
procedure TreMainForm.FormDestroy(Sender: TObject);
@ -119,8 +163,8 @@ end;
procedure TreMainForm.HeaderControl1SectionResize(
HeaderControl: TCustomHeaderControl; Section: THeaderSection);
begin
TreeView1.Width:=HeaderControl1.Sections[0].Width;
HeaderControl1.Sections[1].Width:=Width - TreeView1.Width;
TreeView1.Width := HeaderControl1.Sections[0].Width;
HeaderControl1.Sections[1].Width := Width - TreeView1.Width;
end;
procedure TreMainForm.hlpAboutExecute(Sender: TObject);
@ -130,6 +174,30 @@ begin
reAboutForm.Free;
end;
procedure TreMainForm.btnPrevImageClick(Sender: TObject);
begin
if Image1.Picture.Graphic is TIcon then
begin
if Image1.Picture.Icon.Current > 0 then
begin
Image1.Picture.Icon.Current := Image1.Picture.Icon.Current - 1;
UpdatePictureInfo(Image1.Picture, true);
end;
end;
end;
procedure TreMainForm.btnNextImageClick(Sender: TObject);
begin
if Image1.Picture.Graphic is TIcon then
begin
if Image1.Picture.Icon.Current < Image1.Picture.Icon.Count-1 then
begin
Image1.Picture.Icon.Current := Image1.Picture.Icon.Current + 1;
UpdatePictureInfo(Image1.Picture, true);
end;
end;
end;
procedure TreMainForm.Splitter1ChangeBounds(Sender: TObject);
begin
HeaderControl1.Sections[0].Width:=TreeView1.Width;
@ -153,6 +221,9 @@ begin
else
if ResItem is TGroupIconResource then
LoadGroupIconResource(ResItem as TGroupIconResource)
else
if ResItem is TGroupCursorResource then
LoadGroupCursorResource(ResItem as TGroupCursorResource)
else
LoadResourceAsBinary(ResItem);
end;
@ -193,13 +264,60 @@ begin
PageControl1.ActivePage:=tabImage;
B.BitmapData.Position:=0;
Image1.Picture.Bitmap.LoadFromStream(B.BitmapData);
//
UpdatePictureInfo(Image1.Picture, false);
end;
procedure TreMainForm.LoadGroupCursorResource(G: TGroupCursorResource);
var
img: TCursorImage;
begin
PageControl1.ActivePage := tabImage;
G.ItemData.Position := 0;
img := TCursorImage.Create;
img.LoadFromStream(G.ItemData);
Image1.Picture.Assign(img);
img.Free;
UpdatePictureInfo(Image1.Picture, false);
end;
procedure TreMainForm.LoadGroupIconResource(G: TGroupIconResource);
begin
//ToDo: implement proper method to display
LoadResourceAsBinary(G);
PageControl1.ActivePage := tabImage;
G.ItemData.Position := 0;
Image1.Picture.Icon.LoadFromStream(G.ItemData);
UpdatePictureInfo(Image1.Picture, true);
end;
procedure TreMainForm.UpdatePictureInfo(Pic: TPicture; IsIcon: Boolean);
begin
if Pic = nil then
ImagePropsPanel.Hide
else
begin
ImagePropsPanel.Show;
infoWidth.Caption := IntToStr(Pic.Width);
infoHeight.Caption := IntToStr(Pic.Height);
infoPixelFormat.Caption := GetEnumName(TypeInfo(TPixelformat), Integer(TRasterImage(Pic.Graphic).Pixelformat));
if IsIcon then
infoImageIndexCount.Caption := Format(sIndexOfCount, [Pic.Icon.Current + 1, Pic.Icon.Count]);
IconNavigatorPanel.Visible := isIcon;
infoImageIndexCount.Visible := isIcon;
lblImageIndexCount.Visible := isIcon;
end;
end;
function TreMainForm.ResourceIsImage(S: TStream): Boolean;
var
readerClass: TFPCustomImageReaderClass;
begin
Result := true;
S.Position := 0;
readerClass := TFPCustomImage.FindReaderFromStream(S);
if readerClass <> nil then
exit;
Result := false;
end;
procedure TreMainForm.LoadResourceAsBinary(R: TAbstractResource);
@ -251,6 +369,14 @@ begin
finally
SynEdit1.Lines.EndUpdate;
end;
// Check whether the resource is a non-RT_BITMAP image and try to display it
// in the "Image" tab.
if ResourceIsImage(R.RawData) then
begin
Image1.Picture.LoadFromStream(R.RawData);
UpdatePictureInfo(Image1.Picture, false);
end;
end;
procedure TreMainForm.OpenFile(const AFileName: string);

View File

@ -1,11 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="10"/>
<Version Value="12"/>
<General>
<Flags>
<CompatibilityMode Value="True"/>
</Flags>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<AutoCreateForms Value="False"/>
<Scaled Value="True"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
@ -59,15 +62,9 @@
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IgnoreBinaries Value="False"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|ppw|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
<CommandLineParams Value="/home/alexs/1/5/imageres.dll"/>
</local>
<FormatVersion Value="2"/>
</RunParams>
<RequiredPackages Count="2">
<Item1>
@ -94,7 +91,9 @@
<Filename Value="reaboutunit.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="reAboutForm"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="reAboutUnit"/>
</Unit2>
<Unit3>
<Filename Value="reconstsunit.pas"/>
@ -113,6 +112,9 @@
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<Linking>
<Debugging>
<DebugInfoType Value="dsDwarf3"/>
</Debugging>
<Options>
<Win32>
<GraphicApplication Value="True"/>

View File

@ -13,6 +13,8 @@ uses
{$R resexplorer.res}
begin
Application.Scaled:=True;
Application.Title:='';
Application.Initialize;
Application.CreateForm(TreMainForm, reMainForm);
if Paramcount>0 then