Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.04;
Скачать: CL | DM;

Вниз

Как соединить два компа при помощи модемов?   Найти похожие ветки 

 
PanModem   (2006-09-25 18:42) [0]

Как соединить два компа при помощи модемов? Как это делает Hyper Terminal?


 
PanModem   (2006-09-25 18:50) [1]

function Tmainform.SetupCOMPort: Boolean;
const RxBufferSize = 256;
 TxBufferSize = 256;
var DCB: TDCB;
 Config: string;
 CommTimeouts: TCommTimeouts;
begin
 Result := True;
 if not SetupComm(ComFile, RxBufferSize, TxBufferSize) then
   Result := False;
 if not GetCommState(ComFile, DCB) then
   Result := False;

 Config := "baud=" + IntToStr(ComSpeed) + " parity=n data=8 stop=1"; //Устанавливаем скорость
 if not BuildCommDCB(@Config[1], DCB) then
   Result := False;
 if not SetCommState(ComFile, DCB) then
   Result := False;

 with CommTimeouts do
   begin
     ReadIntervalTimeout := 0;
     ReadTotalTimeoutMultiplier := 0;
     ReadTotalTimeoutConstant := 1000;
     WriteTotalTimeoutMultiplier := 0;
     WriteTotalTimeoutConstant := 1000;
   end;
 if not SetCommTimeouts(ComFile, CommTimeouts) then
   Result := False;
end;


Вот так я подключаюсь к момеду

procedure Tmainform.Connect;
begin
 ComString := "COM4";
 ComSpeed := 9200;

 if OpenCOMPort = true then //Открываем порт…
 begin
   mainform.Canvas.Draw(Image2.Left,Image2.Top,f1);
   if SetupCOMPort = true then //…и конфигурируем его
   begin
     mainform.Canvas.Draw(Image2.Left,Image2.Top,f2);
     Terminal.Lines.Add("Подключено к "+ComString+" на "+INtTostr(ComSpeed)+"Б\С");
   end;
 end;
 Sleep(1500); //засыпаем на полторы секунды чтобы дать время на соединение
end;
function Tmainform.OpenCOMPort: Boolean;
var DeviceName: array[0..80] of Char;
 Device: string;
begin
 Device := ComString;
 StrPCopy(DeviceName, Device);
 ComFile := CreateFile(DeviceName,
   GENERIC_READ or GENERIC_WRITE,
   0,
   nil,
   OPEN_EXISTING,
   FILE_ATTRIBUTE_NORMAL,
   0);
 if ComFile = INVALID_HANDLE_VALUE then
   begin
     Result := False;
     Status := Result;
   end
 else
   begin
     Result := True;
     Status := Result;
   end;

end;


 
PanModem   (2006-09-25 18:53) [2]

А как звонить и передавать файлы? Другого соединения нет.


 
Reindeer Moss Eater ©   (2006-09-25 20:04) [3]

Позвонить : записать в открытый порт "atd" + номер телефона + CR
Передать файл : открыть файл, прочитать в буфер, записать буфер в порт. Повторить пока файл не будет передан целиком.


 
PanModem   (2006-09-25 23:37) [4]

Спасибо, а какая команда записывает буфер в модем?


 
PanModem   (2006-09-25 23:40) [5]

И каков должен быть размер буфера


 
Reindeer Moss Eater ©   (2006-09-26 00:23) [6]

Спасибо, а какая команда записывает буфер в модем?
Нет никакого модема. Есть только открытый порт и writefile.

И каков должен быть размер буфера
Любой. Какой больше нравится.


 
PanModem   (2006-09-26 00:29) [7]

Сенькью



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

Текущий архив: 2007.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.057 c
5-1149162789
StriderMan
2006-06-01 15:53
2007.03.04
Реализация UNDO (редактор формы)


2-1171449625
Vlad Oshin
2007-02-14 13:40
2007.03.04
А есть какие то способы отладки CGI приложений? Какие?


1-1168630485
Dmitry_177
2007-01-12 22:34
2007.03.04
Определить путь к программе зная ее хендл окна


2-1171554947
-=dimon=-
2007-02-15 18:55
2007.03.04
Ошибка при работе с нетипизированными файлами


2-1171352745
начинающий2007
2007-02-13 10:45
2007.03.04
структура база