- Timestamp:
- Oct 29, 2010, 1:26:32 PM (14 years ago)
- Location:
- Generics/TemplateGenerics
- Files:
-
- 4 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Demo/Demo.lpi
r76 r77 38 38 </Item2> 39 39 </RequiredPackages> 40 <Units Count=" 53">40 <Units Count="66"> 41 41 <Unit0> 42 42 <Filename Value="Demo.lpr"/> 43 43 <IsPartOfProject Value="True"/> 44 44 <UnitName Value="Demo"/> 45 <EditorIndex Value=" 4"/>45 <EditorIndex Value="8"/> 46 46 <WindowIndex Value="0"/> 47 47 <TopLine Value="1"/> 48 48 <CursorPos X="34" Y="7"/> 49 <UsageCount Value=" 39"/>49 <UsageCount Value="50"/> 50 50 <Loaded Value="True"/> 51 51 <DefaultSyntaxHighlighter Value="Delphi"/> … … 59 59 <EditorIndex Value="0"/> 60 60 <WindowIndex Value="0"/> 61 <TopLine Value="2 57"/>62 <CursorPos X="38" Y="1 0"/>63 <UsageCount Value=" 39"/>61 <TopLine Value="268"/> 62 <CursorPos X="38" Y="171"/> 63 <UsageCount Value="50"/> 64 64 <Loaded Value="True"/> 65 65 <LoadedDesigner Value="True"/> … … 72 72 <TopLine Value="1"/> 73 73 <CursorPos X="24" Y="16"/> 74 <UsageCount Value="1 1"/>74 <UsageCount Value="10"/> 75 75 </Unit2> 76 76 <Unit3> … … 80 80 <TopLine Value="1"/> 81 81 <CursorPos X="16" Y="26"/> 82 <UsageCount Value="1 1"/>82 <UsageCount Value="10"/> 83 83 </Unit3> 84 84 <Unit4> … … 88 88 <TopLine Value="1"/> 89 89 <CursorPos X="16" Y="21"/> 90 <UsageCount Value="1 1"/>90 <UsageCount Value="10"/> 91 91 </Unit4> 92 92 <Unit5> … … 96 96 <TopLine Value="1"/> 97 97 <CursorPos X="16" Y="24"/> 98 <UsageCount Value="1 1"/>98 <UsageCount Value="10"/> 99 99 </Unit5> 100 100 <Unit6> … … 103 103 <TopLine Value="1"/> 104 104 <CursorPos X="23" Y="2"/> 105 <UsageCount Value="1 1"/>105 <UsageCount Value="10"/> 106 106 <DefaultSyntaxHighlighter Value="None"/> 107 107 </Unit6> … … 112 112 <TopLine Value="1"/> 113 113 <CursorPos X="16" Y="24"/> 114 <UsageCount Value="1 1"/>114 <UsageCount Value="10"/> 115 115 </Unit7> 116 116 <Unit8> … … 120 120 <TopLine Value="1"/> 121 121 <CursorPos X="16" Y="24"/> 122 <UsageCount Value="1 1"/>122 <UsageCount Value="10"/> 123 123 </Unit8> 124 124 <Unit9> … … 128 128 <TopLine Value="1"/> 129 129 <CursorPos X="16" Y="24"/> 130 <UsageCount Value="1 1"/>130 <UsageCount Value="10"/> 131 131 </Unit9> 132 132 <Unit10> … … 136 136 <TopLine Value="1"/> 137 137 <CursorPos X="16" Y="17"/> 138 <UsageCount Value="1 1"/>138 <UsageCount Value="10"/> 139 139 </Unit10> 140 140 <Unit11> … … 144 144 <TopLine Value="1"/> 145 145 <CursorPos X="24" Y="21"/> 146 <UsageCount Value="1 1"/>146 <UsageCount Value="10"/> 147 147 </Unit11> 148 148 <Unit12> … … 151 151 <TopLine Value="161"/> 152 152 <CursorPos X="15" Y="187"/> 153 <UsageCount Value="1 1"/>153 <UsageCount Value="10"/> 154 154 <DefaultSyntaxHighlighter Value="None"/> 155 155 </Unit12> … … 159 159 <TopLine Value="1"/> 160 160 <CursorPos X="3" Y="7"/> 161 <UsageCount Value="1 1"/>161 <UsageCount Value="10"/> 162 162 <DefaultSyntaxHighlighter Value="None"/> 163 163 </Unit13> … … 167 167 <TopLine Value="1"/> 168 168 <CursorPos X="53" Y="4"/> 169 <UsageCount Value="1 1"/>169 <UsageCount Value="10"/> 170 170 <DefaultSyntaxHighlighter Value="None"/> 171 171 </Unit14> … … 176 176 <TopLine Value="21"/> 177 177 <CursorPos X="14" Y="36"/> 178 <UsageCount Value=" 10"/>178 <UsageCount Value="9"/> 179 179 <DefaultSyntaxHighlighter Value="Delphi"/> 180 180 </Unit15> … … 184 184 <TopLine Value="254"/> 185 185 <CursorPos X="27" Y="265"/> 186 <UsageCount Value=" 10"/>186 <UsageCount Value="9"/> 187 187 <DefaultSyntaxHighlighter Value="Delphi"/> 188 188 </Unit16> … … 192 192 <TopLine Value="526"/> 193 193 <CursorPos X="1" Y="528"/> 194 <UsageCount Value=" 10"/>194 <UsageCount Value="9"/> 195 195 <DefaultSyntaxHighlighter Value="Delphi"/> 196 196 </Unit17> … … 201 201 <TopLine Value="2015"/> 202 202 <CursorPos X="20" Y="2048"/> 203 <UsageCount Value=" 10"/>203 <UsageCount Value="9"/> 204 204 </Unit18> 205 205 <Unit19> 206 206 <Filename Value="../Specialized/ListDouble.pas"/> 207 207 <UnitName Value="ListDouble"/> 208 <EditorIndex Value=" 8"/>208 <EditorIndex Value="13"/> 209 209 <WindowIndex Value="0"/> 210 210 <TopLine Value="1"/> 211 211 <CursorPos X="12" Y="21"/> 212 <UsageCount Value=" 18"/>212 <UsageCount Value="23"/> 213 213 <Loaded Value="True"/> 214 214 </Unit19> … … 216 216 <Filename Value="../Specialized/ListInteger.pas"/> 217 217 <UnitName Value="ListInteger"/> 218 <EditorIndex Value=" 9"/>219 <WindowIndex Value="0"/> 220 <TopLine Value="1"/> 221 <CursorPos X="2 3" Y="21"/>222 <UsageCount Value=" 18"/>218 <EditorIndex Value="14"/> 219 <WindowIndex Value="0"/> 220 <TopLine Value="1"/> 221 <CursorPos X="25" Y="17"/> 222 <UsageCount Value="23"/> 223 223 <Loaded Value="True"/> 224 224 </Unit20> … … 226 226 <Filename Value="../Specialized/ListObject.pas"/> 227 227 <UnitName Value="ListObject"/> 228 <EditorIndex Value="1 0"/>228 <EditorIndex Value="16"/> 229 229 <WindowIndex Value="0"/> 230 230 <TopLine Value="2"/> 231 231 <CursorPos X="1" Y="33"/> 232 <UsageCount Value=" 18"/>232 <UsageCount Value="23"/> 233 233 <Loaded Value="True"/> 234 234 </Unit21> … … 236 236 <Filename Value="../Specialized/ListPointer.pas"/> 237 237 <UnitName Value="ListPointer"/> 238 <EditorIndex Value="1 1"/>238 <EditorIndex Value="17"/> 239 239 <WindowIndex Value="0"/> 240 240 <TopLine Value="1"/> 241 241 <CursorPos X="23" Y="21"/> 242 <UsageCount Value=" 18"/>242 <UsageCount Value="23"/> 243 243 <Loaded Value="True"/> 244 244 </Unit22> … … 246 246 <Filename Value="../Specialized/TreeString.pas"/> 247 247 <UnitName Value="TreeString"/> 248 <EditorIndex Value="1 2"/>248 <EditorIndex Value="18"/> 249 249 <WindowIndex Value="0"/> 250 250 <TopLine Value="1"/> 251 251 <CursorPos X="23" Y="24"/> 252 <UsageCount Value=" 18"/>252 <UsageCount Value="23"/> 253 253 <Loaded Value="True"/> 254 254 </Unit23> … … 256 256 <Filename Value="../Specialized/TreePointer.pas"/> 257 257 <UnitName Value="TreePointer"/> 258 <EditorIndex Value="1 3"/>258 <EditorIndex Value="19"/> 259 259 <WindowIndex Value="0"/> 260 260 <TopLine Value="1"/> 261 261 <CursorPos X="23" Y="13"/> 262 <UsageCount Value=" 18"/>262 <UsageCount Value="23"/> 263 263 <Loaded Value="True"/> 264 264 </Unit24> … … 266 266 <Filename Value="../Specialized/TreeObject.pas"/> 267 267 <UnitName Value="TreeObject"/> 268 <EditorIndex Value=" 14"/>268 <EditorIndex Value="20"/> 269 269 <WindowIndex Value="0"/> 270 270 <TopLine Value="1"/> 271 271 <CursorPos X="23" Y="24"/> 272 <UsageCount Value=" 18"/>272 <UsageCount Value="23"/> 273 273 <Loaded Value="True"/> 274 274 </Unit25> … … 276 276 <Filename Value="../Specialized/TreeInteger.pas"/> 277 277 <UnitName Value="TreeInteger"/> 278 <EditorIndex Value=" 15"/>278 <EditorIndex Value="21"/> 279 279 <WindowIndex Value="0"/> 280 280 <TopLine Value="1"/> 281 281 <CursorPos X="1" Y="27"/> 282 <UsageCount Value=" 18"/>282 <UsageCount Value="23"/> 283 283 <Loaded Value="True"/> 284 284 </Unit26> … … 286 286 <Filename Value="../Specialized/ListString.pas"/> 287 287 <UnitName Value="ListString"/> 288 <EditorIndex Value=" 24"/>288 <EditorIndex Value="30"/> 289 289 <WindowIndex Value="0"/> 290 290 <TopLine Value="1"/> 291 291 <CursorPos X="29" Y="17"/> 292 <UsageCount Value=" 18"/>292 <UsageCount Value="23"/> 293 293 <Loaded Value="True"/> 294 294 </Unit27> 295 295 <Unit28> 296 296 <Filename Value="../Generic/TreeImplementation.tpl"/> 297 <EditorIndex Value=" 16"/>297 <EditorIndex Value="22"/> 298 298 <WindowIndex Value="0"/> 299 299 <TopLine Value="1"/> 300 300 <CursorPos X="1" Y="2"/> 301 <UsageCount Value=" 18"/>301 <UsageCount Value="23"/> 302 302 <Loaded Value="True"/> 303 303 <DefaultSyntaxHighlighter Value="None"/> … … 305 305 <Unit29> 306 306 <Filename Value="../Generic/TreeInterface.tpl"/> 307 <EditorIndex Value="2 3"/>308 <WindowIndex Value="0"/> 309 <TopLine Value="1"/> 310 <CursorPos X=" 40" Y="11"/>311 <UsageCount Value=" 18"/>307 <EditorIndex Value="29"/> 308 <WindowIndex Value="0"/> 309 <TopLine Value="1"/> 310 <CursorPos X="20" Y="12"/> 311 <UsageCount Value="23"/> 312 312 <Loaded Value="True"/> 313 313 <DefaultSyntaxHighlighter Value="None"/> … … 315 315 <Unit30> 316 316 <Filename Value="../Generic/ListInterface.tpl"/> 317 <EditorIndex Value=" 25"/>318 <WindowIndex Value="0"/> 319 <TopLine Value=" 22"/>320 <CursorPos X=" 14" Y="35"/>321 <UsageCount Value=" 18"/>317 <EditorIndex Value="31"/> 318 <WindowIndex Value="0"/> 319 <TopLine Value="1"/> 320 <CursorPos X="38" Y="19"/> 321 <UsageCount Value="23"/> 322 322 <Loaded Value="True"/> 323 323 <DefaultSyntaxHighlighter Value="None"/> … … 325 325 <Unit31> 326 326 <Filename Value="../Generic/ListImplementation.tpl"/> 327 <EditorIndex Value="27"/> 328 <WindowIndex Value="0"/> 329 <TopLine Value="111"/> 330 <CursorPos X="3" Y="113"/> 331 <UsageCount Value="18"/> 327 <IsVisibleTab Value="True"/> 328 <EditorIndex Value="33"/> 329 <WindowIndex Value="0"/> 330 <TopLine Value="128"/> 331 <CursorPos X="69" Y="151"/> 332 <UsageCount Value="23"/> 332 333 <Loaded Value="True"/> 333 334 <DefaultSyntaxHighlighter Value="None"/> … … 335 336 <Unit32> 336 337 <Filename Value="../Generic/DictionaryImplementation.tpl"/> 337 <EditorIndex Value=" 17"/>338 <EditorIndex Value="23"/> 338 339 <WindowIndex Value="0"/> 339 340 <TopLine Value="23"/> 340 341 <CursorPos X="1" Y="2"/> 341 <UsageCount Value=" 18"/>342 <UsageCount Value="23"/> 342 343 <Loaded Value="True"/> 343 344 <DefaultSyntaxHighlighter Value="None"/> … … 345 346 <Unit33> 346 347 <Filename Value="../Generic/DictionaryInterface.tpl"/> 347 <EditorIndex Value="2 1"/>348 <EditorIndex Value="27"/> 348 349 <WindowIndex Value="0"/> 349 350 <TopLine Value="1"/> 350 351 <CursorPos X="1" Y="9"/> 351 <UsageCount Value=" 18"/>352 <UsageCount Value="23"/> 352 353 <Loaded Value="True"/> 353 354 <DefaultSyntaxHighlighter Value="None"/> … … 356 357 <Filename Value="../Specialized/DictionaryString.pas"/> 357 358 <UnitName Value="DictionaryString"/> 358 <EditorIndex Value="2 2"/>359 <EditorIndex Value="28"/> 359 360 <WindowIndex Value="0"/> 360 361 <TopLine Value="1"/> 361 362 <CursorPos X="32" Y="18"/> 362 <UsageCount Value=" 18"/>363 <UsageCount Value="23"/> 363 364 <Loaded Value="True"/> 364 365 </Unit34> 365 366 <Unit35> 366 367 <Filename Value="../Generic/StackInterface.tpl"/> 367 <EditorIndex Value=" 18"/>368 <EditorIndex Value="24"/> 368 369 <WindowIndex Value="0"/> 369 370 <TopLine Value="1"/> 370 371 <CursorPos X="42" Y="15"/> 371 <UsageCount Value=" 16"/>372 <UsageCount Value="21"/> 372 373 <Loaded Value="True"/> 373 374 <DefaultSyntaxHighlighter Value="None"/> … … 376 377 <Filename Value="../Specialized/StackString.pas"/> 377 378 <UnitName Value="StackString"/> 378 <EditorIndex Value=" 19"/>379 <EditorIndex Value="25"/> 379 380 <WindowIndex Value="0"/> 380 381 <TopLine Value="1"/> 381 382 <CursorPos X="1" Y="22"/> 382 <UsageCount Value=" 16"/>383 <UsageCount Value="21"/> 383 384 <Loaded Value="True"/> 384 385 </Unit36> 385 386 <Unit37> 386 387 <Filename Value="../Generic/StackImplementation.tpl"/> 387 <EditorIndex Value="2 0"/>388 <EditorIndex Value="26"/> 388 389 <WindowIndex Value="0"/> 389 390 <TopLine Value="1"/> 390 391 <CursorPos X="32" Y="12"/> 391 <UsageCount Value=" 16"/>392 <UsageCount Value="21"/> 392 393 <Loaded Value="True"/> 393 394 <DefaultSyntaxHighlighter Value="None"/> … … 395 396 <Unit38> 396 397 <Filename Value="../Generic/QueueImplementation.tpl"/> 397 <EditorIndex Value=" 28"/>398 <EditorIndex Value="37"/> 398 399 <WindowIndex Value="0"/> 399 400 <TopLine Value="1"/> 400 401 <CursorPos X="33" Y="28"/> 401 <UsageCount Value=" 16"/>402 <UsageCount Value="21"/> 402 403 <Loaded Value="True"/> 403 404 <DefaultSyntaxHighlighter Value="None"/> … … 405 406 <Unit39> 406 407 <Filename Value="../Generic/QueueInterface.tpl"/> 407 <EditorIndex Value=" 29"/>408 <EditorIndex Value="38"/> 408 409 <WindowIndex Value="0"/> 409 410 <TopLine Value="1"/> 410 411 <CursorPos X="18" Y="14"/> 411 <UsageCount Value=" 16"/>412 <UsageCount Value="21"/> 412 413 <Loaded Value="True"/> 413 414 <DefaultSyntaxHighlighter Value="None"/> … … 418 419 <TopLine Value="60"/> 419 420 <CursorPos X="10" Y="77"/> 420 <UsageCount Value="1 4"/>421 <UsageCount Value="13"/> 421 422 <DefaultSyntaxHighlighter Value="Delphi"/> 422 423 </Unit40> … … 426 427 <TopLine Value="89"/> 427 428 <CursorPos X="62" Y="98"/> 428 <UsageCount Value="1 1"/>429 <UsageCount Value="10"/> 429 430 <DefaultSyntaxHighlighter Value="Delphi"/> 430 431 </Unit41> … … 432 433 <Filename Value="../Specialized/ListChar.pas"/> 433 434 <UnitName Value="ListChar"/> 434 <EditorIndex Value=" 26"/>435 <EditorIndex Value="32"/> 435 436 <WindowIndex Value="0"/> 436 437 <TopLine Value="49"/> 437 438 <CursorPos X="24" Y="60"/> 438 <UsageCount Value=" 15"/>439 <UsageCount Value="20"/> 439 440 <Loaded Value="True"/> 440 441 </Unit42> … … 445 446 <TopLine Value="1"/> 446 447 <CursorPos X="15" Y="8"/> 447 <UsageCount Value="1 1"/>448 <UsageCount Value="10"/> 448 449 <DefaultSyntaxHighlighter Value="Delphi"/> 449 450 </Unit43> … … 453 454 <TopLine Value="747"/> 454 455 <CursorPos X="11" Y="764"/> 455 <UsageCount Value="1 1"/>456 <UsageCount Value="10"/> 456 457 <DefaultSyntaxHighlighter Value="Delphi"/> 457 458 </Unit44> … … 461 462 <TopLine Value="3"/> 462 463 <CursorPos X="10" Y="21"/> 463 <UsageCount Value=" 10"/>464 <UsageCount Value="9"/> 464 465 <DefaultSyntaxHighlighter Value="Delphi"/> 465 466 </Unit45> … … 469 470 <TopLine Value="21"/> 470 471 <CursorPos X="5" Y="25"/> 471 <UsageCount Value=" 10"/>472 <UsageCount Value="9"/> 472 473 <DefaultSyntaxHighlighter Value="Delphi"/> 473 474 </Unit46> … … 475 476 <Filename Value="StopWatch.pas"/> 476 477 <UnitName Value="StopWatch"/> 477 <EditorIndex Value="7"/>478 478 <WindowIndex Value="0"/> 479 479 <TopLine Value="12"/> 480 480 <CursorPos X="67" Y="25"/> 481 <UsageCount Value="11"/> 482 <Loaded Value="True"/> 481 <UsageCount Value="10"/> 483 482 <DefaultSyntaxHighlighter Value="Delphi"/> 484 483 </Unit47> 485 484 <Unit48> 486 485 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/classes/classesh.inc"/> 487 <EditorIndex Value=" 5"/>488 <WindowIndex Value="0"/> 489 <TopLine Value=" 203"/>490 <CursorPos X=" 15" Y="216"/>491 <UsageCount Value="1 1"/>486 <EditorIndex Value="10"/> 487 <WindowIndex Value="0"/> 488 <TopLine Value="871"/> 489 <CursorPos X="35" Y="884"/> 490 <UsageCount Value="16"/> 492 491 <Loaded Value="True"/> 493 492 </Unit48> 494 493 <Unit49> 495 494 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/classes/lists.inc"/> 496 <EditorIndex Value=" 6"/>495 <EditorIndex Value="12"/> 497 496 <WindowIndex Value="0"/> 498 497 <TopLine Value="694"/> 499 498 <CursorPos X="12" Y="696"/> 500 <UsageCount Value="1 1"/>499 <UsageCount Value="16"/> 501 500 <Loaded Value="True"/> 502 501 </Unit49> … … 506 505 <WindowIndex Value="0"/> 507 506 <TopLine Value="1"/> 508 <CursorPos X=" 4" Y="12"/>509 <UsageCount Value="1 0"/>507 <CursorPos X="1" Y="14"/> 508 <UsageCount Value="15"/> 510 509 <Loaded Value="True"/> 511 510 <DefaultSyntaxHighlighter Value="None"/> … … 514 513 <Filename Value="../Specialized/SetChar.pas"/> 515 514 <UnitName Value="SetChar"/> 516 <IsVisibleTab Value="True"/>517 515 <EditorIndex Value="3"/> 518 516 <WindowIndex Value="0"/> 519 <TopLine Value="1 7"/>520 <CursorPos X="1 4" Y="39"/>521 <UsageCount Value="1 0"/>517 <TopLine Value="1"/> 518 <CursorPos X="1" Y="25"/> 519 <UsageCount Value="15"/> 522 520 <Loaded Value="True"/> 523 521 </Unit51> … … 527 525 <WindowIndex Value="0"/> 528 526 <TopLine Value="1"/> 529 <CursorPos X=" 1" Y="1"/>530 <UsageCount Value="1 0"/>527 <CursorPos X="27" Y="15"/> 528 <UsageCount Value="15"/> 531 529 <Loaded Value="True"/> 532 530 <DefaultSyntaxHighlighter Value="None"/> 533 531 </Unit52> 532 <Unit53> 533 <Filename Value="../Generic/RangeInterface.tpl"/> 534 <EditorIndex Value="5"/> 535 <WindowIndex Value="0"/> 536 <TopLine Value="1"/> 537 <CursorPos X="23" Y="10"/> 538 <UsageCount Value="15"/> 539 <Loaded Value="True"/> 540 <DefaultSyntaxHighlighter Value="None"/> 541 </Unit53> 542 <Unit54> 543 <Filename Value="../Specialized/RangeDateTime.pas"/> 544 <UnitName Value="RangeDateTime"/> 545 <EditorIndex Value="6"/> 546 <WindowIndex Value="0"/> 547 <TopLine Value="1"/> 548 <CursorPos X="14" Y="15"/> 549 <UsageCount Value="15"/> 550 <Loaded Value="True"/> 551 </Unit54> 552 <Unit55> 553 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/inc/systemh.inc"/> 554 <EditorIndex Value="9"/> 555 <WindowIndex Value="0"/> 556 <TopLine Value="520"/> 557 <CursorPos X="11" Y="533"/> 558 <UsageCount Value="15"/> 559 <Loaded Value="True"/> 560 </Unit55> 561 <Unit56> 562 <Filename Value="../Generic/RangeImplementation.tpl"/> 563 <EditorIndex Value="7"/> 564 <WindowIndex Value="0"/> 565 <TopLine Value="1"/> 566 <CursorPos X="14" Y="18"/> 567 <UsageCount Value="15"/> 568 <Loaded Value="True"/> 569 <DefaultSyntaxHighlighter Value="None"/> 570 </Unit56> 571 <Unit57> 572 <Filename Value="../Specialized/ListVariant.pas"/> 573 <UnitName Value="ListVariant"/> 574 <EditorIndex Value="4"/> 575 <WindowIndex Value="0"/> 576 <TopLine Value="2"/> 577 <CursorPos X="30" Y="8"/> 578 <UsageCount Value="15"/> 579 <Loaded Value="True"/> 580 </Unit57> 581 <Unit58> 582 <Filename Value="../ReadMe.txt"/> 583 <EditorIndex Value="36"/> 584 <WindowIndex Value="0"/> 585 <TopLine Value="1"/> 586 <CursorPos X="24" Y="7"/> 587 <UsageCount Value="14"/> 588 <Loaded Value="True"/> 589 <DefaultSyntaxHighlighter Value="None"/> 590 </Unit58> 591 <Unit59> 592 <Filename Value="../Specialized/ListByte.pas"/> 593 <UnitName Value="ListByte"/> 594 <EditorIndex Value="15"/> 595 <WindowIndex Value="0"/> 596 <TopLine Value="1"/> 597 <CursorPos X="19" Y="15"/> 598 <UsageCount Value="14"/> 599 <Loaded Value="True"/> 600 </Unit59> 601 <Unit60> 602 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/sysutils/sysstrh.inc"/> 603 <EditorIndex Value="34"/> 604 <WindowIndex Value="0"/> 605 <TopLine Value="70"/> 606 <CursorPos X="10" Y="84"/> 607 <UsageCount Value="10"/> 608 <Loaded Value="True"/> 609 </Unit60> 610 <Unit61> 611 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/sysutils/sysstr.inc"/> 612 <EditorIndex Value="35"/> 613 <WindowIndex Value="0"/> 614 <TopLine Value="162"/> 615 <CursorPos X="3" Y="168"/> 616 <UsageCount Value="10"/> 617 <Loaded Value="True"/> 618 </Unit61> 619 <Unit62> 620 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/classes/streams.inc"/> 621 <EditorIndex Value="11"/> 622 <WindowIndex Value="0"/> 623 <TopLine Value="518"/> 624 <CursorPos X="3" Y="521"/> 625 <UsageCount Value="10"/> 626 <Loaded Value="True"/> 627 </Unit62> 628 <Unit63> 629 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/inc/generic.inc"/> 630 <WindowIndex Value="0"/> 631 <TopLine Value="100"/> 632 <CursorPos X="25" Y="341"/> 633 <UsageCount Value="10"/> 634 </Unit63> 635 <Unit64> 636 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/i386/i386.inc"/> 637 <WindowIndex Value="0"/> 638 <TopLine Value="1536"/> 639 <CursorPos X="11" Y="1549"/> 640 <UsageCount Value="10"/> 641 </Unit64> 642 <Unit65> 643 <Filename Value="../../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/inc/sstrings.inc"/> 644 <WindowIndex Value="0"/> 645 <TopLine Value="291"/> 646 <CursorPos X="3" Y="295"/> 647 <UsageCount Value="10"/> 648 </Unit65> 534 649 </Units> 535 <JumpHistory Count=" 28" HistoryIndex="27">650 <JumpHistory Count="30" HistoryIndex="28"> 536 651 <Position1> 537 <Filename Value=" UMainForm.pas"/>538 <Caret Line=" 34" Column="1" TopLine="21"/>652 <Filename Value="../Generic/RangeInterface.tpl"/> 653 <Caret Line="7" Column="45" TopLine="1"/> 539 654 </Position1> 540 655 <Position2> 541 <Filename Value=" UMainForm.pas"/>542 <Caret Line=" 48" Column="1" TopLine="35"/>656 <Filename Value="../Generic/RangeInterface.tpl"/> 657 <Caret Line="10" Column="43" TopLine="1"/> 543 658 </Position2> 544 659 <Position3> 545 <Filename Value=" UMainForm.pas"/>546 <Caret Line=" 185" Column="18" TopLine="161"/>660 <Filename Value="../Generic/RangeImplementation.tpl"/> 661 <Caret Line="5" Column="21" TopLine="1"/> 547 662 </Position3> 548 663 <Position4> 549 <Filename Value=" UMainForm.pas"/>550 <Caret Line="1 99" Column="17" TopLine="175"/>664 <Filename Value="../Generic/ListImplementation.tpl"/> 665 <Caret Line="113" Column="3" TopLine="111"/> 551 666 </Position4> 552 667 <Position5> 553 <Filename Value="../ ../../../../Programy/Lazarus/fpc/2.4.3/source/rtl/objpas/classes/classesh.inc"/>554 <Caret Line="2 61" Column="16" TopLine="251"/>668 <Filename Value="../Generic/ListInterface.tpl"/> 669 <Caret Line="29" Column="30" TopLine="4"/> 555 670 </Position5> 556 671 <Position6> 557 <Filename Value="../Generic/ListI mplementation.tpl"/>558 <Caret Line=" 178" Column="9" TopLine="167"/>672 <Filename Value="../Generic/ListInterface.tpl"/> 673 <Caret Line="30" Column="23" TopLine="3"/> 559 674 </Position6> 560 675 <Position7> 561 <Filename Value=" UMainForm.pas"/>562 <Caret Line="2 16" Column="12" TopLine="196"/>676 <Filename Value="../Generic/ListImplementation.tpl"/> 677 <Caret Line="272" Column="11" TopLine="266"/> 563 678 </Position7> 564 679 <Position8> 565 <Filename Value=" UMainForm.pas"/>566 <Caret Line=" 191" Column="15" TopLine="187"/>680 <Filename Value="../Generic/ListImplementation.tpl"/> 681 <Caret Line="280" Column="13" TopLine="277"/> 567 682 </Position8> 568 683 <Position9> 569 <Filename Value=" UMainForm.pas"/>570 <Caret Line=" 223" Column="15" TopLine="208"/>684 <Filename Value="../Generic/ListImplementation.tpl"/> 685 <Caret Line="87" Column="10" TopLine="78"/> 571 686 </Position9> 572 687 <Position10> 573 <Filename Value=" UMainForm.pas"/>574 <Caret Line=" 191" Column="15" TopLine="184"/>688 <Filename Value="../Generic/ListInterface.tpl"/> 689 <Caret Line="22" Column="59" TopLine="8"/> 575 690 </Position10> 576 691 <Position11> 577 <Filename Value="../ Generic/ListImplementation.tpl"/>578 <Caret Line="1 66" Column="11" TopLine="156"/>692 <Filename Value="../Specialized/ListByte.pas"/> 693 <Caret Line="11" Column="23" TopLine="1"/> 579 694 </Position11> 580 695 <Position12> 581 <Filename Value="../ Generic/ListImplementation.tpl"/>582 <Caret Line="1 71" Column="12" TopLine="156"/>696 <Filename Value="../Specialized/ListByte.pas"/> 697 <Caret Line="13" Column="35" TopLine="1"/> 583 698 </Position12> 584 699 <Position13> 585 700 <Filename Value="../Generic/ListImplementation.tpl"/> 586 <Caret Line=" 160" Column="1" TopLine="155"/>701 <Caret Line="251" Column="9" TopLine="247"/> 587 702 </Position13> 588 703 <Position14> 589 704 <Filename Value="../Generic/ListImplementation.tpl"/> 590 <Caret Line=" 162" Column="1" TopLine="155"/>705 <Caret Line="259" Column="30" TopLine="259"/> 591 706 </Position14> 592 707 <Position15> 593 708 <Filename Value="../Generic/ListImplementation.tpl"/> 594 <Caret Line=" 164" Column="1" TopLine="155"/>709 <Caret Line="265" Column="21" TopLine="259"/> 595 710 </Position15> 596 711 <Position16> 597 <Filename Value="../Generic/ListI mplementation.tpl"/>598 <Caret Line=" 165" Column="1" TopLine="155"/>712 <Filename Value="../Generic/ListInterface.tpl"/> 713 <Caret Line="33" Column="34" TopLine="28"/> 599 714 </Position16> 600 715 <Position17> 601 716 <Filename Value="../Generic/ListImplementation.tpl"/> 602 <Caret Line=" 166" Column="1" TopLine="155"/>717 <Caret Line="4" Column="34" TopLine="1"/> 603 718 </Position17> 604 719 <Position18> 605 720 <Filename Value="../Generic/ListImplementation.tpl"/> 606 <Caret Line=" 167" Column="1" TopLine="155"/>721 <Caret Line="202" Column="28" TopLine="194"/> 607 722 </Position18> 608 723 <Position19> 609 <Filename Value=" UMainForm.pas"/>610 <Caret Line=" 193" Column="11" TopLine="163"/>724 <Filename Value="../Generic/ListImplementation.tpl"/> 725 <Caret Line="4" Column="73" TopLine="1"/> 611 726 </Position19> 612 727 <Position20> 613 728 <Filename Value="../Generic/ListImplementation.tpl"/> 614 <Caret Line="1 66" Column="12" TopLine="155"/>729 <Caret Line="1" Column="23" TopLine="1"/> 615 730 </Position20> 616 731 <Position21> 617 <Filename Value=" Demo.lpr"/>618 <Caret Line="1 " Column="1" TopLine="1"/>732 <Filename Value="../Generic/ListImplementation.tpl"/> 733 <Caret Line="115" Column="17" TopLine="101"/> 619 734 </Position21> 620 735 <Position22> 621 <Filename Value=" Demo.lpr"/>622 <Caret Line=" 18" Column="9" TopLine="1"/>736 <Filename Value="../Generic/ListImplementation.tpl"/> 737 <Caret Line="210" Column="20" TopLine="196"/> 623 738 </Position22> 624 739 <Position23> 625 <Filename Value="../Generic/ StackInterface.tpl"/>626 <Caret Line=" 14" Column="35" TopLine="1"/>740 <Filename Value="../Generic/ListImplementation.tpl"/> 741 <Caret Line="5" Column="59" TopLine="1"/> 627 742 </Position23> 628 743 <Position24> 629 <Filename Value="../ Generic/StackImplementation.tpl"/>630 <Caret Line=" 12" Column="19" TopLine="1"/>744 <Filename Value="../Specialized/ListByte.pas"/> 745 <Caret Line="20" Column="16" TopLine="1"/> 631 746 </Position24> 632 747 <Position25> 633 <Filename Value="../Generic/ QueueImplementation.tpl"/>634 <Caret Line=" 27" Column="1" TopLine="1"/>748 <Filename Value="../Generic/ListImplementation.tpl"/> 749 <Caret Line="11" Column="18" TopLine="1"/> 635 750 </Position25> 636 751 <Position26> 637 <Filename Value=" UMainForm.pas"/>638 <Caret Line=" 250" Column="3" TopLine="225"/>752 <Filename Value="../Generic/ListInterface.tpl"/> 753 <Caret Line="40" Column="37" TopLine="32"/> 639 754 </Position26> 640 755 <Position27> 641 <Filename Value="../ Specialized/SetChar.pas"/>642 <Caret Line=" 1" Column="1" TopLine="1"/>756 <Filename Value="../Generic/ListInterface.tpl"/> 757 <Caret Line="51" Column="61" TopLine="26"/> 643 758 </Position27> 644 759 <Position28> 645 <Filename Value="../ Specialized/SetChar.pas"/>646 <Caret Line=" 2" Column="1" TopLine="4"/>760 <Filename Value="../Generic/ListImplementation.tpl"/> 761 <Caret Line="151" Column="60" TopLine="139"/> 647 762 </Position28> 763 <Position29> 764 <Filename Value="../Generic/ListImplementation.tpl"/> 765 <Caret Line="142" Column="39" TopLine="128"/> 766 </Position29> 767 <Position30> 768 <Filename Value="../Generic/ListInterface.tpl"/> 769 <Caret Line="19" Column="38" TopLine="1"/> 770 </Position30> 648 771 </JumpHistory> 649 772 </ProjectOptions> -
Generics/TemplateGenerics/Generic/ListImplementation.tpl
r76 r77 109 109 end; 110 110 111 function TGList.IndexOf(Item: TListItem ): TListIndex;112 begin 113 Result := 0;111 function TGList.IndexOf(Item: TListItem; Start: TListIndex): TListIndex; 112 begin 113 Result := Start; 114 114 while (Result < FCount) and 115 115 not CompareMem(Addr(FItems[Result]), Addr(Item), SizeOf(TListItem)) do … … 138 138 I := I + 1; 139 139 end; 140 end; 141 142 function TGList.IndexOfList(List: TGList; Start: TListIndex): TListIndex; 143 var 144 I: TListIndex; 145 begin 146 if List.Count > 0 then begin 147 Result := IndexOf(List[0], Start); 148 if Result <> -1 then begin 149 I := 1; 150 while I < List.Count do begin 151 if not CompareMem(Addr(FItems[Result + I]), Addr(List.FItems[I]), SizeOf(TListItem)) then begin 152 Result := -1; 153 Break; 154 end; 155 I := I + 1; 156 end; 157 end; 158 end else Result := -1; 140 159 end; 141 160 … … 200 219 end; 201 220 202 (*function TGList.Equals(Obj: TObject): Boolean;203 var 204 I: TListIndex; 205 begin 206 Result := Count = (Obj as TGList).Count;221 function TGList.Equals(List: TGList): Boolean; 222 var 223 I: TListIndex; 224 begin 225 Result := Count = List.Count; 207 226 if Result then begin 208 227 I := 0; 209 228 while I < Count do begin 210 if Items[I] <> (Obj as TGList)[I]then begin229 if not CompareMem(Addr(FItems[I]), Addr(List.FItems[I]), SizeOf(TListItem)) then begin 211 230 Result := False; 212 231 Break; … … 215 234 end; 216 235 end; 217 end; *)236 end; 218 237 219 238 procedure TGList.Reverse; … … 241 260 while I <= High(Values) do begin 242 261 Add(Values[I]); 262 I := I + 1; 263 end; 264 end; 265 266 procedure TGList.SetArray(Values: array of TListItem); 267 var 268 I: TListIndex; 269 begin 270 Clear; 271 I := 0; 272 while I <= High(Values) do begin 273 Add(Values[I]); 274 I := I + 1; 275 end; 276 end; 277 278 procedure TGList.InsertArray(Index: TListIndex; Values: array of TListItem); 279 var 280 I: TListIndex; 281 begin 282 I := 0; 283 while I <= High(Values) do begin 284 Insert(Index + I, Values[I]); 243 285 I := I + 1; 244 286 end; … … 255 297 if I < (Count - 1) then 256 298 Result := Result + Separator; 299 I := I + 1; 300 end; 301 end; 302 303 procedure TGList.Perform(Operation: TGListOperation); 304 var 305 I: TListIndex; 306 begin 307 I := 0; 308 while I < Count do begin 309 Operation(Self, @FItems[I]); 257 310 I := I + 1; 258 311 end; … … 309 362 end; 310 363 364 procedure TGList.Fill(Start, Count: TListIndex; Value: TListItem); 365 begin 366 while Count > 0 do begin 367 Items[Start] := Value; 368 Count := Count - 1; 369 Start := Start + 1; 370 end; 371 end; 372 311 373 procedure TGList.Exchange(Index1, Index2: TListIndex); 312 374 var -
Generics/TemplateGenerics/Generic/ListInterface.tpl
r74 r77 1 2 PGListItem = ^TListItem; 3 TGList = class; 1 4 2 5 TGListSortCompare = function(const Item1, Item2: TListItem): Integer of object; 3 6 TGListStringConverter = function(Item: TListItem): string; 7 TGListOperation = procedure(List: TGList; Item: PGListItem); 4 8 //TGListNotification = (lnAdded, lnExtracted, lnDeleted); 5 9 … … 16 20 procedure SetCount(const AValue: TListIndex); 17 21 procedure QuickSort(L, R : TListIndex; Compare: TGListSortCompare); 18 property Capacity: TListIndex read GetCapacity write SetCapacity;19 22 public 20 23 // All items … … 24 27 procedure Sort(Compare: TGListSortCompare); 25 28 function Implode(Separator: string; Converter: TGListStringConverter): string; 29 procedure Perform(Operation: TGListOperation); 26 30 // Many items 27 31 procedure MoveItems(CurIndex, NewIndex, Count: TListIndex); 28 32 procedure DeleteItems(Index, Count: TListIndex); 33 procedure Fill(Start, Count: TListIndex; Value: TListItem); 29 34 // One item 30 35 function Add(Item: TListItem): TListIndex; … … 33 38 procedure Exchange(Index1, Index2: TListIndex); 34 39 function First: TListItem; 35 function IndexOf(Item: TListItem ): TListIndex;40 function IndexOf(Item: TListItem; Start: TListIndex = 0): TListIndex; 36 41 procedure Insert(Index: TListIndex; Item: TListItem); 37 42 function Last: TListItem; … … 42 47 procedure AddList(List: TGList); 43 48 procedure Assign(List: TGList); 44 //function Equals(Obj: TObject): Boolean; override;49 function Equals(List: TGList): Boolean; 45 50 procedure InsertList(Index: TListIndex; List: TGList); 51 function IndexOfList(List: TGList; Start: TListIndex = 0): TListIndex; 46 52 // Other 47 53 property Count: TListIndex read GetCount write SetCount; 48 // Additional 54 property Capacity: TListIndex read GetCapacity write SetCapacity; 55 // Array 49 56 procedure AddArray(Values: array of TListItem); 57 procedure SetArray(Values: array of TListItem); 58 procedure InsertArray(Index: TListIndex; Values: array of TListItem); 50 59 end; -
Generics/TemplateGenerics/Generic/SetImplementation.tpl
r76 r77 3 3 { TGSet } 4 4 5 function TGSet.IsIn(Item: TSetItem): Boolean; 6 begin 7 Result := FList.IndexOf(Item) <> -1; 8 end; 5 9 10 constructor TGSet.Create; 11 begin 12 FList := TGList.Create; 13 end; 6 14 15 destructor TGSet.Destroy; 16 begin 17 FList.Free; 18 inherited Destroy; 19 end; -
Generics/TemplateGenerics/ReadMe.txt
r68 r77 2 2 ================= 3 3 4 Tutorial and informatin: 5 http://wiki.freepascal.org/Templates 4 6 5 Information sources: 6 7 * Object Pascal (Delphi) Templates 8 http://www.dummzeuch.de/delphi/object_pascal_templates/english.html 9 10 * Templates in Object Pascal 11 http://edn.embarcadero.com/article/27603 12 7 Author: Chronos 8 Email: robie@centrum.cz -
Generics/TemplateGenerics/Specialized/ListChar.pas
r74 r77 24 24 procedure TrimRight; 25 25 end; 26 // System.Pos -> TListChar.IndexOfList 26 27 27 28 TString = TListChar; -
Generics/TemplateGenerics/Specialized/ListVariant.pas
r76 r77 6 6 7 7 uses 8 Classes, SysUtils ;8 Classes, SysUtils, Variants; 9 9 10 10 type -
Generics/TemplateGenerics/Specialized/SetChar.pas
r76 r77 24 24 {$INCLUDE '..\Generic\SetImplementation.tpl'} 25 25 26 27 function TGSet.IsIn(Item: TSetItem): Boolean;28 begin29 Result := FList.IndexOf(Item) <> -1;30 end;31 32 constructor TGSet.Create;33 begin34 FList := TGList.Create;35 end;36 37 destructor TGSet.Destroy;38 begin39 FList.Free;40 inherited Destroy;41 end;42 43 26 end. -
Generics/TemplateGenerics/TemplateGenerics.lpk
r76 r77 17 17 </CompilerOptions> 18 18 <Version Minor="1"/> 19 <Files Count=" 38">19 <Files Count="42"> 20 20 <Item1> 21 21 <Filename Value="Generic\DictionaryImplementation.tpl"/> … … 170 170 <UnitName Value="SetChar"/> 171 171 </Item38> 172 <Item39> 173 <Filename Value="Specialized\RangeDateTime.pas"/> 174 <UnitName Value="RangeDateTime"/> 175 </Item39> 176 <Item40> 177 <Filename Value="Generic\RangeInterface.tpl"/> 178 <Type Value="Text"/> 179 </Item40> 180 <Item41> 181 <Filename Value="Generic\RangeImplementation.tpl"/> 182 <Type Value="Text"/> 183 </Item41> 184 <Item42> 185 <Filename Value="Specialized\ListByte.pas"/> 186 <UnitName Value="ListByte"/> 187 </Item42> 172 188 </Files> 173 189 <Type Value="RunAndDesignTime"/> -
Generics/TemplateGenerics/TemplateGenerics.pas
r76 r77 12 12 StackInteger, StackObject, StackPointer, StackString, QueueDouble, 13 13 QueueInteger, QueueObject, QueuePointer, QueueString, ListChar, ListVariant, 14 SetInteger, SetString, SetChar, LazarusPackageIntf;14 SetInteger, SetString, SetChar, RangeDateTime, ListByte, LazarusPackageIntf; 15 15 16 16 implementation
Note:
See TracChangeset
for help on using the changeset viewer.