Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.045 c
2-1171298798
Zvezda
2007-02-12 19:46
2007.03.04
Движение


2-1171364920
Sapos
2007-02-13 14:08
2007.03.04
Запуск программы


4-1161439978
#0FFFF
2006-10-21 18:12
2007.03.04
GetFileVersionInfo


15-1171056753
vasIZmax
2007-02-10 00:32
2007.03.04
Глюк?! или ...


2-1171113891
так себе
2007-02-10 16:24
2007.03.04
Перерисовка StatusBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский