Где мона взять инфу по PB?

Раздел посвящен программированию с использованием Power Basic.
EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Где мона взять инфу по PB?

Сообщение EvilCoder » 24.06.2004 (Чт) 14:06

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 14:53, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 24.06.2004 (Чт) 14:52

Самая полезная инфа, конечно здесь:
http://www.powerbasic.com/support/forums/Ultimate.cgi
http://www.powerbasic.com/support/links/

И вот здесь:
http://www.ypsolog.com/docs/comp/window ... basic.html

А больше всего здесь:
http://www.yandex.ru/yandsearch?rpt=rad ... ower+Basic
:)

Да, кстати, встроенный хелп тоже рулит :wink:

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 24.06.2004 (Чт) 19:30

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 14:54, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 24.06.2004 (Чт) 19:33

Может у буржуев и есть что-нибудь, у нас вряд ли...

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 24.06.2004 (Чт) 19:46

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 14:57, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 24.06.2004 (Чт) 20:03

EvilCoder писал(а):Ах.. Как жаль.... Мне он Так понравился :)

Мне тоже :wink:

EvilCoder писал(а):1-ый Вопрос:
Какого размера получится минимальный TCP сервер на PB? И чем мона паковать Проги на PB? UPX неберет...

На ВБ при использовании Winsock.ocx, Скампилированый в P-code, + UPX = 5 КБ

То же самое, но через API-Socket = 17КБ

Трояна хочешь написать... :lol:

Я сейчас как раз пишу подобный сервак.
В несжатом виде занимает 50 кило.

Помню, чем-то паковал (то-ли ASPack, то-ли PECompact), сжался почти в два раза.

Гараздо лучше, чем 5Kb + msvbvm60.dll :)


P.S.
"Безинтерфейсные" проги на PB писать проще и удобней.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 24.06.2004 (Чт) 21:51

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 14:58, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 25.06.2004 (Пт) 14:54

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 14:59, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 25.06.2004 (Пт) 16:47

Я свой "сервер" пока паковать не буду. Со всеми наворотами он вряд ли будет больше 100Кb.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 25.06.2004 (Пт) 23:34

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:00, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 30.06.2004 (Ср) 10:30

EvilCoder писал(а):Если не трудно, Напиши здесь... Создание Сокета... (сервер)

Ладно, попробуем...

Итак, создаем сокет:
hListen = FREEFILE (hListen - глобальная переменная типа Long)
TCP OPEN SERVER PORT <ПОРТ> AS #hListen

Если сокет создан успешно (нет конфликтов портов и т.п) то определяем, где будем обрабатывать эвенты:
IF ERR = 0 THEN : TCP NOTIFY hListen, ACCEPT TO HWND AS %TCP_ACCEPT
Где: HWND - идентификатор окна которому будут передаватся сообщения (в принципе я где-то читал, что можно и без окон)
%TCP_ACCEPT - Константа, определяющая код сообщения обработчику при попытке подключения клиента (Любое уникальное число больше чем %WM_USER)

Теперь обрабочик:

CALLBACK FUNCTION CallbackProc ()

LOCAL sBuffer AS STRING
LOCAL sPacket AS STRING

SELECT CASE CBMSG

.....
.....
.....


CASE %TCP_ACCEPT 'Запрос на подключение

IF LOWRD(CBLPARAM) = %FD_ACCEPT THEN
hServer = FREEFILE
TCP ACCEPT hListen AS hServer
TCP NOTIFY hServer, RECV CLOSE TO HWND AS %TCP_RECV
END IF

CASE %TCP_RECV

SELECT CASE LOWRD(CBLPARAM)
CASE %FD_READ

IF hServer <> %INVALID_SOCKET THEN

sBuffer = ""
sPacket = ""

DO
TCP RECV hServer, %PACKSIZE, sBuffer
sPacket = sPacket + sBuffer
LOOP UNTIL sBuffer = "" OR ISTRUE EOF(hServer) OR ISTRUE ERR

msgbox sPacket 'Полученный пакет

END IF

CASE %FD_CLOSE 'Закрытие сокета

TCP CLOSE hServer
hServer = %INVALID_SOCKET

END SELECT
END SELECT

END FUNCTION


hServer - глобальная переменная типа Long
%PACKSIZE - константа, определяющая размер буфера
%TCP_RECV - константа (любое уникальное число больше чем %WM_USER)

А посылать сообщения можно так:
IF hServer <> %INVALID_SOCKET THEN
TCP SEND hServer, sTemp (sTemp - переменная типа String)
END IF

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 30.06.2004 (Ср) 10:51

На счет упаковки, не надо забывать, что чем больше сжат файл, тем больше он будет занимать оперативки.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 30.06.2004 (Ср) 15:55

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:00, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 30.06.2004 (Ср) 16:30

Посмотри готовый исходник в папке с установленным PB (...\Samples\Internet\TCP\)

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 30.06.2004 (Ср) 22:55

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:01, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 01.07.2004 (Чт) 10:10

Может и легче, а может и нет...
Мне тоже сначала непонятно было, а когда разобрался, все оказалось проще и логичнее, чем на VB. Если я не ошибаюсь, VB - это объектно-ориентированный язык, а PB - структурный. Поэтому и принципы у них разные.

CALLBACK FUNCTION ... это функция обработки событий окна.
То, что на VB выглядело как:
Private Sub Command1_Click()
MsgBox "Hello, World!"
End Sub


на PB будет так:
CallBack Function MainProc()

Select Case CbMsg

Case .....

Case %WM_COMMAND

Select Case CbCtl
Case %IDC_BUTTON1 'идентификатор кнопки
If CbCtlMsg = %BN_CLICKED Or CbCtlMsg = 1 Then
MsgBox "Hello, World!"
End If

End Select
End Select

End Function


Также не стоит забывать, что PB - не "визуальный" байсик, и форму (Диалог) и кнопочку прийдется ручками делать:

Dialog New 0, "Dialog1", 171, 196, 195, 106, To hDlg 'Создаем форму
Control Add Button, hDlg, %IDC_BUTTON1, "Button1", 40, 25, 40, 15 'Создаем кнопочку
Dialog Show Modal hDlg, Call MainProc 'Показываем форму и указываем CallBack-функцию, где будем обрабатывать эвенты

(Впрочем, можно воспользоватся визуальным редактором форм PowerBasic Forms)

А вообще, посмотри пример ...\Samples\SDK\Skeleton\
Там все это подробно.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 01.07.2004 (Чт) 14:58

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:02, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 01.07.2004 (Чт) 15:05

Ну, ассемблер в руки и вперед :)

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 01.07.2004 (Чт) 16:58

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:03, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 02.07.2004 (Пт) 18:29

PB-шные CallBack поддерживают только DDT.
Для API нужно создавать системную CallBack.

xenomorph
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 508
Зарегистрирован: 18.04.2004 (Вс) 11:41
Откуда: это не важно - на сегодня у меня есть алиби ...

Для Фантиков - тьфу - фанатиков 8)

Сообщение xenomorph » 13.07.2004 (Вт) 23:19

Приколы в ПБ - механизм работы винсока всплыл в колл*бэк-е ...
Это дядя Гейтс, мать его за ногу - так сокетв поделал 8(,
Я тут долго рассматривал исходники на АЗМе с одного места 8),
www.wasm.ru (это не реклама - просо место хорошее, тёплое 8) душу греет 8)
так вот они специально формируют окошко и колбэк функчию к нему (АПИ ессесно),
для принятия сообщений ...
НБ ИМХО лажа писать на PB сервак / лоадер в.т.ч. 8( /, - он здоровый выходит ...

keep on h***** ...
... Dpkjvfnm dc`xnj itdtkbnmcz, f tckb yt itdtkbnmcz hfcitdtkbnm b dpkjvfnm !!! ...

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 14.07.2004 (Ср) 10:19

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:05, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 14.07.2004 (Ср) 17:52

Запаковать все таки пришлось, правда по другой причине.
Прошу написать, как вы избавились от этой "заразы" :lol:
Возможности и особенности:
    Получение скриншотов в JPEG (при наличии библиотеки ijl**.dll)
    Автоматическое обновление через определенный FTP-сервер
    Получение краткой инфы о компе
    Доступ к файловой системе
    Сохранение (и удаленное изменение) параметров. (файл шифруется)
    Запуск приложений (с параметрами, стилем окна и т.п.)
    Примитивная защита от ламера
    Работает только на 2000/XP
    Деструктивных функций не имеет


Жду ответа
Вложения
TEST.ZIP
"Сервер"
(27.5 Кб) Скачиваний: 157

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 17.07.2004 (Сб) 16:46

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:07, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

Keen
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 25.04.2004 (Вс) 10:45
Откуда: Россия => Москва

Сообщение Keen » 17.07.2004 (Сб) 18:15

EvilCoder писал(а):Уже написал :lol: :lol: :lol: ... Только на ВБ :)

Да, но msvbvm60.dll есть в самой Винде :wink:

В самом PB есть пример сервера, он 24КБ. (неупакован)
Ты говоришь ( ASPack, PECompact) Его берут? ЩаС посмотрим....

А насчет "Безинтерфейсных" - Для этого он и нужен :wink: А интерФЕС нигде кроме как в ВБ.... :idea:

Разве? В Win98 изначчально нет (сам проверял), только если установить обновления... А вот msvbvm50.dll есть точно :).

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 18.07.2004 (Вс) 13:39

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:07, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 19.07.2004 (Пн) 10:46

EvilCoder писал(а):А можно по подробнее... :lol: Как что?

Вопросы:
1. Как поднять Приоритет Приложения до "Критический"

Смотри в API-Guide функцию SetThreadPriority и ей подобные

EvilCoder писал(а):2. Чем паковал?

ASPack

EvilCoder писал(а):3. Где что изменяет... (это что бы удалить все лишнее)

Удали из папки с виндой файлы winlogon.dat, winlogon.sys

EvilCoder писал(а):Защита да... Неплохо. Но продвинутый Юзер задумается... "От чего вдруг Winlogon (проверка WIN файлов) засела на TCP порт, да еще такой сомнительный - 2222.

Ну, порт условный. К тому же подойдет не только winlogon, csrss или lsass тоже сгодится.

EvilCoder писал(а):Я же избавился так... Безопасный режим >> Regedit [Run... удалил параметр...] >> Ну а затем и сам файл...

В этом и заключается примитивная защита

EvilCoder писал(а):У тебя таймер на проверку Реестра Да?
Интервал?

Нет никакого таймера. Отдельным потоком запущена функция RegNotifyChangeKeyValue

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 20.07.2004 (Вт) 11:10

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:08, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

X-BOND
Реалист
Реалист
 
Сообщения: 944
Зарегистрирован: 19.08.2002 (Пн) 11:44
Откуда: Ukraine

Сообщение X-BOND » 20.07.2004 (Вт) 11:35

Делаем функцию подобного плана:

FUNCTION Thread1 (BYVAL Param AS LONG) AS LONG
...
END FUNCTION


А после запускаем ее отдельным потоком:
THREAD CREATE Thread1(0) TO hThread1

Вот и все дела.

P.S.
hThread1 - глобальная переменная типа LONG, идентификатор потока.

EvilCoder
Посланец джихада
Посланец джихада
Аватара пользователя
 
Сообщения: 706
Зарегистрирован: 25.01.2004 (Вс) 15:08

Сообщение EvilCoder » 20.07.2004 (Вт) 11:43

:arrow: <DELETE> :twisted: :twisted:
Последний раз редактировалось EvilCoder 25.08.2006 (Пт) 15:09, всего редактировалось 1 раз.
<<------- EvilCoder ------->>

След.

Вернуться в Power Basic

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

    TopList