안녕하세요.
아래는 DBChart에 있는 BarSeries, LineSeries를 라디오그룹으로 선택하여 Bar,Line 선택시 차트에서 한개만 보여줄려고하고, 콤보박스에서 색깔 선택시 차트에 있는 Series 색을 변경하고싶은데.
Undeclared identifier: 'Color'
Undeclared identifier: 'visible'
오류가 납니다.
인터넷에서 찾아봐도 저랑같은 오류가 나신분이 없는지 못찾겠고.. 오류자체만으로 봤을때는 무엇인가 선언을 안한것 같은데 책의 내용을 타이핑한거라 책의 내용을 봐도 다른부분이 없어서 질문드립니다..
혹시 몰라 소스 전체를 올리고 마지막에서 두개의 이벤트핸들러가 오류부분에 해당합니다.
unit uInsa;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ComCtrls, Buttons, StdCtrls, ExtCtrls, DBCtrls,
Mask, TeEngine, Series, Spin, TeeProcs, Chart, DbChart, DBActns;
type
TInsaForm = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
TabControl1: TTabControl;
DBGrid1: TDBGrid;
Label1: TLabel;
ComboBox1: TComboBox;
Label3: TLabel;
Edit1: TEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
StaticText4: TStaticText;
StaticText5: TStaticText;
StaticText6: TStaticText;
StaticText7: TStaticText;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBLookupComboBox1: TDBLookupComboBox;
DBComboBox1: TDBComboBox;
Label4: TLabel;
DBImage1: TDBImage;
DBRadioGroup1: TDBRadioGroup;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
CheckBox1: TCheckBox;
Label5: TLabel;
RadioGroup1: TRadioGroup;
Label6: TLabel;
ComboBox2: TComboBox;
DBChart1: TDBChart;
Series1: TBarSeries;
Series2: TLineSeries;
SpinButton1: TSpinButton;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure TabControl1Change(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure SpinButton1UpClick(Sender: TObject);
procedure SpinButton1DownClick(Sender: TObject);
procedure ComboBox2Change(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
InsaForm: TInsaForm;
implementation
uses uDM;
var
t: TTabSheet;
s: TChartSeries;
{$R *.dfm}
procedure TInsaForm.SpeedButton1Click(Sender: TObject);
begin
Dm.Insa.First;
end;
procedure TInsaForm.SpeedButton2Click(Sender: TObject);
begin
if Not Dm.Insa.Bof then
Dm.Insa.Prior;
end;
procedure TInsaForm.SpeedButton3Click(Sender: TObject);
begin
if Not Dm.Insa.Eof then
Dm.Insa.Next;
end;
procedure TInsaForm.SpeedButton4Click(Sender: TObject);
begin
Dm.Insa.Last;
end;
procedure TInsaForm.ComboBox1Change(Sender: TObject);
begin
case Combobox1.ItemIndex of
0: dm.Insa.IndexName := 'i_id';
1: dm.Insa.IndexName := 'i_name';
2: dm.Insa.IndexName := 'i_dept';
end;
end;
procedure TInsaForm.Edit1Change(Sender: TObject);
begin
Dm.Insa.IndexFieldNames := 'Name';
Dm.Insa.FindNearest([Edit1.Text]);
end;
procedure TInsaForm.TabControl1Change(Sender: TObject);
begin
if TabControl1.TabIndex = 0 then
Dm.Insa.Filtered := False
else
begin
Dm.Insa.Filtered := True;
Dm.Insa.Filter :=
'Class = ' + '''' + TabControl1.Tabs[TabControl1.TabIndex] + '''';
end;
end;
procedure TInsaForm.Button1Click(Sender: TObject);
begin
Dm.Insa.Insert;
end;
procedure TInsaForm.Button2Click(Sender: TObject);
begin
if messagedlg('정말 삭제 하시겠습니까?',mtConfirmation,[mbyes,mbno],0) = mryes then
Dm.Insa.Delete;
end;
procedure TInsaForm.Button3Click(Sender: TObject);
begin
Dm.Insa.Cancel;
end;
procedure TInsaForm.Button4Click(Sender: TObject);
begin
Dm.Insa.Post;
end;
procedure TInsaForm.FormCreate(Sender: TObject);
begin
t := TTabSheet.Create(pagecontrol1);
t.PageControl := pagecontrol1;
t.Caption := '기타';
PageControl1.ActivePage := T;
Dm.InsaSource.OnDataChange := Dm.InsaSourceDataChange;
Dm.InsaSource.OnStateChange := Dm.InsaSourceStateChange;
end;
procedure TInsaForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Dm.InsaSource.OnStateChange := nil;
Dm.InsaSource.OnDataChange := nil;
Action := caFree;
end;
procedure TInsaForm.FormActivate(Sender: TObject);
begin
Dm.InsaSourceStateChange(Dm.InsaSource);
Dm.InsaSourceDataChange(Dm.InsaSource, Dm.InsaID);
end;
procedure TInsaForm.Button5Click(Sender: TObject);
begin
DBChart1.Page := 1;
end;
procedure TInsaForm.Button7Click(Sender: TObject);
begin
DBChart1.NextPage;
end;
procedure TInsaForm.Button6Click(Sender: TObject);
begin
DBChart1.PreviousPage;
end;
procedure TInsaForm.Button8Click(Sender: TObject);
begin
DBChart1.Page := DBChart1.NumPages;
end;
procedure TInsaForm.CheckBox1Click(Sender: TObject);
begin
DBChart1.View3D := CheckBox1.Checked;
end;
procedure TInsaForm.SpinButton1UpClick(Sender: TObject);
begin
DBChart1.ZoomPercent(115);
end;
procedure TInsaForm.SpinButton1DownClick(Sender: TObject);
begin
DBChart1.ZoomPercent(75);
end;
procedure TInsaForm.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then
begin
Series1.visible := True;
Series2.Visible := False;
end
else
begin
Series1.visible := False;
Series2.Visible := True;
end;
end;
procedure TInsaForm.ComboBox2Change(Sender: TObject);
begin
s := DBChart1.Series[RadioGroup1.ItemIndex];
case Combobox2.ItemIndex of
0: s.Color:= clRed;
1: s.Color := clYellow;
2: s.Color := clGreen;
3: s.Color := clBlue;
4: s.Color := clAqua;
end;
end;
end.
|