Changeset 417
- Timestamp:
- Nov 17, 2021, 11:11:01 AM (3 years ago)
- Location:
- trunk
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Global.pas
r411 r417 24 24 ((CevoVersionBugFix and $ff) shl 0); 25 25 26 27 26 implementation 28 27 -
trunk/Graphics/System2.grs
r314 r417 9 9 <Height>26</Height> 10 10 </Item> 11 <Item> 12 <Name>BrainNoTerm</Name> 13 <Left>1</Left> 14 <Top>111</Top> 15 <Width>64</Width> 16 <Height>64</Height> 17 </Item> 18 <Item> 19 <Name>BrainSuperVirtual</Name> 20 <Left>66</Left> 21 <Top>111</Top> 22 <Width>64</Width> 23 <Height>64</Height> 24 </Item> 25 <Item> 26 <Name>BrainTerm</Name> 27 <Left>131</Left> 28 <Top>111</Top> 29 <Width>64</Width> 30 <Height>64</Height> 31 </Item> 32 <Item> 33 <Name>BrainRandom</Name> 34 <Left>131</Left> 35 <Top>46</Top> 36 <Width>64</Width> 37 <Height>64</Height> 38 </Item> 11 39 </Items> 12 40 </GraphicSet> -
trunk/LocalPlayer/CityScreen.pas
r380 r417 93 93 procedure OnPlaySound(var Msg: TMessage); message WM_PLAYSOUND; 94 94 public 95 RestoreUnFocus: integer;95 RestoreUnFocus: Integer; 96 96 CloseAction: TCityCloseAction; 97 97 procedure OffscreenPaint; override; … … 148 148 wZoomEnvironment = 68; 149 149 150 ImpPosition: array [28 .. nImp - 1] of integer = (-1, // imTrGoods 150 ImpPosition: array [28 .. nImp - 1] of Integer = ( 151 -1, // imTrGoods 151 152 21, // imBarracks 152 153 6, // imGranary … … 192 193 193 194 var 194 ImpSorted: array [0 .. nImp - 1] of integer;195 ImpSorted: array [0 .. nImp - 1] of Integer; 195 196 196 197 procedure TCityDlg.FormCreate(Sender: TObject); … … 206 207 SmallMapMode := smImprovements; 207 208 ZoomArea := 1; 208 ProdHint := false;209 ProdHint := False; 209 210 RestoreUnFocus := -1; 210 211 OpenSoundEvent := -1; … … 489 490 var 490 491 x, y, xGr, i, j, iix, d, dx, dy, PrCost, Cnt, Loc1, FreeSupp, Paintiix, 491 HappyGain, OptiType, rx, ry, TrueFood, TrueProd, TruePoll: integer;492 av: integer;492 HappyGain, OptiType, rx, ry, TrueFood, TrueProd, TruePoll: Integer; 493 av: Integer; 493 494 PrName, s: string; 494 495 UnitInfo: TUnitInfo; 495 496 UnitReport: TUnitReport; 496 IsCityAlive, CanGrow: boolean;497 IsCityAlive, CanGrow: Boolean; 497 498 begin 498 499 inherited; … … 509 510 TrueProd := c.Prod; 510 511 TruePoll := c.Pollution; 511 if supervising or (cix < 0) then512 if Supervising or (cix < 0) then 512 513 begin // normalize city from after-turn state 513 dec(TrueFood, Report.FoodSurplus);514 Dec(TrueFood, Report.FoodSurplus); 514 515 if TrueFood < 0 then 515 516 TrueFood := 0; // shouldn't happen 516 dec(TrueProd, Report.Production);517 Dec(TrueProd, Report.Production); 517 518 if TrueProd < 0 then 518 519 TrueProd := 0; // shouldn't happen 519 dec(TruePoll, Report.AddPollution);520 Dec(TruePoll, Report.AddPollution); 520 521 if TruePoll < 0 then 521 522 TruePoll := 0; // shouldn't happen … … 534 535 535 536 Offscreen.Canvas.Font.Assign(UniFont[ftCaption]); 536 RisedTextOut( offscreen.Canvas, 42, 7, Caption);537 with offscreen.Canvas do537 RisedTextOut(Offscreen.Canvas, 42, 7, Caption); 538 with Offscreen.Canvas do 538 539 begin // city size 539 brush.Color := $000000;540 Brush.Color := $000000; 540 541 FillRect(Rect(8 + 1, 7 + 1, 36 + 1, 32 + 1)); 541 brush.Color := $FFFFFF;542 Brush.Color := $FFFFFF; 542 543 FillRect(Rect(8, 7, 36, 32)); 543 brush.style := bsClear;544 Brush.style := bsClear; 544 545 Font.Color := $000000; 545 s := inttostr(c.Size);546 TextOut(8 + 14 - textwidth(s) div 2, 7, s);546 s := IntToStr(c.Size); 547 TextOut(8 + 14 - TextWidth(s) div 2, 7, s); 547 548 end; 548 549 Offscreen.Canvas.Font.Assign(UniFont[ftSmall]); … … 959 960 end // unit visible in display 960 961 else 961 dec(FreeSupp, UnitReport.ProdSupport);962 inc(Cnt);962 Dec(FreeSupp, UnitReport.ProdSupport); 963 Inc(Cnt); 963 964 end; 964 965 PageCount := (Cnt + 5) div 6; … … 973 974 PageDownBtn.Visible := PageCount > 1; 974 975 975 with offscreen.Canvas do976 with Offscreen.Canvas do 976 977 begin 977 978 { display project now } … … 1067 1068 end; 1068 1069 1069 NextCityBtn.Visible := false;1070 PrevCityBtn.Visible := false;1070 NextCityBtn.Visible := False; 1071 PrevCityBtn.Visible := False; 1071 1072 end; 1072 1073 Page := 0; … … 1082 1083 1083 1084 // check if port 1084 IsPort := false;1085 IsPort := False; 1085 1086 for dx := -2 to 2 do 1086 1087 for dy := -2 to 2 do 1087 if abs(dx) + abs(dy) = 2 then1088 if Abs(dx) + Abs(dy) = 2 then 1088 1089 begin 1089 1090 Loc1 := dLoc(cLoc, dx, dy); 1090 1091 if (Loc1 >= 0) and (Loc1 < G.lx * G.ly) and 1091 1092 (MyMap[Loc1] and fTerrain < fGrass) then 1092 IsPort := true;1093 IsPort := True; 1093 1094 end; 1094 1095 … … 1105 1106 OpenSoundEvent := -1; 1106 1107 OffscreenPaint; 1107 Timer1.Enabled := true;1108 Timer1.Enabled := True; 1108 1109 end; 1109 1110 … … 1152 1153 InitZoomCityMap; 1153 1154 SmartUpdateContent; 1154 exit;1155 Exit; 1155 1156 end; 1156 1157 if (ssLeft in Shift) and (x >= xSupport) and (x < xSupport + wSupport) and … … 1161 1162 InitZoomCityMap; 1162 1163 SmartUpdateContent; 1163 exit;1164 Exit; 1164 1165 end; 1165 1166 if not AllowChange then 1166 exit; // not an own city1167 Exit; // Not an own city 1167 1168 1168 1169 if (ssLeft in Shift) then … … 1585 1586 procedure TCityDlg.FormClose(Sender: TObject; var Action: TCloseAction); 1586 1587 begin 1587 Timer1.Enabled := false;1588 ProdHint := false;1588 Timer1.Enabled := False; 1589 ProdHint := False; 1589 1590 MarkCityLoc := -1; 1590 1591 if Optimize_cixTileChange >= 0 then … … 1751 1752 if Page > 0 then 1752 1753 begin 1753 dec(Page);1754 Dec(Page); 1754 1755 SmartUpdateContent; 1755 1756 end; … … 1760 1761 if Page < PageCount - 1 then 1761 1762 begin 1762 inc(Page);1763 Inc(Page); 1763 1764 SmartUpdateContent; 1764 1765 end; -
trunk/LocalPlayer/Nego.pas
r352 r417 136 136 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI'); 137 137 138 ButtonPrice: array [0 .. 11] of cardinal = (opChoose, opCivilReport,138 ButtonPrice: array [0 .. 11] of Cardinal = (opChoose, opCivilReport, 139 139 opMilReport, opMap, opAllTech, opAllTech, opAllModel, opMoney, opTreaty, 140 140 opLowTreaty, opShipParts, opShipParts); … … 142 142 procedure TNegoDlg.FormCreate(Sender: TObject); 143 143 var 144 cix: integer;144 cix: Integer; 145 145 begin 146 146 InitButtons; … … 153 153 BackGraphic := HGrSystem2.Data; 154 154 case Tag shr 8 of 155 1: 156 SmartHint := Phrases.Lookup('WANT', ButtonIndex - 6); 157 2: 158 SmartHint := Phrases.Lookup('OFFER', ButtonIndex - 6); 155 1: SmartHint := Phrases.Lookup('WANT', ButtonIndex - 6); 156 2: SmartHint := Phrases.Lookup('OFFER', ButtonIndex - 6); 159 157 end; 160 158 end; 161 159 162 fillchar(History, sizeof(History), 0);160 FillChar(History, SizeOf(History), 0); 163 161 RomanFont := TFont.Create; 164 162 RomanFont.Name := 'Times New Roman'; -
trunk/LocalPlayer/Term.pas
r414 r417 4335 4335 if ClientMode <> cEditMap then 4336 4336 begin 4337 if supervising then4337 if Supervising then 4338 4338 begin 4339 4339 ScreenTools.Frame(Panel.Canvas, ClientWidth - xPalace - 1, yPalace - 1, -
trunk/LocalPlayer/Tribes.pas
r315 r417 430 430 if CompareText(Item, 'stdcities') = 0 then 431 431 case cpix of 432 3: 433 cpix := 0; 434 6: 435 begin 432 3: cpix := 0; 433 6: begin 436 434 cpix := 0; 437 435 Item := 'Nation2'; 438 end 436 end; 439 437 end; 440 438 cHGr := LoadGraphicSet(Item + '.png'); 441 439 for x := 0 to 3 do 442 with CityPicture[x] do 443 begin 440 with CityPicture[x] do begin 444 441 FindPosition(cHGr, x * 65, cpix * 49, 63, 47, $00FFFF, 445 442 xShield, yShield); -
trunk/NoTerm.pas
r364 r417 123 123 else 124 124 EndCommand := sResign; 125 Server(EndCommand, me, 0, nil^)125 Server(EndCommand, Me, 0, nil^); 126 126 end; 127 127 … … 370 370 end; 371 371 372 procedure Client(Command, Player: integer; var Data);372 procedure Client(Command, Player: Integer; var Data); 373 373 begin 374 374 if not FormsCreated then 375 375 begin 376 FormsCreated := true;376 FormsCreated := True; 377 377 Application.CreateForm(TNoTermDlg, NoTermDlg); 378 378 end; -
trunk/Packages/CevoComponents/ScreenTools.pas
r380 r417 29 29 function ExtractFileNameWithoutExt(const Filename: string): string; 30 30 function LoadGraphicFile(Bmp: TBitmap; FileName: string; Options: TLoadGraphicFileOptions = []): boolean; 31 function LoadGraphicSet(const Name: string): TGraphicSet; 32 function LoadGraphicSet2(const Name: string): TGraphicSet; 31 function LoadGraphicSet(const Name: string; Transparency: Boolean = True): TGraphicSet; 33 32 procedure Dump(dst: TBitmap; HGr: TGraphicSet; xDst, yDst, Width, Height, xGr, yGr: integer); 34 33 procedure BitmapReplaceColor(Dst: TBitmap; X, Y, Width, Height: Integer; OldColor, NewColor: TColor); … … 151 150 Phrases2: TStringTable; 152 151 GrExt: TGraphicSets; 152 153 153 HGrSystem: TGraphicSet; 154 HGrSystem2: TGraphicSet;155 ClickFrameColor: Integer;156 MainTexture: TTexture;157 Templates: TGraphicSet;158 Colors: TBitmap;159 Paper: TBitmap;160 BigImp: TBitmap;161 LogoBuffer: TBitmap;162 FullScreen: Boolean;163 GenerateNames: Boolean;164 InitOrnamentDone: Boolean;165 Phrases2FallenBackToEnglish: Boolean;166 167 // Graphic set items168 154 CityMark1: TGraphicSetItem; 169 155 CityMark2: TGraphicSetItem; 156 157 HGrSystem2: TGraphicSet; 170 158 Ornament: TGraphicSetItem; 159 GBrainNoTerm: TGraphicSetItem; 160 GBrainSuperVirtual: TGraphicSetItem; 161 GBrainTerm: TGraphicSetItem; 162 GBrainRandom: TGraphicSetItem; 163 164 Templates: TGraphicSet; 171 165 Logo: TGraphicSetItem; 172 166 BigBook: TGraphicSetItem; … … 181 175 WeightOn: TGraphicSetItem; 182 176 WeightOff: TGraphicSetItem; 177 178 ClickFrameColor: Integer; 179 MainTexture: TTexture; 180 Colors: TBitmap; 181 Paper: TBitmap; 182 BigImp: TBitmap; 183 LogoBuffer: TBitmap; 184 FullScreen: Boolean; 185 GenerateNames: Boolean; 186 InitOrnamentDone: Boolean; 187 Phrases2FallenBackToEnglish: Boolean; 183 188 184 189 UniFont: array [TFontType] of TFont; … … 485 490 end; 486 491 487 function LoadGraphicSet(const Name: string ): TGraphicSet;492 function LoadGraphicSet(const Name: string; Transparency: Boolean = True): TGraphicSet; 488 493 var 489 494 x: Integer; … … 510 515 Result.ResetPixUsed; 511 516 512 Result.Mask.SetSize(Result.Data.Width, Result.Data.Height); 513 514 Result.Data.BeginUpdate; 515 Result.Mask.BeginUpdate; 516 DataPixel := PixelPointer(Result.Data); 517 MaskPixel := PixelPointer(Result.Mask); 518 for y := 0 to ScaleToNative(Result.Data.Height) - 1 do begin 519 for x := 0 to ScaleToNative(Result.Data.Width) - 1 do begin 520 OriginalColor := DataPixel.Pixel^.ARGB and $FFFFFF; 521 if (OriginalColor = TransparentColor1) or (OriginalColor = TransparentColor2) then begin 522 MaskPixel.Pixel^.R := $FF; 523 MaskPixel.Pixel^.G := $FF; 524 MaskPixel.Pixel^.B := $FF; 525 DataPixel.Pixel^.R := 0; 526 DataPixel.Pixel^.G := 0; 527 DataPixel.Pixel^.B := 0; 528 end else begin 529 MaskPixel.Pixel^.R := $00; 530 MaskPixel.Pixel^.G := $00; 531 MaskPixel.Pixel^.B := $00; 517 if Transparency then begin 518 Result.Mask.SetSize(Result.Data.Width, Result.Data.Height); 519 520 Result.Data.BeginUpdate; 521 Result.Mask.BeginUpdate; 522 DataPixel := PixelPointer(Result.Data); 523 MaskPixel := PixelPointer(Result.Mask); 524 for y := 0 to ScaleToNative(Result.Data.Height) - 1 do begin 525 for x := 0 to ScaleToNative(Result.Data.Width) - 1 do begin 526 OriginalColor := DataPixel.Pixel^.ARGB and $FFFFFF; 527 if (OriginalColor = TransparentColor1) or (OriginalColor = TransparentColor2) then begin 528 MaskPixel.Pixel^.R := $FF; 529 MaskPixel.Pixel^.G := $FF; 530 MaskPixel.Pixel^.B := $FF; 531 DataPixel.Pixel^.R := 0; 532 DataPixel.Pixel^.G := 0; 533 DataPixel.Pixel^.B := 0; 534 end else begin 535 MaskPixel.Pixel^.R := $00; 536 MaskPixel.Pixel^.G := $00; 537 MaskPixel.Pixel^.B := $00; 538 end; 539 DataPixel.NextPixel; 540 MaskPixel.NextPixel; 532 541 end; 533 DataPixel.Next Pixel;534 MaskPixel.Next Pixel;542 DataPixel.NextLine; 543 MaskPixel.NextLine; 535 544 end; 536 DataPixel.NextLine; 537 MaskPixel.NextLine; 538 end; 539 Result.Data.EndUpdate; 540 Result.Mask.EndUpdate; 541 542 if Gamma <> 100 then 543 ApplyGammaToBitmap(Result.Data); 544 end; 545 end; 546 547 function LoadGraphicSet2(const Name: string): TGraphicSet; 548 var 549 FileName: string; 550 begin 551 Result := GrExt.SearchByName(Name); 552 if not Assigned(Result) then begin 553 Result := GrExt.AddNew(Name); 554 FileName := GetGraphicsDir + DirectorySeparator + Name; 555 if not LoadGraphicFile(Result.Data, FileName, [gfNoGamma]) then begin 556 Result := nil; 557 Exit; 558 end; 559 560 FileName := ExtractFileNameWithoutExt(FileName) + GraphicSetFileExt; 561 if FileExists(FileName) then 562 Result.LoadFromFile(FileName); 563 564 Result.ResetPixUsed; 545 Result.Data.EndUpdate; 546 Result.Mask.EndUpdate; 547 548 if Gamma <> 100 then 549 ApplyGammaToBitmap(Result.Data); 550 end; 565 551 end; 566 552 end; … … 1050 1036 MainTexture.ColorBevelLight and $FCFCFC shr 2); 1051 1037 HGrSystem2.Data.BeginUpdate; 1052 PixelPtr := PixelPointer(HGrSystem2.Data, ScaleToNative(Ornament.Left), ScaleToNative(Ornament.Top)); 1038 PixelPtr := PixelPointer(HGrSystem2.Data, ScaleToNative(Ornament.Left), 1039 ScaleToNative(Ornament.Top)); 1053 1040 if PixelPtr.BytesPerPixel = 3 then begin 1054 1041 for Y := 0 to ScaleToNative(Ornament.Height) - 1 do begin … … 1740 1727 LoadPhrases; 1741 1728 LoadFonts; 1742 Templates := LoadGraphicSet 2('Templates.png');1729 Templates := LoadGraphicSet('Templates.png', False); 1743 1730 with Templates do begin 1744 1731 Logo := GetItem('Logo'); … … 1779 1766 1780 1767 HGrSystem := LoadGraphicSet('System.png'); 1781 CityMark1 := HGrSystem.GetItem('CityMark1'); 1782 CityMark2 := HGrSystem.GetItem('CityMark2'); 1768 with HGrSystem do begin 1769 CityMark1 := GetItem('CityMark1'); 1770 CityMark2 := GetItem('CityMark2'); 1771 end; 1783 1772 1784 1773 HGrSystem2 := LoadGraphicSet('System2.png'); 1785 Ornament := HGrSystem2.GetItem('Ornament'); 1774 with HGrSystem2 do begin 1775 Ornament := GetItem('Ornament'); 1776 GBrainNoTerm := GetItem('BrainNoTerm'); 1777 GBrainSuperVirtual := GetItem('BrainSuperVirtual'); 1778 GBrainTerm := GetItem('BrainTerm'); 1779 GBrainRandom := GetItem('BrainRandom'); 1780 end; 1786 1781 1787 1782 Colors := TBitmap.Create; -
trunk/Packages/CevoComponents/UGraphicSet.pas
r315 r417 55 55 end; 56 56 57 TGraphicSetClass = class of TGraphicSet; 58 57 59 { TGraphicSets } 58 60 -
trunk/Start.pas
r416 r417 10 10 11 11 type 12 13 12 { TPlayerSlot } 14 13 … … 295 294 CustomizeBtn.ButtonIndex := 2; 296 295 297 BitBltBitmap(BrainNoTerm.Picture, 0, 0, 64, 64, HGrSystem2.Data, 1, 111); 298 BitBltBitmap(BrainSuperVirtual.Picture, 0, 0, 64, 64, HGrSystem2.Data, 66, 111); 299 BitBltBitmap(BrainTerm.Picture, 0, 0, 64, 64, HGrSystem2.Data, 131, 111); 300 BitBltBitmap(BrainRandom.Picture, 0, 0, 64, 64, HGrSystem2.Data, 131, 46); 296 BitBltBitmap(BrainNoTerm.Picture, 0, 0, 64, 64, HGrSystem2.Data, GBrainNoTerm.Left, GBrainNoTerm.Top); 297 BitBltBitmap(BrainSuperVirtual.Picture, 0, 0, 64, 64, HGrSystem2.Data, GBrainSuperVirtual.Left, GBrainSuperVirtual.Top); 298 BitBltBitmap(BrainTerm.Picture, 0, 0, 64, 64, HGrSystem2.Data, GBrainTerm.Left, GBrainTerm.Top); 299 BitBltBitmap(BrainRandom.Picture, 0, 0, 64, 64, HGrSystem2.Data, GBrainRandom.Left, GBrainRandom.Top); 300 301 301 LoadAiBrainsPictures; 302 302 … … 480 480 procedure TStartDlg.LoadAiBrainsPictures; 481 481 var 482 AIBrains: TBrains; 483 I: Integer; 484 TextSize: TSize; 485 begin 486 AIBrains := TBrains.Create(False); 487 Brains.GetByKind(btAI, AIBrains); 488 for i := 0 to AIBrains.Count - 1 do 489 with AIBrains[I] do begin 490 if not LoadGraphicFile(AIBrains[i].Picture, GetAiDir + DirectorySeparator + 491 FileName + DirectorySeparator + FileName + '.png', [gfNoError]) then begin 492 with AIBrains[i].Picture.Canvas do begin 493 Brush.Color := $904830; 494 FillRect(Rect(0, 0, 64, 64)); 495 Font.Assign(UniFont[ftTiny]); 496 Font.Style := []; 497 Font.Color := $5FDBFF; 498 TextSize := TextExtent(FileName); 499 Textout(32 - TextSize.Width div 2, 500 32 - TextSize.Height div 2, FileName); 501 end; 502 end; 503 end; 504 FreeAndNil(AIBrains); 482 AiBrains: TBrains; 483 begin 484 AiBrains := TBrains.Create(False); 485 try 486 Brains.GetByKind(btAI, AiBrains); 487 AiBrains.LoadPictures; 488 finally 489 FreeAndNil(AiBrains); 490 end; 505 491 end; 506 492 … … 727 713 begin 728 714 for i := 12 to 19 do 729 if (i < 13) or (i > 17) then 730 begin 715 if (i < 13) or (i > 17) then begin 731 716 BitBltCanvas(Canvas, 9 + i * 27, yLogo - 2, Ornament.Width, Ornament.Height, 732 717 HGrSystem2.Mask.Canvas, Ornament.Left, Ornament.Top, SRCAND); … … 813 798 814 799 for i := 0 to 19 do 815 if (i < 2) or (i > 6) then 816 begin 800 if (i < 2) or (i > 6) then begin 817 801 BitBltCanvas(Canvas, 9 + i * 27, yLogo - 2, Ornament.Width, Ornament.Height, 818 802 HGrSystem2.Mask.Canvas, Ornament.Left, Ornament.Top, SRCAND); -
trunk/UBrain.pas
r375 r417 6 6 7 7 uses 8 Classes, SysUtils, fgl, Graphics, Protocol, LazFileUtils, dynlibs ;8 Classes, SysUtils, fgl, Graphics, Protocol, LazFileUtils, dynlibs, Types; 9 9 10 10 const … … 35 35 Picture: TBitmap; 36 36 Beginner: Boolean; 37 procedure LoadPicture; 37 38 procedure LoadFromFile(AIFileName: string); 38 39 constructor Create; … … 47 48 procedure GetByKind(Kind: TBrainType; Brains: TBrains); 48 49 function GetBeginner: TBrain; 50 procedure LoadPictures; 49 51 end; 50 52 … … 53 55 54 56 uses 55 ScreenTools ;57 ScreenTools, Directories; 56 58 57 59 { TBrain } 60 61 procedure TBrain.LoadPicture; 62 var 63 TextSize: TSize; 64 begin 65 if not LoadGraphicFile(Picture, GetAiDir + DirectorySeparator + 66 FileName + DirectorySeparator + FileName + '.png', [gfNoError]) then begin 67 with Picture.Canvas do begin 68 Brush.Color := $904830; 69 FillRect(Rect(0, 0, 64, 64)); 70 Font.Assign(UniFont[ftTiny]); 71 Font.Style := []; 72 Font.Color := $5FDBFF; 73 TextSize := TextExtent(FileName); 74 TextOut(32 - TextSize.Width div 2, 32 - TextSize.Height div 2, FileName); 75 end; 76 end; 77 end; 58 78 59 79 procedure TBrain.LoadFromFile(AIFileName: string); … … 177 197 end; 178 198 199 procedure TBrains.LoadPictures; 200 var 201 I: Integer; 202 begin 203 for I := 0 to Count - 1 do 204 with Items[I] do LoadPicture; 205 end; 206 207 179 208 end. 180 209
Note:
See TracChangeset
for help on using the changeset viewer.