<<
>>

Пример построения гистограммы

Для примера построим гистограмму распределения клиентов по странам. Так же как и в предыдущем примере, для соединения с базой данных будем использовать компонент ADOQuery, а построение диаграммы выполнять после щелчка на кнопке, размещенной на форме.

1. Поместите на форму компонент доступа к данным ADOQuery и подключите его к тре­буемой базе данных. Запрос на выборку будет выглядеть следующим образом:

SELECT Страна. COUNT([Код клиента]) AS [Количество клиентов]

FROM Клиенты GROUP BY Страна

2. Поместите на форму кнопку (Button) и задайте для нее обработчик события On Click, представленный в листинге 17.3.

Листинг 17.3. Обработчик события OnClick кнопки

procedure TForml.ButtonlClick(Sender: TObject): const '

CellName : array[0..11] of char = (’A'.'В'.'C.'0'.’E’.

'F'.'G'.'H'.T.'J'.'K'.'L');

var

index : OleVariant:

Cl. V : OleVariant: i.j.N : Integer: begin

// Подключаемся к серверу автоматизации MS Excel ExcelAppli cati onl.Connect:

// Создаем новую рабочую книгу и делаем ее видимой ExcelApplicationl.Workbooks.Add(EmptyParam,0):

ExcelApplicationl.Vi sible[0]:=true:

ExcelWorkbookl.ConnectTo(

ExcelApplicationl.ActiveWorkbook):

// Создаем новый рабочий лист ExcelWorkbookl.Worksheets.Add(EmptyParam.EmptyParam.

EmptyParam.EmptyParam.O): index:=l;

ExcelWorksheetl.ConnectTo(

ExcelWorkbookl.Worksheets.Item[index] as _Worksheet);

ExcelWorksheetl.Activated));

// Передаем данные в созданный рабочий лист ADOQueryl.Open:

N:=ADOQuery1.RecordCount: try

for i:=l to N do begin ADOQueryl,RecNo:=i:

for j:=0 to pred(ADOQueryl.FieldCount) do begin Cl:=Cel 1 Name[j]+IntToStr(i1;

V:=AD0Queryl.Fields[j H.Value;

Excel Worksheet1.Range[Cl,Cl].Value:=V: end; end; finally

ADOQueryl.Close: end;

// Создаем новую диаграмму на отдельном листе ExcelWorkbookl.Charts.Add(EmptyParam,EmptyParam.

EmptyРа ram,EmptyParam.0); index:=l;

ExcelChartl.ConnectTo(

ExcelWorkbookl.Charts.Item[index] as _Chart);

ExcelChartl.Activated)):

// Создаем индекс для выбора всех данных с рабочего // листа, полученных из базы данных Cl:='Al;B'+IntToStr(N);

// Строим диаграмму ExcelChartl.ChartWizard(

Excel Worksheet1.RangeLCl.EmptyParam], xl Column.EmptyParam.xlColumns);

end;

<< | >>
Источник: Избачков Ю. С., Петров В. Н.. Информационные системы. 2006

Еще по теме Пример построения гистограммы:

  1. ПРИМЕР ПОСТРОЕНИЯ КВОТНОЙ МОДЕЛИ ВЫБОРОЧНОЙ СОВОКУПНОСТИ, %
  2. ГИСТОГРАММА
  3. Примеры жестокости по отношению к другим (эти примеры более всего относятся к семейной жизни):
  4. ДВИЖЕНИЕ: ПОСТРОЕНИЕ
  5. КОНЦЕПЦИЯ УРОВНЕЙ ПОСТРОЕНИЯ ДВИЖЕНИЙ
  6. Построение гороскопа
  7. Хаос вопросов со строгой логикой построения
  8. II. МЕТОДИЧЕСКИЕ ОСНОВЫ ПОСТРОЕНИЯ СИСТЕМНЫХ ОПИСАНИЙ
  9. Построение здоровья
  10. § 3. Принципы построения системы (классификации) гражданских договоров
  11. I. 3. ОБЩАЯ ХАРАКТЕРИСТИКА СИСТЕМНЫХ ОПИСАНИЙ И МЕТОДОВ ИХ ПОСТРОЕНИЯ