АвторСообщение
постоянный участник




Пост N: 62
Зарегистрирован: 27.04.07
Откуда: Россия, Воркута
Рейтинг: 0
Фото:
ссылка на сообщение  Отправлено: 25.06.07 11:28. Заголовок: Программирование на PureBasic. Часть 1




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 136 , стр: 1 2 3 4 All [только новые]





Пост N: 289
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 13:27. Заголовок: Re:


vintik пишет:

 цитата:
У меня очевидно установилось с какойто программой

Скорее всего так и было.
Если я убираю ДЛЛ-ку из папки, появляется сообщение что она отсутствует. Вчера оно не появлялось только потому что эта ДЛЛ-ка была загружена в память.
vintik пишет:

 цитата:
попадеш в интересную папку, с кучей программ под
СОМ и LPT

А где искать то?

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 199
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 29.06.07 13:35. Заголовок: Re:


Пётр пишет:

 цитата:
А где искать то?


CodeArchiv



Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 290
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 13:56. Заголовок: Re:


КодАрхив настолько большой, что не всегда можно найти то что нужно.
Вот сейчас посмотрел, есть нужные исходники.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 200
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 29.06.07 14:13. Заголовок: Re:


CodeArchiv_v4-Beta.zip/Input+Output/Ports/inpout32.dll
Или сразу включить поиск inpout32.dll.

Хотел на кнопке изменить цвет надписи, посбивал все колени, нашел
SetGadgetColor(1, #PB_Gadget_FrontColor, $FFFF00)
но как прилепить...
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 292
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 14:56. Заголовок: Re:


На обычной кнопке изменить цвет нельзя (по крайней мере с помощью функций "пурика").
В самом низу описания функции SetGadgetColor есть список поддерживаемых гаджетов, ButtonGadget туда не входит.
При использовании строки
SetGadgetColor(1, #PB_Gadget_FrontColor, $FFFF00) должно появиться сообщение об ошибке а сама строка окрасится в красный цвет.
Почему так происходит?
Всё дело в том, что функции начинающиеся с Get или Set - это функции считывающие и записывающие информацию в гаджеты. В них в качестве идентификатора, следует указать тот, что у требуемого гаджета, т. е. должна быть цифра 8.
Это касается всех функций начинающихся с Get или Set из раздела Gadget

Строка должна быть такой:
SetGadgetColor(8, #PB_Gadget_FrontColor, $FFFF00)
Теперь ошибки не будет, но цвет на кнопке всё равно будет чёрным.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 293
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 15:05. Заголовок: Re:


vintik пишет:

 цитата:
;SetGadgetColor(1, #PB_Gadget_FrontColor, $FFFF00) ;Как эту строчку прилепить?

Замени идентификатор 1 на 0. Поскольку собираешься изменять цвет текста в гаджете StringGadget, а у него идентификатор 0 т. е. нужно указать в каком гаджете следует цвет менять.


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 294
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 18:01. Заголовок: Re:


vintik пишет:

 цитата:
Хотел на кнопке изменить цвет надписи, посбивал все колени, нашел
SetGadgetColor(1, #PB_Gadget_FrontColor, $FFFF00)

Вижу, начал гаджеты осваивать. Чтобы помочь, "слепил" такой код:
Скрытый текст


Эта программа складывает два числа. Пользоваться ней очень просто, следует ввести два числа и нажать на кнопку "Равно".

Работает она следующим образом:
В самом начале, объявляются дле переменные строкового типа, т. е. к имени переменной просто добавляется тип, в данном случае это ".s" означающий что это строковая переменная и в ней в последствие будет хранится строка текста.
Далее открывается окно.
После чего создаются 5 гаджетов.
StringGadget - поле для ввода текста, таких гаджета два.
TextGadget - Гаджет, отображающий текст в окне.
ButtonGadget - кнопка

Синтаксис у них одинаков за исключением флагов.
Первый параметр - уникальный идентификатор.
Второй и третий параметр - координаты гаджета относительно окна.
Четвёртый и пятый параметр - ширина и высота гаджета.
Шестой параметр - Текст в кавычках или переменная строкового типа.

Так чтоже происходит после нажатия кнопки "Равно"?
В двух словах, считывается информация из двух полей для ввода текста, потом складывается и записывается в TextGadget с идентификатором 4.

Теперь разберёмся более подробно как это происходит.

Нам нужно прочитать информацию из StringGadget, открываем в справке раздел Gadget и ищем описание этой функции. Смотрим, информацию можно прочитать с помощью GetGadgetText. Переходим по гиперссылке на описание этой функции. Она требует указать идентификатор гаджета с которого требуется считать информацию, вот только она возвращает результат в виде текста.
Приехали!!
Если мы попытаемся складывать строковые переменные, то получится не то что нам нужно!
Значит, перед тем как складывать, следует преобразовать стороковые данные в числовые. Послольку нам предстоит работать со строкой, переходим в раздел String справки. Ищем там функцию, преобразующую текст в число.
Это делает функция Val.
Считываем текст из двух полей и преобразовываем этот текст в число.
Далее мы эт два числа складываем, после чего выводим результат. Его записываем в TextGadget с идентификатором 4. Смотрим описание этой функции. Для того чтобы поместить туда какую либо информацию, нужно использовать функцию SetGadgetText, тоько вот записать туда можно строку а не число, значит это число следует преобразовать в строку текста. Функцию выполняющую это преобразование ищем в разделе String справки. Нам подходит Str.
После преобразования, записываем информацию.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 202
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 29.06.07 20:30. Заголовок: Re:


Пётр пишет:

 цитата:
Чтобы помочь, "слепил" такой код:


Да, так все поня тно...

Так что, надо весь "хелр" перевести
Или ставить конкретную задачу, потом искать приблизительно похожие примеры в исходниках
Пока в голове сплошная муть.
Откуда было бы мне узнать, что

 цитата:
перед тем как складывать, следует преобразовать стороковые данные в числовые


что "пурик" их не различает.
Что-то не могу найти методики поиска ответов




Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 295
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 29.06.07 21:50. Заголовок: Re:


vintik пишет:

 цитата:
перед тем как складывать, следует преобразовать стороковые данные в числовые

Дело в том что если выполнить сложение строковых данных, например, "2"+"3", получится "23", а это не то что нужно.

vintik пишет:

 цитата:
Пока в голове сплошная муть.

Когда я "въежал" в "пурик" тоже сложно было, учился на собственых ошибках. Но как только понял суть языка, стало намного проще.

vintik пишет:

 цитата:
Или ставить конкретную задачу

Так следует делать, по крайней мене в начале, потом проще будет.

vintik пишет:

 цитата:
Так что, надо весь "хелр" перевести

Так я в начале и делал. Очень сложно. Прерводил с помощью "Сократ интернет 3.0" и записывал в тетрадь. А потом понял, что без практики это делать почти бесполезно. Забросил тетрадь, начал ставить перед собой конкретную задачу и выполнять её.
Первая программа которую я написал - конвертер для HD44780. Когда писал эту программу, хелп изрядно "перелопатил" но урок получил хороший. Чем больше писал программ, тем проще было, сложно было только в начале.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 205
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 30.06.07 12:16. Заголовок: Re:


Пётр пишет:

 цитата:
Но как только понял суть языка, стало намного проще.


Вот-вот, нужно чтобы полученная информация нашла свои полочки в моем скворешнике
А то пока все в куче.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 298
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 03.07.07 16:19. Заголовок: Re:


А что, кроме Андрея никто больше не планирует писать программы для компьютера?
Может Вас не устраивает язык PureBasic?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 138
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг: 1
ссылка на сообщение  Отправлено: 03.07.07 20:17. Заголовок: Re:


Устраивает. Массу информации переварить довольно трудно...

Удивление рождает жажду познания... Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 115
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.07.07 20:22. Заголовок: Re:


Ага, Лето. Ничего не успеваю.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 299
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 03.07.07 21:35. Заголовок: Re:


Завтра продолжу писать "Учебник..."

PS.
Я за это время сделал конвертер систем исчисления, он войдёт в следующую версию AsmEditor'а
Он отличается от BCONV32.exe тем что позволяет работать 7-мю байтами и преобразует также двоичные числа.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 207
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 03.07.07 22:12. Заголовок: Re:


Обьемы инфы действительно большие
Нашел еще по ЛПТ порту программы, но времени тестировать нет.
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 8
Info: Настороженное
Зарегистрирован: 05.03.07
Откуда: Шуя
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.07.07 19:19. Заголовок: Re:


Наверное, мое мнение здесь…
В общем, большинство людей пока не готовы приступить к изучению пурика. Ведь они сейчас читают разделы самоучителя и не могут отвлекаться на такие глобальные темы. Но это совсем не значит, что им не интересно, прейдет время и труды Петра окажут им бесценную помощь. Просто не все сразу. А пока для большинства работа Петра это уровень, к которому стремишься. Лично для меня подключение самодельного устройства к компьютеру это горизонт мечтаний, и в тоже время стимул который тянет вперед.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 203
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 23.07.07 19:47. Заголовок: Re:


MAZ пишет:

 цитата:
Ага, Лето. Ничего не успеваю.


везет же людям, а у нас зима... но тоже не успеваю. А за двумя зайцами погонишься... Но тема очень актуальная. В принципе все понятно, вот только руку набить нужно. И здесь я с Петром полностью согласен: нужна конкретная задача и уже от нее плясать: легче искать пути к цели пусть и далекой, и в тумане, чем просто тыкаться влево-вправо.
vintik пишет:

 цитата:
Откуда было бы мне узнать, что... стороковые данные... и числовые "пурик" их не различает.


тут бы очень помогла любая книжка по Бейсику, можно и N-летней давности. Я в свое время писал программы на Клиппере (еще под ДОС), некоторые вещи понятны только потому что я уже прошел через это. Гляну есть ли у меня литература по Бейсику. Основы они и в Африке основы.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 304
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 23.07.07 21:34. Заголовок: Re:


Alberto пишет:

 цитата:
везет же людям, а у нас зима...

Ещё неизвестно кому повезло.
У меня уже больше недели термометр зашкаливает за 40 градусов в тени.
На солнце примерно +60


Alberto пишет:

 цитата:
тут бы очень помогла любая книжка по Бейсику

Ага, есть у меня описания интерплетатора языка Бейсик для компьютера "Вектор 06Ц". Так там почти всё что касается функций работы со строками соответствует описанию аналогичных функций из раздела "String" справки пурика.
Подойдёт также описание Бейсика для компьютера "Радио 86РК", которое можно найти в журналах "Радио".


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 204
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 24.07.07 14:22. Заголовок: Re:


Пётр пишет:

 цитата:
уже больше недели термометр зашкаливает за 40 градусов в тени.


прошлым летом у нас больше месяца температура была под 45 градусов... а сейчас зима... впервые за 89 лет в наших широтах снег выпал, правда через пару часов растаял, но все-таки...
Пётр пишет:

 цитата:
описание Бейсика... в журналах "Радио".


а вот про это я и не подумал. Действительно хорошее подспорье.
На выходных хочу попробовать связать 877-ой ПИК с компом, так что ждите МНОГО вопросов .

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 305
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 24.07.07 16:45. Заголовок: Re:


Alberto пишет:

 цитата:
ждите МНОГО вопросов

Жду.
А пока скачайте библиотеку с функциями для работы с COM портом MVCOM_LIBRARYV12 и установите её.
Если нужно, вышлю исходник программы USART.exe (раздел 6_2_4 практикума). Правда, там всё так запутано я эту программу писал, когда только начал изучать PureBasic.

Если Вас заинтерисовал пурик (PureBasic), можете зайти на форум http://pbasic.spb.ru/phpBB2/index.php там найдёте очень много ответов на различные вопросы. Если бы не этот форум, я скорее всего так и не освоил пурик, ведь при малейшем затруднении, которое не мог решить самостоятельно, обращался туда и всегда получал ответ.

PS.
До связи компа с ПИКом, я дойду через несколько разделов.
Текущая тема - работа с файлами, затем планирую рассказать о подпрограммах и процедурах. После чего, рассказу как создавать меню. И уже после этого, перейду к связи компа с ПИКом.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 206
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 24.07.07 17:36. Заголовок: Re:


Библиотеку скачал... Исходник ОЧЕНЬ интересно посмотреть, буду благодарен.
Пока же есть один вопрос, хотел создать выпадающее меню, типа такого:

но вместо менюшки только тонкая черная линия, при щелчке по ней идет выборка, но... что не так?
Вот кусок кода:
ComboBoxGadget(#Combo_1, 130, 30, 80, 30, #PB_ComboBox_LowerCase) 

AddGadgetItem(#Combo_1, -1, "123")
AddGadgetItem(#Combo_1, -1, "234")
AddGadgetItem(#Combo_1, -1, "345")
AddGadgetItem(#Combo_1, -1, "567")
AddGadgetItem(#Combo_1, -1, "789")

Или нужен весь текст программы? Вроде бы все на месте...

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 207
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 24.07.07 18:16. Заголовок: Re:


Разобрался , у меня просто параметр Height был очень маленький (30) вот данные и не влазили . Поставил 100 и все пошло.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 306
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 24.07.07 18:30. Заголовок: Re:


Похоже что всё правильно!
Хотелось-бы взглянуть на всю программу.
Вот набросал код
Скрытый текст



Исходник USART залил на 3 разных файлообменика, может хоть с одного скачаете.
http://ifolder.ru/2776026
http://webfile.ru/1477964
http://slil.ru/24660802

Я эту программу писал, когда только начал изучать пурик, так что там всё довольно сильно запутано нет комментариев. Это так для ознакомления.
Сообщите с какого файлообменника скачаете исходник и я туда через некоторое время залью этот исходник но уже с комментариями.


PS.
Возможно (уже точно не помню что использовал) при компиляции появиться сообщение, об ошибке, что то типа is not a function array macro or linked list. Для его устранения, установите библиотеки с функциями Droopy Library и PBOSL. Инструкция по установке есть в 4 разделе "Учебника...".


Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 307
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 25.07.07 11:22. Заголовок: Re:


Начал разбираться с исходником USART и понял что толково объяснить работу программмы с помощью комментариев будет непросто.
Поэтому сделал более простой вариант. http://ifolder.ru/2783041 там есть исходник и скомпилированая программа (exe-шник)
На тот случай если не получится скачать, вылаживаю программу здесь Скрытый текст


Я эту программу разберу подробно в следующем разделе "Учебника..." поскольку ещё не рассказал о подпрограммах и процедурах.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 208
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 25.07.07 12:45. Заголовок: Re:


Скачал все. Правда на http://webfile.ru/1477964 похоже уже удалили. Два других файлообменника работают. Большое спасибо . То что запутано, так это не страшно: главное принцып, я вроде бы понял, но нужна проверка на реальном устройстве. Буду заниматься этим уже дома, на работе работа (извиняюсь) подвалила.
Пётр пишет:

 цитата:
Хотелось-бы взглянуть на всю программу.


вообще - то это калькулятор для расчета веса листовой стали. В двух окошках вводятся размеры, а в выпадающем меню выбирается толщина (американскя система мер, наверняка будет не совсем понятно), результат в кг отображается в своем окошке. Я ее еще не доделал: неправильно считываются данные (вернее привязка к весу: кг/м2) из выпадающего списка, но если интересно, то исходник здесь:
http://up-file.com/download/2ec119128094/calculator.zip.html
может закончу сегодня на работе (вроде понял в чем причина), если нет, то доделаю уже вечером дома. По правде говоря вещь не нужная, но мне больше нравится решать какую-то конкретную задачу, так проще если значешь чего хочешь. Хотя это лично мое мнение.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 308
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 25.07.07 13:37. Заголовок: Re:


Посмотрел исходник прогресс большой!

Alberto пишет:

 цитата:
неправильно считываются данные (вернее привязка к весу: кг/м2)

Привязка есть, только вот при изменении пункта в выпадающем списке не происходит перерассчёт результата. Я немного изменил программу. Теперь рассчёт происходит в подпрограмме. Также немного доработал обработку событий от выпадающего списка.http://ifolder.ru/2784652

Alberto пишет:

 цитата:
мне больше нравится решать какую-то конкретную задачу, так проще если значешь чего хочешь. Хотя это лично мое мнение.

У меня такое же мнение.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 309
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 25.07.07 14:19. Заголовок: Re:


Alberto пишет:

 цитата:
главное принцип, я вроде бы понял

Чтобы Вы не наступили на "грабли" при приёме байта от контроллера, расскажу об одной особенности. Если код, принимающий инфу от порта, поместить внутрь цикла Repeat - Until, можно наблюдать такую картину: информация принимается только когда перемещаете курсор (стрелку) мышки в пределах окна этой программы, а когда курсор за пределами окна информация не принимается!
Это происходит потому что рабочая точка программы находится внутри функции WaitWindowEvent до тех, пока не произойдёт в программе какое-либо событие.
Для того чтобы можно было принимать информацию из порта, следует соответствующий код поместить в процедуру, которую будем вызывать по таймеру.
Чтобы проще было понять, представьте что эта процедура вызывается от прерываний аппаратного таймера аналогично ПП прерываний от TMR0 у ПИКа.

Таймер создаётся с помощью функции SetTimer_, а уничтожается с помощью KillTimer_. Это API функции на что указывает нижний пробел ("_"), таких функций в языке PureBasic нет!

Синтаксис у них таков:
SetTimer_(Windowid , Number , time , @Procedure() )
Windowid - Системный идентификатор окна
Number - Номер таймера, используется для его последующего отключения
time - Время в миллисекундах через которое будет вызываться процедура
Procedure() - Имя процедуры. Собачка обязательно должна быть!

KillTimer_(Windowid , Number)
Windowid - Системный идентификатор окна
Number - Номер таймера, который следует отключить.

Обычно функцию KillTimer_ помещают перед директивой end


Есть и другие функции создающие таймер. Например, в программе USART были использованы функции StartTimer и EndTimer из библиотеки с функциями PBOSL



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 210
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 25.07.07 14:31. Заголовок: Re:


Привязка есть, но она неправильная. И то что перерасчет не производится при выборе пункта из выпадающего меню тоже верно, но это на потом.
Пётр пишет:

 цитата:
Я немного изменил программу.


пока что не смотрел (хочу дойти сам, а вечером посмотрю: чужой опыт великая сила), но переделал свою программу, правда пока что без перерасчета, но привязка правильная. Теперь все работает как надо:
http://up-file.com/download/2ec119753486/calculator.zip.html
Спасибо за советы и реальную помощь . Теперь надо добавить пунктик выбора типа стали: гальванизированная, черная, перерасчет при выборе из выпадающего списка и будет то, что я и хотел сделать. Вечером займусь детальным въездом в программу USART.
Еще раз спасибо.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 310
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 25.07.07 15:47. Заголовок: Re:


Насколько я понял в полях Largo и Ancho можно вводить только цифры. Тогда добавте к StringGadget где будут вводиться цифры, флаг #PB_String_Numeric, а то в данном случае можно вводить и буквы тоже.

Например так
StringGadget(#String_0, 130, 80, 90, 20, "",#PB_String_Numeric)
StringGadget(#String_1, 130, 120, 90, 20, "",#PB_String_Numeric)

Ещё могу порекомендовать включить стиль XP. Для этого загрузите исходник в компилятор и в меню "Компилятор" выберите "Настройки компилятора". В открывшемся окне, поставте галочку в пункте "Поддержка стиля XP".

Если Вы хотите чтобы стиль XP был установлен по умолчанию для всех создаваемых исходников, вменю "файл" выберите пункт "настройки". В открывшемся окне, откройте список "Редактор" и перейдите на пункт "по умолчанию". Там поставьте галочку в пункте "Поддержка стиля XP".

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 211
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 25.07.07 16:22. Заголовок: Re:


Пётр пишет:

 цитата:
могу порекомендовать включить стиль XP


хорошая идея, я про это не подумал
Пётр пишет:

 цитата:
огда добавте к StringGadget где будут вводиться цифры, флаг #PB_String_Numeric


а про это просто забыл.
Спасибо.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 213
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 25.07.07 23:25. Заголовок: Re:


Пётр, вопрос к Вам, как к единственному профи по Бейсику, как запретить изменение размера окна? Где-то видел, а сейчас все перерыл, не могу найти...

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 311
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 26.07.07 10:34. Заголовок: Re:


Alberto пишет:

 цитата:
как запретить изменение размера окна?

Для того чтобы запретить изменение размера окна с помощью курсора мыши (когда подводите курсор к краю окна, он превращается в двойную стрелку и если нажать на кнопку мышки, то можно изменять размер окна), следует убрать флаг #PB_Window_SizeGadget из функции OpenWindow.

Alberto пишет:

 цитата:
как к единственному профи по Бейсику

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

Всё забывал написать.
Есть в пурике одна хитрость, которая позволит быстрее его изучить.
Предположим, встретилась функция, назначение которой Вам неизвестно. Чтобы не переворачивать на изнанку всю справку при поиске описания функции, можно сделать следующее: просто выделяете имя функции (например, ButtonGadget) и нажимаете на кнопку F1. При этом будет открыта справка с описанием этой функции.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 214
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 26.07.07 13:47. Заголовок: Re:


Пётр пишет:

 цитата:
следует убрать флаг


спасибо, Пётр, я уже вчера нашел сам. Еще раз все прсмотрел и... я искал флаг "запретить изменение размера окна", а надо было просто убрать флаг "разрешить..." . Ну, что сказать? Невнимательность... Все равно, спасибо.
Вчера же родилась и окончательная версия, кое-что взял из Вашего примера. Если интересно, то исходник здесь:
http://up-file.com/download/c73973402942/Calculator-1.zip.html
Пётр пишет:

 цитата:
Есть в пурике одна хитрость


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

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 312
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 26.07.07 14:16. Заголовок: Re:


Alberto пишет:

 цитата:
исходник

Хорошая работа!
Вы очень быстро осваиваете PureBasic, рад за Вас!

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 313
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 27.07.07 14:59. Заголовок: Re:


Пётр пишет:

 цитата:
Я эту программу разберу подробно в следующем разделе "Учебника..." поскольку ещё не рассказал о подпрограммах и процедурах.

Ну вот, с подпрограммами и процедурами закончил.
Теперь можно и за обмен информацией с ПИКом взятся.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 215
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 27.07.07 18:35. Заголовок: Re:


Пётр пишет:

 цитата:
Поэтому сделал более простой вариант.


Разобрался с программой COM.pb, там настолько все подробно расписано, что другого описание просто и не нужно. Здорово. Правда остался один вопрос (я не силен в API-функциях): перед выходом из программы нужно убивать таймер (ведь порт же мы зачем-то закрываем) может ли таймер продолжать работать после закрытия программы? Я на всякий случай вписал команду KillTimer_(WindowID(0),0) перед командой end.

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 314
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 27.07.07 21:25. Заголовок: Re:


Alberto пишет:

 цитата:
Я на всякий случай вписал команду KillTimer_(WindowID(0),0) перед командой end.

И правильно сделали. Это я просто забыл эту функцию туда добавить.

Alberto пишет:

 цитата:
я не силен в API-функциях

Да я тоже в них не очень разбираюсь. Кое что можно узнать здесь. http://pbasic.spb.ru/phpBB2/viewtopic.php?t=24&sid=c81d2d35a20bb1864c7823be048b47bd

Alberto пишет:

 цитата:
может ли таймер продолжать работать после закрытия программы

Скорее всего нет, компилятор за всем этим следит.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 325
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг: 1
ссылка на сообщение  Отправлено: 03.08.07 09:06. Заголовок: Re:


Пётр пишет:

 цитата:
Теперь можно и за обмен информацией с ПИКом взятся

Этот раздел тоже закончил, теперь жду вопросов.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 218
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг: 1

Награды: Отлично!',
ссылка на сообщение  Отправлено: 06.08.07 21:14. Заголовок: Re:


Работа завалила, продохнуть некогда... , все планы коту под хвост .............

Не ошибается только тот, кто ничего не делает. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 214
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 06.08.07 23:24. Заголовок: Re:


Alberto пишет:

 цитата:
Гляну есть ли у меня литература по Бейсику. Основы они и в Африке основы.


Очень помогло бы, может ссылки на электронные варианты книг?

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

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 136 , стр: 1 2 3 4 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 5
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия