Вниз
Скачать: CL | DM;

модем   Найти похожие ветки 

 
Sicilla ©   (2005-01-17 20:19) [0]

Подскажите, как мне включить/выключить динамик модема?


 
Sicilla ©   (2005-01-17 20:57) [1]

Я нашел такой код:
procedure TForm1.Button1Click(Sender: TObject);
var
  phoneCommand: string;
  CommPort: string;
  NumberWritten: LongInt;
begin
    PhoneCommand := "atm0" + #13 + #10;
    CommPort := "COM3";
    hCommFile := CreateFile(PChar(CommPort),GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
    if hCommFile = INVALID_HANDLE_VALUE then
       begin
            ShowMessage("Unable to open " + CommPort);
            exit;
       end;
    NumberWritten := 0;
    if WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil) = false then  //здесь ошибка.
       begin
            ShowMessage("Unable to write to " + CommPort);
       end;
    CloseHandle(hCommFile);
end;

Помогите, кто может


 
dimaxx ©   (2005-01-17 23:52) [2]

var
 phoneCommand: string;
 CommPort: string;
 NumberWritten: cardinal;
 hCommFile: THandle;

begin
 PhoneCommand:="atm0"+#13#10;
 CommPort:="COM3";
 hCommFile:=CreateFile(PChar(CommPort),GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
 if hCommFile=INVALID_HANDLE_VALUE then
   begin
     ShowMessage("Unable to open "+CommPort);
     Exit;
   end;
 if not WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil) then
   begin
     ShowMessage("Unable to write to "+CommPort);
   end;
 CloseHandle(hCommFile);
end;


 
Sicilla ©   (2005-01-18 17:02) [3]

В строке
WriteFile(hCommFile,PChar(PhoneCommand)^,Length(PhoneCommand),NumberWritten,nil)
у меня вылетает ошибка Types of actual and formal var parameters must be identical. Не могу понять в чем дело. Помогите!?


 
dimaxx ©   (2005-01-18 22:40) [4]

А мой код посмотреть лень? У меня все заработало.

NumberWritten должен быть типа cardinal (он же longword), а не longint. Вот оттуда и ошибка. Она означает, что типы передаваемого и объявленного параметров должны быть идентичными.


 
Sicilla ©   (2005-01-18 23:04) [5]

Я это понял, спасибо. Но теперь не могу вызвать правильную команду. Помоги, если не трудно.


 
dimaxx ©   (2005-01-19 23:27) [6]

Команда atm0 правильная. Может, в конце нулевой символ поставить, а не перевод строки? То есть "atm0"+#0



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
6-1104081220
Delta
2004-12-26 20:13
2005.03.06
запуск ехе на чужом компе


4-1105877516
KILLMAN
2005-01-16 15:11
2005.03.06
отследить открытие/закрыте CD-ROM


1-1108753570
Ji
2005-02-18 22:06
2005.03.06
Магнитные бури???


1-1108823266
Коля
2005-02-19 17:27
2005.03.06
есть StringGrid. как выделить текст в одной из ячеек програмно?


3-1107720718
Vovka_the_Carrot1
2005-02-06 23:11
2005.03.06
Копирование используемого стола в поток




   Наверх