Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2012, 11:34   #1
Диман856
Новичок
Джуниор
 
Регистрация: 17.05.2012
Сообщений: 1
Печаль Как сделать динамический график!?

Здравствуйте, помогите решить проблему ? плииз с COM порта идут данные строиться статичный график как сделать чтоб он отрисовывался в постоянном режиме (в динамике )???
вот прога

Код:
var
Form1: TForm1;
conf:array[1..256] of string;
ComPort:Thandle;
t,j:integer;
q,z:integer;
buf:array[1..4200] of AnsiChar;
implementation

{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
conf[1]:='1';
ComPort:=ComOpen('com'+conf[1]);
lbl1.Caption:='вкл';
j:=0 ;
q:=0;
t:=1;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ComWrite(ComPort,'E'+#10+#13);
sleep(200);
ComClose(ComPort);
end;


procedure TForm1.Timer1Timer(Sender: TObject);
var i,h:longint;
code,k,p:integer;
j1:integer;
x:char;
str,s:string;
newStr:array[1..2100] of string;
//buf:array[1..42000] of Char;
begin
j1:=1;
str:=ComRead(comPort);
if(str<>'') then
begin
for i:=1 to length(str) do
begin

if j>2110 then
begin timer1.Enabled:=false;

if Timer1.Enabled=True then lbl1.Caption:='on'
else lbl1.Caption:='off';
break;
end;
buf[j]:=str[j];
mmo1.Lines.add(IntToStr(j)+' '+inttostr(Ord(str[j]))+' '+IntToStr(j+1)+' '+inttostr(Ord(str[j+1])));
j:=j+2;


if ((j>8) and (j<2008)) then
Series1.AddXY((j-8),256*Ord(str[j+1])+Ord(str[j]));


end; 
end;
end;



procedure TForm1.Button1Click(Sender: TObject);
var temp:string;
i,p:integer;
begin

j:=1;i:=1;
Timer1.Enabled:=true;
if Timer1.Enabled=True then lbl1.Caption:='on'
else lbl1.Caption:='off';
ComWrite(ComPort,'G'+#10+#13);
temp:=ComRead(ComPort);
{if Timer1.Enabled=false then
while j<2110 do
begin
p:=ord(buf[j]); 
end; 


end;

procedure TForm1.N3Click(Sender: TObject);
begin
ComWrite(ComPort,'E'+#10+#13);
sleep(200);
ComClose(ComPort);
close();
end;

procedure TForm1.N2Click(Sender: TObject);
var path:string;
begin
SaveDialog1.Execute;
path:=SaveDialog1.FileName;
if path<>'' then memo1.Lines.SaveToFile(path);
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
ComWrite(ComPort,'T1'+#10+#13);t:=25
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
ComWrite(ComPort,'T2'+#10+#13);t:=50
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
ComWrite(ComPort,'T3'+#10+#13);t:=100
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
timer1.Enabled:=false;
end;

procedure TForm1.Exit1Click(Sender: TObject);
begin

Close;

end;

procedure TForm1.N5Click(Sender: TObject);
begin

Tmr1.Enabled:=True ;
end;

procedure TForm1.tmr1Timer(Sender: TObject);
begin

if Timer1.Enabled=False then


begin

Button1.Click ;

end;
begin
if tmr1.Enabled=True then lbl2.Caption:='on' else
lbl2.Caption:='off'
end; 


end;



procedure TForm1.N6Click(Sender: TObject);
begin
tmr1.Enabled:=False;
end;

end.


___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 17.05.2012 в 13:53.
Диман856 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать график работы Архитектора? Tortik21 Microsoft Office Excel 8 16.02.2012 17:19
как сделать график на делфи, который бы показывал скорость интернета. rezvei Помощь студентам 5 07.03.2011 14:48
Динамический график rmise Общие вопросы Delphi 3 07.04.2010 16:58
Посоветуйте, как лучше сделать бегущий график Shaienn Общие вопросы C/C++ 3 20.10.2009 18:31
Как сделать динамический title Ксеноцид PHP 5 29.05.2008 18:35