Changeset 12


Ignore:
Timestamp:
Oct 20, 2009, 11:31:33 AM (15 years ago)
Author:
george
Message:
  • Fixed: Handling repeated fileds.
Location:
ProtocolBuffers
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • ProtocolBuffers/Demo.lpi

    r11 r12  
    99      <Icon Value="0"/>
    1010      <UseXPManifest Value="True"/>
    11       <ActiveEditorIndexAtStart Value="2"/>
     11      <ActiveEditorIndexAtStart Value="0"/>
    1212    </General>
    1313    <VersionInfo>
     
    3838        <IsPartOfProject Value="True"/>
    3939        <UnitName Value="Demo"/>
    40         <CursorPos X="23" Y="11"/>
     40        <CursorPos X="44" Y="16"/>
    4141        <TopLine Value="1"/>
    42         <UsageCount Value="41"/>
     42        <EditorIndex Value="3"/>
     43        <UsageCount Value="42"/>
     44        <Loaded Value="True"/>
    4345      </Unit0>
    4446      <Unit1>
     
    4850        <ResourceBaseClass Value="Form"/>
    4951        <UnitName Value="UMainForm"/>
    50         <CursorPos X="1" Y="186"/>
    51         <TopLine Value="154"/>
     52        <CursorPos X="42" Y="159"/>
     53        <TopLine Value="146"/>
    5254        <EditorIndex Value="0"/>
    53         <UsageCount Value="41"/>
     55        <UsageCount Value="42"/>
    5456        <Loaded Value="True"/>
    5557      </Unit1>
     
    5860        <IsPartOfProject Value="True"/>
    5961        <UnitName Value="UProtocolBuffers"/>
    60         <CursorPos X="43" Y="165"/>
    61         <TopLine Value="146"/>
     62        <CursorPos X="1" Y="247"/>
     63        <TopLine Value="230"/>
    6264        <EditorIndex Value="2"/>
    63         <UsageCount Value="41"/>
     65        <UsageCount Value="42"/>
    6466        <Loaded Value="True"/>
    6567      </Unit2>
     
    7072        <CursorPos X="3" Y="60"/>
    7173        <TopLine Value="27"/>
    72         <EditorIndex Value="5"/>
    73         <UsageCount Value="41"/>
     74        <EditorIndex Value="6"/>
     75        <UsageCount Value="42"/>
    7476        <Loaded Value="True"/>
    7577      </Unit3>
     
    8587        <CursorPos X="20" Y="4"/>
    8688        <TopLine Value="1"/>
    87         <EditorIndex Value="7"/>
    88         <UsageCount Value="39"/>
     89        <EditorIndex Value="8"/>
     90        <UsageCount Value="40"/>
    8991        <Loaded Value="True"/>
    9092        <SyntaxHighlighter Value="None"/>
     
    9698        <CursorPos X="1" Y="12"/>
    9799        <TopLine Value="1"/>
    98         <EditorIndex Value="6"/>
    99         <UsageCount Value="38"/>
     100        <EditorIndex Value="7"/>
     101        <UsageCount Value="39"/>
    100102        <Loaded Value="True"/>
    101103      </Unit6>
     
    109111      <Unit8>
    110112        <Filename Value="..\..\..\Programy\Lazarus_0.9.27\lcl\include\treeview.inc"/>
    111         <CursorPos X="41" Y="3711"/>
    112         <TopLine Value="3702"/>
     113        <CursorPos X="1" Y="3714"/>
     114        <TopLine Value="3697"/>
    113115        <EditorIndex Value="1"/>
    114116        <UsageCount Value="12"/>
     
    125127        <CursorPos X="21" Y="160"/>
    126128        <TopLine Value="144"/>
    127         <EditorIndex Value="4"/>
     129        <EditorIndex Value="5"/>
    128130        <UsageCount Value="15"/>
    129131        <Loaded Value="True"/>
     
    140142        <CursorPos X="19" Y="1"/>
    141143        <TopLine Value="1"/>
    142         <EditorIndex Value="3"/>
    143         <UsageCount Value="27"/>
     144        <EditorIndex Value="4"/>
     145        <UsageCount Value="28"/>
    144146        <Loaded Value="True"/>
    145147        <SyntaxHighlighter Value="None"/>
     
    148150    <JumpHistory Count="30" HistoryIndex="29">
    149151      <Position1>
    150         <Filename Value="UProtocolBuffers.pas"/>
    151         <Caret Line="216" Column="1" TopLine="199"/>
     152        <Filename Value="UMainForm.pas"/>
     153        <Caret Line="263" Column="1" TopLine="246"/>
    152154      </Position1>
    153155      <Position2>
    154         <Filename Value="UProtocolBuffers.pas"/>
    155         <Caret Line="219" Column="1" TopLine="202"/>
     156        <Filename Value="UMainForm.pas"/>
     157        <Caret Line="267" Column="1" TopLine="250"/>
    156158      </Position2>
    157159      <Position3>
    158         <Filename Value="UProtocolBuffers.pas"/>
    159         <Caret Line="221" Column="1" TopLine="204"/>
     160        <Filename Value="UMainForm.pas"/>
     161        <Caret Line="271" Column="1" TopLine="253"/>
    160162      </Position3>
    161163      <Position4>
    162         <Filename Value="UProtocolBuffers.pas"/>
    163         <Caret Line="222" Column="1" TopLine="205"/>
     164        <Filename Value="UMainForm.pas"/>
     165        <Caret Line="273" Column="1" TopLine="253"/>
    164166      </Position4>
    165167      <Position5>
    166         <Filename Value="UProtocolBuffers.pas"/>
    167         <Caret Line="223" Column="1" TopLine="206"/>
     168        <Filename Value="UMainForm.pas"/>
     169        <Caret Line="261" Column="1" TopLine="244"/>
    168170      </Position5>
    169171      <Position6>
    170         <Filename Value="UProtocolBuffers.pas"/>
    171         <Caret Line="224" Column="1" TopLine="207"/>
     172        <Filename Value="UMainForm.pas"/>
     173        <Caret Line="262" Column="1" TopLine="245"/>
    172174      </Position6>
    173175      <Position7>
    174         <Filename Value="UProtocolBuffers.pas"/>
    175         <Caret Line="225" Column="1" TopLine="208"/>
     176        <Filename Value="UMainForm.pas"/>
     177        <Caret Line="263" Column="1" TopLine="246"/>
    176178      </Position7>
    177179      <Position8>
    178         <Filename Value="UProtocolBuffers.pas"/>
    179         <Caret Line="226" Column="1" TopLine="209"/>
     180        <Filename Value="UMainForm.pas"/>
     181        <Caret Line="264" Column="1" TopLine="247"/>
    180182      </Position8>
    181183      <Position9>
    182         <Filename Value="UProtocolBuffers.pas"/>
    183         <Caret Line="229" Column="1" TopLine="212"/>
     184        <Filename Value="UMainForm.pas"/>
     185        <Caret Line="265" Column="1" TopLine="248"/>
    184186      </Position9>
    185187      <Position10>
    186         <Filename Value="UProtocolBuffers.pas"/>
    187         <Caret Line="233" Column="1" TopLine="216"/>
     188        <Filename Value="UMainForm.pas"/>
     189        <Caret Line="235" Column="1" TopLine="218"/>
    188190      </Position10>
    189191      <Position11>
    190         <Filename Value="UProtocolBuffers.pas"/>
    191         <Caret Line="234" Column="1" TopLine="217"/>
     192        <Filename Value="UMainForm.pas"/>
     193        <Caret Line="236" Column="1" TopLine="219"/>
    192194      </Position11>
    193195      <Position12>
    194         <Filename Value="UProtocolBuffers.pas"/>
    195         <Caret Line="235" Column="1" TopLine="218"/>
     196        <Filename Value="UMainForm.pas"/>
     197        <Caret Line="245" Column="38" TopLine="229"/>
    196198      </Position12>
    197199      <Position13>
    198         <Filename Value="UProtocolBuffers.pas"/>
    199         <Caret Line="242" Column="1" TopLine="225"/>
     200        <Filename Value="UMainForm.pas"/>
     201        <Caret Line="259" Column="1" TopLine="242"/>
    200202      </Position13>
    201203      <Position14>
    202204        <Filename Value="UMainForm.pas"/>
    203         <Caret Line="173" Column="21" TopLine="161"/>
     205        <Caret Line="235" Column="1" TopLine="218"/>
    204206      </Position14>
    205207      <Position15>
    206         <Filename Value="UProtocolBuffers.pas"/>
    207         <Caret Line="222" Column="5" TopLine="212"/>
     208        <Filename Value="UMainForm.pas"/>
     209        <Caret Line="236" Column="1" TopLine="219"/>
    208210      </Position15>
    209211      <Position16>
    210         <Filename Value="UProtocolBuffers.pas"/>
    211         <Caret Line="168" Column="42" TopLine="151"/>
     212        <Filename Value="UMainForm.pas"/>
     213        <Caret Line="238" Column="1" TopLine="221"/>
    212214      </Position16>
    213215      <Position17>
    214         <Filename Value="UProtocolBuffers.pas"/>
    215         <Caret Line="172" Column="64" TopLine="151"/>
     216        <Filename Value="UMainForm.pas"/>
     217        <Caret Line="239" Column="1" TopLine="222"/>
    216218      </Position17>
    217219      <Position18>
    218         <Filename Value="UProtocolBuffers.pas"/>
    219         <Caret Line="171" Column="40" TopLine="155"/>
     220        <Filename Value="UMainForm.pas"/>
     221        <Caret Line="241" Column="1" TopLine="224"/>
    220222      </Position18>
    221223      <Position19>
    222224        <Filename Value="UMainForm.pas"/>
    223         <Caret Line="186" Column="1" TopLine="169"/>
     225        <Caret Line="252" Column="1" TopLine="235"/>
    224226      </Position19>
    225227      <Position20>
    226         <Filename Value="UProtocolBuffers.pas"/>
    227         <Caret Line="158" Column="3" TopLine="153"/>
     228        <Filename Value="UMainForm.pas"/>
     229        <Caret Line="261" Column="1" TopLine="244"/>
    228230      </Position20>
    229231      <Position21>
    230         <Filename Value="UProtocolBuffers.pas"/>
    231         <Caret Line="162" Column="1" TopLine="151"/>
     232        <Filename Value="UMainForm.pas"/>
     233        <Caret Line="192" Column="1" TopLine="175"/>
    232234      </Position21>
    233235      <Position22>
    234236        <Filename Value="UProtocolBuffers.pas"/>
    235         <Caret Line="163" Column="1" TopLine="146"/>
     237        <Caret Line="247" Column="1" TopLine="230"/>
    236238      </Position22>
    237239      <Position23>
    238         <Filename Value="UProtocolBuffers.pas"/>
    239         <Caret Line="166" Column="1" TopLine="149"/>
     240        <Filename Value="UMainForm.pas"/>
     241        <Caret Line="235" Column="1" TopLine="218"/>
    240242      </Position23>
    241243      <Position24>
    242         <Filename Value="UProtocolBuffers.pas"/>
    243         <Caret Line="167" Column="1" TopLine="150"/>
     244        <Filename Value="UMainForm.pas"/>
     245        <Caret Line="236" Column="1" TopLine="219"/>
    244246      </Position24>
    245247      <Position25>
    246         <Filename Value="UProtocolBuffers.pas"/>
    247         <Caret Line="168" Column="1" TopLine="151"/>
     248        <Filename Value="UMainForm.pas"/>
     249        <Caret Line="238" Column="1" TopLine="221"/>
    248250      </Position25>
    249251      <Position26>
    250         <Filename Value="UProtocolBuffers.pas"/>
    251         <Caret Line="163" Column="1" TopLine="146"/>
     252        <Filename Value="UMainForm.pas"/>
     253        <Caret Line="239" Column="1" TopLine="222"/>
    252254      </Position26>
    253255      <Position27>
    254         <Filename Value="UProtocolBuffers.pas"/>
    255         <Caret Line="166" Column="1" TopLine="149"/>
     256        <Filename Value="UMainForm.pas"/>
     257        <Caret Line="241" Column="1" TopLine="224"/>
    256258      </Position27>
    257259      <Position28>
    258         <Filename Value="UProtocolBuffers.pas"/>
    259         <Caret Line="170" Column="1" TopLine="153"/>
     260        <Filename Value="UMainForm.pas"/>
     261        <Caret Line="252" Column="1" TopLine="235"/>
    260262      </Position28>
    261263      <Position29>
    262         <Filename Value="UProtocolBuffers.pas"/>
    263         <Caret Line="171" Column="1" TopLine="154"/>
     264        <Filename Value="UMainForm.pas"/>
     265        <Caret Line="261" Column="1" TopLine="244"/>
    264266      </Position29>
    265267      <Position30>
    266         <Filename Value="UProtocolBuffers.pas"/>
    267         <Caret Line="172" Column="1" TopLine="155"/>
     268        <Filename Value="UMainForm.pas"/>
     269        <Caret Line="127" Column="42" TopLine="112"/>
    268270      </Position30>
    269271    </JumpHistory>
  • ProtocolBuffers/UMainForm.pas

    r11 r12  
    9494        Tag := 2;
    9595        ItemType := itString;
    96         ItemMode := imOptional;
     96        ItemMode := imRepeated;
    9797      end;
    9898      Items.Add(NewItem);
     
    128128    TPBStringItem(TPBMessageItem(PB.BaseMessage.Items[3]).
    129129      Items[0]).Value := 'Vsetínská';
     130//    TPBStringItem(PB.BaseMessage.Items[1]).Value := 'Abc';
     131    with TPBRepeatedItem(PB.BaseMessage.Items[1]) do begin
     132      Items.Add(nil);
     133      Items.Add(nil);
     134      Clear(TPBDefinition(Definition.Items[1]));
     135      TPBStringItem(Items[0]).Value := 'Test';
     136      TPBStringItem(Items[1]).Value := 'Hops';
     137    end;
     138
    130139    DisplayTree(PB, TreeView1);
    131140    SaveToStream(Stream);
     
    154163        Tag := 2;
    155164        ItemType := itString;
     165        //ItemMode := imRepeated;
    156166        DefaultString := 'Billy Joe';
    157167      end;
     
    227237  NewNode: TTreeNode;
    228238begin
    229   for I := 0 to Definition.Items.Count - 1 do
    230   with TPBDefinition(Definition) do begin
     239  for I := 0 to PBRepeated.Items.Count - 1 do
     240  with Definition do begin
    231241    NewNode := Node.Owner.AddChild(Node, '');
    232242    if ItemType = itString then begin
  • ProtocolBuffers/UProtocolBuffers.pas

    r11 r12  
    245245
    246246        if ItemMode = imRepeated then begin
    247           TPBRepeatedItem(Items[ItemIndex]).Items.Add(NewItem);
     247          TPBRepeatedItem(Self.Items[ItemIndex]).Items.Add(NewItem);
    248248        end else begin
    249249          TPBItem(Self.Items[ItemIndex]).Assign(NewItem);
     
    490490  I: Integer;
    491491begin
    492   for I := 0 to Items.Count - 1 do
     492  for I := 0 to Items.Count - 1 do begin
    493493    TPBItem(Items[I]).Free;
     494    if Definition.ItemType = itInteger then begin
     495      Items[I] := TPBIntegerItem.Create;
     496      TPBIntegerItem(Items[I]).Value := Definition.DefaultInteger;
     497    end else
     498    if Definition.ItemType = itString then begin
     499      Items[I] := TPBStringItem.Create;
     500      TPBStringItem(Items[I]).Value := Definition.DefaultString;
     501    end else
     502    if Definition.ItemType = itMessage then begin
     503      Items[I] := TPBMessageItem.Create;
     504      TPBMessageItem(Items[I]).Clear(Definition);
     505    end;
     506  end;
    494507  inherited;
    495508end;
Note: See TracChangeset for help on using the changeset viewer.