FreeBasic похожий на PureBasic
Участников: 5
Страница 1 из 6
Страница 1 из 6 • 1, 2, 3, 4, 5, 6
FreeBasic похожий на PureBasic
Библиотека функций под Windows, которые очень схожи как по названию, так и по простоте использования на команды(функции) PureBasic. Справка по функциям с примерами прилагается. Исходный проект тоже доступен.
Даже если у вас аллергия на другие языки программирования , многие функции пригодятся для разработки интерфейса под Windows. Хочется конечно переделать связанные списки, для того чтобы использовать свои типы данных, но пока занимаюсь другими функциями, позднее возможно займусь.
Страница, посвященная библиотеке с некоторыми примерами и скриншотами:
http://games-freeware.narod.ru/Freebasic/WINDOW9/W9start.htm
Доступные на данный момент функции:
Файлы библиотек и справка.
Скачать
Исходный проект:
Скачать
Даже если у вас аллергия на другие языки программирования , многие функции пригодятся для разработки интерфейса под Windows. Хочется конечно переделать связанные списки, для того чтобы использовать свои типы данных, но пока занимаюсь другими функциями, позднее возможно займусь.
Страница, посвященная библиотеке с некоторыми примерами и скриншотами:
http://games-freeware.narod.ru/Freebasic/WINDOW9/W9start.htm
Доступные на данный момент функции:
OpenWindow
Close_Window
DisableWindow
HideWindow
CenterWindow
WindowColor
UseGadgetList
ID_In_Number
GadgetID
GadgetX
GadgetY
GadgetWidth
GadgetHeight
ResizeGadget
DisableGadget
HideGadget
GetGadgetText
SetGadgetText
GetGadgetState
SetGadgetState
GetGadgetAttribute
SetGadgetAttribute
FreeGadget
ComboBoxGadget
ShowListComboBox
LenItemTextComboBox
AddComboBoxItem
DeleteComboBoxItem
GetComboBoxText
CountItemComboBox
ResetAllComboBox
FindItemComboBox
SetItemComboBox
GetItemComboBox
FileComboBoxItem
ComboBoxImageGadget
GetHimageCombo_
AddComboBoxImageItem
ListBoxGadget
AddListBoxItem
DeleteListBoxItem
FileListBoxItem
FindItemListBox
CountItemListBox
SetSelectManyItem
SetColumnWidthListBox
SetItemListBox
GetItemListBox
GetSelCountListBox
GetListBoxText
LenItemTextListBox
GetTopIndexListBox
SetTopIndexListBox
ResetAllListBox
TrackBarGadget
SetTrackBarPos
GetTrackBarPos
CalendarGadget
DateCalendarGadget
GetStateCalendar
SetStateCalendar
IpAddressGadget
SetIpAddress
GetIpAddress
CreateToolBar
ToolBarStandardButton
ToolBarImageButton
DeleteButtonToolBar
SetButtonToolBarState
GetButtonToolBarState
CountButtonToolBar
ToolBarToolTip
SetToolBarToolTipFont
SetToolBarToolTipColor
GetToolBarTextButton
SetToolBarButtonSize
ToolBarSeparator
CreateDir
RemoveDir
GetCurentDir
SetCurentDir
GetWindowsDir
GetSystemDir
GetTempDir
GetSpecialFolder
CopyDir
MoveDir
RenameDir
DeleteDir
GetExtensionPart
GetPathPart
GetFilePart
ExamineDirectory
NextDirectoryEntry
FinishDirectory
DirectoryEntrySize
DirectoryEntryDate
DirectoryEntryName
DirectoryEntryAttributes
ListViewGadget
AddListViewColumn
AddListViewItem
GetSubItemListView
GetItemListView
FlagKeyListView
GetColumnListView
DeleteListViewItemsAll
DeleteItemListView
DeleteIndexImageListView
DeleteListViewColumn
GetColumnWidthListView
GetItemCountListView
GetTextItemListView
SetColumnWidthListView
GetSelectedCountListView
ReplaceTextItemListView
ReplaceTextColumnListView
ReplaceImageListView
UpdateItem
GetClipBoardText
SetClipBoardText
GetClipBoardImage
SetClipBoardImage
ImageGadget
ButtonImageGadget
ButtonGadget
CheckBoxGadget
TextGadget
OptionGadget
StringGadget
EditorGadget
SpinGadget
GroupGadget
Extract_Icon
GadgetToolTip
DelToolTip
DisableToolTip
GetToolTipText
SetToolTipText
Create_Menu
CreatePopMenu
CreateIconItemMenu
MenuTitle
MenuItem
MenuItem
Insert_Menu
Insert_Menu
MenuBar
OpenSubMenu
Delete_Menu
HideMenu
FreeMenu
Modify_Menu
Modify_Menu
DeleteItemMenu
SetStateMenu
GetStateMenu
GetMenuItemText
DisplayPopupMenu
OpenFileRequester
NextSelectedFilename
SaveFileRequester
ShellFolder
ColorRequester
MessBox
LoadFont
SetGadgetFont
FontRequester
SelectedFontColor
SelectedFontName
SelectedFontSize
SelectedFontStyle
SetGadgetColor
GetGadgetColor
Create_File
Open_File
Read_File
Close_File
Size_File
E_O_F
Get_File_Pointer
Set_File_Pointer
Read_Character
Read_Byte
Read_WORD
Read_Integer
Read_Single
Read_Double
Read_LONGINT
Read_Data
Read_String
Write_Character
Write_Byte
Write_Word
Write_Integer
Write_Single
Write_Double
Write_String
Write_StringN
Write_Longint
Write_Data
PeekS
RunProgram
Load_image
IMAGE_HEIGHT
IMAGE_WIDTH
Resize_image
COPY_image
SAVE_image
Grab_Image
SetImageGadget
Free_Image
ResizeWindow
WindowX
WindowY
WindowWidth
WindowHeight
WindowBounds
SetWindowTop
SetTransparentWindow
WindowBackgroundImage
SetTrackBarMaxPos
SetTrackBarMinPos
ProgressBarGadget
SetRangeProgressBar
ClearClipBoard
LoadMovie
FreeMovie
PlayMovie
StopMovie
PauseMovie
ResizeMovie
SetRateMovie
GetRateMovie
GetEndPosMovie
MovieSetPositions
MovieGetCurrentPosition
MovieSourseWidth
MovieSourseHeight
MovieFullScreen
MovieAudioSetVolume
MovieAudioGetVolume
MovieScreenShot
MovieGetState
CreateCopyImageWindow
CreateCopyImageWindowClient
CreateCopyImageDesktop
CreateCopyImageRect
Create_Image
ImageStartDraw
WindowStartDraw
StopDraw
LineDraw
PixDraw
GetPix
BoxDraw
RoundBoxDraw
RoundDraw
CircleDraw
FontDraw
TextDraw
PolylineDraw
ImageDraw
FillRectDraw
EnumSettingsDisplay
ResetEnum
SetCurrentSettingsDisplay
GetCurrentSettingsDisplay
GetWidthDesktop
GetHeightDesktop
GetBitsDesktop
GetFrequencyDesktop
ReplaceString
SetWindowCallback
FreeCallback
IsMouseOver
StatusBarGadget
SetStatusBarField
ToolTipStatusBar
MoveItemTreeView
GetTextTreeView
GetIndexImageTreeView
RenameItemTreeView
ReplaceImageItemTreeView
GetCountItemTreeView
DeleteTreeViewItem
GetItemTreeView
AddTreeViewItem
TreeViewGadget
WebGadget
WebGadgetNavigate
WebGadgetGoForward
WebGadgetGoBack
WebGadgetRefresh
WebGadgetGetURL
WebGadgetState
WebGadgetStop
ScrollBarGadget
GetScrollGadgetRange
SetScrollGadgetRange
GetScrollGadgetPos
SetScrollGadgetPos
SetScrollGadgetPage
SetPageStepScrollBar
GlobalMouseX
GlobalMouseY
AddSysTrayIcon
ReplaceSysTrayIcon
DeleteSysTrayIcon
AESEncoder
AESDecoder
Encode64
Decode64
MD5createFileHash
MD5createHash
SHA512create
SHA512createFile
SHA1createFile
SHA1create
SetTransferTextLineEditorGadget
GetSelectTextEditorGadget
SetSelectTextEditorGadget
ClientMDIGadget
MDIGadget
AddKeyboardShortcut
DeleteAllKeyboardShortcut
load_Icon
ContainerGadget
PanelGadget
AddPanelGadgetItem
DeleteItemPanelGadget
PanelGadgetGetCursel
PanelGadgetSetCursel
ASCIITOUTF
UTFTOASCII
UndoEditor
RedoEditor
PasteEditor
CanUndoEditor
CanRedoEditor
EmptyUndoBufferEditor
GetLineTextEditor
GetLineCountEditor
GetModifyEditor
GetRectEditor
SetLimitTextEditor
SetModifyEditor
SetPasswordChar
GetPasswordChar
LineFromCharEditor
LineIndexEditor
LineLengthEditor
LineScrollEditor
SetTabStopsEditor
ReadOnlyEditor
GetFirstVisibleLineEditor
SetRectEditor
GetCurrentIndexCharEditor
RebarGadget
AddRebarTab
GetCountTabRebarGadget
GetHeightRebarGadget
GetTextRebarGadget
SetTextRebarGadget
MoveTabRebarGadget
DeleteTabRebarGadget
IDinIndexRebarGadget
GradientFillDraw
CreateIconOrCursorFromFile
CreateIconOrCursorFromBitmap
SaveIconOrCursor
CreateFBini
OpenFBini
CloseFBini
WriteGroupFBini
WriteValueFBini
ReadByteValueFBini
ReadShortValueFBini
ReadIntegerValueFBini
ReadLongintValueFBini
ReadDoubleValueFBini
ReadStringValueFBini
GetCurrentFileName
GetCurrentFileNameA
SetRunOnlyExe
InitProcess
FirstProcess
NextProcess
GetNameProcess
GetIDProcess
Create_Process
Open_Process
KillProcess
WaitExitProcess
WaitLoadProcess
GetExitCode
Файлы библиотек и справка.
Скачать
Исходный проект:
Скачать
Последний раз редактировалось: trew (Сб Июн 04, 2011 10:40 am), всего редактировалось 13 раз(а)
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Так вот кто там пугает русскими кракозябрами сообщество?
Посмотрим, посмотрим.
Посмотрим, посмотрим.
Re: FreeBasic похожий на PureBasic
DoReMi пишет:Не вижу MDI.
И нужно больше примеров с разными элементами.
Проект далеко не закончен! Обновляю ежедневно по капельке. Я выложил его недоделанный на всякий случай. Что касается примеров, есть вопросы по этим функциям, задавайте. Я каждый день стараюсь заходить на форум. А для справки и одного примера для каждой функции, достаточно!
Я выложил на оф. форуме игру "15", созданную еще на PureBasic, но легко переписанную под эту библиотеку. Собственно вот она:
- Код:
#Include "window9.bi"
Enum
Button_0
Button_1
Button_2
Button_3
Button_4
Button_5
Button_6
Button_7
Button_8
Button_9
Button_10
Button_11
Button_12
Button_13
Button_14
Button_15
End Enum
Dim shared dvig As Integer
Dim As Integer event
Randomize Timer
SetGadgetFont(,LoadFont("arial",22,,,1))
Function Open_Window_0() As Integer
Var hwnd=OpenWindow("Пятнашки", 516, 346, 340, 390 )
CenterWindow(hwnd)
ButtonGadget(Button_1, 5, 10, 75, 75, "1")
ButtonGadget(Button_2, 85, 10, 75, 75, "2")
ButtonGadget(Button_3, 165, 10, 75, 75, "3")
ButtonGadget(Button_4, 245, 10, 75, 75, "4")
ButtonGadget(Button_5, 5, 90, 75, 75, "5")
ButtonGadget(Button_6, 85, 90, 75, 75, "6")
ButtonGadget(Button_7, 165, 90, 75, 75, "7")
ButtonGadget(Button_8, 245, 90, 75, 75, "8")
ButtonGadget(Button_9, 5, 170, 75, 75, "9")
ButtonGadget(Button_10, 85, 170, 75, 75, "10")
ButtonGadget(Button_11, 165, 170, 75, 75, "11")
ButtonGadget(Button_12, 245, 170, 75, 75, "12")
ButtonGadget(Button_13, 5, 250, 75, 75, "13")
ButtonGadget(Button_14, 85, 250, 75, 75, "14")
ButtonGadget(Button_15, 165, 250, 75, 75, "15")
Var menu=Create_Menu() 'Создаем меню
Var menName= MenuTitle(menu,"Меню")
MenuItem(1,menName,"Новая игра")
MenuItem(2,menName,"Об игре")
MenuBar(menName)
MenuItem(3,menName,"Выход")
End Function
Function Pustoe_mesto(a As integer) As Integer
Dim As Integer razmer_x,razmer_y,raz_x,raz_y,Schet,Schet1,Schet2,Schet3
razmer_x = GadgetX(a) 'местонахождение гаджета
razmer_y = GadgetY(a)
For gad As Integer=1 To 15
raz_x = GadgetX(gad)
raz_y = GadgetY(gad)
If razmer_x + 80 < 320 Then
If razmer_x + 80 <> raz_x Or razmer_y <> raz_y then ' проверка справа
Schet=Schet+1
EndIf
EndIf
If razmer_x - 80 >= 5 Then
If razmer_x - 80 <> raz_x Or razmer_y <> raz_y Then 'проверка слева
Schet1=Schet1+1
EndIf
EndIf
If razmer_y + 80 < 325 Then
If razmer_y + 80 <> raz_y Or razmer_x <> raz_x Then 'проверка снизу
Schet2=Schet2+1
EndIf
EndIf
If razmer_y - 80 >= 10 Then
If razmer_y - 80 <> raz_y Or razmer_x <> raz_x Then 'проверка сверху
Schet3=Schet3+1
EndIf
EndIf
Next
If Schet=15 Then
dvig=1
EndIf
If Schet1=15 Then
dvig=2
EndIf
If Schet2=15 Then
dvig=3
EndIf
If Schet3=15 Then
dvig=4
EndIf
End Function
Function peremeshenie(a As integer,b As Integer)As Integer
Select Case a
Case 1
ResizeGadget(b, GadgetX(b)+80) 'Перемещение кнопок
Case 2
ResizeGadget(b, GadgetX(b)-80)
Case 3
ResizeGadget(b,,GadgetY(b)+80)
Case 4
ResizeGadget(b,,GadgetY(b)-80)
End Select
dvig=0
End Function
Sub sluch()
Dim gadget As Integer
For ww As Integer=1 To 2000
gadget= Rnd*15 ' случайная расстановка
If gadget=0 Then
gadget=1
EndIf
Pustoe_mesto(gadget)
peremeshenie(dvig,gadget)
Next
End Sub
Open_window_0()
sluch()
Do
event=WindowEvent()
If event=EventGadget Then
For gadget As Integer=1 To 15
If gadget = EventNumber Then ' Идентификация гаджета
Pustoe_mesto(gadget)
peremeshenie(dvig,gadget)
Exit for
EndIf
Next
EndIf
If GadgetX(1)+GadgetY(1)=15 And GadgetX(2)+GadgetY(2)=95 And GadgetX(3)+GadgetY(3)=175 And GadgetX(4)+GadgetY(4)=255 Then
If GadgetX(5)+GadgetY(5)=95 And GadgetX(6)+GadgetY(6)=175 And GadgetX(7)+GadgetY(7)=255 And GadgetX(8)+GadgetY(8)=335 Then
If GadgetX(9)+GadgetY(9)=175 And GadgetX(10)+GadgetY(10)=255 And GadgetX(11)+GadgetY(11)=335 And GadgetX(12)+GadgetY(12)=415 Then
If GadgetX(13)+GadgetY(13)=255 And GadgetX(14)+GadgetY(14)=335 And GadgetX(15)+GadgetY(15)=415 Then
MessBox("Победа", "Молодец ты сумел(а) собрать пятнашку.")
sluch()
EndIf
EndIf
EndIf
EndIf
If event=EventMenu Then 'события меню
Select Case EventNumber
Case 1
sluch()
Case 2
MessBox("Об игре", "Создано в Freebasic, автор: Станислав Будинов")
Case 3
End
End Select
EndIf
Loop Until event=EventClose
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Вот еще один пример:
Игра была написана уже давненько, сейчас просто переписал под FreeBasic, по возможности ничего не меняя.
Архив с исходником
Игра была написана уже давненько, сейчас просто переписал под FreeBasic, по возможности ничего не меняя.
Архив с исходником
- Код:
#Include "window9.bi"
Dim shared tic(36) As Byte
Dim Shared As Integer IMA1, IMA2
IMA1=Load_image("skull.ico")
IMA2=Load_image("null.bmp")
Function IMAGE_(number As Integer) As Integer
If number=1 Then
Return IMA1
Else
Return IMA2
EndIf
End Function
Sub Open_Window_0()
CenterWindow(OpenWindow("ЧЕРЕПА", 216, 0, 445, 490 ))
Dim As Integer d,e,f,b,a
d=1 : e=10 : f=10
For b=1 To 6
For a=1 To 6
ButtonImageGadget(d,e,f,60,60,IMA1)
tic(d)=1
d+=1 : e+=70
Next
e=10 : f+=70
Next
ButtonGadget(37,350,428,75,20,"Сгенерить")
End Sub
Sub OPRED(a As Integer)
Dim As Integer v
If a-6>=1 Then
v= tic(a-6) Xor 1
tic(a-6)=v
SetImageGadget(a-6, IMAGE_(v))
EndIf
If a+6<=36 Then
v= tic(a+6) Xor 1
tic(a+6)=v
SetImageGadget(a+6, IMAGE_(v))
EndIf
If a-1>=1 And a-1<>6 And a-1<>12 And a-1<>18 And a-1<>24 And a-1<>30 Then
v= tic(a-1) Xor 1
tic(a-1)=v
SetImageGadget(a-1,IMAGE_(v))
EndIf
If a+1<=36 And a+1<>7 And a+1<>13 And a+1<>19 And a+1<>25 And a+1<>31 Then
v= tic(a+1) Xor 1
tic(a+1)=v
SetImageGadget(a+1, IMAGE_(v))
EndIf
tic(a)=tic(a) Xor 1
SetImageGadget(a, ( IMAGE_(tic(a))))
End Sub
Sub GENER()
Dim c As Integer
Do
OPRED(Int(Rnd*35+1))
c+=1
Loop Until c=100
End Sub
Open_Window_0()
GENER()
Do
Var ev=WindowEvent()
If ev=EventGadget Then
Select Case EventNumber()
Case 1 To 36
OPRED(EventNumber())
Case 37
GENER()
End Select
ElseIf ev=EventClose then
End
EndIf
Loop
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Вот еще один пример: работа с текстовым файлом, используя связанный список.
Весь проект: Скачать
Весь проект: Скачать
- Код:
#Include "window9.bi"
#Include "spiski.bi"
Var list=NewList() ' создаем новый лист
Var handle=Read_file("2.txt") 'открываем файл для чтения
Dim st As string
If handle Then ' если получилось открыть файл
While E_O_F(handle)=0 ' пока не будет конца файла
st=Read_String(handle) ' читаем строку
Var Pos_=InStr(st," ") ' ищем первый пробел
Var Pos1=InStr(st,"(") ' ищем первую скобку
If Pos_<Pos1 Then 'проверяем какая позиция ближе
Pos_= Pos_
Else
Pos_=Pos1
EndIf
AddElement_S(list,Left(st,pos_-1)) 'загоняем в лист обрезанную строку
Wend
EndIf
Close_file(handle) 'закрываем файл
handle=Create_File("Пример.txt") 'создаем новый файл для записи
If handle Then ' если получилось создать файл
FirstElement(list) ' список на первый элемент
Do
Write_StringN(handle,GetList_S(list)) ' записываем в файл построчно.
Loop Until NextElement(list)=0 ' пока не будет конец списка
EndIf
Close_file(handle) 'закрываем файл
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Проект обновил, добавлены функции:
Полный список в первом посте(обновлено)
Небольшой пример анимации в окне:
Скачать проект анимации
CreateToolBar
ToolBarStandardButton
ToolBarImageButton
DeleteButtonToolBar
SetButtonToolBarState
GetButtonToolBarState
CountButtonToolBar
ToolBarToolTip
SetToolBarToolTipFont
SetToolBarToolTipColor
GetToolBarTextButton
SetToolBarButtonSize
ToolBarSeparator
CreateDir
RemoveDir
GetCurentDir
SetCurentDir
GetWindowsDir
GetSystemDir
GetTempDir
GetSpecialFolder
CopyDir
MoveDir
RenameDir
DeleteDir
GetExtensionPart
GetPathPart
GetFilePart
GroupGadget
Extract_Icon
ShellFolder
RunProgram
Полный список в первом посте(обновлено)
Небольшой пример анимации в окне:
Скачать проект анимации
- Код:
#Include "window9.bi"
Dim As Integer index,aTimer=1
Dim As Integer ArrayImage(1 to 8)
For index=1 To 8
ArrayImage(index)= Load_image("Anim" & index & ".bmp")
Next
Var hwnd1=OpenWindow("animation",10,10,255,228)
CenterWindow(hwnd1)
ImageGadget(1,0,0,240,230)
SetTimer(hwnd1,1,100,0)
Do
Var ev=WindowEvent
If ev=EventClose Then End
If ev=eventtimer Then
Select Case aTimer
Case 1 To 8
SetImageGadget(1,ArrayImage(aTimer))
aTimer+=1
If aTimer=9 Then aTimer=1
End Select
EndIf
Loop
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Речь только о "похожести" или все же планируется совместимость по исходникам с PureBasic?
Re: FreeBasic похожий на PureBasic
DoReMi пишет:Речь только о "похожести" или все же планируется совместимость по исходникам с PureBasic?
Изначально не стояло цели делать клон PureBasic и не планируется.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Проект обновлен. Добавлены функции:
Полный список вверху. Исправлены некоторые ошибки. Исправлены имена файлов связанных списков из-за жалоб с английского форума. Справка так же обновлена и все так же с примерами.
ExamineDirectory
NextDirectoryEntry
FinishDirectory
DirectoryEntrySize
DirectoryEntryDate
DirectoryEntryName
DirectoryEntryAttributes
ListViewGadget
AddListViewColumn
AddListViewItem
GetSubItemListView
GetItemListView
FlagKeyListView
GetColumnListView
DeleteListViewItemsAll
DeleteItemListView
DeleteIndexImageListView
DeleteListViewColumn
GetColumnWidthListView
GetItemCountListView
GetTextItemListView
SetColumnWidthListView
GetSelectedCountListView
ReplaceTextItemListView
ReplaceTextColumnListView
ReplaceImageListView
UpdateItem
GetClipBoardText
SetClipBoardText
GetClipBoardImage
SetClipBoardImage
Полный список вверху. Исправлены некоторые ошибки. Исправлены имена файлов связанных списков из-за жалоб с английского форума. Справка так же обновлена и все так же с примерами.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Проект обновился добавлены функции:
ResizeWindow
WindowX
WindowY
WindowWidth
WindowHeight
WindowBounds
SetWindowTop
SetTransparentWindow
WindowBackgroundImage
SetTrackBarMaxPos
SetTrackBarMinPos
ProgressBarGadget
SetRangeProgressBar
ClearClipBoard
LoadMovie
FreeMovie
PlayMovie
StopMovie
PauseMovie
ResizeMovie
SetRateMovie
GetRateMovie
GetEndPosMovie
MovieSetPositions
MovieGetCurrentPosition
MovieSourseWidth
MovieSourseHeight
MovieFullScreen
MovieAudioSetVolume
MovieAudioGetVolume
MovieScreenShot
MovieGetState
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Буду стараться дальше.ShenZN пишет:Спасибо за библиотеку, trew!
Очень полезная, именно этого и не хватало!
Супер!!!
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Проект обновился, добавлены функции:
FbEDIT не принял такое кол-во функций и начал вылетать с ошибкой. Поэтому теперь все придется делать батником(есть в комплекте).
CreateCopyImageWindow
CreateCopyImageWindowClient
CreateCopyImageDesktop
CreateCopyImageRect
Create_Image
ImageStartDraw
WindowStartDraw
StopDraw
LineDraw
PixDraw
GetPix
BoxDraw
RoundBoxDraw
RoundDraw
CircleDraw
FontDraw
TextDraw
PolylineDraw
ImageDraw
FillRectDraw
EnumSettingsDisplay
ResetEnum
SetCurrentSettingsDisplay
GetCurrentSettingsDisplay
GetWidthDesktop
GetHeightDesktop
GetBitsDesktop
GetFrequencyDesktop
ReplaceString
SetWindowCallback
FreeCallback
IsMouseOver
FbEDIT не принял такое кол-во функций и начал вылетать с ошибкой. Поэтому теперь все придется делать батником(есть в комплекте).
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Обновил библиотеку.
Добавлены функции:
Исправлены ошибки при компиляции библиотеки. И хоть они не влияли на работу библиотеки, все таки лучше без них. Кроме того исправлены некоторые логические ошибки в нескольких функциях. Для контролов(гаджетов) введена поддержка работы библиотеки на Windows 2000.
Добавлены функции:
StatusBarGadget
SetStatusBarField
ToolTipStatusBar
MoveItemTreeView
GetTextTreeView
GetIndexImageTreeView
RenameItemTreeView
ReplaceImageItemTreeView
GetCountItemTreeView
DeleteTreeViewItem
GetItemTreeView
AddTreeViewItem
TreeViewGadget
WebGadget
WebGadgetNavigate
WebGadgetGoForward
WebGadgetGoBack
WebGadgetRefresh
WebGadgetGetURL
WebGadgetState
WebGadgetStop
ScrollBarGadget
GetScrollGadgetRange
SetScrollGadgetRange
GetScrollGadgetPos
SetScrollGadgetPos
SetScrollGadgetPage
SetPageStepScrollBar
GlobalMouseX
GlobalMouseY
AddSysTrayIcon
ReplaceSysTrayIcon
DeleteSysTrayIcon
Исправлены ошибки при компиляции библиотеки. И хоть они не влияли на работу библиотеки, все таки лучше без них. Кроме того исправлены некоторые логические ошибки в нескольких функциях. Для контролов(гаджетов) введена поддержка работы библиотеки на Windows 2000.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Библиотеку обновил, добавлены функции:
Функции по криптовке взяты готовыми с оф. сайта, в справке написаны имена авторов. Одну только пришлось подредактировать.
Некоторые функции моей библиотеки дополнены в плане улучшения, так например, LoadImage теперь загружает изображения с нужным фоном.
AESEncoder
AESDecoder
Encode64
Decode64
MD5createFileHash
MD5createHash
SHA512create
SHA512createFile
SHA1createFile
SHA1create
SetTransferTextLineEditorGadget
GetSelectTextEditorGadget
SetSelectTextEditorGadget
ClientMDIGadget
MDIGadget
AddKeyboardShortcut
DeleteAllKeyboardShortcut
load_Icon
ContainerGadget
PanelGadget
AddPanelGadgetItem
DeleteItemPanelGadget
PanelGadgetGetCursel
PanelGadgetSetCursel
ASCIITOUTF
UTFTOASCII
Функции по криптовке взяты готовыми с оф. сайта, в справке написаны имена авторов. Одну только пришлось подредактировать.
Некоторые функции моей библиотеки дополнены в плане улучшения, так например, LoadImage теперь загружает изображения с нужным фоном.
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
DEPOzit пишет:Реально стоящая вещь. Желаю не останавливаться на достигнутом.
Спасибо
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Все элементы из 2D_Draw в примерах исчезают при растяжении окна или стираются верхним окном. Помогает только включение этих элементов в DO...LOOP. Как-нибудь это можно исправить?
Re: FreeBasic похожий на PureBasic
DEPOzit пишет:Все элементы из 2D_Draw в примерах исчезают при растяжении окна или стираются верхним окном. Помогает только включение этих элементов в DO...LOOP. Как-нибудь это можно исправить?
Это в порядке вещей! Windows автоматически следит за обновлением всех своих окон. Поэтому как только поступает сообщение WM_PAINT (например при растяжении окна или заслонением его другого окна, или даже просто если убрать его за рамки Desktop) окно перерисовывается. Во всех языках программирования приняты одни и те же методы:
1) Использовать специальные контролы: STATIC (в моей библиотеке это ImageGadget), BUTTON (в моей библиотеке это ButtonImageGadget), свои созданные контролы(нужно обеспечивать перерисовку самому)
2) Использовать для рисования процедуру по таймеру
3) Использовать для рисования процедуру с дополнительным потоком
Примеры для всех трех случаев:
- Код:
#Include "window9.bi"
Var hbitmap=Create_Image(320,240) 'создаем изображение
ImageStartDraw(hbitmap) 'начинаем рисование
FillRectDraw(10,10,&hf0f0f0)
CircleDraw(150,100,50,255,255) ' рисуем круг
StopDraw ' заканчиваем рисование
CenterWindow(OpenWindow("Draw",100,100,320,240)) ' создаем окно по ценру экрана
ImageGadget(1,0,0,320,240,hbitmap) 'создаем гаджет и заносим туда изображение
Do : Loop until WaitEvent=EventClose
- Код:
#Include "window9.bi"
Dim Shared As HWND hwnd
hwnd=OpenWindow("Draw",100,100,320,240) ' создаем окно
Sub sub_
WindowStartDraw(hwnd) 'начинаем рисование
FillRectDraw(10,10,&hf0f0f0)
CircleDraw(150,100,50,255,255) ' рисуем круг
StopDraw ' заканчиваем рисование
End Sub
SetTimer(hwnd,1,1,@sub_)
Do : Loop until WaitEvent=EventClose
- Код:
#Include "window9.bi"
Dim Shared As HWND hwnd
hwnd=OpenWindow("Draw",100,100,320,240) ' создаем окно
Sub sub_
Do
WindowStartDraw(hwnd) 'начинаем рисование
FillRectDraw(10,10,&hf0f0f0)
CircleDraw(150,100,50,255,255) ' рисуем круг
StopDraw ' заканчиваем рисование
loop
End Sub
ThreadCreate(@sub_)
Do : Loop until WaitEvent=EventClose
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Табличку типа как ListViewGadget только без изображений не делал еще? Или может можно как-то реализовать и с ListViewGadget?
Re: FreeBasic похожий на PureBasic
Просто укажи вместо хендлов изображений нули:DEPOzit пишет:Табличку типа как ListViewGadget только без изображений не делал еще? Или может можно как-то реализовать и с ListViewGadget?
- Код:
#Include "window9.bi"
Var hwnd=OpenWindow("Привет",10,10,500,500)
Var Style= LVS_EX_FULLROWSELECT Or LVS_EX_GRIDLINES
Var LLIISS=ListViewGadget(1,10,10,300,300,Style)
AddListViewColumn(1, "1 столбец",0,1,100)
AddListViewColumn(1, "2 столбец",1,2,100)
AddListViewColumn(1, "3 столбец",2,3,100)
For aa As Integer=0 To 15
AddListViewItem(1,"item №"+Str(aa),0,aa,0)
AddListViewItem(1,"item №"+Str(aa+18),0,aa,1)
AddListViewItem(1,"item №"+Str(aa+36),0,aa,2)
Next
Do
Var event=WaitEvent()
If Event=EventClose Then End
Loop
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Re: FreeBasic похожий на PureBasic
Пробовал так. Хотелось бы обойтись без пробелов где должена быть иконка.
Re: FreeBasic похожий на PureBasic
DEPOzit пишет:Пробовал так. Хотелось бы обойтись без пробелов где должена быть иконка.
Похоже по другому никак. Или попробуй рисовать типа так(конечно не конечный вариант):
- Код:
#Include "window9.bi"
Sub tt(LLIISS As hwnd)
Do
WindowStartDraw(LLIISS,,,16,GadgetWidth(1))
FillRectDraw(2,2,&hf0f0f0)
StopDraw
loop
End Sub
Var hwnd=OpenWindow("Привет",10,10,500,500)
Var Style= LVS_EX_FULLROWSELECT Or LVS_EX_GRIDLINES
Var LLIISS=ListViewGadget(1,0,10,310,300,Style)
AddListViewColumn(1, " 1 столбец",0,1,100)
AddListViewColumn(1, "2 столбец",1,2,100)
AddListViewColumn(1, "3 столбец",2,3,100)
For aa As Integer=0 To 15
AddListViewItem(1,"item №"+Str(aa),0,aa,0)
AddListViewItem(1,"item №"+Str(aa+18),0,aa,1)
AddListViewItem(1,"item №"+Str(aa+36),0,aa,2)
Next
ThreadCreate(@tt,LLIISS)
Do
Var event=WaitEvent()
If Event=EventClose Then End
Loop
trew- Сообщения : 331
Дата регистрации : 2010-10-14
Страница 1 из 6 • 1, 2, 3, 4, 5, 6
Страница 1 из 6
Права доступа к этому форуму:
Вы не можете отвечать на сообщения