Веб программирование

Создание приложений с графическим интерфесом

 
 

Всем здрасте. В своих прошлых уроках я рассказывал о создании консольных приложений в среде Borland C++ Builder. Начиная с этого урока мы будем изучать C++ на примере графических приложений. Кто хочет научится создавать консолки. Может прочитать книгу "Исскуство создания консольных приложений на C++". Первое наше приложение будет программа которая выводит случайное число. Открываем борландяю, только не создаем консольное приложение. После запуска на экране высвятится форма:

Сверху  будет панель иснструментов:

Справа Инспектор Объектов и Список Форм:

Компоненты (в отличии от бейсика) уже разделены на вкладки. По названию не трудно догадаться компоненты какого типа размещены на вкладке. Откройте вкладку standart и разместите компоненты на форме как у меня:

На кнопке будет надпись Button1. Ее надо изменить. В нижнем левом окне борляндии приведены свойства компомнентов их надо изменить на наши:

У кнопки Caption (Надпись) меняем на Сгенерировать

У метки Label1 свойство Caption меняем на Число

В Edit1 свойство Text (текст в самом едите)  просто сотрем.

После этих манипуляций форма будет похожа на мою:

 С визуальным стилем закончели, кстати большинство свойств в борлядии похоже на бейсик или дельфи. Поэкспериментируйте с ними.

Теперь поговорим о событиях. У каждого компонента есть события, в них размещается код который будет выполнен при достижении определенных условий. Например у кнопки код в событии Click будет выполнен когда мы на нее нажмем и т.д.

Сегодня быдем пользоваться только событием Click. Жмем два раза на кнопку и поподаем в окно кода:

Автоматически создалось событие Click для кнопки. Код как и консольном приложении размещается между фигурными скобками. Пишем код:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
double aaa; //Сюда поместим число сегенерированное процессором
String count; //Запишем это же число, но приведенное к строчному виду
randomize; //Это нужно чтобы числа не повторялись
aaa=random(34)*43646; //Генерируем любое число
count=FloatToStr (aaa); //Переводим число в строку c помощью функции FloatToString
Edit1->Text=count; //Выводим в текстовое окно строковую переменную
}

Алгоритм простой, мы объявляем переменную для храненения в ней дробного числа, и переменную для числа в строковом виде. Дело в том, что сразу сгенерированное чилсо нельзя вывести в текстбокс (будет ошибка Ожидался текст а получено число), поэтому с помощью функции FloatToStr мы переводим число в строку и выводим ее в текстовое окно. Для вывода обращаемся( с помощью знака -> (аналогично точке в vb)) к свойству текст Edit1 и выводим туда текст. Вот пока все.  

Исходник

Кстати вопрос на засыпку: кто размножается быстрее компьютерные вирусы, китайцы, или кролики?


Есть вопросы? Спроси на нашем форуме!!
Vitay [19.12.2011 20:12]

Вирусы :D

артёмка [28.12.2011 15:52]

"randomize; //Это нужно чтобы числа не повторялись." У меня все равно повторяются. че делать?

Андрей [31.01.2012 07:25]

Есть 2 варианта 1-использовать "randomize();" или в строке 6 усложнить функцию напр. прибавлять еще и число секун

Андрей [31.01.2012 07:27]

"секунд" или результат сложения двух псевдослучайных чисел деленное на секунды - чем больше факторов тем более непредсказуемое получается число

артёмка [06.03.2012 21:00]

спасибо)

Алексей(alex13sh) [26.08.2012 14:11]

randomize
это что бы числа не повторялись при включение програмы
ну то есть. включил прогу жмёшь кнопку несколько раз
1)5
2)47
3)86
это я целыми числами
ну и если выключишь прогу и заного включишь при серийного нажатие кнопки будет теже самые числа с тойжей последованостей
это без randomize а сним такого небудет

а то что повторяются таким образом
1)3
2)69
3)1
4)3
5)8
6)1
ЭТО НЕ ОТНОСИТСЯ К randomize
чтобы такого избежать Андрей уже ответил))

Begzod [17.12.2012 05:48]

у меня на компе visual c++.net . Не могу найти учебники,исходники по нему. Помогите пжс.

Ali05 [17.12.2012 21:07]

Видел в книжном магазине учебник по Visual C++.Net "Никита Культин Основы программирования в Microsoft Visual C++ 2010", там как раз показано, как создавать графические приложения под Windows (WinForms).

Кулхацкер [18.12.2012 14:56]

ИМХО, Культин - очень, очень плохой автор

Нинтендо [18.12.2012 17:13]

интересно, в чем же заключается его "плохость" ?

Кулхацкер [18.12.2012 17:35]

В отсутствии умения нормально излагать материал и приучении вас, господ, к плохому стилю программирования, а-ля имена переменных/функций транслитом.

Edward [19.12.2012 01:22]

Это правда! Р.Лафоре учите)

Кулхацкер [19.12.2012 12:14]

Я про Ивана, он про болвана...

NiNTenDo [19.12.2012 15:56]

Edward, Речь идет совершенно о другом - создании программ с графическим интерфейсов, а Лафоре обьясняет синтаксис языка и как создаавть консольные приложения

Edward [20.12.2012 17:53]

Ясно!

ReDoX [25.12.2012 07:01]

почему имя функции __fastcall, есть ли разница если напишу просто fastcall?

Kулхацкер [25.12.2012 07:38]

Есть. Это определение как функция будет работать со стеком. fastcall просто не воспримет компилятор, надо обязательно писать __fastcall. Еще есть отдельная радость: __cdecl. Да и вообще, Borland - не IDE, IDE - не Borland. :)

Kулхацкер [25.12.2012 07:39]

Пиши на нормальных плюсах :). Ежели нужен граф. интерфейс - Qt в руки и вперед.



Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.