
29.12.2011, 12:24
|
 |
Начинающий
|
|
Регистрация: 12.10.2008
Сообщения: 163
Репутация: -1588
|
|
Уже не могу понять в чем дело. Из Edita работает, переключаю на модуль Jerom, нажимаю кнопку "Проверить" и получаю ошибку (прилагается). Вроде все правильно. Проект тоже прилагается. Ну в ЧЕМ ошибка!!! 
Собственно процедура с ошибкой
PHP код:
procedure TForm1.Button12Click(Sender: TObject);
begin
{DecimalSeparator:='.';
}
RM :=5060.0;
CS1.Socket.SendText('$KE,ADC,1'#13#10);///Отправляем запрос на данные с 1 АЦП
Memo1.Text:=s;
Sleep(500);
If RadioButton1.Checked = true
then
s:=edit2.Text
else
s := CS1.Socket.ReceiveText;
i := pos(',',s);
if copy(s,0,i-1) = '#ADC' then begin///Если данные от АЦП
Edit3.Text := copy(s,0,i-1);
s := copy(s,i+1,length(s));
Edit6.Text := copy(s,i+1,length(s));
i := pos(',',s);
if copy(s,0,i-1) = '1' then begin///Если данные с первого канала
Edit4.Text := copy(s,0,i-1);
s:=StringReplace(s,'#13#10',' ',[rfReplaceAll, rfIgnoreCase]);///Удаляем #13#10
Edit5.Text := copy(s,i+1,length(s));
s := copy(s,i+1,length(s));///Получаем данные АЦП
Vadc:=strtofloat(s)/1023.0*3.3;///Расчет напряжения АЦП в вольтах
RT:= (Rm*Vadc)/(3.3 - Vadc);///Расчет сопротивления терморезистора в омах
f := (3988.0/({log}(RT/3000.0) + 3988.0/298.0))-273;///Расчет температуры в градусах Цельсия
Form1.Edit1.Text := FormatFloat('0.0000 C"',f);///Выводим показания температуры
end;
end;
end;
|