Changeset 109
- Timestamp:
- Jan 3, 2011, 7:22:47 AM (14 years ago)
- Location:
- Generics/TemplateGenerics
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Demo/Demo.lpi
r108 r109 38 38 </Item2> 39 39 </RequiredPackages> 40 <Units Count="5 7">40 <Units Count="59"> 41 41 <Unit0> 42 42 <Filename Value="Demo.lpr"/> … … 58 58 <EditorIndex Value="0"/> 59 59 <WindowIndex Value="0"/> 60 <TopLine Value=" 192"/>61 <CursorPos X=" 1" Y="213"/>60 <TopLine Value="73"/> 61 <CursorPos X="53" Y="79"/> 62 62 <UsageCount Value="233"/> 63 <Bookmarks Count="1"> 64 <Item0 X="65" Y="221" ID="2"/> 65 </Bookmarks> 63 66 <Loaded Value="True"/> 64 67 <LoadedDesigner Value="True"/> … … 71 74 <TopLine Value="1"/> 72 75 <CursorPos X="1" Y="11"/> 73 <UsageCount Value=" 6"/>76 <UsageCount Value="4"/> 74 77 </Unit2> 75 78 <Unit3> … … 79 82 <TopLine Value="3"/> 80 83 <CursorPos X="43" Y="13"/> 81 <UsageCount Value=" 6"/>84 <UsageCount Value="4"/> 82 85 </Unit3> 83 86 <Unit4> … … 87 90 <TopLine Value="33"/> 88 91 <CursorPos X="12" Y="56"/> 89 <UsageCount Value=" 6"/>92 <UsageCount Value="4"/> 90 93 </Unit4> 91 94 <Unit5> … … 95 98 <TopLine Value="1"/> 96 99 <CursorPos X="23" Y="21"/> 97 <UsageCount Value=" 6"/>100 <UsageCount Value="4"/> 98 101 </Unit5> 99 102 <Unit6> … … 103 106 <TopLine Value="1"/> 104 107 <CursorPos X="23" Y="24"/> 105 <UsageCount Value=" 6"/>108 <UsageCount Value="4"/> 106 109 </Unit6> 107 110 <Unit7> … … 111 114 <TopLine Value="1"/> 112 115 <CursorPos X="23" Y="13"/> 113 <UsageCount Value=" 6"/>116 <UsageCount Value="4"/> 114 117 </Unit7> 115 118 <Unit8> … … 119 122 <TopLine Value="1"/> 120 123 <CursorPos X="23" Y="24"/> 121 <UsageCount Value=" 6"/>124 <UsageCount Value="4"/> 122 125 </Unit8> 123 126 <Unit9> … … 127 130 <TopLine Value="1"/> 128 131 <CursorPos X="31" Y="13"/> 129 <UsageCount Value=" 6"/>132 <UsageCount Value="4"/> 130 133 </Unit9> 131 134 <Unit10> … … 135 138 <TopLine Value="1"/> 136 139 <CursorPos X="29" Y="17"/> 137 <UsageCount Value=" 6"/>140 <UsageCount Value="4"/> 138 141 </Unit10> 139 142 <Unit11> … … 142 145 <TopLine Value="1"/> 143 146 <CursorPos X="1" Y="4"/> 144 <UsageCount Value=" 6"/>147 <UsageCount Value="4"/> 145 148 <DefaultSyntaxHighlighter Value="None"/> 146 149 </Unit11> … … 150 153 <TopLine Value="1"/> 151 154 <CursorPos X="21" Y="6"/> 152 <UsageCount Value=" 6"/>155 <UsageCount Value="4"/> 153 156 <DefaultSyntaxHighlighter Value="None"/> 154 157 </Unit12> … … 158 161 <TopLine Value="1"/> 159 162 <CursorPos X="1" Y="1"/> 160 <UsageCount Value=" 6"/>163 <UsageCount Value="4"/> 161 164 <DefaultSyntaxHighlighter Value="None"/> 162 165 </Unit13> … … 166 169 <TopLine Value="1"/> 167 170 <CursorPos X="25" Y="13"/> 168 <UsageCount Value=" 7"/>171 <UsageCount Value="5"/> 169 172 <DefaultSyntaxHighlighter Value="None"/> 170 173 </Unit14> … … 174 177 <TopLine Value="4"/> 175 178 <CursorPos X="3" Y="6"/> 176 <UsageCount Value=" 6"/>179 <UsageCount Value="4"/> 177 180 <DefaultSyntaxHighlighter Value="None"/> 178 181 </Unit15> … … 182 185 <TopLine Value="1"/> 183 186 <CursorPos X="14" Y="16"/> 184 <UsageCount Value=" 6"/>187 <UsageCount Value="4"/> 185 188 <DefaultSyntaxHighlighter Value="None"/> 186 189 </Unit16> … … 191 194 <TopLine Value="1"/> 192 195 <CursorPos X="32" Y="18"/> 193 <UsageCount Value=" 6"/>196 <UsageCount Value="4"/> 194 197 </Unit17> 195 198 <Unit18> … … 198 201 <TopLine Value="1"/> 199 202 <CursorPos X="20" Y="12"/> 200 <UsageCount Value=" 4"/>203 <UsageCount Value="2"/> 201 204 <DefaultSyntaxHighlighter Value="None"/> 202 205 </Unit18> … … 207 210 <TopLine Value="1"/> 208 211 <CursorPos X="1" Y="22"/> 209 <UsageCount Value=" 4"/>212 <UsageCount Value="2"/> 210 213 </Unit19> 211 214 <Unit20> … … 214 217 <TopLine Value="1"/> 215 218 <CursorPos X="1" Y="1"/> 216 <UsageCount Value=" 4"/>219 <UsageCount Value="2"/> 217 220 <DefaultSyntaxHighlighter Value="None"/> 218 221 </Unit20> … … 222 225 <TopLine Value="1"/> 223 226 <CursorPos X="1" Y="3"/> 224 <UsageCount Value=" 4"/>227 <UsageCount Value="2"/> 225 228 <DefaultSyntaxHighlighter Value="None"/> 226 229 </Unit21> … … 230 233 <TopLine Value="1"/> 231 234 <CursorPos X="1" Y="3"/> 232 <UsageCount Value=" 4"/>235 <UsageCount Value="2"/> 233 236 <DefaultSyntaxHighlighter Value="None"/> 234 237 </Unit22> … … 239 242 <TopLine Value="45"/> 240 243 <CursorPos X="9" Y="79"/> 241 <UsageCount Value=" 3"/>244 <UsageCount Value="1"/> 242 245 </Unit23> 243 246 <Unit24> … … 246 249 <TopLine Value="1"/> 247 250 <CursorPos X="21" Y="4"/> 248 <UsageCount Value=" 8"/>251 <UsageCount Value="6"/> 249 252 <DefaultSyntaxHighlighter Value="None"/> 250 253 </Unit24> … … 255 258 <TopLine Value="1"/> 256 259 <CursorPos X="1" Y="25"/> 257 <UsageCount Value=" 8"/>260 <UsageCount Value="6"/> 258 261 </Unit25> 259 262 <Unit26> … … 262 265 <TopLine Value="1"/> 263 266 <CursorPos X="1" Y="3"/> 264 <UsageCount Value=" 8"/>267 <UsageCount Value="6"/> 265 268 <DefaultSyntaxHighlighter Value="None"/> 266 269 </Unit26> … … 270 273 <TopLine Value="1"/> 271 274 <CursorPos X="7" Y="4"/> 272 <UsageCount Value=" 8"/>275 <UsageCount Value="6"/> 273 276 <DefaultSyntaxHighlighter Value="None"/> 274 277 </Unit27> … … 279 282 <TopLine Value="1"/> 280 283 <CursorPos X="14" Y="15"/> 281 <UsageCount Value=" 8"/>284 <UsageCount Value="6"/> 282 285 </Unit28> 283 286 <Unit29> … … 286 289 <TopLine Value="1"/> 287 290 <CursorPos X="14" Y="18"/> 288 <UsageCount Value=" 8"/>291 <UsageCount Value="6"/> 289 292 <DefaultSyntaxHighlighter Value="None"/> 290 293 </Unit29> … … 295 298 <TopLine Value="2"/> 296 299 <CursorPos X="30" Y="8"/> 297 <UsageCount Value=" 8"/>300 <UsageCount Value="6"/> 298 301 </Unit30> 299 302 <Unit31> … … 303 306 <TopLine Value="13"/> 304 307 <CursorPos X="15" Y="12"/> 305 <UsageCount Value=" 10"/>308 <UsageCount Value="8"/> 306 309 <DefaultSyntaxHighlighter Value="Delphi"/> 307 310 </Unit31> … … 310 313 <EditorIndex Value="6"/> 311 314 <WindowIndex Value="0"/> 312 <TopLine Value=" 3"/>313 <CursorPos X=" 1" Y="13"/>315 <TopLine Value="170"/> 316 <CursorPos X="82" Y="183"/> 314 317 <UsageCount Value="107"/> 315 318 <Loaded Value="True"/> … … 320 323 <TopLine Value="31"/> 321 324 <CursorPos X="44" Y="47"/> 322 <UsageCount Value="9 6"/>325 <UsageCount Value="94"/> 323 326 </Unit33> 324 327 <Unit34> … … 327 330 <TopLine Value="1"/> 328 331 <CursorPos X="36" Y="48"/> 329 <UsageCount Value="9 6"/>332 <UsageCount Value="94"/> 330 333 </Unit34> 331 334 <Unit35> … … 334 337 <TopLine Value="3"/> 335 338 <CursorPos X="1" Y="3"/> 336 <UsageCount Value="9 6"/>339 <UsageCount Value="94"/> 337 340 </Unit35> 338 341 <Unit36> … … 341 344 <TopLine Value="11"/> 342 345 <CursorPos X="42" Y="11"/> 343 <UsageCount Value="9 6"/>346 <UsageCount Value="94"/> 344 347 </Unit36> 345 348 <Unit37> … … 348 351 <TopLine Value="3"/> 349 352 <CursorPos X="1" Y="3"/> 350 <UsageCount Value="9 6"/>353 <UsageCount Value="94"/> 351 354 </Unit37> 352 355 <Unit38> … … 355 358 <TopLine Value="1"/> 356 359 <CursorPos X="22" Y="30"/> 357 <UsageCount Value="9 6"/>360 <UsageCount Value="94"/> 358 361 </Unit38> 359 362 <Unit39> … … 363 366 <TopLine Value="6"/> 364 367 <CursorPos X="56" Y="36"/> 365 <UsageCount Value="9 5"/>368 <UsageCount Value="93"/> 366 369 </Unit39> 367 370 <Unit40> … … 371 374 <TopLine Value="27"/> 372 375 <CursorPos X="50" Y="59"/> 373 <UsageCount Value="9 4"/>376 <UsageCount Value="92"/> 374 377 </Unit40> 375 378 <Unit41> … … 379 382 <TopLine Value="57"/> 380 383 <CursorPos X="48" Y="85"/> 381 <UsageCount Value="9 4"/>384 <UsageCount Value="92"/> 382 385 </Unit41> 383 386 <Unit42> … … 386 389 <TopLine Value="1"/> 387 390 <CursorPos X="33" Y="14"/> 388 <UsageCount Value="9 4"/>391 <UsageCount Value="92"/> 389 392 </Unit42> 390 393 <Unit43> … … 394 397 <TopLine Value="52"/> 395 398 <CursorPos X="1" Y="81"/> 396 <UsageCount Value="9 4"/>399 <UsageCount Value="92"/> 397 400 </Unit43> 398 401 <Unit44> … … 402 405 <TopLine Value="29"/> 403 406 <CursorPos X="1" Y="62"/> 404 <UsageCount Value="9 4"/>407 <UsageCount Value="92"/> 405 408 </Unit44> 406 409 <Unit45> … … 410 413 <TopLine Value="9"/> 411 414 <CursorPos X="60" Y="36"/> 412 <UsageCount Value="9 3"/>415 <UsageCount Value="91"/> 413 416 </Unit45> 414 417 <Unit46> … … 417 420 <EditorIndex Value="7"/> 418 421 <WindowIndex Value="0"/> 419 <TopLine Value="1 "/>420 <CursorPos X="1 " Y="104"/>421 <UsageCount Value="10 3"/>422 <TopLine Value="161"/> 423 <CursorPos X="17" Y="287"/> 424 <UsageCount Value="102"/> 422 425 <Loaded Value="True"/> 423 426 </Unit46> 424 427 <Unit47> 425 428 <Filename Value="../Generic/GenericMatrix.inc"/> 426 <EditorIndex Value=" 9"/>427 <WindowIndex Value="0"/> 428 <TopLine Value=" 1"/>429 <CursorPos X=" 33" Y="10"/>429 <EditorIndex Value="8"/> 430 <WindowIndex Value="0"/> 431 <TopLine Value="311"/> 432 <CursorPos X="48" Y="331"/> 430 433 <UsageCount Value="103"/> 431 434 <Loaded Value="True"/> … … 437 440 <TopLine Value="2624"/> 438 441 <CursorPos X="37" Y="2636"/> 439 <UsageCount Value="9 2"/>442 <UsageCount Value="90"/> 440 443 </Unit48> 441 444 <Unit49> … … 444 447 <TopLine Value="94"/> 445 448 <CursorPos X="1" Y="1"/> 446 <UsageCount Value=" 8"/>449 <UsageCount Value="6"/> 447 450 <DefaultSyntaxHighlighter Value="XML"/> 448 451 </Unit49> … … 451 454 <EditorIndex Value="2"/> 452 455 <WindowIndex Value="0"/> 453 <TopLine Value=" 32"/>454 <CursorPos X="1 1" Y="36"/>455 <UsageCount Value="2 0"/>456 <TopLine Value="199"/> 457 <CursorPos X="14" Y="213"/> 458 <UsageCount Value="28"/> 456 459 <Loaded Value="True"/> 457 460 </Unit50> … … 460 463 <EditorIndex Value="5"/> 461 464 <WindowIndex Value="0"/> 462 <TopLine Value=" 462"/>463 <CursorPos X=" 25" Y="464"/>464 <UsageCount Value="2 0"/>465 <TopLine Value="199"/> 466 <CursorPos X="3" Y="201"/> 467 <UsageCount Value="28"/> 465 468 <Loaded Value="True"/> 466 469 </Unit51> 467 470 <Unit52> 468 471 <Filename Value="../Generic/GenericListObject.inc"/> 469 <EditorIndex Value="8"/>470 472 <WindowIndex Value="0"/> 471 473 <TopLine Value="1"/> 472 474 <CursorPos X="21" Y="20"/> 473 <UsageCount Value="20"/> 474 <Loaded Value="True"/> 475 <UsageCount Value="19"/> 475 476 </Unit52> 476 477 <Unit53> … … 481 482 <TopLine Value="1"/> 482 483 <CursorPos X="27" Y="26"/> 483 <UsageCount Value="2 0"/>484 <UsageCount Value="28"/> 484 485 <Loaded Value="True"/> 485 486 </Unit53> … … 490 491 <TopLine Value="381"/> 491 492 <CursorPos X="3" Y="398"/> 492 <UsageCount Value="2 0"/>493 <UsageCount Value="28"/> 493 494 <Loaded Value="True"/> 494 495 </Unit54> … … 498 499 <TopLine Value="475"/> 499 500 <CursorPos X="10" Y="503"/> 500 <UsageCount Value=" 8"/>501 <UsageCount Value="7"/> 501 502 </Unit55> 502 503 <Unit56> … … 506 507 <TopLine Value="2270"/> 507 508 <CursorPos X="22" Y="2273"/> 508 <UsageCount Value="1 1"/>509 <UsageCount Value="19"/> 509 510 <Loaded Value="True"/> 510 511 </Unit56> 512 <Unit57> 513 <Filename Value="../Specialized/SpecializedMatrix.pas"/> 514 <UnitName Value="SpecializedMatrix"/> 515 <EditorIndex Value="9"/> 516 <WindowIndex Value="0"/> 517 <TopLine Value="31"/> 518 <CursorPos X="38" Y="62"/> 519 <UsageCount Value="18"/> 520 <Loaded Value="True"/> 521 </Unit57> 522 <Unit58> 523 <Filename Value="../ReadMe.txt"/> 524 <WindowIndex Value="0"/> 525 <TopLine Value="1"/> 526 <CursorPos X="28" Y="10"/> 527 <UsageCount Value="9"/> 528 <DefaultSyntaxHighlighter Value="None"/> 529 </Unit58> 511 530 </Units> 512 531 <JumpHistory Count="30" HistoryIndex="29"> 513 532 <Position1> 514 <Filename Value=" UMainForm.pas"/>515 <Caret Line=" 512" Column="30" TopLine="479"/>533 <Filename Value="../Generic/GenericMatrix.inc"/> 534 <Caret Line="416" Column="1" TopLine="388"/> 516 535 </Position1> 517 536 <Position2> 518 <Filename Value=" UMainForm.pas"/>519 <Caret Line=" 506" Column="49" TopLine="482"/>537 <Filename Value="../Generic/GenericMatrix.inc"/> 538 <Caret Line="417" Column="1" TopLine="389"/> 520 539 </Position2> 521 540 <Position3> 522 <Filename Value=" UMainForm.pas"/>523 <Caret Line="4 1" Column="43" TopLine="40"/>541 <Filename Value="../Generic/GenericMatrix.inc"/> 542 <Caret Line="408" Column="1" TopLine="389"/> 524 543 </Position3> 525 544 <Position4> 526 <Filename Value=" UMainForm.pas"/>527 <Caret Line=" 63" Column="9" TopLine="46"/>545 <Filename Value="../Generic/GenericMatrix.inc"/> 546 <Caret Line="409" Column="1" TopLine="389"/> 528 547 </Position4> 529 548 <Position5> 530 <Filename Value=" UMainForm.pas"/>531 <Caret Line="41 " Column="55" TopLine="24"/>549 <Filename Value="../Generic/GenericMatrix.inc"/> 550 <Caret Line="410" Column="1" TopLine="389"/> 532 551 </Position5> 533 552 <Position6> 534 <Filename Value=" UMainForm.pas"/>535 <Caret Line=" 506" Column="61" TopLine="483"/>553 <Filename Value="../Generic/GenericMatrix.inc"/> 554 <Caret Line="411" Column="1" TopLine="389"/> 536 555 </Position6> 537 556 <Position7> 538 <Filename Value=" UMainForm.pas"/>539 <Caret Line=" 63" Column="8" TopLine="46"/>557 <Filename Value="../Generic/GenericMatrix.inc"/> 558 <Caret Line="412" Column="1" TopLine="389"/> 540 559 </Position7> 541 560 <Position8> 542 <Filename Value=" UMainForm.pas"/>543 <Caret Line="41 " Column="15" TopLine="1"/>561 <Filename Value="../Generic/GenericMatrix.inc"/> 562 <Caret Line="413" Column="1" TopLine="389"/> 544 563 </Position8> 545 564 <Position9> 546 <Filename Value=" UMainForm.pas"/>547 <Caret Line=" 66" Column="9" TopLine="49"/>565 <Filename Value="../Generic/GenericMatrix.inc"/> 566 <Caret Line="410" Column="1" TopLine="389"/> 548 567 </Position9> 549 568 <Position10> 550 <Filename Value=" UMainForm.pas"/>551 <Caret Line="41 " Column="15" TopLine="1"/>569 <Filename Value="../Generic/GenericMatrix.inc"/> 570 <Caret Line="411" Column="1" TopLine="389"/> 552 571 </Position10> 553 572 <Position11> 554 <Filename Value=" UMainForm.pas"/>555 <Caret Line=" 63" Column="31" TopLine="46"/>573 <Filename Value="../Generic/GenericMatrix.inc"/> 574 <Caret Line="413" Column="1" TopLine="389"/> 556 575 </Position11> 557 576 <Position12> 558 <Filename Value=" UMainForm.pas"/>559 <Caret Line=" 3" Column="19" TopLine="1"/>577 <Filename Value="../Generic/GenericMatrix.inc"/> 578 <Caret Line="415" Column="1" TopLine="389"/> 560 579 </Position12> 561 580 <Position13> 562 <Filename Value=" UMainForm.pas"/>563 <Caret Line=" 63" Column="9" TopLine="46"/>581 <Filename Value="../Generic/GenericMatrix.inc"/> 582 <Caret Line="417" Column="1" TopLine="389"/> 564 583 </Position13> 565 584 <Position14> 566 585 <Filename Value="UMainForm.pas"/> 567 <Caret Line=" 41" Column="26" TopLine="24"/>586 <Caret Line="104" Column="13" TopLine="74"/> 568 587 </Position14> 569 588 <Position15> 570 589 <Filename Value="UMainForm.pas"/> 571 <Caret Line=" 63" Column="10" TopLine="46"/>590 <Caret Line="102" Column="7" TopLine="85"/> 572 591 </Position15> 573 592 <Position16> 574 593 <Filename Value="UMainForm.pas"/> 575 <Caret Line=" 41" Column="47" TopLine="24"/>594 <Caret Line="221" Column="64" TopLine="195"/> 576 595 </Position16> 577 596 <Position17> 578 597 <Filename Value="UMainForm.pas"/> 579 <Caret Line=" 506" Column="53" TopLine="483"/>598 <Caret Line="220" Column="49" TopLine="203"/> 580 599 </Position17> 581 600 <Position18> 582 601 <Filename Value="UMainForm.pas"/> 583 <Caret Line=" 63" Column="43" TopLine="46"/>602 <Caret Line="88" Column="16" TopLine="71"/> 584 603 </Position18> 585 604 <Position19> 586 605 <Filename Value="UMainForm.pas"/> 587 <Caret Line=" 61" Column="17" TopLine="46"/>606 <Caret Line="87" Column="1" TopLine="71"/> 588 607 </Position19> 589 608 <Position20> 590 609 <Filename Value="UMainForm.pas"/> 591 <Caret Line=" 64" Column="17" TopLine="47"/>610 <Caret Line="217" Column="57" TopLine="200"/> 592 611 </Position20> 593 612 <Position21> 594 613 <Filename Value="UMainForm.pas"/> 595 <Caret Line=" 50" Column="49" TopLine="31"/>614 <Caret Line="218" Column="55" TopLine="201"/> 596 615 </Position21> 597 616 <Position22> 598 617 <Filename Value="UMainForm.pas"/> 599 <Caret Line=" 61" Column="17" TopLine="47"/>618 <Caret Line="221" Column="69" TopLine="191"/> 600 619 </Position22> 601 620 <Position23> 602 621 <Filename Value="UMainForm.pas"/> 603 <Caret Line=" 64" Column="11" TopLine="47"/>622 <Caret Line="359" Column="19" TopLine="350"/> 604 623 </Position23> 605 624 <Position24> 606 <Filename Value=" UMainForm.pas"/>607 <Caret Line="6 3" Column="34" TopLine="41"/>625 <Filename Value="/usr/share/fpcsrc/rtl/objpas/classes/lists.inc"/> 626 <Caret Line="679" Column="23" TopLine="677"/> 608 627 </Position24> 609 628 <Position25> 610 <Filename Value=" UMainForm.pas"/>611 <Caret Line=" 432" Column="14" TopLine="415"/>629 <Filename Value="../Generic/GenericList.inc"/> 630 <Caret Line="193" Column="31" TopLine="180"/> 612 631 </Position25> 613 632 <Position26> 614 <Filename Value=" UMainForm.pas"/>615 <Caret Line=" 41" Column="34" TopLine="24"/>633 <Filename Value="../Specialized/SpecializedList.pas"/> 634 <Caret Line="104" Column="1" TopLine="1"/> 616 635 </Position26> 617 636 <Position27> 618 <Filename Value=" UMainForm.pas"/>619 <Caret Line=" 506" Column="40" TopLine="483"/>637 <Filename Value="../Specialized/SpecializedList.pas"/> 638 <Caret Line="296" Column="1" TopLine="269"/> 620 639 </Position27> 621 640 <Position28> 622 <Filename Value=" UMainForm.pas"/>623 <Caret Line=" 41" Column="46" TopLine="24"/>641 <Filename Value="../Generic/GenericList.inc"/> 642 <Caret Line="184" Column="20" TopLine="170"/> 624 643 </Position28> 625 644 <Position29> 626 <Filename Value=" UMainForm.pas"/>627 <Caret Line=" 506" Column="47" TopLine="483"/>645 <Filename Value="../Specialized/SpecializedList.pas"/> 646 <Caret Line="296" Column="1" TopLine="269"/> 628 647 </Position29> 629 648 <Position30> 630 <Filename Value=" UMainForm.pas"/>631 <Caret Line="1 42" Column="38" TopLine="114"/>649 <Filename Value="../Generic/GenericList.inc"/> 650 <Caret Line="184" Column="19" TopLine="170"/> 632 651 </Position30> 633 652 </JumpHistory> -
Generics/TemplateGenerics/Demo/UMainForm.lfm
r108 r109 96 96 object ListViewOutput: TListView 97 97 Left = 144 98 Height = 50799 Top = 898 Height = 491 99 Top = 24 100 100 Width = 542 101 101 Anchors = [akTop, akLeft, akRight, akBottom] … … 113 113 ViewStyle = vsReport 114 114 end 115 object LabelTestName: TLabel 116 Left = 144 117 Height = 14 118 Top = 8 119 Width = 10 120 Caption = ' ' 121 ParentColor = False 122 end 115 123 end -
Generics/TemplateGenerics/Demo/UMainForm.pas
r108 r109 24 24 ButtonIntegerList: TButton; 25 25 ButtonStringList: TButton; 26 LabelTestName: TLabel; 26 27 ListViewOutput: TListView; 27 28 procedure ButtonBenchmarkDictionaryClick(Sender: TObject); … … 61 62 begin 62 63 ListViewOutput.Clear; 63 WriteOutput('TListInteger test');64 LabelTestName.Caption := 'TListInteger test'; 64 65 List := TListInteger.Create; 65 66 with List do try … … 90 91 begin 91 92 ListViewOutput.Clear; 92 WriteOutput('TListInteger test');93 LabelTestName.Caption := 'TMatrixInteger test'; 93 94 Matrix := TMatrixInteger.Create; 94 95 with Matrix do try 95 WriteOutput('AddMatrix([10, 20, 30, 40])'); 96 //AddMatrix([10, 20, 30, 40]); 97 WriteOutput('Implode: ' + Implode(',', IntToStr)); 96 Count := CreateIndex(2, 2); 97 WriteOutput('Count := CreateIndex(2, 2)', '[' + Implode('; ', ', ', IntToStr) + ']'); 98 Fill(CreateIndex(0, 0), Count, 1); 99 WriteOutput('Fill(1)', '[' + Implode('; ', ', ', IntToStr) + ']'); 100 Count := CreateIndex(3, 3); 101 WriteOutput('Count := CreateIndex(3, 3)', '[' + Implode('; ', ', ', IntToStr) + ']'); 102 WriteOutput('Count [Y, X]', IntToStr(Count.Y) + ', ' + IntToStr(Count.X)); 98 103 Clear; 99 for I := 0 to 10 do Add(I); 100 WriteOutput('Implode: ' + Implode(',', IntToStr)); 101 WriteOutput('Count: Y: ' + IntToStr(Count.Y) + ', ' + IntToStr(Count.X)); 102 WriteOutput('Implode: ' + Implode(',', IntToStr)); 103 WriteOutput('Reverse'); 104 Reverse; 105 WriteOutput('Implode: ' + Implode(',', IntToStr)); 106 WriteOutput('First: ' + IntToStr(First)); 107 WriteOutput('Last: ' + IntToStr(Last)); 108 //MoveItems(3, 2, 3); 109 WriteOutput('Implode: ' + Implode(',', IntToStr)); 110 WriteOutput('Insert(5, 11)'); 111 //Insert(5, 11); 112 WriteOutput('Implode: ' + Implode(',', IntToStr)); 104 WriteOutput('Clear', '[' + Implode('; ', ', ', IntToStr) + ']'); 105 WriteOutput('Count [Y, X]', IntToStr(Count.Y) + ', ' + IntToStr(Count.X)); 113 106 finally 114 107 Free; … … 127 120 begin 128 121 ListViewOutput.Clear; 129 WriteOutput('TListObject test');122 LabelTestName.Caption := 'TListObject test'; 130 123 List := TListObject.Create; 131 124 with List do try … … 152 145 begin 153 146 ListViewOutput.Clear; 154 WriteOutput('TQueueInteger test');147 LabelTestName.Caption := 'TQueueInteger test'; 155 148 Queue := TQueueInteger.Create; 156 149 with Queue do try … … 178 171 begin 179 172 ListViewOutput.Clear; 180 WriteOutput('TDictionaryString test');173 LabelTestName.Caption := 'TDictionaryString test'; 181 174 Dictionary := TDictionaryStringString.Create; 182 175 with Dictionary do try … … 204 197 var 205 198 List: TListChar; 206 begin 207 ListViewOutput.Clear; 208 WriteOutput('TListChar test'); 199 List2: TListChar; 200 begin 201 ListViewOutput.Clear; 202 LabelTestName.Caption := 'TListChar test'; 209 203 List := TListChar.Create; 204 List2 := TListChar.Create; 210 205 with List do try 211 206 AddArray([' ', ' ', 'A', 'b', 'c', 'd', ' ']); … … 222 217 LowerCase; 223 218 WriteOutput('LowerCase', '''' + Implode('', CharToStr) + ''''); 224 finally 219 WriteOutput('IndexOf(''c'')', IntToStr(IndexOf('c'))); 220 List2.AddArray(['c', 'b']); 221 WriteOutput('IndexOfList(''cb'')', IntToStr(IndexOfList(List2))); 222 finally 223 List2.Free; 225 224 Free; 226 225 end; … … 234 233 I: Integer; 235 234 begin 235 LabelTestName.Caption := 'Generic specialized TListObject vs. classic non-generic TList benchmark'; 236 236 ListViewOutput.Clear; 237 237 try … … 377 377 R: string; 378 378 begin 379 LabelTestName.Caption := 'Generic specialized TDictionaryStringString vs. classic non-generic TStringList benchmark'; 379 380 ListViewOutput.Clear; 380 381 try -
Generics/TemplateGenerics/Generic/GenericList.inc
r107 r109 181 181 begin 182 182 Result := Start; 183 // Use slower CompareMem instead of (FItems[Result] <> Item) to support records 183 184 while (Result < FCount) and 184 185 not CompareMem(Addr(FItems[Result]), Addr(Item), SizeOf(TGListItem)) do -
Generics/TemplateGenerics/Generic/GenericMatrix.inc
r107 r109 6 6 TGMatrixToStringConverter = function(Item: TGMatrixItem): string; 7 7 TGMatrixFromStringConverter = function(Text: string): TGMatrixItem; 8 TGMatrixRow = array of TGMatrixItem; 8 9 9 10 TGMatrixIndex = record … … 28 29 public 29 30 function Add(Item: TGMatrixItem): TGMatrixIndex; 30 procedure Add Array(Values: array of TGMatrixItem);31 procedure AddMatrix(Values: array of TGMatrixRow); 31 32 procedure AddList(List: TGMatrix); 32 33 procedure Assign(Source: TGMatrix); … … 42 43 property First: TGMatrixItem read GetFirst write SetFirst; 43 44 procedure Fill(Start, Count: TGMatrixIndex; Value: TGMatrixItem); 44 function Implode( Separator: string; Converter: TGMatrixToStringConverter): string;45 function Implode(RowSeparator, ColSeparator: string; Converter: TGMatrixToStringConverter): string; 45 46 procedure Explode(Text, Separator: string; Converter: TGMatrixFromStringConverter; SlicesCount: Integer = -1); 46 47 function IndexOf(Item: TGMatrixItem; Start: TGMatrixIndex = 0): TGMatrixIndex; … … 363 364 end; 364 365 365 procedure TGMatrix.Add Array(Values: array of TGMatrixItem);366 procedure TGMatrix.AddMatrix(Values: array of TGMatrixRow); 366 367 var 367 368 I: TGMatrixIndex; … … 397 398 end; 398 399 399 function TGMatrix.Implode(Separator: string; Converter: TGMatrixToStringConverter): string; 400 var 401 I: TGMatrixIndex; 402 begin 403 (* Result := ''; 404 I := 0; 405 while I < Count do begin 406 Result := Result + Converter(Items[I]); 407 if I < (Count - 1) then 408 Result := Result + Separator; 409 I := I + 1; 410 end; *) 400 function TGMatrix.Implode(RowSeparator, ColSeparator: string; Converter: TGMatrixToStringConverter): string; 401 var 402 Y: TGMatrixIndexY; 403 X: TGMatrixIndexX; 404 begin 405 Result := ''; 406 Y := 0; 407 while Y < Count.Y do begin 408 X := 0; 409 while X < Count.X do begin 410 Result := Result + Converter(Items[Y, X]); 411 if X < (Count.X - 1) then 412 Result := Result + ColSeparator; 413 X := X + 1; 414 end; 415 if Y < (Count.Y - 1) then 416 Result := Result + RowSeparator; 417 Y := Y + 1; 418 end; 411 419 end; 412 420 -
Generics/TemplateGenerics/ReadMe.txt
r82 r109 5 5 http://wiki.freepascal.org/Templates 6 6 7 Version: 0. 18 Release date: 201 0-10-287 Version: 0.3 8 Release date: 2011-01-01 9 9 Author: Chronos 10 10 Email: robie@centrum.cz 11 -
Generics/TemplateGenerics/Specialized/SpecializedMatrix.pas
r107 r109 16 16 {$DEFINE TGMatrixItem := Integer} 17 17 {$DEFINE TGMatrixIndex := TMatrixIntegerIndex} 18 {$DEFINE TGMatrixRow := TMatrixIntegerRow} 18 19 {$DEFINE TGMatrix := TMatrixInteger} 19 20 {$DEFINE TGMatrixSortCompare := TMatrixIntegerSortCompare} … … 28 29 {$DEFINE TGMatrixItem := TObject} 29 30 {$DEFINE TGMatrixIndex := TMatrixObjectIndex} 31 {$DEFINE TGMatrixRow := TMatrixObjectRow} 30 32 {$DEFINE TGMatrix := TMatrixObject} 31 33 {$DEFINE TGMatrixSortCompare := TMatrixObjectSortCompare} … … 45 47 {$DEFINE TGMatrixItem := Integer} 46 48 {$DEFINE TGMatrixIndex := TMatrixIntegerIndex} 49 {$DEFINE TGMatrixRow := TMatrixIntegerRow} 47 50 {$DEFINE TGMatrix := TMatrixInteger} 48 51 {$DEFINE TGMatrixSortCompare := TMatrixIntegerSortCompare} … … 57 60 {$DEFINE TGMatrixItem := TObject} 58 61 {$DEFINE TGMatrixIndex := TMatrixObjectIndex} 62 {$DEFINE TGMatrixRow := TMatrixObjectRow} 59 63 {$DEFINE TGMatrix := TMatrixObject} 60 64 {$DEFINE TGMatrixSortCompare := TMatrixObjectSortCompare}
Note:
See TracChangeset
for help on using the changeset viewer.