Q&A

  • CHART에서 PIE를 이용하여 변수값을 그래프로 나타내고 싶습니다
델파이 초보생입니다.  
CHART에서 PIE를 이용하여 변수값을 그래프로 나타내고 싶습니다...Value1값과 Value2값을 파란색과 빨간색으로 구분하여 나타내고 싶은데, 고정적인 값을 써야 나타낼 수 있는지요?
답변부탁드립니다..

unit Ar2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBTables, DB, TeEngine, Series, TeeProcs, Chart, ExtCtrls,
  Buttons, StdCtrls;

type
  TFrmAr = class(TForm)
    Btn_Close: TSpeedButton;
    Panel1: TPanel;
    Pan_Theme: TPanel;
    Chart1: TChart;
//    Series1: TPieSeries;
    QryMain: TQuery;
    UpdateSQL1: TUpdateSQL;
    Button1: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Btn_CloseClick(Sender: TObject);
    //procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmAr: TFrmAr;

implementation
{$R *.dfm}

uses grpcon, main, map, dbconnect;

procedure TFrmAr.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  QryMain.Free;
  Action := caFree;

end;

procedure TFrmAr.FormDestroy(Sender: TObject);
begin
  FrmAr := nil;

end;

procedure TFrmAr.FormCreate(Sender: TObject);
var
  SqlStr, jStr,SqlStr1, SqlStr2: String;
  Value1, Value2 : String;
begin

  //전체 자료 검색
  if FrmGrpCon.CheckBox1.Checked = True then
  begin
    //PJ_N 테이블의 면적 합계
    With QryMain do
    begin
      if Active then Close;
      Sql.Clear;
      Sql.Add('SELECT SUM(U_A) AS AREA    ');
      Sql.Add('FROM PJ_N                        ');
      Open;
      if EOF then
      begin
        MessageDlg('등록된 자료가 없습니다!', mtInformation, [mbOk], 0);
        DlgShow := False;
        Exit;
      end;
      Value1 := FieldByName('AREA').AsString;
    end;
    //PJ_P 테이블의 면적 합계
    With QryMain do
    begin
      if Active then Close;
      Sql.Clear;
      Sql.Add('SELECT SUM(U_A) AS AREA    ');
      Sql.Add('FROM PJ_P                        ');
      Open;
      if EOF then
      begin
        MessageDlg('등록된 자료가 없습니다!', mtInformation, [mbOk], 0);
        DlgShow := False;
        Exit;
      end;
      Value2 := FieldByName('AREA').AsString;
    end;
    ShowMessage('전체지역 PJ_N : ' + Value1 + ' PJ_P : ' + Value2);

  end else
  //부분 자료 검색
  if FrmGrpCon.CheckBox2.Checked = True then
  begin
    //PJ_N 테이블의 면적 합계
    With QryMain do
    begin
      if Active then Close;
      Sql.Clear;
      Sql.Add('SELECT SUM(U_A) AS AREA                                  ');
      Sql.Add('FROM PJ_N                                                      ');
      if FrmGrpCon.Cmb_SD.Text <> '' then
        Sql.Add('WHERE SD LIKE ''' + Copy(FRmGrpCon.Cmb_SD.Text, 2, 2) + '''  ');
      if FrmGrpCon.Cmb_GG.Text <> '' then
        Sql.Add('AND SG LIKE ''' + Copy(FrmGrpCon.Cmb_GG.Text, 2, 3) + '''  ');
      if FrmGrpCon.Cmb_YM.Text <> '' then
        Sql.Add('AND MY LIKE ''' + Copy(FrmGrpCon.Cmb_YM.Text, 2, 3) + '''  ');
      Open;
      if EOF then
      begin
        MessageDlg('등록된 자료가 없습니다!', mtInformation, [mbOk], 0);
        DlgShow := False;
        Exit;
      end;
      Value1 := FieldByName('AREA').AsString;
    end;
    //PJ_P 테이블의 면적 합계
    With QryMain do
    begin
      if Active then Close;
      Sql.Clear;
      Sql.Add('SELECT SUM(U_A) AS AREA                                  ');
      Sql.Add('FROM PJ_P                                                      ');
      if FrmGrpCon.Cmb_SD.Text <> '' then
        Sql.Add('WHERE SD LIKE ''' + Copy(FRmGrpCon.Cmb_SD.Text, 2, 2) + '''  ');
      if FrmGrpCon.Cmb_GG.Text <> '' then
        Sql.Add('AND SG LIKE ''' + Copy(FrmGrpCon.Cmb_GG.Text, 2, 3) + '''  ');
      if FrmGrpCon.Cmb_YM.Text <> '' then
        Sql.Add('AND MY LIKE ''' + Copy(FrmGrpCon.Cmb_YM.Text, 2, 3) + '''  ');
      Open;
      if EOF then
      begin
        MessageDlg('등록된 자료가 없습니다!', mtInformation, [mbOk], 0);
        DlgShow := False;
        Exit;
      end;
      Value2 := FieldByName('AREA').AsString;
    end;
    ShowMessage('지역별 PJ_N : ' + Value1 + ' PJ_P : ' + Value2);

  //*  Chart1.Series[1].Add(Value1, 'K', clRed);
  //*  Chart2.Series[2].Add(Value2,'P',clBlue);
  end;
end;

procedure TFrmAr.Btn_CloseClick(Sender: TObject);
begin
  Close;

end;



end.
0  COMMENTS
    • 최용일
      2002.07.10 01:17
    • 신호
      2002.07.10 03:26
    • 최용일
      2002.07.10 04:19
    • 신호
      2002.07.10 20:37
    • 최용일
      2002.07.11 01:09
    • 수서니
      2002.07.10 03:14
      우편번호 찾는 모달창에서.... 컴포넌트들을 지우고 다시 갖다놓고 Query의 Active를 false로 두고 f...
    • 한하눌
      2002.07.09 22:38
      frmZip 폼의 create 에 정의 된부분 또는 해당폼에 있는 query컴포넌트에서 사용된 query에서 발생한 오류...
    • 나옹이
      2002.07.10 00:18
      글세요.... 제가 잘 알아 들었는지는 몰겠는데.... 스트링그리드에서 특정 셀의 값을 직접 수정해서 ...
    • 장재호
      2002.07.10 01:31
      query:='update table set field_name='''+Stringgrid1.cells[2,Stringgrid1.row] where serial='+Stringgr...
    • 나옹이
      2002.07.10 02:30
      냉.... serial 이라고 적은건요... 제가 습관적으로 인덱스키를 serial 이라고 쓰거든요.... 고유번호 ...
    • 성더기
      2002.07.09 21:14
    • ㄴ ㅏ ㅁ ㅑ
      2002.07.09 21:28
    • 성더기
      2002.07.09 21:35
    • ㄴ ㅏ ㅁ ㅑ
      2002.07.09 21:40
    • 성더기
      2002.07.09 21:49
    • 김동묵
      2002.07.10 00:59
      이런방법이 있습니다. procedure TForm1.Button1Click(Sender: TObject);   function GetI...
    • 최용일
      2002.07.10 00:52
      안녕하세요. 최용일입니다. 나름대로 규칙이 있으니까 그 규칙에 따라 문자열함수들(Copy, Pos, ...)을 ...
    • 김영린
      2002.07.10 22:47
      어려움이 있던 것을 해결해 주셔서 정말감사합니다.
    • 최용일
      2002.07.10 00:42
      안녕하세요. 최용일입니다. 말그대로 입니다. OnShow나 OnHide이벤트에서 Show, Hide메소드를 쓰거나...
    • 성더기
      2002.07.09 21:02
      SqlStr := 'select A.code,A.Name,B.good '          &nbs...
    • 개미
      2002.07.09 21:35
      답변 진심으로 감사드립니당. General SQL Error 인뎅... 뭐가 틀린건징.. 몇시간째 해봐도 못찾겠...
    • 성더기
      2002.07.09 21:41
      확실치는 않지만... 테이블명하구 앨리어스 명을 다르게 줘보세요 From DataList A    ...
    • 수서니
    • 2002.07.09 20:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.10 00:33
      안녕하세요. 최용일입니다. TDBGrid의 OnMouseDown이벤트에서 하시면 되겠네요. 마우스 좌표및 누른 버...
    • 정진훈
    • 2002.07.09 19:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정영희
    • 2002.07.09 19:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 2002.07.09 19:50
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2002.07.09 19:56
      추가는 Table1.Append 또는 Table1.Insert 하시면 됩니다 수정은 Table1.Edit 이구요 저장은 Table1.Po...
    • 2002.07.09 20:43
      displayformat을 0,00으로 했는데 잘 역시 마찬가지 인걸요... 근데 다른 질문인데요 procedure TForm1...
    • 성더기
      2002.07.09 21:09
      제가 알기루 itmeindex는 integer형 인걸루 알구 있는데 거기다 String형을 집어 넣을려구 하니 에러가 ...
    • 짱아
    • 2002.07.09 19:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 깨구락지
      2002.07.09 19:56
      FileExists 함수를 사용하십시오. if FileExists('1A0709.TXT') then   Do Something
    • 짱아
      2002.07.09 22:18
      답변감사해염.. 가르쳐 주신것을 써서 해봤는데.. 안되염.. 제가 잘못쓴건지... 자세히점 갈켜 주세...
    • 깨구락지
      2002.07.10 17:32
      var   cnt:byte;   sFileName:string; begin   for cnt:=1 to 10 do be...
    • 나원용
    • 2002.07.09 18:58
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 임수정
    • 2002.07.09 18:33
    • 0 COMMENTS
    • /
    • 0 LIKES
    • oss
    • 2002.07.09 16:49
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.07.10 00:22
      안녕하세요. 최용일입니다. MMSystem 유닛도 델파이에 있는 유닛이구요... 음... 나머지는 전임자분...
    • Sean
    • 2002.07.09 05:27
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 수서니
    • 2002.07.09 04:33
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 성더기
      2002.07.09 21:17
      값이 안보인다면... DBGrid에 DataSource가 연결이 안되있을경우 DataSource에 DataSet이 연결이 안되어 ...
    • 머슴
      2002.07.09 05:35
      보통 DbGrid에서 자료가 안보이는 경우는 제일 먼제 아래의 상황을 먼저 보셔야 할것 같습니다.. ...
    • 수서니
      2002.07.09 18:54
      당연히 했을꺼라 생각했는데... DBGrid의 프러퍼티중에서 Datasource가 연결이 안되어있었네요... 이...
    • 송인석
      2002.07.09 16:44
      혹시 꼭 TOpenDialog를 이용할 생각이 아니시라면, FileExt유닛 (갑자기 이름이 생각이 안남-_- File???...
    • 머슴
      2002.07.09 06:05
      전에 저도 님과  비슷한것을 한번 해볼라고 하는데 잘 안되더라고요.. 아무리해도 디렉토리...
    • 조수석
      2009.09.11 21:52
      디렉토리 PATH 정보만 얻으려면 아래와 같이하시면 잘 됩니다.(델7) procedure TForm1.ShellTreeView1...
    • 머슴
      2002.07.09 05:56
      'PRICE','GONG' 외에는  순서와 관계 같은 경우이지요.. 간단히 이렇게 하면 안될까요.. ...
    • KDDG_ZZOM
      2002.07.09 04:01
      오라클이면 rownum을 사용하시면 될것같은데... 쿼리필드에 rownum인가? 하는 필드를 추가시켜서 처리하시...