Главная страница
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.075 c
15-1170785730
Стаффаж
2007-02-06 21:15
2007.03.04
Программист ищет работу. "ин тим" - не предлагать.


15-1170942733
vasIZmax
2007-02-08 16:52
2007.03.04
Вопрос для орешника....


15-1170915853
wHammer
2007-02-08 09:24
2007.03.04
Ассемблер это что? Компилятор/интерпритатор/нечто уникальное?


2-1171281873
SergGG
2007-02-12 15:04
2007.03.04
Фон у TMemo


2-1171621980
Tolibas
2007-02-16 13:33
2007.03.04
fsMDIForm - > fsMDIChild -> fsNormal