У него хоть в справке всё нормально разсортировано, а в PowerBasic всё свалено в одну кучу и сложно бывает найти то, что нужноПо PureBasic-у куда больше инфо
У него хоть в справке всё нормально разсортировано, а в PowerBasic всё свалено в одну кучу и сложно бывает найти то, что нужноПо PureBasic-у куда больше инфо
Обоснуй!PureBasic - самопальный отстой, самое лучшее, что можно с ним сделать. Немедленно удалить и забыть о его существовании.
HAWK писал(а):Обоснуй!
Каждый может подобное написать, а ты приведи конкретные факты почему он "отстой".
Иначе ты просто препишь языком!
Кароры трепло по нашему.
Viper писал(а):Для холиваров у нас отдельный раздел, кстати, есть.
А почему Вы намекаете мне?[Viper] :: Еще раз (последний) намекаю, что для холиваров у нас естьспециальный раздел!
Ошибаетесь!Первое - примитивная идеология и семантика (уровень скриптового языка)
. Тоже неправы. Есть ООП.второе - нет ООП
Interface Inter_Face
MSG(Message.s)
EndInterface
Structure OBJ
VTable.l
Function.l[SizeOf(Inter_Face)/4]
EndStructure
Procedure Message(*t.Inter_Face, Message.s)
MessageRequester("", Message.s)
EndProcedure
Procedure Constructor()
*OBJ.OBJ = AllocateMemory(SizeOf(OBJ))
*OBJ\VTable = *OBJ+OffsetOf(OBJ\Function)
*OBJ\Function[0] = @Message()
ProcedureReturn *OBJ
EndProcedure
Procedure Destructor(*OBJ.OBJ)
FreeMemory(*OBJ.OBJ)
EndProcedure
*MyOBJ.Inter_Face = Constructor()
*MyOBJ\MSG("Hallo, dies ist ein Testtext")
Destructor(*MyOBJ)
Вы точно в этом уверены?По возможностям PureBASIC не дотягивает даже до PowerBASIC 6.0 (выпущенного 10 лет назад).
Но самое главное - кривой синтаксис PureBASIC
Такссс... Поскольку после первого предупреждения никто не внял, то и последовало повторное красным цветом в последнем на тот момент. Оно относилось ко всем участникам дискуссии. Это понятно? Ну а теперь раздача: ВСЕ участники дискуссии получают по предупреждению! Тема уезжает в холивары.HAWK писал(а):А почему Вы намекаете мне?[Viper] :: Еще раз (последний) намекаю, что для холиваров у нас естьспециальный раздел!
Ведь начал jangle с него и спрос!
Я лишь написал что у PureBasic справка удобнее сделана, а он... ну вы сами видели.
При этом я ничего плохого не сказал о PowerBasic!
Так вот, PureBasic намного проще в освоении и у него лучше продумано взаимодействие встроеных функций, а это сильно облегчает программирование!
; Создаём окно.
OpenWindow(1,0,0,200,100,"Заголовок окна",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList( WindowID(1) ) ; Создаём пустой список гаджетов.
ButtonGadget(2,50,30,80,25,"Кнопка")
Repeat ; Начало главного цикла.
Event=WaitWindowEvent() ; Получаем идентификатор события.
Gadget=EventGadget() ; Узнаём идентификатор активного гаджета.
If Event=#PB_Event_Gadget And Gadget=2 ; Условие будет выполнено при щелчке по кнопке.
MessageRequester("Сообщение","Была нажата кнопка") ; Выводим на экран сообщение.
EndIf
Until Event = #PB_Event_CloseWindow ; Прерываем цикл при закрытии окна
End ; Директива, завершающая программу.
HAWK писал(а):Не надо бросать слова на верет, т. е. заниматся трёпом!!!!
Лучше приведи доказательства чем это PowerBasic лучше чем PureBasic!
Личто я когда начинал программировать, то одновременно изучал PowerBasic и PureBasic.
Так вот, PureBasic намного проще в освоении и у него лучше продумано взаимодействие встроеных функций, а это сильно облегчает программирование!
Ну да, аналогов нет! Это ускоспециализированый редактор!примитив полный
Согласен!Уже в какой раз повторю народну мудрость — неважно на чем писать, а важно что и как.
HAWK писал(а):Давайте для начала сравним две идентичные проги на PureBasic и PowerBasic.
Вот прога, которая создаёт окно с кнопкой. При щелчке по кнопке появляется мессага.
- Код: Выделить всё
; Создаём окно.
OpenWindow(1,0,0,200,100,"Заголовок окна",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
CreateGadgetList( WindowID(1) ) ; Создаём пустой список гаджетов.
ButtonGadget(2,50,30,80,25,"Кнопка")
Repeat ; Начало главного цикла.
Event=WaitWindowEvent() ; Получаем идентификатор события.
Gadget=EventGadget() ; Узнаём идентификатор активного гаджета.
If Event=#PB_Event_Gadget And Gadget=2 ; Условие будет выполнено при щелчке по кнопке.
MessageRequester("Сообщение","Была нажата кнопка") ; Выводим на экран сообщение.
EndIf
Until Event = #PB_Event_CloseWindow ; Прерываем цикл при закрытии окна
End ; Директива, завершающая программу.
Вот EXE http://www.filehoster.ru/files/cm7475
Теперь приведить аналогичную программу на PowerBasic.
Ну так покажи прогу в которой использован "хороший стиль".И эту семантическую кашу ты называешь хорошим стилем?
HAWK писал(а):Ну да, аналогов нет! Это ускоспециализированый редактор!примитив полный
Ты это не давай буржуйсткие ссылки, а наши давай.
Я тоже могу дать кучу буржуйских ссылок, но толку...
PS.
А что PowerBasic не поддерживает XP стиль окон?
HAWK писал(а):Ну так покажи прогу в которой использован "хороший стиль".И эту семантическую кашу ты называешь хорошим стилем?
'/*------------------------------------------------------------
' HELLOWIN.BAS -- Displays "Hello, Windows 98!" in client area
' (c) Charles Petzold, 1998
' ------------------------------------------------------------*/
#Register None
#Dim All
#Include "WIN32API.INC"
Function WinMain (ByVal hInstance As Dword, _
ByVal hPrevInstance As Dword, _
ByVal lpCmdLine As Asciiz Ptr, _
ByVal iCmdShow As Long) As Long
Local Msg As tagMsg, wClass As WndClassEx, hWnd As Dword, szClassName As Asciiz * 9
szClassName = "HelloWin"
wClass.cbSize = SizeOf(wClass)
wClass.style = %CS_HREDRAW Or %CS_VREDRAW
wClass.lpfnWndProc = CodePtr(MainWndProc)
wClass.cbClsExtra = 0
wClass.cbWndExtra = 0
wClass.hInstance = GetModuleHandle(ByVal %Null)
wClass.hIcon = LoadIcon (%NULL, ByVal %IDI_APPLICATION) 'loads an icon for use by the program
wClass.hCursor = LoadCursor(%NULL, ByVal %IDC_ARROW) 'loads a mouse cursor for use by the program
wClass.hbrBackground = GetStockObject(%WHITE_BRUSH)
wClass.lpszMenuName = %NULL
wClass.lpszClassName = VarPtr(szClassName)
wClass.hIConSm = LoadIcon (%NULL, ByVal %IDI_APPLICATION) 'loads an icon for use by the program
Call RegisterClassEx (wClass) 'registers a window class for the program window
hWnd = CreateWindow (szClassName, "The Hello Program", %ws_overlappedwindow, _
%CW_USEDEFAULT, %CW_USEDEFAULT, %CW_USEDEFAULT, %CW_USEDEFAULT,_
%NULL, %NULL, wClass.hInstance, %NULL)
ShowWindow hWnd, %sw_show
UpdateWindow hWnd
While GetMessage(Msg, %NULL, 0, 0)
TranslateMessage Msg
DispatchMessage Msg
Wend
Function = Msg.wParam
End Function
Function MainWndProc(ByVal hWnd As Dword, ByVal wMsg As Dword, ByVal wParam As Dword, ByVal lParam As Dword) Export As Long
Local ps As PAINTSTRUCT, wRect As RECT, hdc As Long
Select Case wMsg
Case %wm_create
Function = 0
Case %wm_paint
hdc = BeginPaint(hWnd, ps) 'initiates window painting
Call GetClientRect(hWnd, wRect) 'gets dimensions of window's client area
Call DrawText (hdc, "Hello, Windows 98!", -1, wRect,_ 'displays a text string
%DT_SINGLELINE Or %DT_CENTER Or %DT_VCENTER)
Call EndPaint(hWnd, ps) 'ends window painting
Function = 0
Case %wm_destroy
PostQuitMessage 0
End Select
Function = DefWindowProc(hWnd, wMsg, wParam, lParam) 'performs default processing of message
End Function
Ты что. Там почти 10 тысяч строк.Ты показываешь, примитивную GUI обвеску, над Scintilla. Весь этот редактор 2-3 дня работы максимум.
Сравнил.Вот это пример идеологически правильного кода, а теперь сравни с тем ужасом который ты привел.
а скока он кушает?Есть еще HotBasic, который заявленно кушает меньше памяти
Williams писал(а):что скажете по-поводу REALBasic?
ЗЫ Есть еще HotBasic, который заявленно кушает меньше памяти, сборки также меньше говорят
HAWK писал(а):] Ты что. Там почти 10 тысяч строк.
Я же написал что это ускоспециализированый редактор для PIC контроллеров.
Там есть много полезных вещей.
Например, можно подсвечивать ключевые слова для каждого типа контроллера индивидуально.
Для каждого ключевого слова можно назначить индивидуальну подсказку, что позволит разобратся с программой для малознакомого типа контроллера.
Есть возможность сворачивать блоки текста.
Есть авто переключатель ракскладки клавы и авто формаирователь отступов чтобы не отвлекатся по пустякам.
Ну там ещё куча инструментов есть, правда большенсто из них в демо ресии заблокировано.
Ты тока на меню взгляни! Там же меню стиля Офис 2003 и Офис XP. Покажи такое меню на PowerBasic?
И считаю что ужас это твой пример.
Если бы я хотел программить на API, то пилал бы на Си.
Вся фишка PureBasic в том, что с его помощью можно писать программы даже без использования API.
Ты исходник видел?Весь описанный тобой функционал форматирования текста, находится в Scintilla.dll. Разрабочик редактора ни коим образом его не создавал
Чтобы получить адрес функции, достаточно перед её именем поставить "собаку" и всё.Где указатели на функции?
HAWK писал(а):Вот парочка примеров работы с компанетами винды на PureBasic. http://www.filehoster.ru/files/cm7738
Word - перед запуском проги помещаем в буфер обмена любой текст и запускаем прогу.
Текст будет проверен вордом на наличие ошибок.
волшебник - работа с анимационным персонажем "волшебник".
Флеш плеер - проигрывание флеш-ролика.
Exel - заполнение таблицы в экселе.
Ты исходник видел?
Я его видел, так что не надо говорить того, что не знаешь!!!
Да, кстати, та версия что сама делает раскраску и форматирование весит больше 300 кило (она не подходит по некоторым параметрам), а применённая в редакторе весит всего 170 кило.
Детский сад.... В чём?
Чтобы получить адрес функции, достаточно перед её именем поставить "собаку" и всё.[/quote]Где указатели на функции?
Судя по этому примеру, тебе ещё не скоро в школу.В том, что это меню в XP стайл, напишет любой грамотный школьник, практически на любом языке.
HAWK писал(а):А вот наскока я понял в PowerBasic нет специального обрабаботчика событий,
а и вообще почти всегда надо через API работать.
В PureBasic есть встроеная поддержка обработки событий поэтому Сallbacks обычно не применяется.
Вывод таков.
На пурике проще писать проги!
Вернуться в Holy Wars@VBStreets
Сейчас этот форум просматривают: Google-бот и гости: 28