FreeBasic похожий на PureBasic

Страница 1 из 6 1, 2, 3, 4, 5, 6  Следующий

Предыдущая тема Следующая тема Перейти вниз

FreeBasic похожий на PureBasic

Сообщение  trew в Ср Дек 22, 2010 6:07 pm

Библиотека функций под Windows, которые очень схожи как по названию, так и по простоте использования на команды(функции) PureBasic. Справка по функциям с примерами прилагается. Исходный проект тоже доступен.
Даже если у вас аллергия на другие языки программирования Very Happy , многие функции пригодятся для разработки интерфейса под 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

Сообщение  DoReMi в Чт Дек 23, 2010 11:01 am

Так вот кто там пугает русскими кракозябрами сообщество? Wink
Посмотрим, посмотрим.
avatar
DoReMi

Сообщения : 67
Дата регистрации : 2008-08-28
Возраст : 44
Откуда : Волгодонск

Посмотреть профиль http://doreonline.blogspot.com

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DoReMi в Чт Дек 23, 2010 11:18 am

Не вижу MDI.
И нужно больше примеров с разными элементами.

avatar
DoReMi

Сообщения : 67
Дата регистрации : 2008-08-28
Возраст : 44
Откуда : Волгодонск

Посмотреть профиль http://doreonline.blogspot.com

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Чт Дек 23, 2010 5:22 pm

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

Сообщение  trew в Пт Дек 24, 2010 7:55 pm

Вот еще один пример:
Игра была написана уже давненько, сейчас просто переписал под 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

Сообщение  trew в Сб Дек 25, 2010 1:08 pm

Вот еще один пример: работа с текстовым файлом, используя связанный список.

Весь проект: Скачать

Код:
#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

Сообщение  trew в Пн Янв 03, 2011 6:01 pm

Проект обновил, добавлены функции:

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

Сообщение  DoReMi в Пт Янв 07, 2011 2:12 am

Речь только о "похожести" или все же планируется совместимость по исходникам с PureBasic?
avatar
DoReMi

Сообщения : 67
Дата регистрации : 2008-08-28
Возраст : 44
Откуда : Волгодонск

Посмотреть профиль http://doreonline.blogspot.com

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пт Янв 07, 2011 9:26 am

DoReMi пишет:Речь только о "похожести" или все же планируется совместимость по исходникам с PureBasic?

Изначально не стояло цели делать клон PureBasic и не планируется.

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пн Янв 10, 2011 5:11 pm

Проект обновлен. Добавлены функции:

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

Сообщение  trew в Сб Фев 05, 2011 9:26 pm

Проект обновился добавлены функции:

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

Посмотреть профиль

Вернуться к началу Перейти вниз

Супер!!!

Сообщение  ShenZN в Вс Фев 06, 2011 12:53 pm

Спасибо за библиотеку, trew! Very Happy
Очень полезная, именно этого и не хватало! cheers
Супер!!!

ShenZN

Сообщения : 155
Дата регистрации : 2008-02-18
Откуда : Ukraine

Посмотреть профиль http://lodestar-game.narod.ru

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Вс Фев 06, 2011 5:21 pm

ShenZN пишет:Спасибо за библиотеку, trew! Very Happy
Очень полезная, именно этого и не хватало! cheers
Супер!!!
Буду стараться дальше.

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Вт Фев 15, 2011 7:32 pm

Проект обновился, добавлены функции:

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

Сообщение  trew в Пт Мар 18, 2011 8:51 pm

Обновил библиотеку.
Добавлены функции:
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

Сообщение  trew в Сб Апр 09, 2011 5:38 pm

Библиотеку обновил, добавлены функции:

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 в Сб Апр 09, 2011 8:42 pm

Реально стоящая вещь. Желаю не останавливаться на достигнутом.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Вс Апр 10, 2011 12:19 pm

DEPOzit пишет:Реально стоящая вещь. Желаю не останавливаться на достигнутом.

Спасибо

trew

Сообщения : 331
Дата регистрации : 2010-10-14

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пн Апр 11, 2011 9:36 am

Все элементы из 2D_Draw в примерах исчезают при растяжении окна или стираются верхним окном. Помогает только включение этих элементов в DO...LOOP. Как-нибудь это можно исправить?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пн Апр 11, 2011 10:12 am

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

Сообщение  DEPOzit в Пн Апр 11, 2011 10:18 am

Все понятно. Спасибо.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  DEPOzit в Пн Апр 11, 2011 7:53 pm

Табличку типа как ListViewGadget только без изображений не делал еще? Или может можно как-то реализовать и с ListViewGadget?

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пн Апр 11, 2011 8:50 pm

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

Сообщение  DEPOzit в Пн Апр 11, 2011 9:04 pm

Пробовал так. Хотелось бы обойтись без пробелов где должена быть иконка.

DEPOzit

Сообщения : 113
Дата регистрации : 2008-05-15
Возраст : 35
Откуда : Смоленская обл.

Посмотреть профиль http://freebasic.ru/

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  trew в Пн Апр 11, 2011 9:38 pm

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

Посмотреть профиль

Вернуться к началу Перейти вниз

Re: FreeBasic похожий на PureBasic

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Страница 1 из 6 1, 2, 3, 4, 5, 6  Следующий

Предыдущая тема Следующая тема Вернуться к началу


 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения