|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
03-Мар-11 20:08
(14 лет 7 месяцев назад, ред. 03-Мар-11 23:48)
Цитата:
1) Откуда у нее столько значений? И что это за значения ???
Это так называемая CallBack процедура WinAPI функции * * * * *
В описании функции сказанно
Цитата:
lpProgressRoutine [in] Адрес функции обратного вызова типа LPPROGRESS_ROUTINE, которая вызывается каждый раз, когда скопирована еще одна часть файла. Этот параметр может иметь значение ПУСТО (NULL). Подробную информацию о выполнении функции обратного вызова см. в описании функции * * * * *.
Там есть ссылка на описание функции * * * * * (в этом коде ее имя CopyProgressCallback) и ее аргументов.
Цитата:
2) Почему Procedure.l, то есть что означает приставка ".l" ???
Это значит что процедура (в данном контексте ее логичнее называть функцией), вернет программе (но в нашем случае, функции CopyFileEx) переменную типа LONG (может хранить целые положительные и отрицательные числа, в пределах 4 байт).
Цитата:
3) Она вызывается третьим пунктом функции CopyFileEx_( ..., ..., @CopyProgressCallback(), ..., ..., ...) ???
Да.
Функции CopyFileEx передается указатель на процедуру (адрес находжения в памяти компьютера) и функция может вызывать процедуру когда понадобится ей.
Цитата:
4) И вообще какую роль это процедура играет???
Она позволяет узнать текущий прогресс копирования и при необходимости, отменить его.
Цитата:
6) И последнее зависимы ли они друг от друга или же можно проигнорировать что-то в этих строчках ???
Да зависимы.
Процедура CopyProgressCallback вызывается из CopyFileEx в процессе копирования файла.
abzhapparov писал(а):
посоветуйте полезные ссылки на использования WinAPI
В раздаче есть файл WinAPI.exe - самораспаковывающийся архив.
Содержимое архива нужно извлечь в папку Help (если она не сущетсвует - нужно создать) корневой директории PureBasic.
Тогда, если расположить текстовый курсор на имени WinAPI функции и нажать на клавиатуре кнопку F1 - откроется справка с описанием требуемой функции.
|
|
abzhapparov
Стаж: 15 лет 7 месяцев Сообщений: 13
|
abzhapparov ·
04-Мар-11 08:48
(спустя 12 часов)
Спасибо, ДРУГ ! ! !
Потихоньку все становится на свои места.
Пройдемся по мелочам:
1) А если в настройках компилятора не выставить галочку напротив пункта "Create threadsafe executable" ("Создать приложение с безопасным потоком") ??? То есть можно ли его не включать, если у тебя есть потоки в программе ??? Если НЕТ, тогда почему бы ее вечно не держать включенным?
2) И в данном случае поток самоуничтаежается при завершении процедуры???
3) А можно аналогичный код только НЕ для CopyFileEx_, например можно ли остановить код выполнение вот такой строчки
Чтобы программа прервала выполнение этой строчки и продолжила дальше?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
04-Мар-11 13:57
(спустя 5 часов, ред. 04-Мар-11 13:57)
Цитата:
1) А если в настройках компилятора не выставить галочку напротив пункта "Create threadsafe executable" ("Создать приложение с безопасным потоком") ??? То есть можно ли его не включать, если у тебя есть потоки в программе ???
Если не включить, то при выполнении программы может возникнуть ошибка, если сразу несколько потоков одновременно обратятся к одному и тому же объекту (скажем, переменной, массиву, гаджету, файлу и т. д.).
Когда создается дополнительный поток, то программа уже состоит из 2 потокв (основной и дополнительный) и при некоторых стечениях обстоятельств, возможно одновременое обращение к одному и тому же объекту.
Установка галки "Create threadsafe executable" позволяет частично решить эту проблему путем добавления специального кода во время компиляции, позволяющего предотвращать одновременный доступ к объектам.
Цитата:
2) И в данном случае поток самоуничтаежается при завершении процедуры???
Да.
Цитата:
3) А можно аналогичный код только НЕ для CopyFileEx_, например можно ли остановить код выполнение вот такой строчки
Можно задержку выполнить в цикле
Код:
Time = ElapsedMilliseconds()
Repeat
Delay(10)
; Break ; Когда нужно прервать цикл выполняем оператор Break
Until ElapsedMilliseconds() > Time+9999
|
|
Накаптша
Стаж: 14 лет 6 месяцев Сообщений: 1
|
Накаптша ·
02-Апр-11 10:10
(спустя 28 дней)
Программа на Windows XP (SP3) пашет?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
02-Апр-11 13:27
(спустя 3 часа)
Windows x86 версия (инсталлятор "PureBasic_4_51_x86.exe") пашет на любой винде.
Проверял на Win 98, Win 2000, Win XP, Win Vista и Win 7.
На всех этих системах среда разработки нормально запускалась и работала.
|
|
ost1n
 Стаж: 15 лет 7 месяцев Сообщений: 38
|
ost1n ·
22-Апр-11 14:26
(спустя 20 дней, ред. 22-Апр-11 14:26)
Ponchik++, спасибо за релиз.
Насколько Purebasic перспективна? Какие достойные/стоящие программы были написаны на ней? и в чем её преимущество её от других?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
22-Апр-11 22:45
(спустя 8 часов)
ost1n писал(а):
Какие достойные/стоящие программы были написаны на ней??
Особо не уточнял, но народ в основном пишет прикладные программы и не сложные игры.
Эти программы точно написаны на PureBasic.
* * * * *
На этих сайтах можно найти некоторые программы, написаные на PureBasic.
* * * * *
Вот игра - гонки.
* * * * *
Графика конечно далека от современой, но для размера дистрибутива (~3.4mb), она вполне нормальная.
Здесь можно найти ссылки на некоторые программы.
* * * * *
ost1n писал(а):
чем её преимущество её от других?
Во первых, кроссплатформенность.
Проект созданый для Windows, можно перекомпилировать под Linux или MacOS X. Ну или созданный в Linux, перенести на Windows или MacOS X
Во вторых, для работы созданных программ, не нужно устанавливать дополнительные компоненты, как в случае разработки программ для .NET платформы.
Исполняемые файлы получаются довольно компактными, хотя при современных размерах дисков, это неактуально.
Язык довольно простой и изучить его не сложно ИМХО.
Об возможностях можно судить изучив онлайн справку http://purebasic.com/documentation/index.html
Тоже самое, но на русском http://purebasic.ru/manual.php?id=1104&lng=rus
Там имеется описание как самомй среды, так и ее кроссплатформенных функций.
Кроме того, есть полный доступ к API OS, но это в том случае, если кроссплатформенность не нужна.
|
|
ost1n
 Стаж: 15 лет 7 месяцев Сообщений: 38
|
ost1n ·
23-Апр-11 14:23
(спустя 15 часов)
Цитата:
Во первых, кроссплатформенность.
Проект созданый для Windows, можно перекомпилировать под Linux или MacOS X. Ну или созданный в Linux, перенести на Windows или MacOS X
Во вторых, для работы созданных программ, не нужно устанавливать дополнительные компоненты, как в случае разработки программ для .NET платформы.
Исполняемые файлы получаются довольно компактными, хотя при современных размерах дисков, это неактуально.
Язык довольно простой и изучить его не сложно ИМХО.
Об возможностях можно судить изучив онлайн справку http://purebasic.com/documentation/index.html
Тоже самое, но на русском http://purebasic.ru/manual.php?id=1104&lng=rus
Там имеется описание как самомй среды, так и ее кроссплатформенных функций.
Кроме того, есть полный доступ к API OS, но это в том случае, если кроссплатформенность не нужна.
Без сомнений понятно, что для начала, этот язык является очень удобным и доступным, но а какие далее перспективы? Точнее интересует более современные варианты, для создания более менее хороших приложений, с качественной графикой?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
23-Апр-11 23:07
(спустя 8 часов, ред. 23-Апр-11 23:07)
ost1n писал(а):
Без сомнений понятно, что для начала, этот язык является очень удобным и доступным, но а какие далее перспективы? Точнее интересует более современные варианты, для создания более менее хороших приложений, с качественной графикой?
Более современный вариант сейчас в состоянии беты, думаю что через пару месяцев будет релиз.
Выложенная версия, выпущена примерно полгода назад. Она еще не успела устареть.
Что подразумевается под более качественной графикой?
Графика в окнах, или в игровых приложениях. В последнем случае. качество графики полностью зависит от моделей и текстур.
А "красивости" в окнах, и сейчас нормально реализуются.
|
|
ost1n
 Стаж: 15 лет 7 месяцев Сообщений: 38
|
ost1n ·
24-Апр-11 14:38
(спустя 15 часов, ред. 24-Апр-11 14:38)
Я просто не встречался с продуктами на этом языке и не имел чести лицезреть его возможности. Если зависит от моделей и текстур, то сие есть хорошо, но с каким графическим ПО она может взаимодействовать? (c4d, zbrush, и т.д)
И что чаще и удобнее всего используют "пуристы", для создания под этот язык интерфейса( внут. внеш.)?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
24-Апр-11 18:23
(спустя 3 часа, ред. 24-Апр-11 18:23)
3D модели можно создавать в Blender, Lightwave или 3DS Max.
По умлочанию используется движок ORGE, поэтому многое зависит именно от него.
Цитата:
И что чаще и удобнее всего используют "пуристы", для создания под этот язык интерфейса( внут. внеш.)?
Для создания нестандартного интерфейса окон, обычно на окна натягивают скины.
Для этого есть ряд библиотек, скажем, SkinFeature.
Но можно все сделать ручками, ведь есть поный доступ к API системы.
В раздаче есть библиотека XP_Menu_Lib, позволяющая создавать меню в стиле офиса.
|
|
Ignate78
 Стаж: 15 лет 8 месяцев Сообщений: 49
|
Ignate78 ·
29-Апр-11 07:38
(спустя 4 дня)
У меня просьба к программистам. Напишите, пожалуйста, очень простую программу. Программа будет использоваться как тренажер иностранных слов. Суть ее такова: тебе выходит слово и ты должен его угадать. Когда угадал или не угадал, то жмешь "показать ответ", и тебе выходит правильный ответ. Так-же, чтобы была возможность пополнить словарный запас вручную Понимаю, таких программ море. Но все они не устраивают по нескольким причинам: то платные, то громоздкие, то редактировать нельзя. Мне надо, чтобы всего лишь пара функций было. Загружу в словарь 100 слов и буду тренировать пока на зубах не останется. Понимаю, что с первым вопросом мне никто не поможет, тогда помогите со вторым: Насколько сложно написать подобную программку на этом языке? для хакера и для ламера... Я ради такой программки маленькой даже готов овладевать языком с нуля.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
29-Апр-11 22:37
(спустя 14 часов)
Написать можно и это относительно не сложно.
В файл записываются иностранные слова и их перевод. Формат записи, можно выбрать наиболее удобный.
Далее, при старте программы, нужно загрузить все слова и рандомно (случайным образом) выбирать иностранное слово и предлагать несколько вариантов ответа. В раздаче есть учебники, прочитав которые можно разобраться с работой с файлами и массивами. В последних, будут хранится слова, загруженые из файла. Но разработку программы все же лучше обсуждать на специализированом форуме, а не здесь.
|
|
kvitaliy65
Стаж: 16 лет Сообщений: 6
|
kvitaliy65 ·
01-Май-11 05:54
(спустя 1 день 7 часов)
Ждем Purebasic 4.60. Когда будет раздача?
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
01-Май-11 12:15
(спустя 6 часов)
kvitaliy65 писал(а):
Ждем Purebasic 4.60. Когда будет раздача?
Релиза еще не было - на данный момент, эта версия в состоянии Beta 2.
Вот будет релиз, тогда и раздача появится, может быть...
|
|
Batterman
Стаж: 17 лет 9 месяцев Сообщений: 415
|
Batterman ·
12-Май-11 22:58
(спустя 11 дней)
Ignate78
сделай в экселе и не парься ^_^ там и иероглифы вводи, или латиницу.
|
|
ost1n
 Стаж: 15 лет 7 месяцев Сообщений: 38
|
ost1n ·
12-Июн-11 17:13
(спустя 30 дней)
black_portus: пробей в гугл Everything
|
|
anabiozz1
Стаж: 15 лет Сообщений: 2
|
anabiozz1 ·
12-Июн-11 21:47
(спустя 4 часа)
О Спасибо =) Наконец то я разобрался что же это такое, это самое программирование.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
21-Июн-11 11:57
(спустя 8 дней)
Добавил в раздачу Portable-сборку среды "PureBasic 4.51 Windows x86", которая может работать с флешки без установки на компьютер.
Просьба перекачать торрент.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
18-Июл-11 12:25
(спустя 27 дней)
psy-n01se писал(а):
Эпическая лажа...
Очень информативно.
Аргументы где?
|
|
psy-n01se
Стаж: 15 лет 5 месяцев Сообщений: 1
|
psy-n01se ·
21-Июл-11 11:43
(спустя 2 дня 23 часа)
Ponchik++ писал(а):
psy-n01se писал(а):
Эпическая лажа...
Очень информативно.
Аргументы где?
В Караганде. Задрали форсить эту чушь.
|
|
moscow_beast
Стаж: 14 лет 11 месяцев Сообщений: 133
|
moscow_beast ·
21-Июл-11 13:18
(спустя 1 час 35 мин.)
Ponchik++ писал(а):
Очень информативно.
Ну действительно объективные недостатки имеются. Еще больше недостатков субъективных, если у человека ООПГМ. Но по сути-то, это уникальная вещь, и все недостатки идут лесом
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
22-Июл-11 23:54
(спустя 1 день 10 часов, ред. 22-Июл-11 23:54)
psy-n01se писал(а):
Ponchik++ писал(а):
psy-n01se писал(а):
Эпическая лажа...
Очень информативно.
Аргументы где?
В Караганде. Задрали форсить эту чушь.
Какие-то несвязные фразы и попахивает луркоморьем.
О чем вы вообще, можно объяснить по человечески?
moscow_beast писал(а):
Ну действительно объективные недостатки имеются. Еще больше недостатков субъективных, если у человека ООПГМ. Но по сути-то, это уникальная вещь, и все недостатки идут лесом 
У всего есть свои достоинства и недостатки.
Нет ничего идеального.
Но все же хотелось бы чтобы вы назвали то, что по вашему является недостатками ведь вполне возможно что их (недостотки) можно устранить тем или иным методом.
|
|
moscow_beast
Стаж: 14 лет 11 месяцев Сообщений: 133
|
moscow_beast ·
23-Июл-11 13:15
(спустя 13 часов, ред. 23-Июл-11 13:15)
Ponchik++ писал(а):
Но все же хотелось бы чтобы вы назвали то, что по вашему является недостатками
Локализация IDE. Если под Win, тяжкое наследие Win 9x в виде однобайтовых кодировок не выглядит проблемой, то в прочих ОС русификация происходит костыльно, с использованием древних шрифтов, что есть очень, очень некошерно.
Кроссплаформенность программ и библиотек - не смотря на то, что сам по себе компилятор и IDE кроссплаформенные, если вы пишете под Linux, то велика вероятность что под виндой это уже не соберется, и наоборот (если конечно это не клон "блокнота" или "калькулятора").
Не совсем понятно как быть с опенсорсом. Если у меня внезапно получится что-то крутое, и я захочу поделится с миром, и выложить программу и исходники под открытой лицензией, то как быть тем, кто захочет программу улучшить, но у кого нет компилятора - ведь он даже не бесплатный, и уж тем более не свободный (я сам скачал тут, мне понравилось - и я купил лицензию).
Вот такие недостатки я вижу. Но целом, это не мешает программировать на Pure Basic, создавать маленькие по объему и шустрые приложения как минимум для себя.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
23-Июл-11 18:11
(спустя 4 часа)
Цитата:
Локализация IDE. Если под Win, тяжкое наследие Win 9x в виде однобайтовых кодировок не выглядит проблемой, то в прочих ОС русификация происходит костыльно, с использованием древних шрифтов, что есть очень, очень некошерно.
Это проблема не всей IDE, а только редактора кода. Компилятор и отладчик поддерживают юникод и ничего не мешает использовать альтернативный редактор.
|
|
Blindd
 Стаж: 16 лет 1 месяц Сообщений: 255
|
Blindd ·
10-Авг-11 06:56
(спустя 17 дней)
Спасибо интересно попробывать себя в PureBasic компилятор у него так это вообще сказка
|
|
Qyou_Mazter
Стаж: 14 лет 10 месяцев Сообщений: 27
|
Qyou_Mazter ·
13-Авг-11 15:53
(спустя 3 дня)
Приветствую всех.
Во-первых, хотел бы сказать большое спасибо автору за раздачу, сделано качественно, примеры, мануалы включены и пр. стафф, нажал на "спасибо".
Во-вторых, язык довольно простой и мощный, поддержка Unicode-приложений - это просто отлично, ну и самое главное - кроссплатформенность приложений! В общем, всё включено и можно даже грабить корованы.
Теперь конкретней о проблеме.
После длительных  ов, решил я написать свой компактный медиаплеер.
Открыл визуальный редактор, создал дизайн, проверил в визуальном редакторе - запускается.
Нажал "Сгенерировать код", соответственно меня перебросило в окно PureBasic'а, где я попробовал всё это дело проверить ещё раз...
И тут я получаю сообщение о том, что запрещено использование CreateGadgetList. 
В чём может быть проблема я ума не приложу. До этого писал вьювер для своего графического формата - до этого CreateGadgetList код почти такой же (за исключением имён переменныых естественно). 
Собственно, прошу о помощи знающих. По запросу могу скинуть сурцы плеера.
Буду очень благодарен, заранее спасибо.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
14-Авг-11 00:38
(спустя 8 часов, ред. 14-Авг-11 00:38)
Цитата:
И тут я получаю сообщение о том, что запрещено использование CreateGadgetList.
Это не ошибка, а предупреждение.
В связи с изменением синтаксиса языка (язык развивается - эволюционирует), часть функций было модифицировано, а некоторые удалены. В частности, удалили и CreateGadgetList в версии 4.30 если не ошибаюсь.
Предупреждение можно попросту игнорировать (на работу скомпилированой программы не влияет) или найти в коде данную функцию (CreateGadgetList) и удалить ее.
|
|
Qyou_Mazter
Стаж: 14 лет 10 месяцев Сообщений: 27
|
Qyou_Mazter ·
16-Авг-11 14:09
(спустя 2 дня 13 часов)
Ponchik++ писал(а):
Цитата:
Предупреждение можно попросту игнорировать (на работу скомпилированой программы не влияет)
Если бы не влияло, я бы не задавал этот вопрос. Но как ни странно, влияет... так как моё окно не появляется. Попросту не появляется и работа программы завершается.
|
|
Ponchik++
Стаж: 15 лет 4 месяца Сообщений: 230
|
Ponchik++ ·
16-Авг-11 14:44
(спустя 35 мин.)
То есть если удалить из кода функцию CreateGadgetList, то программа не работает?
Такого не должно быть.
Выложите код, который не работает без CreateGadgetList.
Возможно проблема в чем-то другом.
|
|
|