Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение СМС из памяти мобилы


Barnaul ©   (2004-09-30 10:33:00) 

меня M55 С55 siemens
Я написал дозвон и отсылку смс
но проблемы с считыванием из памяти СМС ( только Входящие т.е 2 типа)
Вот текст процедурки на Delphi6 которая должна считывать смс из памяти
телефона проблема с readfile конкретно я считываю из буфера мусор

procedure TForm1.Button4Click(Sender: TObject);
var
i:integer;
nn:Pchar;
PhoneNumber: string;
NumberWritten,itten: dword;
begin
OpenComPort();
CloseComPort();
OpenComPort();
NumberWritten:=0;

PhoneNumber:= 'AT+CPMS="SM","SM"'+ #13 + #10;    // терминал выдает Sent: AT+CPMS="SM","SM"
                                                 //    +CPMS: 1,20,1,20,1,20
                                                 //          OK
if WriteFile(hCommFile,PChar(PhoneNumber)^,Length(PhoneNumber), NumberWritten, nil) //caienuaaai a ii?o
 = false then ShowMessage('Ошибка Записи');
NumberWritten:=0;
CloseComPort();
OpenComPort();
                              //сообщение храниться во входящих

//07919731121900F3040B919731129457F500004090928122722105C8329BFD06 закодированный текст Hello
PhoneNumber:= 'AT+CMGR=2"'+ #13 + #10;             //Sent: AT+CMGR=2
                                                   // +CMGR: 1,,24
                                                    // 07919731121900F3040B919731129457F500004090928122722105C8329BFD06
                                                     //   OK

if WriteFile(hCommFile,PChar(PhoneNumber)^,Length(PhoneNumber), NumberWritten, nil) //caienuaaai a ii?o
 = false then ShowMessage('Ioeaea caiene');
sleep(2000);
itten:=10;
readFile(hCommFile,nn,10,itten, nil);
CloseComPort();
end;

procedure OpenComPort ();
begin
 hCommFile := CreateFile(PChar(CommPort), //создаем порт
 GENERIC_WRITE or GENERIC_READ, 0, nil, OPEN_EXISTING,
 FILE_ATTRIBUTE_NORMAL, 0); // параметры порта
 if hCommFile=INVALID_HANDLE_VALUE then //если ошибка создания то выводим сообщение
 begin ShowMessage('Ошибка открытия порта '+ CommPort); exit;  end;
end;

//процедура закрытия порта
procedure CloseComPort ();
begin  CloseHandle(hCommFile);
end;


Erik1   (2004-09-30 11:07:00) [1]

Ты вопрос сформулируй. И используй готовые компоненты чтения из com порта, лучше с асинхроным чтением "VARIAN ASYNC32 COMPONENT v1.48".


Наверх

Титульная страница Поиск, карта сайта Написать письмо