1 |
unit Unit7; |
2 |
|
3 |
interface |
4 |
|
5 |
uses |
6 |
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, |
7 |
Dialogs, Grids, StrUtils,Unit8; |
8 |
|
9 |
type |
10 |
TForm7 = class(TForm) |
11 |
grid: TStringGrid; |
12 |
procedure FormResize(Sender: TObject); |
13 |
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean); |
14 |
procedure FormCreate(Sender: TObject); |
15 |
private |
16 |
{ Private declarations } |
17 |
public |
18 |
{ Public declarations } |
19 |
end; |
20 |
|
21 |
var |
22 |
Form7: TForm7; |
23 |
|
24 |
PROCEDURE Check_CharInOverview(charnumber:Byte); |
25 |
FUNCTION GetCharOverviewCol(charnumber:Byte):Byte; |
26 |
|
27 |
implementation |
28 |
|
29 |
uses unit1, unit2, unit3; |
30 |
{$R *.dfm} |
31 |
|
32 |
PROCEDURE Check_CharInOverview(charnumber:Byte); |
33 |
VAR i,colchar:Byte; |
34 |
found:Boolean; |
35 |
BEGIN |
36 |
found:=False; |
37 |
FOR i:=2 TO Form7.grid.ColCount-1 DO BEGIN |
38 |
IF NOT found=True THEN BEGIN |
39 |
IF StrLen(PChar(Form7.grid.Cells[i,0]))>0 THEN BEGIN |
40 |
colchar:=StrToInt(MidStr(Form7.grid.Cells[i,0], 3, 10)); |
41 |
IF colchar=charnumber THEN BEGIN |
42 |
found:=True; |
43 |
IF NOT _ais_active[charnumber]=TRUE THEN BEGIN |
44 |
Form7.grid.Cells[i,0]:=Form7.grid.Cells[i+1,0]; |
45 |
Form7.grid.Cells[i+1,0]:=''; |
46 |
END ELSE exit; |
47 |
END; |
48 |
END; |
49 |
END ELSE BEGIN |
50 |
IF i<Form7.grid.ColCount-1 THEN BEGIN |
51 |
Form7.grid.Cells[i,0]:=Form7.grid.Cells[i+1,0]; |
52 |
Form7.grid.Cells[i+1,0]:=''; |
53 |
END; |
54 |
END; |
55 |
END; |
56 |
IF (found=True) AND (_ais_active[charnumber]=FALSE) THEN Form7.grid.ColCount:=Form7.grid.ColCount-1; |
57 |
IF (found=False) AND (_ais_active[charnumber]=TRUE) THEN BEGIN |
58 |
Form7.grid.ColCount:=Form7.grid.ColCount+1; |
59 |
FOR i:=Form7.grid.ColCount-1 DOWNTO 2 DO BEGIN |
60 |
IF StrLen(PChar(Form7.grid.Cells[i,0]))>0 THEN BEGIN |
61 |
colchar:=StrToInt(MidStr(Form7.grid.Cells[i,0], 3, 10)); |
62 |
IF colchar>charnumber THEN BEGIN |
63 |
Form7.grid.Cells[i+1,0]:=Form7.grid.Cells[i,0]; |
64 |
END ELSE BEGIN |
65 |
Form7.grid.Cells[i+1,0]:='AI'+IntToStr(charnumber); |
66 |
exit; |
67 |
END; |
68 |
END; |
69 |
IF i=2 THEN Form7.grid.Cells[i,0]:='AI'+IntToStr(charnumber); |
70 |
END; |
71 |
END; |
72 |
END; |
73 |
|
74 |
FUNCTION GetCharOverviewCol(charnumber:Byte):Byte; |
75 |
VAR i,colchar:Byte; |
76 |
BEGIN |
77 |
FOR i:=2 TO Form7.grid.ColCount-1 DO BEGIN |
78 |
IF StrLen(PChar(Form7.grid.Cells[i,0]))>0 THEN BEGIN |
79 |
colchar:=StrToInt(MidStr(Form7.grid.Cells[i,0], 3, 10)); |
80 |
IF colchar=charnumber THEN BEGIN result:=i; exit; END; |
81 |
END; |
82 |
END; |
83 |
result:=0; |
84 |
END; |
85 |
|
86 |
PROCEDURE TForm7.FormCreate(Sender: TObject); |
87 |
VAR i:Byte; |
88 |
BEGIN |
89 |
grid.RowCount:=number_items+1; |
90 |
grid.Height:=(number_items+1)*17+4; |
91 |
Form7.Height:=grid.Height+22; |
92 |
grid.ColCount:=2; |
93 |
grid.FixedCols:=1; |
94 |
grid.FixedRows:=1; |
95 |
grid.ColWidths[0]:=120; |
96 |
grid.Cells[0,0]:=' '; |
97 |
FOR i:=1 TO number_items DO BEGIN |
98 |
grid.Cols[0].Add(CharDataStuff[i].overview_name); |
99 |
END; |
100 |
grid.Rows[0].Add('Player') |
101 |
END; |
102 |
|
103 |
PROCEDURE TForm7.FormCloseQuery(Sender: TObject; var CanClose: Boolean); |
104 |
BEGIN |
105 |
Self.Visible:=False; |
106 |
CanClose:=False; |
107 |
CharOverviewMenu.Checked:=False; |
108 |
END; |
109 |
|
110 |
PROCEDURE TForm7.FormResize(Sender: TObject); |
111 |
BEGIN |
112 |
Form7.Height:=grid.Height+24; |
113 |
grid.Width:=Form7.Width-8; |
114 |
IF Form7.Width<300 THEN Form7.Width:=300; |
115 |
END; |
116 |
|
117 |
END. |