IDE для FreeBasic'a - FbEdit
+3
Замабувараев
ShenZN
DAlex
Участников: 7
FreeBasic :: Другое :: Документация
Страница 1 из 1
IDE для FreeBasic'a - FbEdit
Отличная среда разработки для FreeBasic'a...
http://www.radasm.com/Upload/FbEdit.zip
http://www.radasm.com/Upload/FbEdit.zip
DAlex- Сообщения : 6
Дата регистрации : 2008-03-10
Другие IDE
Так же существуют еще две IDE для FreeBasic:
FBIDE - http://fbide.freebasic.net/
JellyFish Pro Editor - http://www.planetsquires.com/jellyfishpro_freebasic.htm
Обе уже не развиваются, но FBIDE вполне еще боеспособна!
Лучшая на данный момент конечно же FBEDIT, но если вы новичок вполне можете выбрать и FBIDE.
FBIDE - http://fbide.freebasic.net/
JellyFish Pro Editor - http://www.planetsquires.com/jellyfishpro_freebasic.htm
Обе уже не развиваются, но FBIDE вполне еще боеспособна!
Лучшая на данный момент конечно же FBEDIT, но если вы новичок вполне можете выбрать и FBIDE.
Re: IDE для FreeBasic'a - FbEdit
по большому счету это обычный текстовый редактор с подсветкой синтаксиса, ну и небольшими приблудами для удобства.
А исходников текстовых редакторов дофига на любой вкус
А исходников текстовых редакторов дофига на любой вкус
Re: IDE для FreeBasic'a - FbEdit
FBEdit - не совсем обычный текстовый редактор, он позволяет визуально редактировать окна, расставлять на них контролы, в документации есть примеры начального уровня, которые позволяют создавать простые программы. Очень рекомендую к изучению. Кстати, есть всплывающие подсказки, как в VB при наборе кода. Вводишь какой-нибудь оператор, а FBEdit выдаёт раскрывающийся список параметров. Удобная штука.
IDE для FreeBasic'a - FbEdit
привет. вот вам исходники от FbEdit
http://www.filehoster.ru/files/bp0526
скорее всего они перестали их давать, или лучше надо покопатся по папкам.
у меня давно была версия 1.0.4.0, и там в папке projects, лежали исходники. к сожалению оригинального архива у меня не осталось, просто я незрячий,
а эта прога графическая, и кнопки графические, тоесть, с клавиатуры их на форму не добавить, как в visual basic, вот и грохнул все, а исходники оставил- мало-ли они кому пригодятся. все написано на FreeBasic, а окна сделаны на самом FbEdit. если кто переделает это на клавиатуру, многие незрячие будут благодарны, а то ручками окна пишеш больше чем программу.
http://www.filehoster.ru/files/bp0526
скорее всего они перестали их давать, или лучше надо покопатся по папкам.
у меня давно была версия 1.0.4.0, и там в папке projects, лежали исходники. к сожалению оригинального архива у меня не осталось, просто я незрячий,
а эта прога графическая, и кнопки графические, тоесть, с клавиатуры их на форму не добавить, как в visual basic, вот и грохнул все, а исходники оставил- мало-ли они кому пригодятся. все написано на FreeBasic, а окна сделаны на самом FbEdit. если кто переделает это на клавиатуру, многие незрячие будут благодарны, а то ручками окна пишеш больше чем программу.
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
FbEdit
Из возможных редакторов для FreeBasic, больше всего понравился FbEdit. Кто-то использует свою подсветку в редакторе? Я не зная языка, теряюсь сделать свою, а привыкать желательно сразу... Если не жалко, может кто из знающих скинет свои настройки расцветки. И еще вопрос: FbEdit не подсвечивает API ? Или это только у меня баг? Есть другая версия на форуме редактора:
FBEdit Bundle. Этот редактор очень хорошо подсвечивает, но он без встроенного дебагера и на английском. Да и еще много чего не хватает по сравнению с простым FbEdit.
FBEdit Bundle. Этот редактор очень хорошо подсвечивает, но он без встроенного дебагера и на английском. Да и еще много чего не хватает по сравнению с простым FbEdit.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: IDE для FreeBasic'a - FbEdit
На первых порах, пока идет обучение синтаксиса языка, просто необходимо постоянно просматривать результаты работы функций или операторов. Можно конечно использовать Print + sleep. Но мне больше нравится Gui вариант. Поэтому захотелось сляпать свое окошко, которое по надобности будет выводить результаты. Не судите строго, я новичок, поэтому код выглядит сумбурно.
Пример работы:
Результат работы примера:
Source:
1) Само окошко (комментировать ничего не стал, создано в VISG. Чуть только подредактировал):
2) статическая библиотека помещается в папку с компилятором "FreeBASIC\lib\win32"
3) Файлик MYST.bi помещается в папку с компилятором FreeBASIC\inc
Пример работы:
- Код:
#Include "MYST.bi"
Var Shared gg=777
Debug "Привет"
Debug 76767
Function wwww() As Integer
Debug "Free"+"Basic"
Debug 5656565+747474
Debug gg
End Function
wwww()
Результат работы примера:
Source:
1) Само окошко (комментировать ничего не стал, создано в VISG. Чуть только подредактировал):
- Код:
''
'' Debugg.bas
''
'' 19:56:58 22-10-2010
''
'' Generated by VISG v.0.951
''
'' VISG: visual and smart GUI builder
'' Get the latest version of VISG at
'' http://mrhx.clan.su/
'' http://mrhx.ucoz.com/
''
'' Tested on FreeBASIC Compiler 0.18
''
#include once "windows.bi"
#include once "win/commctrl.bi"
'' names of window classes.
const WND_CLASS_NAME0 = "my_wnd_class_name_0"
'' identifiers.
const IDC_CHECK0 = 2000
const IDC_RICHEDIT0 = 2001
'' function prototypes.
declare sub register_classes
declare function message_loop as integer
declare function wnd_proc0(byval thiswnd as hwnd, byval message as uinteger, byval w_param as wparam, byval l_param as lparam) as lresult
declare function create_wnd0 as hwnd
declare sub create_wnd_content0(byval parent as hwnd)
'' global data.
dim shared instance as hmodule
dim shared h_font as HFONT
'' main code.
instance = GetModuleHandle(null)
InitCommonControls
LoadLibrary "RICHED20.DLL"
register_classes
h_font = CreateFont(-13, 0, 0, 0, FW_NORMAL, 0, _
0, 0, ANSI_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, _
DEFAULT_QUALITY, DEFAULT_PITCH or FF_DONTCARE, "Times New Roman")
create_wnd0
end message_loop
'' window procedure #0 [window].
function wnd_proc0(byval thiswnd as hwnd, byval message as uinteger, byval w_param as wparam, byval l_param as lparam) as lresult
select case message
case WM_COMMAND
select case loword(w_param)
case IDC_CHECK0 '' checkbox "Поверх всех окон"
if IsDlgButtonChecked(thiswnd, IDC_CHECK0) = BST_CHECKED then
SetWindowPos(thiswnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(thiswnd,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
end if
end select
case WM_CREATE
create_wnd_content0 thiswnd
case WM_CLOSE
'if IDYES = MessageBox(thiswnd, "Quit?", "Event", MB_YESNO or MB_ICONQUESTION) then
DestroyWindow thiswnd
'end if
case WM_DESTROY:
PostQuitMessage 0 '' PostQuitMessage(return_code) quits the message loop.
case else
return DefWindowProc(thiswnd, message, w_param, l_param)
end select
return 0
end function
'' create window #0 [window].
function create_wnd0 as hwnd
dim wnd as hwnd
wnd = CreateWindowEx(&h00000100, WND_CLASS_NAME0, "Debug", &h14CF0000, 870, 50, 200, 300, null, null, instance, null)
ShowWindow wnd, SW_SHOWNORMAL
UpdateWindow wnd
SetWindowPos(wnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE)
return wnd
end function
'' create window content #0 [window].
sub create_wnd_content0(byval parent as hwnd)
dim wnd as hwnd
wnd = CreateWindowEx(&h00000200, "RICHEDIT20A", "", &h503110C4, 0, 0, 184, 238, parent, cast(hmenu, IDC_RICHEDIT0), instance, null)
SendMessage wnd, WM_SETFONT, cast(wparam, h_font), TRUE
wnd = CreateWindowEx(&h00000000, "Button", "Поверх всех окон", &h50010003, 2, 241, 143, 19, parent, cast(hmenu, IDC_CHECK0), instance, null)
SendMessage wnd, WM_SETFONT, cast(wparam, h_font), TRUE
SendMessage wnd,BM_SETCHECK,cast(hmenu, IDC_CHECK0),TRUE
end sub
'' register all the window classes.
sub register_classes
dim wc as WNDCLASS
with wc
.cbClsExtra = 0
.cbWndExtra = 0
.hbrBackground = cast(hbrush, COLOR_3DFACE + 1)
.hCursor = LoadCursor(null, byval IDC_ARROW)
.hIcon = LoadIcon(null, byval IDI_APPLICATION)
.hInstance = instance
.lpszMenuName = null
.style = CS_PARENTDC or CS_DBLCLKS
end with
wc.lpfnWndProc = @wnd_proc0
wc.lpszClassName = strptr(WND_CLASS_NAME0)
RegisterClass @wc
end sub
'' message loop.
function message_loop as integer
dim message as MSG
while (GetMessage(@message, null, 0, 0) <> false)
TranslateMessage @message
DispatchMessage @message
wend
DeleteObject h_font
return message.wParam
end function
'' End of file.
2) статическая библиотека помещается в папку с компилятором "FreeBASIC\lib\win32"
- Код:
#Include "windows.bi"
' Декларируем функцию вызова окна
declare function DebugRun__ alias "DebugRun__" () as Integer
' Декларируем 2 функции для посылаемых сообщений
declare function debug Overload (byval argum as string) as Integer
declare function debug Overload (byval argum as integer) as Integer
'Глобальная переменная- Хандле класса "EDIT"
Dim Shared hedittion As Integer
function DebugRun__() as integer Export
ShellExecute(0,0,"D:\Freebasic\FBEditBundle\FreeBASIC\Debugg.exe",0,0,SW_SHOWNORMAL) 'запуск окна
Sleep(100) ' Перед поиском этого окна необходимо, иначе не найдет окно
Var hwin=0 ' Идентификатор окна
hwin = FindWindow(0,"Debug" ) ' Ищем окно
If hwin <> 0 Then ' если найдено тогда
hedittion=FindWindowEx(hwin,0,"RICHEDIT20A",0) 'Ищем EDIT
End If
end Function
' функция для отправки строк
function debug(byval argum as string) as integer Export
sendMessage(hedittion, EM_REPLACESEL,0,StrPtr(argum)) ' отправляем нужное в EDIT
sendMessage(hedittion, EM_REPLACESEL,0,StrPtr(Chr(10))) ' Возврат каретки
end Function
' функция для отправки чисел
function debug(byval argum as integer) as integer Export
Var argum1=Str(argum)+Chr(13)
sendMessage(hedittion, EM_REPLACESEL,0,StrPtr(argum1))
end Function
3) Файлик MYST.bi помещается в папку с компилятором FreeBASIC\inc
- Код:
#Include "windows.bi" 'Чтобы в прогах не писать лишнюю строку
#Inclib "macrosDebbug"
declare function DebugRun__ alias "DebugRun__" () as integer
DebugRun__()
declare function debug Overload (byval argum as string) as Integer
declare function debug Overload (byval argum as integer) as Integer
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: IDE для FreeBasic'a - FbEdit
Предложу свой вариант отладки, может кому и пригодится:
при подключенном
вывод данной WinApi можно просмотреть с помощью программы DbgView (286kb) от Sysinternals.
=============================
а также маленький комментарий касательно русского языка в данной IDE.
данная проблема чаще всего возникает когда программы используют кодовую страницу 1252 вместо нужной нам 1251. Можно попробовать обмануть систему следующим образом (например так лечился фотошоп ранних версий): открываем редактор реестра и проходим в ветку
HKLM\SYSTEM\ControlSet001\Control\Nls\CodePage
ищем параметр "1252" и меняем его значение с "c_1252.nls" на "c_1251.nls"
перезагружаем компьютер, запускаем FBEdit и пробуем открыть какой либо проект с русским текстом.
при подключенном
- Код:
#Include once "windows.bi"
- Код:
outputdebugstring("test debug string")
вывод данной WinApi можно просмотреть с помощью программы DbgView (286kb) от Sysinternals.
=============================
а также маленький комментарий касательно русского языка в данной IDE.
данная проблема чаще всего возникает когда программы используют кодовую страницу 1252 вместо нужной нам 1251. Можно попробовать обмануть систему следующим образом (например так лечился фотошоп ранних версий): открываем редактор реестра и проходим в ветку
HKLM\SYSTEM\ControlSet001\Control\Nls\CodePage
ищем параметр "1252" и меняем его значение с "c_1252.nls" на "c_1251.nls"
перезагружаем компьютер, запускаем FBEdit и пробуем открыть какой либо проект с русским текстом.
mshak- Сообщения : 2
Дата регистрации : 2011-01-09
FreeBasic :: Другое :: Документация
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения