![]() |
|
|
|
|
#1 | |
|
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9825 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
|
|
|
|
|
|
|
#2 | |
|
Senior Member
Регистрация: 24.04.2014
Сообщений: 120
Вес репутации: 0 ![]() |
Цитата:
вот код C# окна программы Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;
namespace RobotGUI
{
public partial class Main_Window : Form // класс формы окна
{
TcpClient client; //объявляем переменную клиента TCP
StreamReader sr; // ридер потока, чтобы считывать инфу
StreamWriter sw; // райтер потока, чтобы записывать инфу
public Main_Window()
{
InitializeComponent();
}
private void play_Click(object sender, EventArgs e) // обработчик нажатия на клавишу Play включает обработку видео
{
try
{
AMC.Play();
txtbox.Focus();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void stop_Click(object sender, EventArgs e) // аналогично, только останавливает обработку видео
{
try
{
AMC.Stop();
txtbox.Focus();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void connect_Click(object sender, EventArgs e) // обработчик подключения к mr3020
{
try
{
client = new TcpClient("192.168.100.100", 135); // открывает TCP клиента, подключаем его по айпи 192.168.100.100 и порту 135
sr = new StreamReader(client.GetStream()); // инициализируем ридер и райтер
sw = new StreamWriter(client.GetStream());
if (client.Connected)
{
connecting_groupbox.Text = "Connected";
}
txtbox.Focus();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void disconnect_Click(object sender, EventArgs e) // обработчик нажатия на кнопку разъединения, просто останавливает машинку и закрывает соединение
{
try
{
if (client.Connected)
{
sw.Write('x');
sw.Flush();
sw.Close();
sr.Close();
client.Close();
txtbox.Focus();
}
if (!client.Connected)
{
connecting_groupbox.Text = "Disconnected";
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void txtbox_KeyPress(object sender, KeyPressEventArgs e) // при нажатии на w/a/s/d/x/ц/ф/ы/в/ч передает их машинке
{
if (client != null)
{
if ((e.KeyChar == 'w') || (e.KeyChar == 's') || (e.KeyChar == 'a') || (e.KeyChar == 'd') || (e.KeyChar == 'x')
|| (e.KeyChar == 'ц') || (e.KeyChar == 'ы') || (e.KeyChar == 'ф') || (e.KeyChar == 'в') || (e.KeyChar == 'ч'))
{
try
{
if (e.KeyChar == 'ц') { e.KeyChar = 'w'; }
else
if (e.KeyChar == 'ы') { e.KeyChar = 's'; }
else
if (e.KeyChar == 'ф') { e.KeyChar = 'a'; }
else
if (e.KeyChar == 'в') { e.KeyChar = 'd'; }
else
if (e.KeyChar == 'ч') { e.KeyChar = 'x'; }
sw.Write(e.KeyChar);
sw.Flush();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
txtbox.Text = "";
return;
}
if (Char.IsControl(e.KeyChar))
{
txtbox.Text = "";
return;
}
// остальные символы запрещены
txtbox.Text = "";
e.Handled = true;
}else{
MessageBox.Show("You were not been connected to device!");
}
}
private void Main_Window_FormClosing(object sender, FormClosingEventArgs e) // то же самое, что кнопка закрытия соединения
{
try
{
if(client != null)
if (client.Connected)
{
sw.Write('x');
sw.Flush();
sw.Close();
sr.Close();
client.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return;
}
private void Main_Window_Shown(object sender, EventArgs e)
{
txtbox.Focus();
}
private void txtbox_Leave(object sender, EventArgs e)
{
txtbox.Focus();
}
}
}
Последний раз редактировалось NeaWeaR; 15.11.2014 в 20:19. |
|
|
|
|
![]() |
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|
|