IDE: Improved TStringGrid component editor (Issue #39680, based on patch by Salvatore Coppola).

This commit is contained in:
wp_xyz 2022-03-21 13:47:57 +01:00
parent 1b0ad5c016
commit db61c1d71d
24 changed files with 1389 additions and 149 deletions

View File

@ -1639,10 +1639,36 @@ msgstr "Editor de la cadena de la graella"
msgid "Clean"
msgstr "Netejar"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr ""
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
#, fuzzy
#| msgid "Load..."

View File

@ -1584,10 +1584,36 @@ msgstr "Editor StringGrid"
msgid "Clean"
msgstr "Vyčistit"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "Řetězcová mřížka"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Načít ..."

View File

@ -2,15 +2,15 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2018-11-05 18:07+0100\n"
"PO-Revision-Date: 2022-03-21 13:46+0100\n"
"Last-Translator: Swen Heinig <swen@heinig.email>\n"
"Language-Team: Deutsch <lazarus@miraclec.com>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-SourceCharset: utf-8\n"
"Language: de\n"
"X-Generator: Poedit 2.1.1\n"
"X-Generator: Poedit 3.0.1\n"
#: objinspstrconsts.cactionlisteditorallcategory
msgid "(All)"
@ -1582,12 +1582,38 @@ msgstr "StringGrid Editor"
#: objinspstrconsts.sccssgedtclean
msgid "Clean"
msgstr "Sauber"
msgstr "Löschen"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr "Spalte löschen"
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr "Spalte Nr. %d löschen?"
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr "Zeile löschen"
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr "Zeile Nr. %d löschen?"
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String-Gitter"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr "Spalte einfügen"
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr "Zeile einfügen"
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Laden..."
@ -1619,7 +1645,7 @@ msgstr "Treeview-Einträge bearbeiten ..."
#: objinspstrconsts.sccstredtapply
msgctxt "objinspstrconsts.sccstredtapply"
msgid "Apply"
msgstr "Anwenden"
msgstr "Übernehmen"
#: objinspstrconsts.sccstredtcaption
msgid "TreeView Items Editor"
@ -1747,4 +1773,3 @@ msgstr "Tab nach links bewegen"
#: objinspstrconsts.tccesmovetabright
msgid "Move tab right"
msgstr "Tab nach rechts bewegen"

View File

@ -1585,10 +1585,36 @@ msgstr "Editor de StringGrid"
msgid "Clean"
msgstr "Limpiar"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Cargar ..."

View File

@ -1576,10 +1576,36 @@ msgstr "StringGrid muokkain"
msgid "Clean"
msgstr "Siivoa"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "Merkkijonotaulukko"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Lataa ..."

View File

@ -1580,10 +1580,36 @@ msgstr "Éditeur de grille de chaînes"
msgid "Clean"
msgstr "Nettoyer"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "Grille de chaînes"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Charger..."

View File

@ -1648,10 +1648,36 @@ msgstr "עורך StringGrid "
msgid "Clean"
msgstr "נקה"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "רשת מחרוזות"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
#, fuzzy
#| msgid "Load..."

View File

@ -1583,10 +1583,36 @@ msgstr "StringGrid szerkesztő"
msgid "Clean"
msgstr "Tisztítás"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Betöltés ..."

View File

@ -1649,10 +1649,36 @@ msgstr "StringGrid Editor"
msgid "Clean"
msgstr "Bersihkan"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
#, fuzzy
#| msgid "Load..."

View File

@ -1586,10 +1586,36 @@ msgstr "Editor StringGrid"
msgid "Clean"
msgstr "Pulisci"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Carica..."

View File

@ -1591,10 +1591,36 @@ msgstr "文字列グリッドエディタ"
msgid "Clean"
msgstr "掃除する"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "文字列グリッド"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "読み込み ..."

View File

@ -1584,10 +1584,36 @@ msgstr "StringGrid rengyklė"
msgid "Clean"
msgstr "Išvalyti"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "Teksto lentelė"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Įkelti…"

View File

@ -1634,10 +1634,36 @@ msgstr "StringGrid Bewerker"
msgid "Clean"
msgstr ""
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
#, fuzzy
#| msgid "Load..."

View File

@ -1578,10 +1578,36 @@ msgstr "Edytor StringGrid"
msgid "Clean"
msgstr "Wyczyść"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "StringGrid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Wczytaj..."

View File

@ -1570,10 +1570,36 @@ msgstr ""
msgid "Clean"
msgstr ""
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr ""
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr ""

View File

@ -1579,10 +1579,36 @@ msgstr "Editor \"StringGrid\" ..."
msgid "Clean"
msgstr "Limpar"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "\"String Grid\""
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Carregar ..."

View File

@ -1579,10 +1579,36 @@ msgstr "Редактор StringGrid"
msgid "Clean"
msgstr "Очистить"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Загрузить ..."

View File

@ -1608,10 +1608,36 @@ msgstr "Editor StringGrid"
msgid "Clean"
msgstr "Vyčistiť"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Načítať ..."

View File

@ -1583,10 +1583,36 @@ msgstr "StringGrid Düzenleyici"
msgid "Clean"
msgstr "Temizle"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Yükle..."

View File

@ -1586,10 +1586,36 @@ msgstr "Редактор StringGrid"
msgid "Clean"
msgstr "Очистити"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String Grid"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "Завантажити ..."

View File

@ -1580,10 +1580,36 @@ msgstr "StringGrid 编辑器"
msgid "Clean"
msgstr "清理"
#: objinspstrconsts.sccssgedtdelcol
msgid "Delete Col"
msgstr ""
#: objinspstrconsts.sccssgedtdelcolno
#, object-pascal-format
msgid "Delete column #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtdelrow
msgid "Delete Row"
msgstr ""
#: objinspstrconsts.sccssgedtdelrowno
#, object-pascal-format
msgid "Delete row #%d?"
msgstr ""
#: objinspstrconsts.sccssgedtgrp
msgid "String Grid"
msgstr "String 网格"
#: objinspstrconsts.sccssgedtinscol
msgid "Insert Col"
msgstr ""
#: objinspstrconsts.sccssgedtinsrow
msgid "Insert Row"
msgstr ""
#: objinspstrconsts.sccssgedtload
msgid "Load ..."
msgstr "加载..."

View File

@ -1,41 +1,40 @@
object StringGridEditorDlg: TStringGridEditorDlg
Left = 256
Height = 326
Top = 163
Width = 520
Left = 527
Height = 433
Top = 240
Width = 644
Caption = 'StringGridEditorDlg'
ClientHeight = 326
ClientWidth = 520
ClientHeight = 433
ClientWidth = 644
Constraints.MinHeight = 270
Constraints.MinWidth = 340
OnActivate = FormActivate
OnClose = FormClose
OnCreate = FormCreate
Position = poScreenCenter
LCLVersion = '1.9.0.0'
LCLVersion = '2.3.0.0'
object GroupBox: TGroupBox
AnchorSideBottom.Control = BtnOK
Left = 6
Height = 275
Height = 383
Top = 6
Width = 508
Width = 632
Align = alClient
Anchors = [akRight]
BorderSpacing.Around = 6
Caption = 'String Grid'
ClientHeight = 248
ClientWidth = 504
ClientHeight = 363
ClientWidth = 628
TabOrder = 0
object LabelMove: TLabel
AnchorSideLeft.Control = StringGrid
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ArrowDown
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = GroupBox
AnchorSideRight.Side = asrBottom
Left = 417
Height = 29
Left = 628
Height = 10000
Top = 187
Width = 87
Width = 0
Alignment = taCenter
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
@ -43,68 +42,12 @@ object StringGridEditorDlg: TStringGridEditorDlg
ParentColor = False
WordWrap = True
end
object ArrowLeft: TArrow
AnchorSideTop.Control = ArrowRight
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ArrowUp
Left = 421
Height = 26
Top = 135
Width = 26
Anchors = [akTop, akRight]
Constraints.MinHeight = 8
Constraints.MinWidth = 8
OnClick = SwapRowCol
end
object ArrowRight: TArrow
AnchorSideLeft.Control = ArrowUp
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ArrowUp
AnchorSideTop.Side = asrBottom
Left = 473
Height = 26
Top = 135
Width = 26
ArrowType = atRight
Constraints.MinHeight = 8
Constraints.MinWidth = 8
OnClick = SwapRowCol
end
object ArrowDown: TArrow
AnchorSideLeft.Control = ArrowLeft
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ArrowLeft
AnchorSideTop.Side = asrBottom
Left = 447
Height = 26
Top = 161
Width = 26
ArrowType = atDown
Constraints.MinHeight = 8
Constraints.MinWidth = 8
OnClick = SwapRowCol
end
object ArrowUp: TArrow
AnchorSideLeft.Control = LoadSavePanel
AnchorSideLeft.Side = asrCenter
AnchorSideTop.Control = LoadSavePanel
AnchorSideTop.Side = asrBottom
Left = 447
Height = 26
Top = 109
Width = 26
ArrowType = atUp
BorderSpacing.Top = 10
Constraints.MinHeight = 8
Constraints.MinWidth = 8
OnClick = SwapRowCol
end
object StringGrid: TStringGrid
AnchorSideRight.Control = LoadSavePanel
Left = 6
Height = 236
Top = 6
Width = 405
Height = 317
Top = 40
Width = 616
Align = alLeft
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
@ -118,24 +61,725 @@ object StringGridEditorDlg: TStringGridEditorDlg
AnchorSideTop.Control = GroupBox
AnchorSideRight.Control = GroupBox
AnchorSideRight.Side = asrBottom
Left = 417
Height = 99
Left = 628
Height = 0
Top = 0
Width = 87
Width = 0
Anchors = [akTop, akRight]
AutoSize = True
BevelOuter = bvNone
ClientHeight = 99
ClientWidth = 87
TabOrder = 1
end
object PanelEdit: TPanel
Left = 0
Height = 34
Top = 0
Width = 628
Align = alTop
BevelOuter = bvNone
ClientHeight = 34
ClientWidth = 628
TabOrder = 2
object BtnAddRow: TSpeedButton
Left = 6
Height = 34
Top = 0
Width = 34
Align = alLeft
BorderSpacing.Left = 6
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A6245FF8A62
45FF8A6245FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF000000FF000000FF000000FF000000FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000306
FF000306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306
FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF0306FFFF0306FF000306FF000306FF00000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000008A6245FFE8CD
B8FFE8CDB8FF8A6245FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000008A6245FF8A62
45FF8A6245FF8A6245FF00000000000000000000000000000000
}
OnClick = ManageGrid
ShowHint = True
ParentShowHint = False
end
object BtnDelRow: TSpeedButton
Left = 40
Height = 34
Top = 0
Width = 34
Align = alLeft
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000306
FF000306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306
FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306
FFFF0306FFFF0306FFFF0306FFFF0306FF000306FF000306FF00000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A62
45FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A62
45FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = ManageGrid
ShowHint = True
ParentShowHint = False
end
object BtnRowUp: TSpeedButton
Left = 76
Height = 34
Top = 0
Width = 34
Align = alLeft
BorderSpacing.Left = 2
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF42924AFF42924AFF42924AFF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF0000000000000000000000000306FF000306
FF000306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306
FFFF42924AFF93E89AFF93E89AFF42924AFF0306FFFF0306FFFF0306FFFF0306
FFFF0306FFFF0306FFFF0306FFFF0306FF000306FF0000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFF42924AFF42924AFF4292
4AFF42924AFF93E89AFF93E89AFF42924AFF42924AFF42924AFF42924AFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF42924AFF6ABD
72FF93E89AFF93E89AFF93E89AFF93E89AFF6ABD72FF42924AFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE4E4E4FF4292
4AFF6ABD72FF93E89AFF93E89AFF6ABD72FF42924AFFE4E4E4FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF42924AFF6ABD72FF6ABD72FF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000042924AFF42924AFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = SwapRowCol
ShowHint = True
ParentShowHint = False
end
object BtnRowDown: TSpeedButton
Left = 110
Height = 34
Top = 0
Width = 34
Align = alLeft
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000042924AFF42924AFFBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF42924AFF6ABD72FF6ABD72FF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFCFDFCFF4292
4AFF6ABD72FF93E89AFF93E89AFF6ABD72FF42924AFFFCFDFCFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF42924AFF6ABD
72FF93E89AFF93E89AFF93E89AFF93E89AFF6ABD72FF42924AFF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFF42924AFF42924AFF4292
4AFF42924AFF93E89AFF93E89AFF42924AFF42924AFF42924AFF42924AFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF0000000000000000000000000306FF000306
FF000306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306FFFF0306
FFFF42924AFF93E89AFF93E89AFF42924AFF0306FFFF0306FFFF0306FFFF0306
FFFF0306FFFF0306FFFF0306FFFF0306FF000306FF0000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF42924AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF42924AFF93E89AFF93E89AFF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FF42924AFF93E89AFF93E89AFF42924AFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF42924AFF42924AFF42924AFF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = SwapRowCol
ShowHint = True
ParentShowHint = False
end
object BtnAddCol: TSpeedButton
Left = 152
Height = 34
Top = 0
Width = 34
Align = alLeft
BorderSpacing.Left = 8
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A6245FF8A62
45FF8A6245FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FF0306FFFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF8A6245FFE8CD
B8FFE8CDB8FF8A6245FF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000306FF00000000000000000000000000000000008A6245FFE8CD
B8FFE8CDB8FF8A6245FF00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000306FF00000000000000000000000000000000008A6245FF8A62
45FF8A6245FF8A6245FF00000000000000000000000000000000
}
OnClick = ManageGrid
ShowHint = True
ParentShowHint = False
end
object BtnDelCol: TSpeedButton
Left = 186
Height = 34
Top = 0
Width = 34
Align = alLeft
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000BE6B352BBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF000000FF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A62
45FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFF0306FFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFF0306FFFF8A6245FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CD
B8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FFE8CDB8FF8A6245FF000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A62
45FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF8A6245FF000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FF0306FFFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000306FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000306FF0000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = ManageGrid
ShowHint = True
ParentShowHint = False
end
object BtnColLeft: TSpeedButton
Left = 222
Height = 34
Top = 0
Width = 34
Align = alLeft
BorderSpacing.Left = 2
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFFBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFFBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE4E4E4FF42924AFF42924AFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFF000000FF000000FF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF42924AFF6ABD72FF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
000042924AFF6ABD72FF93E89AFF42924AFF42924AFF42924AFF42924AFF4292
4AFF42924AFF42924AFF42924AFF42924AFF42924AFF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000004292
4AFF6ABD72FF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E8
9AFF93E89AFF93E89AFF93E89AFF93E89AFF42924AFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000004292
4AFF6ABD72FF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E8
9AFF93E89AFF93E89AFF93E89AFF93E89AFF42924AFF000000FF000000FF0000
00FFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
000042924AFF6ABD72FF93E89AFF42924AFF42924AFF42924AFF42924AFF4292
4AFF42924AFF42924AFF42924AFF42924AFF42924AFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF42924AFF6ABD72FF42924AFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFF000000FF000000FF000000FF000000FF0000
00FF000000FFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE4E4E4FF42924AFF42924AFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF42924AFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF0306FFFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = SwapRowCol
ShowHint = True
ParentShowHint = False
end
object BtnColRight: TSpeedButton
Left = 256
Height = 34
Top = 0
Width = 34
Align = alLeft
Glyph.Data = {
36090000424D3609000000000000360000002800000018000000180000000100
2000000000000009000064000000640000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BD6A3659BE6B37BDBE6A
3889BE6A3671C16E3725C16A351DBE6B367ABF6A378BBF6A37B6BD6A366CFF00
000100000000BF6A3924BE6B36A4BF6B37BABE6B386E00000000000000000000
00000000000000000000000000000000000000000000BE6B37E2BF663314BB6F
331EBE6B37E5BE6B3837BE6B352BBE6B37EFBE693427AA802B06BF6B38AABF6B
3758B66D4907BE6B37D5BE6B383700000000BC69352200000000000000000000
00000000000000000000000000000000000000000000BE6B36C5BF6A385BBF6A
3518BE6B36A9BE6B3837BE6B352BBE6B37B50000000000000000BD6A393ABE6C
37A6BE693733BE6C37AD00000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000C3693C11BD6B3869BE6C
3795BE6B37E3BD6D3936BE6B352BBF6B37BA0000000000000000BE6D362FBD6A
37AFC16A3829BE6C37B400000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000BE6B3837BF6A3518BF60
4008BE6B37D1C2663319BE6B352BBE6B37EDBD6A393AAA555503BE6B3696BD6B
377080800002BE6B36C5BF6A394800000000BD6B3A1F00000000000000000000
00000000000000000000000000000000000000000000BF6A3530BE6A37A8BE6B
37B8BF6A366700000000BE6B352BBD6A37AFBF6C376FBE6C37B4BF6B3783CC66
330500000000BF663314BE6B3791BF6A37B6BF6A377300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFFBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFFBD6A37AF0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4292
4AFFFFFFFFFFFFFFFFFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFF000000FF000000FF000000FF000000FF4292
4AFF42924AFFFCFDFCFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4292
4AFF6ABD72FF42924AFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF42924AFF4292
4AFF42924AFF42924AFF42924AFF42924AFF42924AFF42924AFF42924AFF4292
4AFF93E89AFF6ABD72FF42924AFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFF42924AFF93E8
9AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E8
9AFF93E89AFF93E89AFF6ABD72FF42924AFF0000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF42924AFF93E8
9AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E89AFF93E8
9AFF93E89AFF93E89AFF6ABD72FF42924AFF0000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFF42924AFF4292
4AFF42924AFF42924AFF42924AFF42924AFF42924AFF42924AFF42924AFF4292
4AFF93E89AFF6ABD72FF42924AFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFF000000FF000000FF000000FFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFF000000FF000000FF000000FF000000FF4292
4AFF6ABD72FF42924AFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FF4D4D4DFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFF4D4D4DFFFFFFFFFF0306FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4292
4AFF42924AFFFCFDFCFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4292
4AFF4D4D4DFF4D4D4DFF4D4D4DFF000000000000000000000000000000000000
00004D4D4DFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF0306FFFFE6E6E6FFE6E6E6FFE6E6E6FFE6E6E6FFE6E6
E6FFE6E6E6FFE6E6E6FF4D4D4DFF000000000000000000000000000000000000
0000505050F34D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF0306FFFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D4DFF4D4D
4DFF4D4D4DFF4D4D4DFF505050F3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000306FFFF000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000
}
OnClick = SwapRowCol
ShowHint = True
ParentShowHint = False
end
object BtnLoad: TButton
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Side = asrBottom
Left = 6
Height = 25
Left = 393
Height = 22
Top = 6
Width = 75
Align = alTop
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = 'Load...'
@ -145,11 +789,11 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnSave: TButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 25
Top = 37
Width = 75
Align = alTop
Left = 474
Height = 22
Top = 6
Width = 68
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = 'BtnSave'
@ -158,11 +802,11 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnClean: TButton
AnchorSideTop.Side = asrBottom
Left = 6
Height = 25
Top = 68
Width = 75
Align = alTop
Left = 548
Height = 22
Top = 6
Width = 74
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
Caption = 'BtnClean'
@ -173,20 +817,20 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnPanel: TPanel
Left = 0
Height = 39
Top = 287
Width = 520
Height = 38
Top = 395
Width = 644
Align = alBottom
AutoSize = True
BevelOuter = bvNone
ClientHeight = 39
ClientWidth = 520
ClientHeight = 38
ClientWidth = 644
TabOrder = 1
object BtnHelp: TBitBtn
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Side = asrBottom
Left = 439
Height = 27
Left = 563
Height = 26
Top = 6
Width = 75
Align = alRight
@ -199,8 +843,8 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnApply: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 358
Height = 27
Left = 482
Height = 26
Top = 6
Width = 75
Align = alRight
@ -213,10 +857,10 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnCancel: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 269
Height = 27
Left = 394
Height = 26
Top = 6
Width = 83
Width = 82
Align = alRight
AutoSize = True
BorderSpacing.Around = 6
@ -228,8 +872,8 @@ object StringGridEditorDlg: TStringGridEditorDlg
end
object BtnOK: TBitBtn
AnchorSideBottom.Side = asrBottom
Left = 188
Height = 27
Left = 313
Height = 26
Top = 6
Width = 75
Align = alRight
@ -246,13 +890,13 @@ object StringGridEditorDlg: TStringGridEditorDlg
object OpenDialog: TOpenDialog
Title = 'Open'
FilterIndex = 0
left = 135
top = 243
Left = 135
Top = 243
end
object SaveDialog: TSaveDialog
Title = 'Save'
FilterIndex = 0
left = 168
top = 243
Left = 176
Top = 243
end
end

View File

@ -11,9 +11,9 @@ unit LazStringGridEdit;
interface
uses
Classes,
Classes, SysUtils,
// LCL
Forms, Controls, Dialogs, Arrow, StdCtrls, Buttons, Grids, ExtCtrls,
Forms, Controls, Dialogs, StdCtrls, Buttons, Grids, ExtCtrls,
// IdeIntf
ObjInspStrConsts, IDEWindowIntf;
@ -22,10 +22,6 @@ type
{ TStringGridEditorDlg }
TStringGridEditorDlg = class(TForm)
ArrowLeft: TArrow;
ArrowRight: TArrow;
ArrowDown: TArrow;
ArrowUp: TArrow;
BtnOK: TBitBtn;
BtnCancel: TBitBtn;
BtnApply: TBitBtn;
@ -38,16 +34,27 @@ type
OpenDialog: TOpenDialog;
BtnPanel: TPanel;
LoadSavePanel: TPanel;
PanelEdit: TPanel;
SaveDialog: TSaveDialog;
BtnAddRow: TSpeedButton;
BtnDelRow: TSpeedButton;
BtnRowUp: TSpeedButton;
BtnRowDown: TSpeedButton;
BtnAddCol: TSpeedButton;
BtnDelCol: TSpeedButton;
BtnColLeft: TSpeedButton;
BtnColRight: TSpeedButton;
StringGrid: TStringGrid;
procedure BtnApplyClick(Sender: TObject);
procedure BtnCleanClick(Sender: TObject);
procedure BtnLoadClick(Sender: TObject);
procedure BtnSaveClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var {%H-}CloseAction: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure StringGridPrepareCanvas({%H-}sender: TObject; Col, Row: Integer;
{%H-}aState: TGridDrawState);
procedure ManageGrid(Sender:TObject);
procedure SwapRowCol(Sender:TObject);
private
FModified: Boolean;
@ -110,6 +117,15 @@ begin
OpenDialog.Title := sccsSGEdtOpenDialog;
SaveDialog.Title := sccsSGEdtSaveDialog;
BtnRowUp.Hint := sccsSGEdtMoveRowsCols;
BtnRowDown.Hint := sccsSGEdtMoveRowsCols;
BtnColLeft.Hint := sccsSGEdtMoveRowsCols;
BtnColRight.Hint := sccsSGEdtMoveRowsCols;
BtnAddRow.Hint := sccsSGEdtInsRow;
BtnAddCol.Hint := sccsSGEdtInsCol;
BtnDelRow.Hint := sccsSGEdtDelRow;
BtnDelCol.Hint := sccsSGEdtDelCol;
StringGrid.ExtendedColSizing := True;
IDEDialogLayoutList.ApplyLayout(Self);
end;
@ -134,6 +150,7 @@ procedure TStringGridEditorDlg.BtnLoadClick(Sender: TObject);
begin
if OpenDialog.Execute then
begin
StringGrid.SaveOptions := [soDesign, soContent];
StringGrid.LoadFromFile(OpenDialog.FileName);
end;
end;
@ -142,10 +159,22 @@ procedure TStringGridEditorDlg.BtnSaveClick(Sender: TObject);
begin
if SaveDialog.Execute then
begin
StringGrid.SaveOptions := [soDesign, soContent];
StringGrid.SaveToFile(SaveDialog.FileName);
end;
end;
procedure TStringGridEditorDlg.FormActivate(Sender: TObject);
var
delta: Integer;
begin
delta := Groupbox.BorderSpacing.Around; // Assuming all borderspacings are equal
Constraints.MinWidth := BtnColRight.Left + BtnColRight.Width +
(BtnClean.Left + BtnClean.Width - BtnLoad.Left) + 6*delta;
if Width < Constraints.MinWidth then
Width := 0; // Enforce constraints
end;
procedure TStringGridEditorDlg.StringGridPrepareCanvas(sender: TObject; Col,
Row: Integer; aState: TGridDrawState);
begin
@ -153,39 +182,55 @@ begin
StringGrid.Canvas.Brush.Color := FStringGrid.FixedColor;
end;
procedure TStringGridEditorDlg.ManageGrid(Sender:TObject);
var
irow, icol: integer;
begin
irow := StringGrid.Row;
icol := StringGrid.Col;
if (Sender = BtnAddRow) then
begin
StringGrid.InsertColRow(false, irow);
StringGrid.Row := StringGrid.Row-1;
end
else
if (Sender = BtnDelRow) and (irow >= 0) then
begin
if MessageDlg(Application.Title, Format(sccsSGEdtDelRowNo, [irow]), mtConfirmation, mbYesNo, 0) = mrYes then
StringGrid.DeleteRow(irow);
end else
if Sender = BtnAddCol then
begin
StringGrid.InsertColRow(true, icol);
StringGrid.Col := StringGrid.Col - 1;
end
else
if (Sender = BtnDelCol) and (icol >= 0) then
if MessageDlg(Application.Title, Format(sccsSGEdtDelColNo, [icol]), mtConfirmation, mbYesNo, 0) = mrYes then
StringGrid.DeleteCol(icol);
end;
procedure TStringGridEditorDlg.SwapRowCol(Sender:TObject);
begin
if TObject(Sender)=ArrowLeft then begin
try
if Sender = BtnColLeft then begin
if StringGrid.Col > 0 then
StringGrid.ExchangeColRow(true,StringGrid.Col,StringGrid.Col-1);
StringGrid.Col:=StringGrid.Col-1;
except
end;
end;
if TObject(Sender)=ArrowUp then begin
try
//StringGrid.Col := StringGrid.Col - 1;
end else
if Sender = BtnRowUp then begin
if StringGrid.Row > 0 then
StringGrid.ExchangeColRow(false,StringGrid.Row,StringGrid.Row-1);
StringGrid.Row:=StringGrid.Row-1;
except
end;
//StringGrid.Row := StringGrid.Row - 1;
end;
if TObject(Sender)=ArrowRight then begin
try
if Sender = BtnColRight then begin
if StringGrid.Col < StringGrid.ColCount-1 then
StringGrid.ExchangeColRow(true,StringGrid.Col,StringGrid.Col+1);
StringGrid.Col:=StringGrid.Col+1;
except
end;
//StringGrid.Col := StringGrid.Col + 1;
end;
if TObject(Sender)=ArrowDown then begin
try
if Sender = BtnRowDown then begin
if StringGrid.Row < StringGrid.RowCount-1 then
StringGrid.ExchangeColRow(false,StringGrid.Row,StringGrid.Row+1);
StringGrid.Row:=StringGrid.Row+1;
except
end;
//StringGrid.Row := StringGrid.Row + 1;
end;
end;
@ -204,7 +249,7 @@ procedure TStringGridEditorDlg.SaveToGrid;
begin
if Assigned(FStringGrid) then
begin
AssignGrid(FStringGrid, StringGrid, False);
AssignGrid(FStringGrid, StringGrid, true);
FModified := True;
end;
end;

View File

@ -183,6 +183,12 @@ resourcestring
sccsSGEdtOpenDialog = 'Open';
sccsSGEdtSaveDialog = 'Save';
sccsSGEdtMoveRowsCols = 'Move Rows/Cols';
sccsSGEdtDelRow = 'Delete Row';
sccsSGEdtDelCol = 'Delete Col';
sccsSGEdtInsRow = 'Insert Row';
sccsSGEdtInsCol = 'Insert Col';
sccsSGEdtDelRowNo = 'Delete row #%d?';
sccsSGEdtDelColNo = 'Delete column #%d?';
// HeaderControl Editor
sccsHCEditSections = 'Sections Editor ...';