Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
2-1264937056
serhiyiv
2010-01-31 14:24
2010.04.04
mod


2-1265095670
Дмитрий С
2010-02-02 10:27
2010.04.04
Как скопировать форму?


15-1263301147
tmtlib
2010-01-12 15:59
2010.04.04
Самодельный ассемблер 0.3beta


6-1216131248
nickmas
2008-07-15 18:14
2010.04.04
Как программно присвоить машине сетевые настройки


2-1264604465
s_t_d
2010-01-27 18:01
2010.04.04
Delphi-MSWord, как получить "разрыв" страницы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский