You've already forked lazarus-ccr
lazbarcodes: Mode 2 of Maxicode working.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8227 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -488,7 +488,7 @@ object MainForm: TMainForm
|
|||||||
Height = 293
|
Height = 293
|
||||||
Top = 35
|
Top = 35
|
||||||
Width = 152
|
Width = 152
|
||||||
PageIndex = 0
|
PageIndex = 2
|
||||||
BorderSpacing.Left = 16
|
BorderSpacing.Left = 16
|
||||||
TabOrder = 7
|
TabOrder = 7
|
||||||
object pgOptions_QR: TPage
|
object pgOptions_QR: TPage
|
||||||
@ -550,6 +550,405 @@ object MainForm: TMainForm
|
|||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object pgOptions_Maxicode: TPage
|
||||||
|
object rgMaxicode_Mode: TRadioGroup
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 88
|
||||||
|
Top = 0
|
||||||
|
Width = 152
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
AutoFill = True
|
||||||
|
Caption = 'Mode'
|
||||||
|
ChildSizing.LeftRightSpacing = 6
|
||||||
|
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||||
|
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||||
|
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||||
|
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||||
|
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||||
|
ChildSizing.ControlsPerLine = 2
|
||||||
|
ClientHeight = 68
|
||||||
|
ClientWidth = 148
|
||||||
|
Columns = 2
|
||||||
|
ItemIndex = 0
|
||||||
|
Items.Strings = (
|
||||||
|
'auto'
|
||||||
|
'Mode 2'
|
||||||
|
'Mode 3'
|
||||||
|
'Mode 4'
|
||||||
|
'Mode 5'
|
||||||
|
'Mode 6'
|
||||||
|
)
|
||||||
|
OnClick = rgMaxicode_ModeClick
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
object lblMaxicode_Postcode: TLabel
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = rgMaxicode_Mode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 104
|
||||||
|
Width = 52
|
||||||
|
BorderSpacing.Top = 16
|
||||||
|
Caption = 'Post code'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object edMaxicode_Postcode: TEdit
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = lblMaxicode_Postcode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 23
|
||||||
|
Top = 119
|
||||||
|
Width = 152
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
OnChange = edMaxicode_PostcodeChange
|
||||||
|
TabOrder = 1
|
||||||
|
TextHint = 'Enter postcode here'
|
||||||
|
end
|
||||||
|
object lblMaxicode_CountryCode: TLabel
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = edMaxicode_Postcode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 150
|
||||||
|
Width = 128
|
||||||
|
BorderSpacing.Top = 8
|
||||||
|
Caption = 'Country code (ISO 3166)'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object cbMaxicode_CountryCode: TComboBox
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = lblMaxicode_CountryCode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 23
|
||||||
|
Top = 167
|
||||||
|
Width = 152
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
BorderSpacing.Top = 2
|
||||||
|
ItemHeight = 15
|
||||||
|
Items.Strings = (
|
||||||
|
'004 - AFGHANISTAN'
|
||||||
|
'248 - ALAND ISLANDS'
|
||||||
|
'008 - ALBANIA'
|
||||||
|
'012 - ALGERIA'
|
||||||
|
'016 - AMERICAN SAMOA'
|
||||||
|
'020 - ANDORRA'
|
||||||
|
'024 - ANGOLA'
|
||||||
|
'660 - ANGUILLA'
|
||||||
|
'010 - ANTARCTICA'
|
||||||
|
'028 - ANTIGUA AND BARBUDA'
|
||||||
|
'032 - ARGENTINA'
|
||||||
|
'051 - ARMENIA'
|
||||||
|
'053 - ARUBA'
|
||||||
|
'036 - AUSTRALIA'
|
||||||
|
'040- AUSTRIA'
|
||||||
|
'031 - AZERBAIJAN'
|
||||||
|
'044 - BAHAMAS'
|
||||||
|
'048 - BAHRAIN'
|
||||||
|
'050 - BANGLADESH'
|
||||||
|
'052 - BARBADOS'
|
||||||
|
'112 - BELARUS'
|
||||||
|
'056 - BELGIUM'
|
||||||
|
'084 - BELIZE'
|
||||||
|
'204 - BENIN'
|
||||||
|
'060 - BERMUDA'
|
||||||
|
'064 - BHUTAN'
|
||||||
|
'068 - BOLIVIA'
|
||||||
|
'070 - BOSNIA AND HERZEGOVINA'
|
||||||
|
'072 - BOTSWANA'
|
||||||
|
'074 - BOUVET ISLAND'
|
||||||
|
'076 - BRAZIL'
|
||||||
|
'086 - BRITISH INDIAN OCEAN TERRITORY'
|
||||||
|
'096 - BRUNEI DARUSSALAM'
|
||||||
|
'100 - BULGARIA'
|
||||||
|
'854 - BURKINA FASO'
|
||||||
|
'108 - BURUNDI'
|
||||||
|
'116 - CAMBODIA'
|
||||||
|
'120 - CAMEROON'
|
||||||
|
'124 - CANADA'
|
||||||
|
'132 - CAPE VERDE'
|
||||||
|
'136 - CAYMAN ISLANDS'
|
||||||
|
'140 - CENTRAL AFRICAN REPUBLIC'
|
||||||
|
'148 - CHAD'
|
||||||
|
'152- CHILE'
|
||||||
|
'156 - CHINA'
|
||||||
|
'162 - CHRISTMAS ISLAND'
|
||||||
|
'166 - COCOS (KEELING) ISLANDS'
|
||||||
|
'170 - COLOMBIA'
|
||||||
|
'174 - COMOROS'
|
||||||
|
'178 - CONGO'
|
||||||
|
'180 - CONGO, THE DEMOCRATIC REPUBLIC OF THE'
|
||||||
|
'184 - COOK ISLANDS'
|
||||||
|
'188 - COSTA RICA'
|
||||||
|
'384 - COTE D''IVOIRE'
|
||||||
|
'191 - CROATIA'
|
||||||
|
'192 - CUBA'
|
||||||
|
'196 - CYPRUS'
|
||||||
|
'203 - CZECH REPUBLIC'
|
||||||
|
'208 - DENMARK'
|
||||||
|
'262 - DJIBOUTI'
|
||||||
|
'212 - DOMINICA'
|
||||||
|
'214 - DOMINICAN REPUBLIC'
|
||||||
|
'218 - ECUADOR'
|
||||||
|
'818 - EGYPT'
|
||||||
|
'222 - EL SALVADOR'
|
||||||
|
'226 - EQUATORIAL GUINEA'
|
||||||
|
'232 - ERITREA'
|
||||||
|
'233 - ESTONIA'
|
||||||
|
'231 - ETHIOPIA'
|
||||||
|
'238 - FALKLAND ISLANDS (MALVINAS)'
|
||||||
|
'234 - FAROE ISLANDS'
|
||||||
|
'242 - FIJI'
|
||||||
|
'246 - FINLAND'
|
||||||
|
'250 - FRANCE'
|
||||||
|
'254 - FRENCH GUIANA'
|
||||||
|
'258 - FRENCH POLYNESIA'
|
||||||
|
'260 - FRENCH SOUTHERN TERRITORIES'
|
||||||
|
'266 - GABON'
|
||||||
|
'270 - GAMBIA'
|
||||||
|
'268 - GEORGIA'
|
||||||
|
'276 - GERMANY'
|
||||||
|
'288 - GHANA'
|
||||||
|
'292 - GIBRALTAR'
|
||||||
|
'300 - GREECE'
|
||||||
|
'304 - GREENLAND'
|
||||||
|
'308 - GRENADA'
|
||||||
|
'312 - GUADELOUPE'
|
||||||
|
'316 - GUAM'
|
||||||
|
'320 - GUATEMALA'
|
||||||
|
'831 - GUERNSEY'
|
||||||
|
'324 - GUINEA'
|
||||||
|
'624 - GUINEA-BISSAU'
|
||||||
|
'328 - GUYANA'
|
||||||
|
'332 - HAITI'
|
||||||
|
'334 - HEARD ISLAND AND MCDONALD ISLANDS'
|
||||||
|
'336 - HOLY SEE (VATICAN CITY STATE)'
|
||||||
|
'340 - HONDURAS'
|
||||||
|
'344 - HONG KONG'
|
||||||
|
'348 - HUNGARY'
|
||||||
|
'352 - ICELAND'
|
||||||
|
'356 - INDIA'
|
||||||
|
'360 - INDONESIA'
|
||||||
|
'364 - IRAN (ISLAMIC REPUBLIC OF)'
|
||||||
|
'368 - IRAQ'
|
||||||
|
'372 - IRELAND'
|
||||||
|
'833 - ISLE OF MAN'
|
||||||
|
'376 - ISRAEL'
|
||||||
|
'380 - ITALY'
|
||||||
|
'388 - JAMAICA'
|
||||||
|
'392 - JAPAN'
|
||||||
|
'832 - JERSEY'
|
||||||
|
'400 - JORDAN'
|
||||||
|
'398 - KAZAKHSTAN'
|
||||||
|
'404 - KENYA'
|
||||||
|
'296 - KIRIBATI'
|
||||||
|
'408 - KOREA, DEMOCRATIC PEOPLE''S REPUBLIC OF'
|
||||||
|
'410 - KOREA, REPUBLIC OF'
|
||||||
|
'414 - KUWAIT'
|
||||||
|
'417 - KYRGYZSTAN'
|
||||||
|
'418 - LAO PEOPLE''S DEMOCRATIC REPUBLIC'
|
||||||
|
'428 - LATVIA'
|
||||||
|
'422 - LEBANON'
|
||||||
|
'426 - LESOTHO'
|
||||||
|
'430 - LIBERIA'
|
||||||
|
'434 - LIBYAN ARAB JAMAHIRIYA'
|
||||||
|
'438 - LIECHTENSTEIN'
|
||||||
|
'440 - LITHUANIA'
|
||||||
|
'442 - LUXEMBOURG'
|
||||||
|
'446 - MACAO'
|
||||||
|
'807 - MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF'
|
||||||
|
'450 - MADAGASCAR'
|
||||||
|
'454 - MALAWI'
|
||||||
|
'458 - MALAYSIA'
|
||||||
|
'462 - MALDIVES'
|
||||||
|
'466 - MALI'
|
||||||
|
'470 - MALTA'
|
||||||
|
'584 - MARSHALL ISLANDS'
|
||||||
|
'474 - MARTINIQUE'
|
||||||
|
'478 - MAURITANIA'
|
||||||
|
'480 - MAURITIUS'
|
||||||
|
'175 - MAYOTTE'
|
||||||
|
'484 - MEXICO'
|
||||||
|
'583 - MICRONESIA, FEDERATED STATES OF'
|
||||||
|
'498 - MOLDOVA, REPUBLIC OF'
|
||||||
|
'492 - MONACO'
|
||||||
|
'496 - MONGOLIA'
|
||||||
|
'499 - MONTENEGRO'
|
||||||
|
'500 - MONTSERRAT'
|
||||||
|
'504 - MOROCCO'
|
||||||
|
'508 - MOZAMBIQUE'
|
||||||
|
'104 - MYANMAR'
|
||||||
|
'516 - NAMIBIA'
|
||||||
|
'520 - NAURU'
|
||||||
|
'524 - NEPAL'
|
||||||
|
'528 - NETHERLANDS'
|
||||||
|
'530 - NETHERLANDS ANTILLES'
|
||||||
|
'540 - NEW CALEDONIA'
|
||||||
|
'554 - NEW ZEALAND'
|
||||||
|
'558 - NICARAGUA'
|
||||||
|
'562 - NIGER'
|
||||||
|
'566 - NIGERIA'
|
||||||
|
'570 - NIUE'
|
||||||
|
'574 - NORFOLK ISLAND'
|
||||||
|
'580 - NORTHERN MARIANA ISLANDS'
|
||||||
|
'578 - NORWAY'
|
||||||
|
'512 - OMAN'
|
||||||
|
'586 - PAKISTAN'
|
||||||
|
'585 - PALAU'
|
||||||
|
'275 - PALESTINIAN TERRITORY, OCCUPIED'
|
||||||
|
'591 - PANAMA'
|
||||||
|
'598 - PAPUA NEW GUINEA'
|
||||||
|
'600 - PARAGUAY'
|
||||||
|
'604 - PERU'
|
||||||
|
'608 - PHILIPPINES'
|
||||||
|
'612 - PITCAIRN'
|
||||||
|
'616 - POLAND'
|
||||||
|
'620 - PORTUGAL'
|
||||||
|
'630 - PUERTO RICO'
|
||||||
|
'634 - QATAR'
|
||||||
|
'638 - REUNION'
|
||||||
|
'642 - ROMANIA'
|
||||||
|
'643 - RUSSIAN FEDERATION'
|
||||||
|
'646 - RWANDA'
|
||||||
|
'654 - SAINT HELENA'
|
||||||
|
'659 - SAINT KITTS AND NEVIS'
|
||||||
|
'662 - SAINT LUCIA'
|
||||||
|
'666 - SAINT PIERRE AND MIQUELON'
|
||||||
|
'670 - SAINT VINCENT AND THE GRENADINES'
|
||||||
|
'882 - SAMOA'
|
||||||
|
'674 - SAN MARINO'
|
||||||
|
'678 - SAO TOME AND PRINCIPE'
|
||||||
|
'682 - SAUDI ARABIA'
|
||||||
|
'686 - SENEGAL'
|
||||||
|
'688 - SERBIA'
|
||||||
|
'690 - SEYCHELLES'
|
||||||
|
'694 - SIERRA LEONE'
|
||||||
|
'702 - SINGAPORE'
|
||||||
|
'703 - SLOVAKIA'
|
||||||
|
'705 - SLOVENIA'
|
||||||
|
'090 - SOLOMON ISLANDS'
|
||||||
|
'706 - SOMALIA'
|
||||||
|
'710 - SOUTH AFRICA'
|
||||||
|
'239 - SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS'
|
||||||
|
'724 - SPAIN'
|
||||||
|
'144 - SRI LANKA'
|
||||||
|
'736 - SUDAN'
|
||||||
|
'740 - SURINAME'
|
||||||
|
'744 - SVALBARD AND JAN MAYEN'
|
||||||
|
'654 - ST. HELENA'
|
||||||
|
'666 - ST. PIERRE AND MIQUELON'
|
||||||
|
'748 - SWAZILAND'
|
||||||
|
'752 - SWEDEN'
|
||||||
|
'756 - SWITZERLAND'
|
||||||
|
'760 - SYRIAN ARAB REPUBLIC'
|
||||||
|
'158 - TAIWAN, PROVINCE OF CHINA'
|
||||||
|
'762 - TAJIKISTAN'
|
||||||
|
'834 - TANZANIA, UNITED REPUBLIC OF'
|
||||||
|
'764 - THAILAND'
|
||||||
|
'626 - TIMOR-LESTE'
|
||||||
|
'768 - TOGO'
|
||||||
|
'772 - TOKELAU'
|
||||||
|
'776 - TONGA'
|
||||||
|
'780 - TRINIDAD AND TOBAGO'
|
||||||
|
'788 - TUNISIA'
|
||||||
|
'792 - TURKEY'
|
||||||
|
'795 - TURKMENISTAN'
|
||||||
|
'796 - TURKS AND CAICOS ISLANDS'
|
||||||
|
'798 - TUVALU'
|
||||||
|
'800 - UGANDA'
|
||||||
|
'804 - UKRAINE'
|
||||||
|
'784 - UNITED ARAB EMIRATES'
|
||||||
|
'826 - UNITED KINGDOM'
|
||||||
|
'840 - UNITED STATES'
|
||||||
|
'581 - UNITED STATES MINOR OUTLYING ISLANDS'
|
||||||
|
'858 - URUGUAY'
|
||||||
|
'860 - UZBEKISTAN'
|
||||||
|
'548 - VANUATU'
|
||||||
|
'336 - VATICAN CITY STATE (HOLY SEE)'
|
||||||
|
'862 - VENEZUELA'
|
||||||
|
'704 - VIET NAM'
|
||||||
|
'092 - VIRGIN ISLANDS (BRITISH)'
|
||||||
|
'850 - VIRGIN ISLANDS (U.S.)'
|
||||||
|
'876 - WALLIS AND FUTUNA'
|
||||||
|
'732 - WESTERN SAHARA'
|
||||||
|
'887 - YEMEN'
|
||||||
|
'891 - YUGOSLAVIA'
|
||||||
|
'894 - ZAMBIA'
|
||||||
|
'716 - ZIMBABWE'
|
||||||
|
)
|
||||||
|
OnChange = cbMaxicode_CountryCodeChange
|
||||||
|
TabOrder = 2
|
||||||
|
TextHint = 'Select item'
|
||||||
|
end
|
||||||
|
object lblMaxicode_ServiceCode: TLabel
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = cbMaxicode_CountryCode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 198
|
||||||
|
Width = 66
|
||||||
|
BorderSpacing.Top = 8
|
||||||
|
Caption = 'Service code'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object edMaxicode_ServiceCode: TEdit
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = lblMaxicode_ServiceCode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 23
|
||||||
|
Top = 215
|
||||||
|
Width = 152
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
BorderSpacing.Top = 2
|
||||||
|
MaxLength = 3
|
||||||
|
OnChange = edMaxicode_ServiceCodeChange
|
||||||
|
TabOrder = 3
|
||||||
|
TextHint = 'Enter carrier-specific service code'
|
||||||
|
end
|
||||||
|
object lblMaxicode_Primary: TLabel
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = edMaxicode_ServiceCode
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 15
|
||||||
|
Top = 246
|
||||||
|
Width = 64
|
||||||
|
BorderSpacing.Top = 8
|
||||||
|
Caption = 'Primary text'
|
||||||
|
ParentColor = False
|
||||||
|
end
|
||||||
|
object edMaxicode_Primary: TEdit
|
||||||
|
AnchorSideLeft.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideTop.Control = lblMaxicode_Primary
|
||||||
|
AnchorSideTop.Side = asrBottom
|
||||||
|
AnchorSideRight.Control = pgOptions_Maxicode
|
||||||
|
AnchorSideRight.Side = asrBottom
|
||||||
|
Left = 0
|
||||||
|
Height = 23
|
||||||
|
Top = 263
|
||||||
|
Width = 152
|
||||||
|
Anchors = [akTop, akLeft, akRight]
|
||||||
|
BorderSpacing.Top = 2
|
||||||
|
Enabled = False
|
||||||
|
OnChange = edMaxicode_PrimaryChange
|
||||||
|
TabOrder = 4
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object BarcodePanel: TPanel
|
object BarcodePanel: TPanel
|
||||||
@ -600,7 +999,7 @@ object MainForm: TMainForm
|
|||||||
end
|
end
|
||||||
object SaveDialog1: TSaveDialog
|
object SaveDialog1: TSaveDialog
|
||||||
OnTypeChange = SaveDialogTypeChange
|
OnTypeChange = SaveDialogTypeChange
|
||||||
Left = 681
|
Left = 568
|
||||||
Top = 210
|
Top = 240
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -26,12 +26,20 @@ type
|
|||||||
clbForeground: TColorButton;
|
clbForeground: TColorButton;
|
||||||
cmbBearerBarsBox: TComboBox;
|
cmbBearerBarsBox: TComboBox;
|
||||||
clbBackground: TColorButton;
|
clbBackground: TColorButton;
|
||||||
|
cbMaxicode_CountryCode: TComboBox;
|
||||||
|
edMaxicode_Primary: TEdit;
|
||||||
|
edMaxicode_ServiceCode: TEdit;
|
||||||
|
edMaxicode_Postcode: TEdit;
|
||||||
edText: TEdit;
|
edText: TEdit;
|
||||||
FontDialog: TFontDialog;
|
FontDialog: TFontDialog;
|
||||||
gbGeometry: TGroupBox;
|
gbGeometry: TGroupBox;
|
||||||
gbShow: TGroupBox;
|
gbShow: TGroupBox;
|
||||||
gbChecksum: TGroupBox;
|
gbChecksum: TGroupBox;
|
||||||
gbColors: TGroupBox;
|
gbColors: TGroupBox;
|
||||||
|
lblMaxicode_Primary: TLabel;
|
||||||
|
lblMaxicode_ServiceCode: TLabel;
|
||||||
|
lblMaxicode_CountryCode: TLabel;
|
||||||
|
lblMaxicode_Postcode: TLabel;
|
||||||
lblWhiteSpaceWidth: TLabel;
|
lblWhiteSpaceWidth: TLabel;
|
||||||
lblScale: TLabel;
|
lblScale: TLabel;
|
||||||
lblError: TLabel;
|
lblError: TLabel;
|
||||||
@ -39,11 +47,13 @@ type
|
|||||||
lblText: TLabel;
|
lblText: TLabel;
|
||||||
lblSymbolHeight: TLabel;
|
lblSymbolHeight: TLabel;
|
||||||
nbOptions: TNotebook;
|
nbOptions: TNotebook;
|
||||||
|
pgOptions_Maxicode: TPage;
|
||||||
pgOptions_Plessey: TPage;
|
pgOptions_Plessey: TPage;
|
||||||
pgOptions_QR: TPage;
|
pgOptions_QR: TPage;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
Panel2: TPanel;
|
Panel2: TPanel;
|
||||||
BarcodePanel: TPanel;
|
BarcodePanel: TPanel;
|
||||||
|
rgMaxicode_Mode: TRadioGroup;
|
||||||
rgPlessey_Checkchar: TRadioGroup;
|
rgPlessey_Checkchar: TRadioGroup;
|
||||||
rgQR_ECCLevel: TRadioGroup;
|
rgQR_ECCLevel: TRadioGroup;
|
||||||
SaveDialog1: TSaveDialog;
|
SaveDialog1: TSaveDialog;
|
||||||
@ -62,9 +72,14 @@ type
|
|||||||
procedure btnSampleTextClick(Sender: TObject);
|
procedure btnSampleTextClick(Sender: TObject);
|
||||||
procedure btnSaveToFileClick(Sender: TObject);
|
procedure btnSaveToFileClick(Sender: TObject);
|
||||||
procedure cbAutoSizeChange(Sender: TObject);
|
procedure cbAutoSizeChange(Sender: TObject);
|
||||||
|
procedure cbMaxicode_CountryCodeChange(Sender: TObject);
|
||||||
procedure cbRecommendedSymbolSizeChange(Sender: TObject);
|
procedure cbRecommendedSymbolSizeChange(Sender: TObject);
|
||||||
|
procedure edMaxicode_PostcodeChange(Sender: TObject);
|
||||||
|
procedure edMaxicode_PrimaryChange(Sender: TObject);
|
||||||
|
procedure edMaxicode_ServiceCodeChange(Sender: TObject);
|
||||||
procedure edTextChange(Sender: TObject);
|
procedure edTextChange(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
|
procedure rgMaxicode_ModeClick(Sender: TObject);
|
||||||
procedure rgPlessey_CheckcharClick(Sender: TObject);
|
procedure rgPlessey_CheckcharClick(Sender: TObject);
|
||||||
procedure rgQR_ECCLevelClick(Sender: TObject);
|
procedure rgQR_ECCLevelClick(Sender: TObject);
|
||||||
procedure SaveDialogTypeChange(Sender: TObject);
|
procedure SaveDialogTypeChange(Sender: TObject);
|
||||||
@ -263,6 +278,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.cbMaxicode_CountryCodeChange(Sender: TObject);
|
||||||
|
var
|
||||||
|
s: String;
|
||||||
|
begin
|
||||||
|
if FBarcode is TBarcodeMaxicode then
|
||||||
|
begin
|
||||||
|
s := cbMaxicode_Countrycode.Items[cbMaxicode_Countrycode.ItemIndex];
|
||||||
|
TBarcodeMaxicode(FBarcode).CountryCode := StrToInt(Copy(s, 1, 3));
|
||||||
|
edMaxicode_Primary.Text := TBarcodeMaxicode(FBarcode).Primary;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainForm.cbRecommendedSymbolSizeChange(Sender: TObject);
|
procedure TMainForm.cbRecommendedSymbolSizeChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
seScale.Enabled := not cbRecommendedSymbolSize.Checked;
|
seScale.Enabled := not cbRecommendedSymbolSize.Checked;
|
||||||
@ -293,12 +320,66 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.edMaxicode_PostcodeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FBarcode is TBarcodeMaxicode then
|
||||||
|
begin
|
||||||
|
TBarcodeMaxicode(FBarcode).Postcode := edMaxicode_Postcode.Text;
|
||||||
|
edMaxicode_Primary.Text := TBarcodeMaxicode(FBarcode).Primary;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.edMaxicode_PrimaryChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FBarcode is TBarcodeMaxicode then
|
||||||
|
begin
|
||||||
|
TBarcodeMaxicode(FBarcode).Primary := edMaxicode_Primary.Text;
|
||||||
|
edMaxicode_Primary.Text := TBarcodeMaxicode(FBarcode).Primary;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.edMaxicode_ServiceCodeChange(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FBarcode is TBarcodeMaxicode then
|
||||||
|
begin
|
||||||
|
TBarcodeMaxicode(FBarcode).Servicecode := StrToInt(edMaxicode_Servicecode.Text);
|
||||||
|
edMaxicode_Primary.Text := TBarcodeMaxicode(FBarcode).Primary;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainForm.FormCreate(Sender: TObject);
|
procedure TMainForm.FormCreate(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
nbOptions.PageIndex := -1;
|
nbOptions.PageIndex := -1;
|
||||||
PopulateBarcodesTree;
|
PopulateBarcodesTree;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.rgMaxicode_ModeClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if FBarcode is TBarcodeMaxicode then
|
||||||
|
begin
|
||||||
|
case rgMaxicode_Mode.ItemIndex of
|
||||||
|
-1: exit;
|
||||||
|
0: TBarcodeMaxicode(FBarcode).Mode := mcmAuto;
|
||||||
|
1: TBarcodeMaxicode(FBarcode).Mode := mcmMode2;
|
||||||
|
2: TBarcodeMaxicode(FBarcode).Mode := mcmMode3;
|
||||||
|
3: TBarcodeMaxicode(FBarcode).Mode := mcmMode4;
|
||||||
|
4: TBarcodeMaxicode(FBarcode).Mode := mcmMode5;
|
||||||
|
5: TBarcodeMaxicode(FBarcode).Mode := mcmMode6;
|
||||||
|
else raise Exception.Create('Mode not supported.');
|
||||||
|
end;
|
||||||
|
edMaxicode_Primary.Text := TBarcodeMaxicode(FBarcode).Primary;
|
||||||
|
end;
|
||||||
|
|
||||||
|
edMaxicode_Postcode.Visible := rgMaxicode_Mode.ItemIndex in [0, 1, 2];
|
||||||
|
lblMaxicode_Postcode.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
cbMaxicode_Countrycode.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
lblMaxicode_Countrycode.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
edMaxicode_ServiceCode.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
lblMaxicode_ServiceCode.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
edMaxicode_Primary.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
lblMaxicode_Primary.Visible := edMaxicode_Postcode.Visible;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainForm.rgPlessey_CheckcharClick(Sender: TObject);
|
procedure TMainForm.rgPlessey_CheckcharClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
if FBarcode is TBarcodePlessey then
|
if FBarcode is TBarcodePlessey then
|
||||||
@ -488,6 +569,9 @@ begin
|
|||||||
else
|
else
|
||||||
if (FBarcode is TBarcodeQR) then
|
if (FBarcode is TBarcodeQR) then
|
||||||
nbOptions.PageIndex := pgOptions_QR.PageIndex
|
nbOptions.PageIndex := pgOptions_QR.PageIndex
|
||||||
|
else
|
||||||
|
if (FBarcode is TBarcodeMaxiCode) then
|
||||||
|
nbOptions.PageIndex := pgOptions_Maxicode.PageIndex
|
||||||
else
|
else
|
||||||
nbOptions.PageIndex := -1;
|
nbOptions.PageIndex := -1;
|
||||||
|
|
||||||
|
@ -515,7 +515,10 @@ begin
|
|||||||
if _set[i] = 6 then
|
if _set[i] = 6 then
|
||||||
begin
|
begin
|
||||||
// Number compression
|
// Number compression
|
||||||
for j := 0 to 9 do
|
// SetLength(substring, 10);
|
||||||
|
SetLength(substring, 9);
|
||||||
|
// for j := 0 to 9 do
|
||||||
|
for j := 0 to 8 do
|
||||||
substring[j+1] := char(_char[i+j]);
|
substring[j+1] := char(_char[i+j]);
|
||||||
value := StrToInt(substring);
|
value := StrToInt(substring);
|
||||||
|
|
||||||
@ -580,9 +583,10 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
{ Format structured primary for Mode 2 }
|
{ Format structured primary for Mode 2 }
|
||||||
procedure maxi_do_primary_2(APostCode: String; ACountry, AService: Integer);
|
function maxi_do_primary_2(APostCode: String; ACountry, AService: Integer): Boolean;
|
||||||
var
|
var
|
||||||
postcode_length, postcode_number: Integer;
|
postcode_number: Integer;
|
||||||
|
postcode_length: Integer;
|
||||||
i: Integer;
|
i: Integer;
|
||||||
begin
|
begin
|
||||||
for i := 1 to Length(APostCode) do
|
for i := 1 to Length(APostCode) do
|
||||||
@ -592,8 +596,12 @@ begin
|
|||||||
break;
|
break;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
postcode_length := Length(APostCode);
|
postcode_length := Length(APostcode);
|
||||||
postcode_number := StrToInt(APostCode);
|
if (APostCode = '') or not TryStrToInt(APostCode, postcode_number) then
|
||||||
|
begin
|
||||||
|
Result := false;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
maxi_codeword[0] := ((postcode_number and $03) shl 4) or 2;
|
maxi_codeword[0] := ((postcode_number and $03) shl 4) or 2;
|
||||||
maxi_codeword[1] := ((postcode_number and $fc) shr 2);
|
maxi_codeword[1] := ((postcode_number and $fc) shr 2);
|
||||||
@ -605,6 +613,8 @@ begin
|
|||||||
maxi_codeword[7] := (ACountry and $fc) shr 2;
|
maxi_codeword[7] := (ACountry and $fc) shr 2;
|
||||||
maxi_codeword[8] := ((ACountry and $300) shr 8) or ((AService and $f) shl 2);
|
maxi_codeword[8] := ((ACountry and $300) shr 8) or ((AService and $f) shl 2);
|
||||||
maxi_codeword[9] := ((AService and $3f0) shr 4);
|
maxi_codeword[9] := ((AService and $3f0) shr 4);
|
||||||
|
|
||||||
|
Result := true;
|
||||||
end;
|
end;
|
||||||
(*
|
(*
|
||||||
procedure maxi_do_primary_2(APostCode: TCharDynArray; ACountry, AService: Integer);
|
procedure maxi_do_primary_2(APostCode: TCharDynArray; ACountry, AService: Integer);
|
||||||
@ -707,7 +717,8 @@ end;
|
|||||||
*)
|
*)
|
||||||
function maxicode(ASymbol: PZintSymbol; ASource: PByte; ALength: Integer): Integer;
|
function maxicode(ASymbol: PZintSymbol; ASource: PByte; ALength: Integer): Integer;
|
||||||
var
|
var
|
||||||
i, j, mode, countrycode, service, lp: Integer;
|
i, j, mode, countrycode, service: Integer;
|
||||||
|
lp: Integer = 0;
|
||||||
block: Integer = 0;
|
block: Integer = 0;
|
||||||
bit: Integer = 0;
|
bit: Integer = 0;
|
||||||
bit_pattern: array[0..6] of integer;
|
bit_pattern: array[0..6] of integer;
|
||||||
@ -731,7 +742,7 @@ begin
|
|||||||
FillChar(maxi_codeword[0], SizeOf(maxi_codeword), 0);
|
FillChar(maxi_codeword[0], SizeOf(maxi_codeword), 0);
|
||||||
|
|
||||||
{ mode is not specified }
|
{ mode is not specified }
|
||||||
if (mode = -1) then
|
if (mode <= 0) then
|
||||||
begin
|
begin
|
||||||
lp := StrLen(ASymbol^.Primary);
|
lp := StrLen(ASymbol^.Primary);
|
||||||
if lp = 0 then
|
if lp = 0 then
|
||||||
@ -762,10 +773,10 @@ begin
|
|||||||
if (mode = 2) or (mode = 3) then
|
if (mode = 2) or (mode = 3) then
|
||||||
begin
|
begin
|
||||||
if lp = 0 then // Mode set manually means: lp doesn't get set
|
if lp = 0 then // Mode set manually means: lp doesn't get set
|
||||||
lp := System.StrLen(PChar(ASymbol^.Primary));
|
lp := Length(ASymbol^.GetPrimary);
|
||||||
if lp <> 15 then
|
if lp <> 15 then
|
||||||
begin
|
begin
|
||||||
ASymbol^.SetErrorText('Invalid Primary String');
|
ASymbol^.SetErrorText('Primary String Length Error (15 characters needed).');
|
||||||
Result := ERROR_INVALID_DATA;
|
Result := ERROR_INVALID_DATA;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
@ -807,14 +818,31 @@ begin
|
|||||||
postcode[7] := #0;
|
postcode[7] := #0;
|
||||||
*)
|
*)
|
||||||
|
|
||||||
|
SetLength(countrystr, 3);
|
||||||
Move(ASymbol^.Primary[9], countrystr[1], 3);
|
Move(ASymbol^.Primary[9], countrystr[1], 3);
|
||||||
countrycode := StrToInt(countrystr);
|
if not TryStrToInt(countrystr, countrycode) or (countrycode < 0) then
|
||||||
|
begin
|
||||||
|
ASymbol^.SetErrorText('Invalid country code.');
|
||||||
|
Result := ERROR_INVALID_DATA;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
|
SetLength(servicestr, 3);
|
||||||
Move(ASymbol^.Primary[12], servicestr[1], 3);
|
Move(ASymbol^.Primary[12], servicestr[1], 3);
|
||||||
service := StrToInt(servicestr);
|
if not TryStrToInt(servicestr, service) then
|
||||||
|
begin
|
||||||
|
ASymbol^.SetErrorText('Invalid service code.');
|
||||||
|
Result := ERROR_INVALID_DATA;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
|
||||||
case mode of
|
case mode of
|
||||||
2: maxi_do_primary_2(postcode, countrycode, service);
|
2: if not maxi_do_primary_2(postcode, countrycode, service) then
|
||||||
|
begin
|
||||||
|
ASymbol^.SetErrorText('Invalid post code.');
|
||||||
|
Result := ERROR_INVALID_DATA;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
3: maxi_do_primary_3(postcode, countrycode, service);
|
3: maxi_do_primary_3(postcode, countrycode, service);
|
||||||
else ;
|
else ;
|
||||||
end;
|
end;
|
||||||
|
@ -605,12 +605,21 @@ type
|
|||||||
|
|
||||||
|
|
||||||
{ TBarcodeMaxiCode }
|
{ TBarcodeMaxiCode }
|
||||||
TBarcodeMaxicodeMode = (mcmAuto=-1, mcmMode2=2, mcmMode3=3, mcmMode4=4, mcmMode5=5, mcmMode6);
|
TBarcodeMaxicodeMode = (mcmAuto=0, mcmMode2=2, mcmMode3=3, mcmMode4=4, mcmMode5=5, mcmMode6=6);
|
||||||
|
|
||||||
TBarcodeMaxiCode = class(TSimpleBarcode)
|
TBarcodeMaxiCode = class(TSimpleBarcode)
|
||||||
private
|
private
|
||||||
FMode: TBarcodeMaxicodeMode;
|
FMode: TBarcodeMaxicodeMode;
|
||||||
|
FPostcode: String;
|
||||||
|
FPrimary: String;
|
||||||
|
FCountryCode: Integer;
|
||||||
|
FServiceCode: Integer;
|
||||||
|
function GetPrimary: String;
|
||||||
|
procedure SetCountryCode(AValue: Integer);
|
||||||
procedure SetMode(AValue: TBarcodeMaxicodeMode);
|
procedure SetMode(AValue: TBarcodeMaxicodeMode);
|
||||||
|
procedure SetPostCode(AValue: String);
|
||||||
|
procedure SetPrimary(AValue: String);
|
||||||
|
procedure SetServiceCode(AValue: Integer);
|
||||||
protected
|
protected
|
||||||
function CalcFactor(AWidth, AHeight: Integer): Integer; override;
|
function CalcFactor(AWidth, AHeight: Integer): Integer; override;
|
||||||
procedure CalcSize(AFactor: Integer;
|
procedure CalcSize(AFactor: Integer;
|
||||||
@ -627,6 +636,10 @@ type
|
|||||||
constructor Create(AOwner: TComponent); override;
|
constructor Create(AOwner: TComponent); override;
|
||||||
published
|
published
|
||||||
property Mode: TBarcodeMaxicodeMode read FMode write SetMode default mcmAuto;
|
property Mode: TBarcodeMaxicodeMode read FMode write SetMode default mcmAuto;
|
||||||
|
property Primary: String read GetPrimary write SetPrimary;
|
||||||
|
property Postcode: String read FPostCode write SetPostcode;
|
||||||
|
property CountryCode: Integer read FCountryCode write SetCountryCode default 0;
|
||||||
|
property ServiceCode: Integer read FServiceCode write SetServiceCode default 0;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -3322,11 +3335,36 @@ begin
|
|||||||
Result.CY := 88;
|
Result.CY := 88;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TBarcodeMaxiCode.GetPrimary: String;
|
||||||
|
var
|
||||||
|
postcodeStr, countrycodeStr, serviceCodeStr: String;
|
||||||
|
postcodeLen: Integer;
|
||||||
|
begin
|
||||||
|
case FMode of
|
||||||
|
mcmAuto:
|
||||||
|
Result := FPrimary;
|
||||||
|
mcmMode2, mcmMode3:
|
||||||
|
begin
|
||||||
|
if FMode = mcmMode2 then
|
||||||
|
postcodeLen := 9
|
||||||
|
else
|
||||||
|
postcodeLen := 6;
|
||||||
|
postcodestr := FPostcode + StringOfChar(' ', postcodeLen - Length(FPostCode));
|
||||||
|
countrycodestr := FormatFloat('000', FCountryCode);
|
||||||
|
servicecodestr := FormatFloat('000', FServiceCode);
|
||||||
|
Result := postcodestr + countrycodestr + servicecodestr;
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
Result := '';
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function TBarcodeMaxiCode.InternalGenerate: Integer;
|
function TBarcodeMaxiCode.InternalGenerate: Integer;
|
||||||
begin
|
begin
|
||||||
FSymbol^.option_1 := ord(FMode);
|
FSymbol^.option_1 := ord(FMode);
|
||||||
|
if FMode in [mcmAuto, mcmMode2, mcmMode3] then
|
||||||
|
FSymbol^.SetPrimary(GetPrimary);
|
||||||
|
|
||||||
//Move(FText[1], FSymbol^.Primary[0], Length(FText));
|
|
||||||
Result := maxicode(FSymbol, @FText[1], Length(FText));
|
Result := maxicode(FSymbol, @FText[1], Length(FText));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -3423,6 +3461,18 @@ begin
|
|||||||
*)
|
*)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBarcodeMaxicode.SetCountryCode(AValue: Integer);
|
||||||
|
begin
|
||||||
|
if AValue = FCountryCode then exit;
|
||||||
|
if (AValue > 0) and (AValue < 1000) then
|
||||||
|
begin
|
||||||
|
FCountryCode := AValue;
|
||||||
|
if FMode in [mcmMode2, mcmMode3] then
|
||||||
|
GenerateAndInvalidate;
|
||||||
|
end else
|
||||||
|
raise Exception.Create('Maxicode country code must be > 0 and < 1000');
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBarcodeMaxicode.SetMode(AValue: TBarcodeMaxicodeMode);
|
procedure TBarcodeMaxicode.SetMode(AValue: TBarcodeMaxicodeMode);
|
||||||
begin
|
begin
|
||||||
if FMode = AValue then exit;
|
if FMode = AValue then exit;
|
||||||
@ -3430,6 +3480,34 @@ begin
|
|||||||
GenerateAndInvalidate;
|
GenerateAndInvalidate;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TBarcodeMaxicode.SetPostcode(AValue: String);
|
||||||
|
begin
|
||||||
|
if AValue = FPostcode then exit;
|
||||||
|
FPostcode := AValue;
|
||||||
|
if FMode in [mcmMode2, mcmMode3] then
|
||||||
|
GenerateAndInvalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBarcodeMaxicode.SetPrimary(AValue: String);
|
||||||
|
begin
|
||||||
|
if AValue = FPrimary then exit;
|
||||||
|
FPrimary := AValue;
|
||||||
|
if FMode = mcmAuto then
|
||||||
|
GenerateAndInvalidate;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TBarcodeMaxicode.SetServiceCode(AValue: Integer);
|
||||||
|
begin
|
||||||
|
if AValue = FServiceCode then exit;
|
||||||
|
if (AValue > 0) and (AValue < 1000) then
|
||||||
|
begin
|
||||||
|
FServiceCode := AValue;
|
||||||
|
if FMode in [mcmMode2, mcmMode3] then
|
||||||
|
GenerateAndInvalidate;
|
||||||
|
end else
|
||||||
|
raise Exception.Create('Maxicode Service code must be > 0 and < 1000');
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TBarcodeMaxiCode.SetRecommendedSymbolSizeParams;
|
procedure TBarcodeMaxiCode.SetRecommendedSymbolSizeParams;
|
||||||
begin
|
begin
|
||||||
FScale := 4;
|
FScale := 4;
|
||||||
|
@ -156,6 +156,9 @@ type
|
|||||||
procedure SetText(const AText: String);
|
procedure SetText(const AText: String);
|
||||||
function GetErrorText: String;
|
function GetErrorText: String;
|
||||||
procedure SetErrorText(const AErrTxt: String);
|
procedure SetErrorText(const AErrTxt: String);
|
||||||
|
// Maxicode only:
|
||||||
|
function GetPrimary: String;
|
||||||
|
procedure SetPrimary(const AText: String);
|
||||||
end;
|
end;
|
||||||
PZintSymbol = ^zint_symbol;
|
PZintSymbol = ^zint_symbol;
|
||||||
|
|
||||||
@ -297,6 +300,23 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function zint_symbol.GetPrimary: String;
|
||||||
|
var
|
||||||
|
i: Integer;
|
||||||
|
begin
|
||||||
|
Result := '';
|
||||||
|
SetLength(Result, Length(primary));
|
||||||
|
for i := 0 to High(primary) do
|
||||||
|
begin
|
||||||
|
if primary[i] = #0 then
|
||||||
|
begin
|
||||||
|
SetLength(Result, i);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
Result[i+1] := primary[i];
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
function zint_symbol.GetText: String;
|
function zint_symbol.GetText: String;
|
||||||
var
|
var
|
||||||
i: Integer;
|
i: Integer;
|
||||||
@ -325,6 +345,17 @@ begin
|
|||||||
errtxt[i-1] := AErrTxt[i];
|
errtxt[i-1] := AErrTxt[i];
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure zint_symbol.SetPrimary(const AText: String);
|
||||||
|
var
|
||||||
|
i, n: Integer;
|
||||||
|
begin
|
||||||
|
n := Length(AText);
|
||||||
|
if n > 128 then n := 128;
|
||||||
|
FillChar(primary, 128, 0);
|
||||||
|
for i := 1 to n do
|
||||||
|
primary[i-1] := AText[i];
|
||||||
|
end;
|
||||||
|
|
||||||
procedure zint_symbol.SetText(const AText: String);
|
procedure zint_symbol.SetText(const AText: String);
|
||||||
var
|
var
|
||||||
i, n: Integer;
|
i, n: Integer;
|
||||||
|
Reference in New Issue
Block a user