end;
end.
3. РАБОТА С «TCHART»
Компонент «TChart» предназначен для отображения численных данных в виде диаграмм различного вида: линейных, круговых, точечных и др. Компонент «TChart» может одновременно отображать несколько графиков, называемых «сериями». Компонент автоматически масштабирует оси, позволяет производить аппроксимацию данных, увеличивать и уменьшать фрагменты графиков. Настройка внешнего вида компонента и задание количества серий в нем обычно производится через двойной щелчок по нему во время разработки программы.
Рассмотрим на простейшем примере работу с компонентом «TChart». Поместите компонент на форму, щелкните по нему мышью двойным щелчком. В появившемся меню выберите вкладку «Series» и нажмите на ней кнопку «Add» дважды, чтобы создать две пустые серии. При нажатии на кнопку «Add» нужно будет указать вид графика для создаваемой серии (линейный, круговой и т.д.). Все остальные настройки будут производиться программным путем. Cодержимое процедур-обработчиков программы приведено ниже.
procedure TForm1.Button1Click(Sender: TObject);
{ Загрузить серию 1 из мемо – компонента }
var n: integer;
begin
for n:=0 to memo1.lines.count-1 do
{ Добавляем в первую серию число с наклейкой к нему и данным цветом }
Chart1.series[0].add(strtofloat(memo1.lines[n]), inttostr(n),clBlue);
end;
procedure TForm1.Button2Click(Sender: TObject);
{ Загрузить синусоиду в серию 2 }
var n: integer;
begin
for n:=0 to 10 do Chart1.series[1].add(sin(n),inttostr(n)+’!’,clRed);
end;
procedure TForm1.Button3Click(Sender: TObject);
{ Очистка графиков (серий) }
begin
Chart1.series[0].clear; Chart1.series[1].clear;
end;
procedure TForm1.Chart1ClickSeries(Sender: TCustomChart; Series: TChartSeries;
ValueIndex: Integer; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
{ Щелчок мыши по серии }
begin
ShowMessage(' Выбрали серию: '+Series.Title+'; точку N: '+
inttostr(valueindex+1)+' со значением Y= '+floattostr(Series.YValues.Value[valueindex]));
end;
procedure TForm1.FormActivate(Sender: TObject);
{ Настройка компонента }
begin
Chart1.title.text.clear; Chart1.title.text.add('Пример'); Chart1.title.text.add('двух графиков');
Chart1.series[0].title:='Серия-1'; Chart1.series[1].title:='Серия-2';
Chart1.series[0].SeriesColor:=clBlue; Chart1.series[1].SeriesColor:=clRed;
Chart1.cursor:=crCross; { Вид курсора над графиками в виде прицела }
end;
procedure TForm1.Chart1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
{ Перемещение мыши над графиком }
begin
StatusBar1.Panels[0].Text := 'x='+floattostr(x)+ ' y='+floattostr(y);
StatusBar1.Panels[1].Text := 'x='+floattostr( chart1.series[0].XScreenToValue(x))+
' y='+floattostr(chart1.series[0].YScreenToValue(y));
end;
Данный компонент имеет очень много возможностей и настроек, которые можно узнать из справочной системы «Delphi».
4. ПРОСТЕЙШАЯ РАБОТА СО ЗВУКОМ
procedure TForm1.Button1Click(Sender: TObject);
var k,i,j:integer;