Показаны сообщения с ярлыком basic. Показать все сообщения
Показаны сообщения с ярлыком basic. Показать все сообщения

четверг, 30 октября 2014 г.

Как меня проперли* в новой версии FreeBasic

Узнал, что вышла новая версия 1.0.0 одного из крутейших компиляторов Basic'a, на котором у меня есть ряд небольших программ, ну и дернуло меня обновиться.
С недоумением обнаружил, что всё либо перестало компилироваться, либо даёт неверные результаты.
Причём никаких намеков компилятор не давал, что бы это значило, поэтому пришлось обращаться на форум.

Первая проблема заключалась в том, что перестали работать фунции, в параметрах которых было выражение ByVal as String. В changelog на эту тему мне очень понравилось выражение:
"BYVAL AS STRING is now working properly*" Вот это вот properly звучало восхитительно. Проект не работает, а у них теперь зато всё правильно. Оказалось, что теперь нужно писать по-другому: ByRef as ZString. Может я конечно тупой ламер, но такая замена не кажется очевидной совсем, и уж никак она  не напоминает родной Basic.

Вторая проблема - ошибка соответствия типов на простой, казалось бы, конструкции получения значения текстового поля БД из библиотеки sqlite3.dll

Ранее работоспособный код выглядел так:
Dim as String TextField ' объявляем строковую переменную
TextField = *sqlite3_column_text(sql_stat,5) ' присваиваем переменной содержимое текстового поля

На форуме дают ответ, теперь, оказывается надо писать так:
 

Dim as String TextField
TextField = *cast(ZString Ptr, sqlite3_column_text(sql_stat,5)) 

я бы ни за что не догадался. Это невозможно понять, это нужно запомнить! :)

среда, 18 декабря 2013 г.

Сделал себе новогодний подарок

Купил PureBasic лицензию. Очень у меня список маленький софта, который я покупал, но есть. А на такую штуку как эта - совсем не жалко.

среда, 15 августа 2012 г.

Тема Freebasic'a закрыта

Ухожу из большого спорта под названием freebasic. Отличный проект, замечательные люди, превосходные результаты скорости, всё хорошо, кроме одного - оснащение своих разработок GUI. Такая сверхзадача мне не под силу. Смотрел несколько поделок на эту тему - либо всё просто, но не работает (например, переход между элементами по ТАБу), или всё настолько сложно, что разобраться нереально (см. GTK+ или WX-C).

Последние пару недель осваиваю PureBasic. Многое странно и непонятно зачем. Например, объявить внешние функции из swedll32.dll - проблема. Но вроде решаемая. Зато очень легко решаются другие задачи, над которыми пыхтел долго в FB.

Начал откладывать с завтраков денежки чтобы купить PB за 79 евро. ;)

Параллельно, напомню, смотрю многие платные и бесплатные проекты. Например, очень интересные Q7Basic, Harbour. Но мне не очень подходят.

воскресенье, 7 ноября 2010 г.

sqlite ест мозг вместе с freebasic II

Ха, получилось вроде. То есть оно работает :)
#include once "sqlite3.bi"
#define NULL Cast(Any Ptr,0)

dim as sqlite3 ptr db
dim as zstring ptr errMsg
dim as string database_name
Dim error_ As Integer
Dim As sqlite3_stmt Ptr sql_stat

database_name="mybase.sqlite"
if sqlite3_open( database_name, @db ) then
    print "Can't open database: "; *sqlite3_errmsg( db )
    sqlite3_close( db )
    end 1
end if
print "Using database: "; database_name
print

error_ = sqlite3_prepare(db,"SELECT result,count(*) FROM mytable GROUP BY result",-1,@sql_stat,NULL)
If (error_ <> SQLITE_OK) Then
    print "Can't prepare database: "; *sqlite3_errmsg( db )
    sqlite3_close( db )
    end 1
End If

While (sqlite3_step(sql_stat) = SQLITE_ROW)
  print "Columns = "; sqlite3_column_count(sql_stat)  
  print *sqlite3_column_name(sql_stat,0), *sqlite3_column_text(sql_stat,0)
  print *sqlite3_column_name(sql_stat,1), *sqlite3_column_text(sql_stat,1)
  
Wend

sqlite3_finalize(sql_stat)
sqlite3_close(db)

sqlite ест мозг вместе с freebasic

Суть проблемы. Есть пример с использованием sqlite3_exec, но он не возвращает результата запроса вызываемой процедуре, а (наоборот?) вызывает для каждой строки результата callback функцию. Пока речь шла об обслуживании базы и заполнения таблиц, все было хорошо.
Теперь мне нужно получить результат запроса в удобоваримом виде.
Я так понимаю, у FB (да и у С/С++) проблема в том, что нет подходящих объектов для хранения выборки.
Нашел у соседа пример с использованием sqlite3_prepare_v2 и sqlite3_step и пытаюсь затолкать в FB сейчас, прям интересно что получится.
И все равно не покидает ощущение, что как-то это ч/з задницу.

четверг, 6 мая 2010 г.

FreeBasic Windows GUI ToolKit

На сегодня - это самое лучшее, что мы имеем для разработки GUI под Windows на Freebasic'e.
Респект и уважуха румынскому программеру Nastase Eodor.
Готовый код примерно соответствует применяющемуся в RapidQ Basic.

Ссылка.

четверг, 28 августа 2008 г.

FreeBasic: русскоязычный форум

Хоть какое-то движение началось: http://freebasic.justforum.net

четверг, 26 июня 2008 г.

Выбор языка программирования для научных работников

...остались у нас три Бэйсика, два из которых заметно уступают в быстродействие и чистый С++, который сильно уступает остальным по критерию простоты и удобства работы. Причем программу на FreeBasic из дальнейшего конкурса программ на самую оптимальную для научных работников все же прийдется исключить, не смотря на блестящие результаты по быстродействию, т.к. быстродействие, как я уже писал выше, не является основным критерием для выбора языка программирования для научных работников. А главными критериями здесь являются простота самого языка и удобство работы с программой. Что касается простоты, то к Free Basic нет никаких претензий и здесь он пожалуй самый идеальный кандидат, т.к. полностью поддерживает синтаксис самого простого языка QuickBasic и в то же время при желание написать более сложную программу может запросто работать с функциями API и даже работает со ссылками на функции, чего кстати не может Visual Basic 6.0. Но у него есть один недостаток, если Вы пишите обычное консольное приложение, а с оконным будут такие же сложности как у С++, чего, т.е. сложностей, категорически нельзя допускать, то очень не удобно изменять начальные данные перед каждым новым экспериментом.

Автор: Юдин Сергей Юрьевич
Ссылка на статью.

А такая прелесть этот FreeBasic... Если бы не выпендристое программирование GUI, то цены бы ему не было.

воскресенье, 30 марта 2008 г.

Rapid-Q Basic

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