Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
ВнизЧё то торможу... Найти похожие ветки
← →
P. (2002-04-11 18:51) [0]Помогиет разобраться плз. Вот ЭТО должно создавать класс TCell и зарисовывать ячейки, заполняя туда значения всяких Editов. С этим проблем нет.
Выдаётся ошибка, типа не нравится Col+1 и т.д.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, Grids;
type
TCell = class(TObject)
Name: String;
Style: String;
System: String;
Adding: String;
Lang: String;
Color: TColor;
constructor Create (AName, AStyle, ASystem, AAdding, ALang : String; AColor : TColor);
end;
type
TForm1 = class(TForm)
SG: TStringGrid;
Panel1: TPanel;
sbAdd: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
Panel2: TPanel;
Panel3: TPanel;
Edit2: TLabeledEdit;
SpeedButton5: TSpeedButton;
BitBtn1: TBitBtn;
Edit1: TLabeledEdit;
Sys: TLabeledEdit;
Add: TLabeledEdit;
ComboBox1: TComboBox;
Label1: TLabel;
ColorDialog1: TColorDialog;
procedure FormCreate(Sender: TObject);
procedure SGDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect;
State: TGridDrawState);
procedure SpeedButton5Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Panel3Click(Sender: TObject);
procedure sbAddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3;
{$R *.dfm}
constructor TCell.Create(AName, AStyle, ASystem, AAdding, ALang : String; AColor : TColor);
begin
inherited Create;
Name := AName;
Style := AStyle;
System := ASystem;
Adding := AAdding;
Lang := ALang;
Color := AColor;
end;
procedure TForm1.SGDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
With SG do
if Objects[ACol, ARow] <> Nil then
begin
Canvas.Brush.Color := (Objects[ACol, ARow] as TCell).Color;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left, Rect.Top,
(Objects[ACol, ARow] as TCell).Name);
Canvas.TextOut(Rect.Left, Rect.Top, (Objects[ACol+1, ARow] as TCell).Style);
Canvas.TextOut(Rect.Left, Rect.Top, (Objects[ACol+2, ARow] as TCell).System);
Canvas.TextOut(Rect.Left, Rect.Top, (Objects[ACol+3, ARow] as TCell).Adding);
Canvas.TextOut(Rect.Left, Rect.Top, (Objects[ACol+4, ARow] as TCell).Lang);
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
With Form1.SG do
begin
if Objects[Col, Row] = Nil then
Objects[Col, Row] := TCell.Create(Edit1.Text, Edit2.Text, Sys.Text, Add.Text, ComboBox1.Text, Panel2.Color)
else
begin
(Objects[Col, Row] as TCell).Name := Edit1.Text;
(Objects[Col+1, Row] as TCell).Style := Edit2.Text;
(Objects[Col+2, Row] as TCell).System := Sys.Text;
(Objects[Col+3, Row] as TCell).Adding := Add.Text;
(Objects[Col+4, Row] as TCell).Lang := ComboBox1.Text;
(Objects[Col, Row] as TCell).Color := Panel3.Color;
(Objects[Col+1, Row] as TCell).Color := Panel3.Color;
(Objects[Col+2, Row] as TCell).Color := Panel3.Color;
(Objects[Col+3, Row] as TCell).Color := Panel3.Color;
(Objects[Col+4, Row] as TCell).Color := Panel3.Color;
end;
Refresh;
end;
end;
end.
← →
Игорь Шевченко (2002-04-12 11:21) [1]День добрый,
А поподробнее? Где не нравится, в какой строке, если компилятору не нравится или на выполнении не нравится ?
С уважением, Игорь Шевченко
P.S. Фраза
(Objects[Col+1, Row] as TCell).Style := Edit2.Text; компилируется без проблем :-)
← →
PaRL (2002-04-12 16:29) [2]Вот на всех Col+1 он выдаёт ошибку(то есть если закомментировать верхние Col+1, то он выдаёт ниже). Вот :(
PS Фраза
(Objects[Col+1, Row] as TCell).Style := Edit2.Text; не компилируется :-(
← →
Игорь Шевченко (2002-04-12 16:37) [3]День добрый,
А привести текст сообщения об ошибке религия не позволяет? :-)
С уважением,
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c