Visual Studio

  • Автор теми Cris
  • Дата створення

Cris

Member
ну создал тему, задавайте вопросы, сам сталкивался с проблемами. но покачто все решил, еси что буду тут отписываться.

покачто страдаю написанием прог на кпк, вот калькулятор написал:
числа использоуються до 10Е300, но калькулятор на стадии разработки и поэтому когда появляеться на экране буквы Е,он вылетает,
работает и на кпк и на обычном компе.

у самого есть кпк, ои зочеться чтото нового и нестандартного, ну а начал с hello world, и вот покачто калькулятор, буду в школу тягать)

вобшемто вот:

вобшемто вот как писать на Visual Studio под кпк:

напиши без картинок:
Введение.
Сейчас КПК и другие мобильные прибамбасы есть уже наверное у каждого десятого. То есть у многих. А раз есть КПК — значит, нужны и программы к ним ). Также очень часто встречается ситуация, что нужная программка для наладонника есть, но она платная). А еще может быть, что Вам самим захочется добавить какие-нибудь функции для Вашего любимого девайса. В этом Вам поможет наш небольшой обзор. Писать будем на языке С# в всенародно любимой Visual Studio 2005. Вы увидите, что писать такие приложения совсем несложно и процесс не очень отличается от написания программ для обычных компьютеров x86.

Эмулятор Pocket PC.

Прежде всего уясним, что наши приложения будут написаны для платформы Windows Mobile. Чтобы сделать жизнь разработчика проще и приятнее, в VS2005 включили эмулятор мобильного детища майкрософт). С его помощью разработка приложений под мобильные платформы происходит почти так же, как под обычные x86-компьютеры. В состав Visual Studio 2005 входит эмулятор Windows Mobile 2003, поэтому наши приложения будут написаны именно под нее. Сейчас уже вышли Windows Mobile версии 5.0 и 6.0, поэтому при программировании под современные КПК могут быть небольшие отличия.
В общем, приступим). Вот так выглядит окно эмулятора Pocket PC:
"картинка"
Создаём приложение для КПК.

Запускаем Visual Studio и создаем новое приложение.
"картинка"

Перед нами появится форма приложения. Т.к. в Windows Mobile нет возможности произвольно задавать размер окна, форма приложения занимает весь экран наладонника.
Разместим на форме компоненты:

1. 2 Label`a
2. 2 TextBox`a
3. 1 MainMenu
4. 1 PictureBox


Дадим им новые названия, и в итоге получится вот такая форма:
"картинка"

Теперь добавим какие-нибудь функции в наше приложение. Что интересно, можно сделать обработку нажатия всех клавиш ). И все они будут работать внутри приложения). Если Вы не сделаете обработку каких-либо клавиш, они просто будут иметь дефолтное значние. Для изменения функции клавиш достаточно нажать на одну из кнопок КПК на форме, и вы сразу можете писать свой код обработки нажатия клавиши.
"картинка"

Вот пример кода для программирования кнопок на КПК:

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((e.KeyCode == System.Windows.Forms.Keys.Up))
{
// Rocker Up
// Up
}
if ((e.KeyCode == System.Windows.Forms.Keys.Down))
{
// Rocker Down
// Down
}
if ((e.KeyCode == System.Windows.Forms.Keys.Left))
{
// Left
}
if ((e.KeyCode == System.Windows.Forms.Keys.Right))
{
// Right
}
if ((e.KeyCode == System.Windows.Forms.Keys.Enter))
{
// Enter
}
}* This source code was highlighted with Source Code Highlighter.


На кнопку “Enter” можете прописать код типа вот такого:

//Обработка события по нажатию клавишы «Enter»
if ((e.KeyCode == System.Windows.Forms.Keys.Enter))
{
MessageBox.Show(«Это текст сообщения», «Сообщение!»);
}* This source code was highlighted with Source Code Highlighter.


Далее скомпилируем приложение, нажав на клавишу F5. При нажатии на кнопку Enter мы увидим сообщение.
Теперь задействуем ранее добавленные нами кнопки. Дважды кликнув на форме на кнопку PushMe!, приступим к написанию обработчика для нее:

private void button1_Click(object sender, EventArgs e)
{
//Если в поле введены верные данные то выведем сообщение об этом
if (LoginTb.Text == «Login» && PasswordTb.Text == «Password»)
{
MessageBox.Show(«Вы успешно авторизованы!»,«Information»);
}
//Иначе
else
{
MessageBox.Show(«Не верный Логин/Пароль!!!», «Information»);
}
}

* This source code was highlighted with Source Code Highlighter.
Снова скомпилируем программу и посмотрим на результаты. Теперь, если ввести в графы Login и Password те самые слова «Login» и «Password» (оба слова с большой буквы), мы получим сообщение «Вы успешно авторизованы».После компиляции в папке Debug появляется exe-файл.

Заключение.

Как вы убедились, программирование приложений для обычных компьютеров и для КПК ничем особенным не отличается. В случае КПК все может быть даже проще из-за того, что требования для таких приложений менее серьезные, чем для приложений для «обычной» Windows. В общем, это стоит попробовать, особенно если у вас есть свой наладонник :). Далее вы можете написать любое приложение, на сколько вам хватит фантазии и сил:)Enjoy!

все что для этого надо это Visual Studio 2005, эмулятор встроеный:
en_vs_2005_pro_dvd.iso - ищем в DC или eMule, рекомендую в ДС.

и вот первая трабла:
мне нужно зделать так:
появляеться 1-я форма там человек вводит данны еи нажимает кнопки и мне нужно проверить эти данные и закрытьэут форму и сразу открыть 2-ю - т.е. рабочую.
как мне это зделать?
немогу найти функций для открития формы, для закрытия нашол)

или же вы может посоветуете какнить подругом зделать?
например: что 1-ю форму не закрывать а продолжать работать на ней? тогда как очистить ее от обьектов которые были и напихать туда новые?


насколько я уже заметил visual studio очень похож на Delphi и Builder.

еше один вопрос: как в Visual Studio можна работать с блютуз?? мне надо команды для кпк для поиска блютуз устройств, передачу и прием данных

первую траблу решил, терь есть дпругая у меня етсь 2 формы:
форм1 и форм2, открываеться форм1 там вводяться данные - нажимаем кнопку, открываеться форм2 и форм1 СКРЫВАЕТЬСЯ, потом в конце когда выходим из форм 2 - показуеться форм1, форм 2 - закрываеться, но когда я потом нажимаю закрытие в форм1, то оно закрываеться НО процес остаеться, - из-за этого он опять не запускаеться на кпк, хотя и процес там непоказует)

все решил проблемы, осталось на данный момент узнать как работать с Bluetooth))
 

Вкладення

Останнє редагування модератором:

Cris

Member
ну так получилось)) ну а что нехто нече не пишщет было б не ввиде монолога))

ну так что нехто Visual C# не юзает? неподскажите как с блютузом работать? ну или вообше что можна поискать надо именно на кпк
 
A

AkeL.php

Guest
Ищи примеры в интернете.
Купи\скачай книгу
Пиши на более специализированных формах
У нас только в разделе МИД знатоки :)
 

Edisson

Member
Модератор
это ппц... пора пользователю Cris запретить писать в этой ветке... монологами... и кажись я припомниаю про ограничение в количестве строк в подписи...
 

Cris

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

и вот уже пишу в очередно раз свой вопрос, новый))
как посылать данные на порт блютуз я понял, но вот какие данные посылать и что мне прийдет в ответ я так и ненашол))) кто что знает про bluetooth? пишем нестисняемся)
 
Останнє редагування модератором:

Edisson

Member
Модератор
и вот уже пишу в очередно раз свой вопрос, новый))
как посылать данные на порт блютуз я понял, ...
ну раз ты не знал как посылать а теперь понял, то поделись знаниями, что бы больше такой вопрос не подымался...
 

Cris

Member
ну раз ты не знал как посылать а теперь понял, то поделись знаниями, что бы больше такой вопрос не подымался...
SepialPort bk = new SerialPort(); // , тут же и задаються параметры куда ты хочешь подключиться т.е. имя порта, скорость в бодах.. по ссылка там все и на руском)
bk.open();
bk.writeln(); // отправляем данные
bk.readln(); //получаем
bk.close();

это основа, там еше многа всяких штук есть типа проверки еси ли данны для приема....

чтоб получить все сушествуюшие порты:
string[] ports = SerialPort.GetPortNames();

ну и получаем в масиве название портов, только здесь есть одна трабла у некоторых на компе показывает тольк COM порты ка и должно, а у некоторых + показывает все USB, по идеи с помошью SerialPort - можно управлять всеми портами компа, но мне покачто безтолку.

кстати я раньше писал вопрос по поводы что программа не закрывалась а процес оставался, ответ я нашол:
System.Diagnostics.Process.GetCurrentProcess().Kill(); - убиваем процес, быстро и жестоко)
правда я неуверен что оно и память занятую программой очищает)), но будем надеяться)
 
Останнє редагування модератором:

Cris

Member
ну так что мне по bluetooth нехто нечего не подскажит?, ато в гугл есть много инфы но не коректной лично для поих целей
 
Зверху