Visual Basic, .NET, ASP, VBScript
 

   
   
     

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

Страница: 1 |

 

  Вопрос: Как в VB обратиться к удаленному компьютеру? Добавлено: 06.05.13 16:31  

Автор вопроса:  ivanovivan
Есть форма, которая отдаёт команды для презентации PowerPoint. Задача в том, чтобы форма с тем же успехом это делала по локальной сети. А презентация, в свою очередь, должна уметь посылать команды этой форме. Помогите! С сетевыми командами никогда дела не имел

Ответить

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

Номер ответа: 1
Автор ответа:
 Cramper



Вопросов: 15
Ответов: 93
 Профиль | | #1 Добавлено: 07.05.13 08:27
VB какая версия?
Используйте для команд сетевой путь, например,

\\Ivanov\c\MyFolder\

где с, конечно диск, к которому должен быть прописан доступ.

Ответить

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



Вопросов: 1
Ответов: 5
 Профиль | | #2 Добавлено: 07.05.13 11:03
VB6

Сегодня попробую этот вариант, но в идеале не должно быть привязки к конкретному компьютеру, т.к. программа должна работать в любой локальной сети. Тут наверно надо сначала искать компы рабочей группы и всякое такое...
На форме всего одна кнопка, но она посылает сразу несколько команд. Не будет ли такой способ работать медленно, ведь каждая команда, получается, будет заново обращаться к сети?

Ответить

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



Вопросов: 15
Ответов: 93
 Профиль | | #3 Добавлено: 07.05.13 12:38
У меня был такой опыт в VB6, правда компы(адреса) были прописаны, вернее задавались в базе. Логичнее было бы перед началом работы на форме задавать компьютеры, с которыми предполагается обмен.

Ответить

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



Вопросов: 1
Ответов: 5
 Профиль | | #4 Добавлено: 07.05.13 12:55
А как сделать в самом простом варианте - с конкретным адресом компа? вот то, что у меня работает на локальном компе (код формы):

  1. Private Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long
  2.  
  3. Private Sub Command1_Click()
  4.  
  5. Dim App As New PowerPoint.Application
  6.  
  7. If App.Presentations.Application.SlideShowWindows.Count Then
  8.  
  9.    Set Present = App.Presentations.Application.ActivePresentation
  10.    Dim ppSlide As PowerPoint.Slide
  11.    Set ppSlide = Present.SlideShowWindow.View.Slide
  12.    
  13.  
  14.      If ppSlide.Shapes("test").TextFrame.TextRange.Text = "+" Then
  15.      ppSlide.Shapes("t2").TextFrame.TextRange.Text = ppSlide.Shapes("t1").TextFrame.TextRange.Text
  16.          If ppSlide.Shapes("r1").TextFrame.TextRange.Text = "" Then
  17.          ppSlide.Shapes("r1").TextFrame.TextRange.Text = "Красные"
  18.          ppSlide.Shapes("vrem1").TextFrame.TextRange.Text = ppSlide.Shapes("t1").TextFrame.TextRange.Text
  19.          ElseIf ppSlide.Shapes("r2").TextFrame.TextRange.Text = "" Then
  20.          ppSlide.Shapes("r2").TextFrame.TextRange.Text = "Красные"
  21.          ppSlide.Shapes("vrem2").TextFrame.TextRange.Text = ppSlide.Shapes("t1").TextFrame.TextRange.Text
  22.          ElseIf ppSlide.Shapes("r3").TextFrame.TextRange.Text = "" Then
  23.          ppSlide.Shapes("r3").TextFrame.TextRange.Text = "Красные"
  24.          ppSlide.Shapes("vrem3").TextFrame.TextRange.Text = ppSlide.Shapes("t1").TextFrame.TextRange.Text
  25.          End If
  26.      Call mciExecute("play C:\z1.mp3")
  27.      End If
  28.    
  29.    End If
  30.  
  31. End Sub

Ответить

Номер ответа: 5
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #5
Добавлено: 07.05.13 13:29
Клиент-серверное приложение. Форма с кнопкой - клиент. Можно перебрать компьютеры в локальной сети, пытаться подключиться к каждому из них на заранее определенный порт. При успешном подключении к порту по придуманному Вами протоколу проверяется,тот ли это компьютер с нужным сервером? Далее код, работавший ранее в обработчике кнопки выносим в сервер и выполняем на сервере этот код по ключевому слову, переданному в рамках нашего маленького протокола. Как-то так. Как работать с сетью - почитайте про сокеты.

Ответить

Номер ответа: 6
Автор ответа:
 ivanovivan



Вопросов: 1
Ответов: 5
 Профиль | | #6 Добавлено: 07.05.13 14:11
Покопал винсокет, разобрался как обменяться с компа на комп текстовым сообщением. Уточните: код кнопки я переношу в свою презентацию-исполнитель, а вместо этого указываю в кнопке что-то типа tcpServer.SendData txtSendData.Text. Так? А в презентации, читающей порт, сделать условие - если в текстовом поле появилось слово, то запустить команды. Правильно я вас понял?

Ответить

Номер ответа: 7
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #7 Добавлено: 10.05.13 03:37
Уже испытал наверное.

Ответить

Номер ответа: 8
Автор ответа:
 ivanovivan



Вопросов: 1
Ответов: 5
 Профиль | | #8 Добавлено: 10.05.13 14:58
внедрил винсокет в форму в самой презентации (и сделал её невидимой), иначе винсокет не работал.
сигнал принимается :)
но вот как в обратном направлении сигнал отправить из формы...
пробовал так: запускал по нажатию кнопки на слайде макрос, который копирует в текстовое поле формы ключевое слово. на форме ставил условие: если в текстовом поле есть ключевое слово, то отправить команду по сети... но во время работы формы это сделать не получается: ключевое слово в форму не добавляется.
как заставить форму в процессе работы реагировать на изменения?

Ответить

Номер ответа: 9
Автор ответа:
 AWP



ICQ: 345685652 

Вопросов: 96
Ответов: 1212
 Web-сайт: xawp.narod.ru
 Профиль | | #9
Добавлено: 10.05.13 15:18
Событие есть такое:
  1. Private Sub Text1_Change()
  2.  
  3. End Sub

Ответить

Номер ответа: 10
Автор ответа:
 ivanovivan



Вопросов: 1
Ответов: 5
 Профиль | | #10 Добавлено: 10.05.13 16:27
Спасибо! Теперь буду тестировать в локальной сети со несколькими компьютерами. Следующая задача, чтобы всё работало на любой версии винды и офиса

Ответить

Страница: 1 |

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



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