Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
ВнизGSM модем TCommPortDriver Найти похожие ветки
← →
Student :) © (2010-02-01 00:52) [0]пишу программу для работы с gsm модемом , с помощью компонента TCommPortDriver , Возникла проблема при приёме ответа модема(вместо текста приходит что то не понятное)
вот мой код
procedure TForm1.Button1Click(Sender: TObject);
begin
with CommPortDriver1 do begin
ComPort:= TComPortNumber(pnCOM01);
Disconnect;
if not Connect then begin
ShowMessage("ERROR");
exit;
end;
CommPortDriver1.SendString("AT" + #13#10);
end;
end;
через снифер com порта приходит что ок
а программа выдаёт (.Â…jÕRÿ)
вот приём
procedure TForm1.CommPortDriver1ReceiveData(Sender: TObject;
DataPtr: Pointer; DataSize: Integer);
var
s : string;
begin
s:= StringOfChar(" ", DataSize);
Move(DataPtr^, PChar(s)^, DataSize);
MEMO1.Lines.Add(s);
end;
как переделать чтоб в Memo был результат OK
← →
Германн © (2010-02-01 01:07) [1]
> Student :) © (01.02.10 00:52)
>
> пишу программу для работы с gsm модемом , с помощью компонента
> TCommPortDriver
Такого бредового кода я уже давно не видел!
← →
Student :) © (2010-02-01 01:09) [2]спасибо за прямоту!! но как переделать может подскажите??
← →
Германн © (2010-02-01 01:14) [3]
> Student :) © (01.02.10 01:09) [2]
>
> спасибо за прямоту!! но как переделать может подскажите?
> ?
Бред переделать нельзя по определению!
Ну вот как реагировать на такие действия:
> Disconnect;
> if not Connect then begin
> ShowMessage("ERROR");
> exit;
>
?
А это не единственный бредовый код.
К тому же я не знаю зверя по имени TCommPortDriver
← →
Anatoly Podgoretsky © (2010-02-01 01:18) [4]> Student :) (01.02.2010 01:09:02) [2]
Не переделать, а переписать все нах.
← →
Student :) © (2010-02-01 01:26) [5]мне главное ответ чтоб пришёл в читабельном виде
← →
KilkennyCat © (2010-02-01 01:33) [6]читабельность - это очень относительное и субъективное.
Изучай спецификацию.
Не имея данных ни о модеме, ни о каком-то там компоненте ничего однозначного сказать нельзя.
← →
Slym © (2010-02-01 08:12) [7]Student :) © (01.02.10 0:52)
s:= StringOfChar(" ", DataSize);
Move(DataPtr^, PChar(s)^, DataSize);
MEMO1.Lines.Add(s);var
s:ansistring;
begin
SetString(s,DataPtr,DataSize);
MEMO1.Lines.Add(s);
end;
← →
Student :) © (2010-02-01 15:50) [8]Спасибо буду пробывать
← →
Student :) © (2010-02-01 15:58) [9]я немного переделал на так
procedure TForm1.CommPortDriver1ReceiveData(Sender: TObject;
DataPtr: Pointer; DataSize: Integer);
var
s:ansistring;
begin
SetString(s,PChar(DataPtr),DataSize);
MEMO1.Lines.Add(s);
end;
← →
12 © (2010-02-01 18:50) [10]тебе 3 раза сказали - бред.
with CommPortDriver1 do
begin
ComPort:= TComPortNumber(pnCOM01);
назначил порт
Disconnect;
отключился
if not Connect then
begin
ShowMessage("ERROR");
exit;
end;
проверил, не отключен ли
CommPortDriver1.SendString("AT" + #13#10);
послал команду.
Вопрос. Кому? Ты ж сам отключился только что..
← →
Вариант (2010-02-02 05:26) [11]
> 12 © (01.02.10 18:50) [10]
> Вопрос. Кому? Ты ж сам отключился только что..
> if not Connect then
Вообще-то TCommPortDriver.Connect -это метод(функция)....
← →
12 © (2010-02-02 08:25) [12]н-да?
опять с прямым углом перепутал :)
← →
Дмитрий Белькевич (2010-02-04 18:49) [13]Да ладно, бред. Коннект - вполне нормальный, только непонятно вот это приведение:
ComPort:= TComPortNumber(pnCOM01);
Что такое pnCOM01?
И вот здесь:CommPortDriver1.SendString("AT" + #13#10);
CommPortDriver1 лишний.
> [9]
И что получилось?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.04.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.004 c