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.
|
---|