Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Модемное соединение Добавлено: 31.03.04 19:03  

Автор вопроса:  Scald

Как средствами VB создать соединение по модему между двумя компами?

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 Диман



ICQ: 224590251 

Вопросов: 29
Ответов: 64
 Web-сайт: www.dimon1int.narod.ru
 Профиль | | #1
Добавлено: 31.03.04 22:03

Блин. Используй mscomm. Там разберись, почитай мануалы. Чтобы набрать номер - нужно присвоить свойству Output значение ATDP<номер>. Там есть событие, оно реагирует на многие изменения, включая входящий звонок. В этом случае свойство CommEvent будет равно comEvRing. Тогда нужно послать сообщение "ATA". После подключения можно будет отправлять и принимать. Если выставить RThreshold равным 1, при приходе данных возникнет OnComm и CommEvent свойство будет равно comEvReceive, а полученные данные будут содержаться в Input. Всё. RTFM, как говорится.

Ответить

Номер ответа: 2
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #2 Добавлено: 06.04.04 17:20

Ну да, сам по форумам недавно ходил с подобным вопросом, задай поиск - типа comm - море топиков было на форуме, и вот в итоге с этой темой я разобрался, написал кусок проги, далее всунул туда еще вот -что при пересылке вычислялась контрольная сумма пересылаемого блока (т.к. буфер имеет какойто размер), сначала отсылал текст, пришло сообщение - текст принят, потом контрольную сумму - ответ ОК (принята), контрольную сумму повторно (сверено, если одинаковы, проверяем контрольную сумму отправленного блока, если сходится - отправляем ОК), и шлем следующий блок.

примеров в инете валом.

По поводу контрольной суммы:

'?????????? ??????????? ????? ?? ????????? CRC32

'am 030924

'??????? ?? ????????? ??????? ?? ?++

Option Explicit

Private Declare Function timeGetTime Lib "winmm.dll" () As Long

Private Declare Sub MemCopy Lib "kernel32" Alias _

"RtlMoveMemory" (dest As Any, src As Any, _

ByVal numbytes As Long)

' ***************************************************

' Table used by CRC Calculation Algorithm

' ***************************************************

Private crctab32(0 To 255) As Long

Private Sub Class_Initialize()

'???????? ??????

crctab32(0) = &H0: crctab32(1) = &H77073096: crctab32(2) = &HEE0E612C: crctab32(3) = &H990951BA

crctab32(4) = &H76DC419: crctab32(5) = &H706AF48F: crctab32(6) = &HE963A535: crctab32(7) = &H9E6495A3:

crctab32(8) = &HEDB8832: crctab32(9) = &H79DCB8A4: crctab32(10) = &HE0D5E91E: crctab32(11) = &H97D2D988:

crctab32(12) = &H9B64C2B: crctab32(13) = &H7EB17CBD: crctab32(14) = &HE7B82D07: crctab32(15) = &H90BF1D91:

crctab32(16) = &H1DB71064: crctab32(17) = &H6AB020F2: crctab32(18) = &HF3B97148: crctab32(19) = &H84BE41DE:

crctab32(20) = &H1ADAD47D: crctab32(21) = &H6DDDE4EB: crctab32(22) = &HF4D4B551: crctab32(23) = &H83D385C7:

crctab32(24) = &H136C9856: crctab32(25) = &H646BA8C0: crctab32(26) = &HFD62F97A: crctab32(27) = &H8A65C9EC:

crctab32(28) = &H14015C4F: crctab32(29) = &H63066CD9: crctab32(30) = &HFA0F3D63: crctab32(31) = &H8D080DF5:

crctab32(32) = &H3B6E20C8: crctab32(33) = &H4C69105E: crctab32(34) = &HD56041E4: crctab32(35) = &HA2677172:

crctab32(36) = &H3C03E4D1: crctab32(37) = &H4B04D447: crctab32(38) = &HD20D85FD: crctab32(39) = &HA50AB56B:

crctab32(40) = &H35B5A8FA: crctab32(41) = &H42B2986C: crctab32(42) = &HDBBBC9D6: crctab32(43) = &HACBCF940:

crctab32(44) = &H32D86CE3: crctab32(45) = &H45DF5C75: crctab32(46) = &HDCD60DCF: crctab32(47) = &HABD13D59:

crctab32(48) = &H26D930AC: crctab32(49) = &H51DE003A: crctab32(50) = &HC8D75180: crctab32(51) = &HBFD06116:

crctab32(52) = &H21B4F4B5: crctab32(53) = &H56B3C423: crctab32(54) = &HCFBA9599: crctab32(55) = &HB8BDA50F:

crctab32(56) = &H2802B89E: crctab32(57) = &H5F058808: crctab32(58) = &HC60CD9B2: crctab32(59) = &HB10BE924:

crctab32(60) = &H2F6F7C87: crctab32(61) = &H58684C11: crctab32(62) = &HC1611DAB: crctab32(63) = &HB6662D3D:

crctab32(64) = &H76DC4190: crctab32(65) = &H1DB7106: crctab32(66) = &H98D220BC: crctab32(67) = &HEFD5102A:

crctab32(68) = &H71B18589: crctab32(69) = &H6B6B51F: crctab32(70) = &H9FBFE4A5: crctab32(71) = &HE8B8D433:

crctab32(72) = &H7807C9A2: crctab32(73) = &HF00F934: crctab32(74) = &H9609A88E: crctab32(75) = &HE10E9818:

crctab32(76) = &H7F6A0DBB: crctab32(77) = &H86D3D2D: crctab32(78) = &H91646C97: crctab32(79) = &HE6635C01:

crctab32(80) = &H6B6B51F4: crctab32(81) = &H1C6C6162: crctab32(82) = &H856530D8: crctab32(83) = &HF262004E:

crctab32(84) = &H6C0695ED: crctab32(85) = &H1B01A57B: crctab32(86) = &H8208F4C1: crctab32(87) = &HF50FC457:

crctab32(88) = &H65B0D9C6: crctab32(89) = &H12B7E950: crctab32(90) = &H8BBEB8EA: crctab32(91) = &HFCB9887C:

crctab32(92) = &H62DD1DDF: crctab32(93) = &H15DA2D49: crctab32(94) = &H8CD37CF3: crctab32(95) = &HFBD44C65:

crctab32(96) = &H4DB26158: crctab32(97) = &H3AB551CE: crctab32(98) = &HA3BC0074: crctab32(99) = &HD4BB30E2:

crctab32(100) = &H4ADFA541: crctab32(101) = &H3DD895D7: crctab32(102) = &HA4D1C46D: crctab32(103) = &HD3D6F4FB:

crctab32(104) = &H4369E96A: crctab32(105) = &H346ED9FC: crctab32(106) = &HAD678846: crctab32(107) = &HDA60B8D0:

crctab32(108) = &H44042D73: crctab32(109) = &H33031DE5: crctab32(110) = &HAA0A4C5F: crctab32(111) = &HDD0D7CC9:

crctab32(112) = &H5005713C: crctab32(113) = &H270241AA: crctab32(114) = &HBE0B1010: crctab32(115) = &HC90C2086:

crctab32(116) = &H5768B525: crctab32(117) = &H206F85B3: crctab32(118) = &HB966D409: crctab32(119) = &HCE61E49F:

crctab32(120) = &H5EDEF90E: crctab32(121) = &H29D9C998: crctab32(122) = &HB0D09822: crctab32(123) = &HC7D7A8B4:

crctab32(124) = &H59B33D17: crctab32(125) = &H2EB40D81: crctab32(126) = &HB7BD5C3B: crctab32(127) = &HC0BA6CAD:

crctab32(128) = &HEDB88320: crctab32(129) = &H9ABFB3B6: crctab32(130) = &H3B6E20C: crctab32(131) = &H74B1D29A:

crctab32(132) = &HEAD54739: crctab32(133) = &H9DD277AF: crctab32(134) = &H4DB2615: crctab32(135) = &H73DC1683:

crctab32(136) = &HE3630B12: crctab32(137) = &H94643B84: crctab32(138) = &HD6D6A3E: crctab32(139) = &H7A6A5AA8:

crctab32(140) = &HE40ECF0B: crctab32(141) = &H9309FF9D: crctab32(142) = &HA00AE27: crctab32(143) = &H7D079EB1:

crctab32(144) = &HF00F9344: crctab32(145) = &H8708A3D2: crctab32(146) = &H1E01F268: crctab32(147) = &H6906C2FE:

crctab32(148) = &HF762575D: crctab32(149) = &H806567CB: crctab32(150) = &H196C3671: crctab32(151) = &H6E6B06E7:

crctab32(152) = &HFED41B76: crctab32(153) = &H89D32BE0: crctab32(154) = &H10DA7A5A: crctab32(155) = &H67DD4ACC:

crctab32(156) = &HF9B9DF6F: crctab32(157) = &H8EBEEFF9: crctab32(158) = &H17B7BE43: crctab32(159) = &H60B08ED5:

crctab32(160) = &HD6D6A3E8: crctab32(161) = &HA1D1937E: crctab32(162) = &H38D8C2C4: crctab32(163) = &H4FDFF252:

crctab32(164) = &HD1BB67F1: crctab32(165) = &HA6BC5767: crctab32(166) = &H3FB506DD: crctab32(167) = &H48B2364B:

crctab32(168) = &HD80D2BDA: crctab32(169) = &HAF0A1B4C: crctab32(170) = &H36034AF6: crctab32(171) = &H41047A60:

crctab32(172) = &HDF60EFC3: crctab32(173) = &HA867DF55: crctab32(174) = &H316E8EEF: crctab32(175) = &H4669BE79:

crctab32(176) = &HCB61B38C: crctab32(177) = &HBC66831A: crctab32(178) = &H256FD2A0: crctab32(179) = &H5268E236:

crctab32(180) = &HCC0C7795: crctab32(181) = &HBB0B4703: cr

Ответить

Номер ответа: 3
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #3 Добавлено: 06.04.04 17:37

Глюкануло что-то, так вот передавал данные - набор записей, но преобразовывал его в XML - так вроде-бы быстрее передается:

Option Compare Database

Option Explicit

'Private m_Recordsett As ADODB.Recordsett

Private m_Stream As ADODB.Stream

Public Function RecordsettXML(ByVal Recordsett As ADODB.recordset) As String

'?? ?????????? ? XML

On Error GoTo GetDataErr

'Set m_Recordsett = New ADODB.Recordsett

'm_Recordsett.Open , , adOpenForwardOnly, adLockReadOnly

'????????? ? Stream

'Dim m_Stream As ADODB.Stream

Set m_Stream = New ADODB.Stream

Recordsett.Save m_Stream, adPersistXML

' ??????? ?? Stream

RecordsettXML = m_Stream.ReadText

GetDataExit:

Set Recordsett = Nothing

Set m_Stream = Nothing

Exit Function

GetDataErr:

Debug.Print Err.Description

MsgBox Err.Description

Resume GetDataExit

End Function

Public Function XMLRecordsett(ByVal RecString As String) As ADODB.recordset

'Public Function XML_Record(ByVal Stream As String) As ADODB.Recordset

On Error GoTo XML_RecordErr

Set m_Stream = New ADODB.Stream

m_Stream.Open

m_Stream.WriteText RecString

m_Stream.Position = 0

Dim Recordsett As New ADODB.recordset

Set Recordsett = New ADODB.recordset

Recordsett.Open m_Stream

Set XMLRecordsett = Recordsett

'XML_Record = True

GetDataExit:

Set m_Stream = Nothing

Set Recordsett = Nothing

Exit Function

XML_RecordErr:

'XML_Record = False

Debug.Print Err.Description

MsgBox Err.Description

Resume GetDataExit

End Function

Ответить

Номер ответа: 4
Автор ответа:
 SHDZ



ICQ: 209382104 

Вопросов: 39
Ответов: 244
 Профиль | | #4 Добавлено: 06.04.04 17:43

Ну и на последок у самого ВОПРОС:

Ведь можно средствами винды создать удаленное подключение к другому компу, я это настроил, чтоб не возиться с проверками и т.д., и подключаться непосредственно на удаленном компе к базе данных,

КАК ПРОГРАМНО ЗАПУСКАТЬ настроенное соединение, проверить что оно установлено, а потом закрыть?

Понятно что это надо средствами API но в описаниях функций не нашел - кто знает???

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам