examplaes nicer layout

git-svn-id: trunk@31437 -
This commit is contained in:
mattias 2011-06-28 19:39:56 +00:00
parent 5acb5bda6c
commit 65e81b030b
2 changed files with 112 additions and 89 deletions

View File

@ -1,115 +1,129 @@
object StreamDemoForm: TStreamDemoForm object StreamDemoForm: TStreamDemoForm
Caption = 'Streaming components example' Left = 292
ClientHeight = 485 Height = 503
ClientWidth = 525 Top = 168
OnCreate = FormCreate Width = 601
PixelsPerInch = 112
HorzScrollBar.Page = 524 HorzScrollBar.Page = 524
VertScrollBar.Page = 484 VertScrollBar.Page = 484
Left = 292 Caption = 'Streaming components example'
Height = 485 ClientHeight = 503
Top = 168 ClientWidth = 601
Width = 525 OnCreate = FormCreate
LCLVersion = '0.9.31'
object Note1Label: TLabel object Note1Label: TLabel
AnchorSideLeft.Control = SourceGroupBox
AnchorSideLeft.Side = asrBottom
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 216
Height = 35
Top = 27
Width = 379
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'This example demonstrates, how to stream a component to a stream in binary format ...' Caption = 'This example demonstrates, how to stream a component to a stream in binary format ...'
Color = clNone
ParentColor = False ParentColor = False
WordWrap = True WordWrap = True
Left = 253
Height = 43
Top = 27
Width = 196
end end
object Note2Label: TLabel object Note2Label: TLabel
AnchorSideLeft.Control = DestinationGroupBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = DestinationGroupBox
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
Left = 251
Height = 103
Top = 378
Width = 344
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = '... and how to reconstruct the component from a stream. This technique can be used to save components to disk or to transfer them via network. Of course this also works for your own classes as long as they are descendants of TComponent.' Caption = '... and how to reconstruct the component from a stream. This technique can be used to save components to disk or to transfer them via network. Of course this also works for your own classes as long as they are descendants of TComponent.'
Color = clNone
ParentColor = False ParentColor = False
WordWrap = True WordWrap = True
Left = 265
Height = 103
Top = 325
Width = 228
end end
object SourceGroupBox: TGroupBox object SourceGroupBox: TGroupBox
Caption = 'Source'
ClientHeight = 73
ClientWidth = 191
TabOrder = 0
Left = 15 Left = 15
Height = 90 Height = 90
Top = 25 Top = 25
Width = 195 Width = 195
object AGroupBox: TGroupBox Caption = 'Source'
Caption = 'AGroupBox' ClientHeight = 69
ClientHeight = 26 ClientWidth = 187
ClientWidth = 124
TabOrder = 0 TabOrder = 0
object AGroupBox: TGroupBox
Left = 23 Left = 23
Height = 43 Height = 43
Top = 15 Top = 15
Width = 128 Width = 128
Caption = 'AGroupBox'
TabOrder = 0
end end
end end
object DestinationGroupBox: TGroupBox object DestinationGroupBox: TGroupBox
Anchors = [akLeft, akBottom]
Caption = 'Destination'
ClientHeight = 92
ClientWidth = 211
TabOrder = 1
Left = 30 Left = 30
Height = 109 Height = 109
Top = 360 Top = 378
Width = 215 Width = 215
Anchors = [akLeft, akBottom]
Caption = 'Destination'
TabOrder = 1
end end
object WriteToStreamButton: TButton object WriteToStreamButton: TButton
Left = 23
Height = 35
Top = 130
Width = 229
AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '1. Write AGroupBox to stream' Caption = '1. Write AGroupBox to stream'
OnClick = WriteToStreamButtonClick OnClick = WriteToStreamButtonClick
TabOrder = 2 TabOrder = 2
Left = 23
Height = 25
Top = 130
Width = 197
end end
object StreamGroupBox: TGroupBox object StreamGroupBox: TGroupBox
Left = 15
Height = 150
Top = 170
Width = 572
Anchors = [akTop, akLeft, akRight, akBottom] Anchors = [akTop, akLeft, akRight, akBottom]
Caption = 'Stream (special characters are shown as hexnumbers)' Caption = 'Stream (special characters are shown as hexnumbers)'
ClientHeight = 115 ClientHeight = 129
ClientWidth = 492 ClientWidth = 564
TabOrder = 3 TabOrder = 3
Left = 15
Height = 132
Top = 170
Width = 496
object StreamMemo: TMemo object StreamMemo: TMemo
Left = 0
Height = 107
Top = 0
Width = 564
Align = alClient Align = alClient
Lines.Strings = ( Lines.Strings = (
'First click on the button above, then on button below' 'First click on the button above, then on button below'
) )
ReadOnly = True ReadOnly = True
TabOrder = 0 TabOrder = 0
Height = 95
Width = 492
end end
object StreamAsLFMCheckBox: TCheckBox object StreamAsLFMCheckBox: TCheckBox
Left = 0
Height = 22
Top = 107
Width = 564
Align = alBottom Align = alBottom
Caption = 'Show sream in LFM format (text)' Caption = 'Show sream in LFM format (text)'
OnChange = StreamAsLFMCheckBoxChange OnChange = StreamAsLFMCheckBoxChange
TabOrder = 1 TabOrder = 1
Height = 20
Top = 95
Width = 492
end end
end end
object ReadStreamButton: TButton object ReadStreamButton: TButton
Left = 25
Height = 35
Top = 323
Width = 254
Anchors = [akLeft, akBottom] Anchors = [akLeft, akBottom]
AutoSize = True
BorderSpacing.InnerBorder = 4 BorderSpacing.InnerBorder = 4
Caption = '2. Create component from stream' Caption = '2. Create component from stream'
OnClick = ReadStreamButtonClick OnClick = ReadStreamButtonClick
TabOrder = 4 TabOrder = 4
Left = 25
Height = 24
Top = 316
Width = 215
end end
end end

View File

@ -1,39 +1,48 @@
{ This is an automatically generated lazarus resource file }
LazarusResources.Add('TStreamDemoForm','FORMDATA',[ LazarusResources.Add('TStreamDemoForm','FORMDATA',[
'TPF0'#15'TStreamDemoForm'#14'StreamDemoForm'#7'Caption'#6#28'Streaming compo' 'TPF0'#15'TStreamDemoForm'#14'StreamDemoForm'#4'Left'#3'$'#1#6'Height'#3#247#1
+'nents example'#12'ClientHeight'#3#229#1#11'ClientWidth'#3#13#2#8'OnCreate'#7 +#3'Top'#3#168#0#5'Width'#3'Y'#2#18'HorzScrollBar.Page'#3#12#2#18'VertScrollB'
+#10'FormCreate'#13'PixelsPerInch'#2'p'#18'HorzScrollBar.Page'#3#12#2#18'Vert' +'ar.Page'#3#228#1#7'Caption'#6#28'Streaming components example'#12'ClientHei'
+'ScrollBar.Page'#3#228#1#4'Left'#3'$'#1#6'Height'#3#229#1#3'Top'#3#168#0#5'W' +'ght'#3#247#1#11'ClientWidth'#3'Y'#2#8'OnCreate'#7#10'FormCreate'#10'LCLVers'
+'idth'#3#13#2#0#6'TLabel'#10'Note1Label'#7'Caption'#6'UThis example demonstr' +'ion'#6#6'0.9.31'#0#6'TLabel'#10'Note1Label'#22'AnchorSideLeft.Control'#7#14
+'ates, how to stream a component to a stream in binary format ...'#5'Color'#7 +'SourceGroupBox'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSideRight.C'
+#6'clNone'#11'ParentColor'#8#8'WordWrap'#9#4'Left'#3#253#0#6'Height'#2'+'#3 +'ontrol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#3#216#0#6
+'Top'#2#27#5'Width'#3#196#0#0#0#6'TLabel'#10'Note2Label'#7'Caption'#6#236'..' +'Height'#2'#'#3'Top'#2#27#5'Width'#3'{'#1#7'Anchors'#11#5'akTop'#6'akLeft'#7
+'. and how to reconstruct the component from a stream. This technique can be' +'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Right'#2#6#7'Caption'
+' used to save components to disk or to transfer them via network. Of course' +#6'UThis example demonstrates, how to stream a component to a stream in bina'
+' this also works for your own classes as long as they are descendants of TC' +'ry format ...'#11'ParentColor'#8#8'WordWrap'#9#0#0#6'TLabel'#10'Note2Label'
+'omponent.'#5'Color'#7#6'clNone'#11'ParentColor'#8#8'WordWrap'#9#4'Left'#3#9 +#22'AnchorSideLeft.Control'#7#19'DestinationGroupBox'#19'AnchorSideLeft.Side'
+#1#6'Height'#2'g'#3'Top'#3'E'#1#5'Width'#3#228#0#0#0#9'TGroupBox'#14'SourceG' +#7#9'asrBottom'#21'AnchorSideTop.Control'#7#19'DestinationGroupBox'#23'Ancho'
+'roupBox'#7'Caption'#6#6'Source'#12'ClientHeight'#2'I'#11'ClientWidth'#3#191 +'rSideRight.Control'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Le'
+#0#8'TabOrder'#2#0#4'Left'#2#15#6'Height'#2'Z'#3'Top'#2#25#5'Width'#3#195#0#0 +'ft'#3#251#0#6'Height'#2'g'#3'Top'#3'z'#1#5'Width'#3'X'#1#7'Anchors'#11#5'ak'
+#9'TGroupBox'#9'AGroupBox'#7'Caption'#6#9'AGroupBox'#12'ClientHeight'#2#26#11 +'Top'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#19'BorderSpacing.Rig'
+'ClientWidth'#2'|'#8'TabOrder'#2#0#4'Left'#2#23#6'Height'#2'+'#3'Top'#2#15#5 +'ht'#2#6#7'Caption'#6#236'... and how to reconstruct the component from a st'
+'Width'#3#128#0#0#0#0#9'TGroupBox'#19'DestinationGroupBox'#7'Anchors'#11#6'a' +'ream. This technique can be used to save components to disk or to transfer '
+'kLeft'#8'akBottom'#0#7'Caption'#6#11'Destination'#12'ClientHeight'#2'\'#11 +'them via network. Of course this also works for your own classes as long as'
+'ClientWidth'#3#211#0#8'TabOrder'#2#1#4'Left'#2#30#6'Height'#2'm'#3'Top'#3'h' +' they are descendants of TComponent.'#11'ParentColor'#8#8'WordWrap'#9#0#0#9
+#1#5'Width'#3#215#0#0#0#7'TButton'#19'WriteToStreamButton'#25'BorderSpacing.' +'TGroupBox'#14'SourceGroupBox'#4'Left'#2#15#6'Height'#2'Z'#3'Top'#2#25#5'Wid'
+'InnerBorder'#2#4#7'Caption'#6#28'1. Write AGroupBox to stream'#7'OnClick'#7 +'th'#3#195#0#7'Caption'#6#6'Source'#12'ClientHeight'#2'E'#11'ClientWidth'#3
+#24'WriteToStreamButtonClick'#8'TabOrder'#2#2#4'Left'#2#23#6'Height'#2#25#3 +#187#0#8'TabOrder'#2#0#0#9'TGroupBox'#9'AGroupBox'#4'Left'#2#23#6'Height'#2
+'Top'#3#130#0#5'Width'#3#197#0#0#0#9'TGroupBox'#14'StreamGroupBox'#7'Anchors' +'+'#3'Top'#2#15#5'Width'#3#128#0#7'Caption'#6#9'AGroupBox'#8'TabOrder'#2#0#0
+#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6'3Stream (specia' +#0#0#9'TGroupBox'#19'DestinationGroupBox'#4'Left'#2#30#6'Height'#2'm'#3'Top'
+'l characters are shown as hexnumbers)'#12'ClientHeight'#2's'#11'ClientWidth' +#3'z'#1#5'Width'#3#215#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6
+#3#236#1#8'TabOrder'#2#3#4'Left'#2#15#6'Height'#3#132#0#3'Top'#3#170#0#5'Wid' +#11'Destination'#8'TabOrder'#2#1#0#0#7'TButton'#19'WriteToStreamButton'#4'Le'
+'th'#3#240#1#0#5'TMemo'#10'StreamMemo'#5'Align'#7#8'alClient'#13'Lines.Strin' +'ft'#2#23#6'Height'#2'#'#3'Top'#3#130#0#5'Width'#3#229#0#8'AutoSize'#9#25'Bo'
+'gs'#1#6'5First click on the button above, then on button below'#0#8'ReadOnl' +'rderSpacing.InnerBorder'#2#4#7'Caption'#6#28'1. Write AGroupBox to stream'#7
+'y'#9#8'TabOrder'#2#0#6'Height'#2'_'#5'Width'#3#236#1#0#0#9'TCheckBox'#19'St' +'OnClick'#7#24'WriteToStreamButtonClick'#8'TabOrder'#2#2#0#0#9'TGroupBox'#14
+'reamAsLFMCheckBox'#5'Align'#7#8'alBottom'#7'Caption'#6#31'Show sream in LFM' +'StreamGroupBox'#4'Left'#2#15#6'Height'#3#150#0#3'Top'#3#170#0#5'Width'#3'<'
+' format (text)'#8'OnChange'#7#25'StreamAsLFMCheckBoxChange'#8'TabOrder'#2#1 +#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6'3S'
+#6'Height'#2#20#3'Top'#2'_'#5'Width'#3#236#1#0#0#0#7'TButton'#16'ReadStreamB' +'tream (special characters are shown as hexnumbers)'#12'ClientHeight'#3#129#0
+'utton'#7'Anchors'#11#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2 +#11'ClientWidth'#3'4'#2#8'TabOrder'#2#3#0#5'TMemo'#10'StreamMemo'#4'Left'#2#0
+#4#7'Caption'#6#31'2. Create component from stream'#7'OnClick'#7#21'ReadStre' +#6'Height'#2'k'#3'Top'#2#0#5'Width'#3'4'#2#5'Align'#7#8'alClient'#13'Lines.S'
+'amButtonClick'#8'TabOrder'#2#4#4'Left'#2#25#6'Height'#2#24#3'Top'#3'<'#1#5 +'trings'#1#6'5First click on the button above, then on button below'#0#8'Rea'
+'Width'#3#215#0#0#0#0 +'dOnly'#9#8'TabOrder'#2#0#0#0#9'TCheckBox'#19'StreamAsLFMCheckBox'#4'Left'#2
+#0#6'Height'#2#22#3'Top'#2'k'#5'Width'#3'4'#2#5'Align'#7#8'alBottom'#7'Capti'
+'on'#6#31'Show sream in LFM format (text)'#8'OnChange'#7#25'StreamAsLFMCheck'
+'BoxChange'#8'TabOrder'#2#1#0#0#0#7'TButton'#16'ReadStreamButton'#4'Left'#2
+#25#6'Height'#2'#'#3'Top'#3'C'#1#5'Width'#3#254#0#7'Anchors'#11#6'akLeft'#8
+'akBottom'#0#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#31
+'2. Create component from stream'#7'OnClick'#7#21'ReadStreamButtonClick'#8'T'
+'abOrder'#2#4#0#0#0
]); ]);