Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
Заблокирован

Решил перейти на Pure Basic

13.11.2013, 04:25. Показов 4651. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
уже не плохо знаю VB
Закачал пурик
установил демо-версию
установил у себя папки разработчика для пурика
что ещё собрать в чемоданчик ?

на что обратить внимание ?
потому-что те приёмы, к которым я привык делать в VB
могут отличаться...

какой сделать самостоятельный проект ?
чтоб понять эти различия, и быстро освоить синтаксис ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2013, 04:25
Ответы с готовыми решениями:

Видеокурс по Pure Basic
Всем привет)) Вот решил опубликовать видеокурс найденный мной в просторах интернета... В самом курсе указывается сайт которого я не нашёл...

Происходит ошибка Pure Basic
Пишу утилу которая автоматически при разрыве связи с инетом через wi-fi его восстанавливает, (winda чёт при всех настройках и галочках...

Копирование файла в Pure Basic
Я тут спросить хотел, у меня есть файл. я хочу его скопировать в другую папку. А как мне это сделать в Pure Basic?

27
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.11.2013, 08:21
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
что ещё собрать в чемоданчик ?
Выбросить этот, что собрал, и найти полную версию, не демо.
У PureBasic нет кряков, ключей регистраций и прочей лабуды. Просто есть полная версия и демо, при этом демо не превращается в полную версию.
Текущая версия 5.20, но её пока нет в свободном доступе, есть 5.11, её и скачай. В отличии от официальной демки она обычно раздается сразу с библиотеками, учебником на русском, примерами и всем необходимым для работы. Потому размер может быть от 42 до 221 MB ( это с видеоуроками, хоть и примитивными, но для начинающего могут помочь).
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
какой сделать самостоятельный проект ?
У каждого программиста есть свой любимый код, который он в первую очередь пытается повторить на новом для себя ЯП. Если есть код, который знаешь как работает досконально, то его и повторяй.
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
потому-что те приёмы, к которым я привык делать в VB
могут отличаться...
Не то слово! Это вообще два разных ЯП, с разной философией, приемами, синтаксисом даже в элементарных примерах, не говорю уже о работе в 2D и 3D библиотеках, которых вообще своих в VB6 нет.
1
13.11.2013, 08:34  [ТС]

Не по теме:

Цитата Сообщение от Pro_grammer Посмотреть сообщение
Выбросить этот, что собрал
вы уже не первый раз предлогаете у меня что-то выбросить :cry:

0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.11.2013, 10:25
Цитата Сообщение от Pro_grammer Посмотреть сообщение
синтаксисом даже в элементарных примерах
Немного примеров, вот самый простой код, который делает одно и тоже на разных языках
Visual Basic
1
2
3
Private Sub Form_Load()
MsgBox App.Path, vbOKOnly, "Моя программа тут:"
End Sub
PureBasic
1
MessageRequester("Моя программа тут:",GetPathPart(ProgramFilename()))
Абсолютно разный код!
А вот с WIN API работать на Пурике одно удовольствие! Вот ещё пример который помещает изображение в буфер обмена, а потом выводит его на форму.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
' Объявляем константы и функции WIN API32
Const IMAGE_BITMAP = 0
Const LR_LOADFROMFILE = &H10
Const IMAGE_ICON = 1
Const IMAGE_CURSOR = 2
Const IMAGE_ENHMETAFILE = 3
Const CF_BITMAP = 2
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, ByVal lpsz As String, ByVal dwImageType As Long, ByVal dwDesiredWidth As Long, ByVal dwDesiredHeight As Long, ByVal dwFlags As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function EmptyClipboard Lib "user32" () As Long
Private Declare Function SetClipboardData Lib "user32" (ByVal wFormat As Long, ByVal hMem As Long) As Long
Private Declare Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Long) As Long
Private Sub Form_Load()
     Dim hDC As Long, hBitmap As Long
    'Грузим изображение в память
    hBitmap = LoadImage(App.hInstance, "c:\windows\StartLogo.bmp", IMAGE_BITMAP, 320, 200, LR_LOADFROMFILE)
    If hBitmap = 0 Then
        MsgBox "Ошибка загрузки изображения"
        Exit Sub
    End If
    'Открываем буфер обмена
    OpenClipboard Me.hwnd
    'Очищаем  буфер обмена
    EmptyClipboard
    'Вставляем изображение в  буфер обмена
    SetClipboardData CF_BITMAP, hBitmap
    'Проверяем, есть ли там наше изображение
    If IsClipboardFormatAvailable(CF_BITMAP) = 0 Then
        MsgBox "Ошибка при помещении изображения в буфер обмена!!"
    End If
    'Закрываем буфер обмена
    CloseClipboard
    'выводим изображение на форму средствами VB6
    Me.Picture = Clipboard.GetData(vbCFBitmap)
End Sub
А теперь то же самое на PureBasic
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
; Открываем окно
OpenWindow(0,100,100,320,200,"Form1") 
;Грузим изображение в память
hBitmap = LoadImage_(0, "c:\windows\StartLogo.bmp", #IMAGE_BITMAP, 320, 200, #LR_LOADFROMFILE)
If hBitmap = 0 
      MessageRequester("Form1", "Ошибка загрузки изображения")
      End 
    EndIf
    
OpenClipboard_(WindowID(0))
EmptyClipboard_()
SetClipboardData_(#CF_BITMAP, hBitmap)
If IsClipboardFormatAvailable_(#CF_BITMAP) = 0 
       MessageRequester("Form1", "Ошибка при помещении изображения в буфер обмена!")
EndIf
     
CloseClipboard_()
 
; Вывод изображения на форму средствами PureBasic
 StartDrawing(WindowOutput(0))
 DrawImage(ImageID(GetClipboardImage(#PB_Any)),0, 0)
 StopDrawing()
 
 Repeat: Until  WaitWindowEvent()=#PB_Event_CloseWindow
Проще?
2
Заблокирован
13.11.2013, 11:01  [ТС]
так получаеться функции API сразу как-бы понятны интерпритатору пурика?

Добавлено через 2 минуты
второй пример меня обрадовал
побежал искать ссылки на рекомендуемые закачки....
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.11.2013, 13:10
Цитата Сообщение от JoraVoenyjHaker Посмотреть сообщение
так получаеться функции API сразу как-бы понятны интерпритатору пурика?
Да, они уже прописаны в библиотеках Пурика, как и многие стандартные константы. Единственное, что надо, это к оригинальной функции API в конце прибавить знак подчеркивания_ и обязательно скобки (), а перед константой подставить "решетку" #
0
Заблокирован
13.11.2013, 13:20  [ТС]
я догадался когда твой код глядел
действительно всё очень просто как три рубля )))...
0
Эксперт по электронике
6583 / 3210 / 335
Регистрация: 28.10.2011
Сообщений: 12,542
Записей в блоге: 7
13.11.2013, 14:28
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Проще?
Если отказаться от некоторых API в пользу встроенных средств, то можно убрать из кода пару строчек и тем самым сделать его еще проще.
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
; Открываем окно
OpenWindow(0,100,100,320,200,"Form1") 
;Грузим изображение в память
hBitmap = LoadImage(0, "c:\windows\StartLogo.bmp")
If hBitmap = 0 
  MessageRequester("Form1", "Ошибка загрузки изображения")
  End 
EndIf
 
If SetClipboardImage(0) = 0 
  MessageRequester("Form1", "Ошибка при помещении изображения в буфер обмена!")
  End 
EndIf
 
; Вывод изображения на форму средствами PureBasic
ImageGadget(0,0,0,0,0,GetClipboardImage(2))
 
Repeat: Until  WaitWindowEvent()=#PB_Event_CloseWindow
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.11.2013, 16:55
Цитата Сообщение от locm Посмотреть сообщение
Если отказаться от некоторых API в пользу встроенных средств,
Да нет, весь смысл был перевести API код с VB6 на PureBasic 1:1, показать, что с API в Пурике работать можно без деклараций и объявления системных констант.
Так что всякие упрощения на встроенные функции тут не уместны.
Или думаешь на VB6 нет встроенных средств для загрузки изображения и работы с буфером обмена?

Не по теме:

Кстати, пока переводил, удивился, что в Пурике как раз нет такого встроенного свойства у формы, как в VB - Form1.Picture. Вроде его наличие это как бы норма в VisualStudio и даже в Делфи, а в Пурике надо привлекать ImageGadget ( как у Вас сделано) или рисовать при помощи StartDrawing.

1
Заблокирован
13.11.2013, 20:46
что ещё собрать в чемоданчик ?
Увы, но лучшим решением будет выбросить всё из чемонданчика и положить взамен что-нибудь полезное.
Например, тот же VB.

Ну сами подумайте:
Как Вы будете изучать пурик, если по нему всего десяток сайтов на весь Инет, и половина - англоязычные?
На что Вы будете жить со своим пуриком, если по нему нет ни одной вакансии и фактически ни одного заказа на фрилансе?
Для кого Вы будете писать программы на своём пурике, если программистов на нём - считанное количество на всю страну?
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
13.11.2013, 21:19
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Для кого Вы будете писать программы на своём пурике, если программистов на нём - считанное количество на всю страну?
Спасибо, рассмешил
А что, программы пишут для программистов?
А я для своего дедушки пишу. И не говорю ему, что они на PureBasic, а то он капец как расстроится, и печеньками с чаем меня угощать перестанет
2
Заблокирован
13.11.2013, 21:49
А что, программы пишут для программистов?
В крупных проектах участвует не один программист и не двое, а целая фирма, где работают не только программисты, но и люди ряда других профессий.
А теперь представьте.
Программисты, работающие в некоторой фирме, пишут программы на C# под WPF.
Дизайнеры - создают скины в Microsoft Expression Blend.
Web-мастера разрабатывают Web-приложения на C# под Silverlight.
И что будет, если взять туда на работу пурекодера? Все знания в области WPF придётся отправить в топку, Silverlight - туда же, про MSEB - вообще молчу. И придётся всем на долгие месяцы засесть за примеры GDI+ на пурике, из которых, кроме убогих "прозрачных часиков", в общем-то, не на чем и остановиться.

А мелкие проекты, настолько мелкие, чтобы над ними работал один человек, - это обычно лабы, курсачи и дипломы. Насколько там нужен пурик, нетрудно узнать самому, зайдя на соответствующие сайты...

И что остаётся?
1
Эксперт по электронике
6583 / 3210 / 335
Регистрация: 28.10.2011
Сообщений: 12,542
Записей в блоге: 7
13.11.2013, 22:07
Цитата Сообщение от Водяной Змей Посмотреть сообщение
И что будет, если взять туда на работу пурекодера? Все знания в области WPF придётся отправить в топку,
Почему же?
Вы забываете что крупные проекты обычно состоят из множества библиотек. Пусть C# прогеры, гуй "формошлепят" на WPF, а пурекодеры будут писать dll'ки для проекта.
Ведь, нативный код работает быстрее и требует меньше ресурсов чем управляемый и его логичнее будет написать на PB, чем на C#.
2
Заблокирован
13.11.2013, 22:18
Пусть C# прогеры, гуй "формошлепят" на WPF, а пурекодеры будут писать dll'ки для проекта.
А функции из этих библиотек через DllImport, что ли, импортировать?
Думаете, удобно это будет WPFшникам, которым даже WinAPI даётся с трудом, а тут какие-то незнакомые библиотеки?

требует меньше ресурсов чем управляемый
Далеко не всегда.

Но главное даже не в этом, а в отсутствии сколько-нибудь приличной документации по пурику.
Лишь пара десятков сайтов в Инете, да и из тех - каждый второй по-английски.
А как что посерьёзнее да посложнее - так фактически, приходится писать на C++: искать в Инете исходники и переписывать на PB.
(Ну а про курсы PB я вообще молчу - за неимением.)
0
Эксперт по электронике
6583 / 3210 / 335
Регистрация: 28.10.2011
Сообщений: 12,542
Записей в блоге: 7
13.11.2013, 22:25
Цитата Сообщение от Водяной Змей Посмотреть сообщение
А функции из этих библиотек через DllImport, что ли, импортировать?
Куда уж как удобно.
WinAPI по вашу как импортируются?
Предлагаете от них тоже отказаться?

Цитата Сообщение от Водяной Змей Посмотреть сообщение
Но главное даже не в этом, а в отсутствии сколько-нибудь приличной документации по пурику.
Во первых, именно по пурику документация есть.
А во в вторых, вы повторяетесь.

Цитата Сообщение от Водяной Змей Посмотреть сообщение
А как что посерьёзнее да посложнее - так фактически, приходится писать на C++
Сразу видно что вы на PB или вообще не писали, или писали проги не сложнее окошка с парой кнопок.
2
Заблокирован
13.11.2013, 22:43
WinAPI по вашу как импортируются?
Предлагаете от них тоже отказаться?
Не отказаться.
Но избегать.
Вот WPFшники и избегают WinAPI. А заодно, увы, и пурекодеров.

именно по пурику документация есть.
Ну что меня, в Гугле забанили, что ли...
Здесь даже контраргументы приводить не буду, любой желающий может убедиться сам.
Просто Вам хотелось бы, чтобы:
вы на PB или вообще не писали, или писали проги не сложнее окошка с парой кнопок.
о чём Вы сами и проговорились.
Увы, но это не так.
0
Заблокирован
14.11.2013, 06:17  [ТС]
Цитата Сообщение от Pro_grammer Посмотреть сообщение
А что, программы пишут для программистов?
А я для своего дедушки пишу. И не говорю ему, что они на PureBasic, а то он капец как расстроится, и печеньками с чаем меня угощать перестанет
+10

Водяной Змей я вам +1 поставил не из за того
что встал на вашу сторону, а потому-что у вас неплохие убедительные аргументы
в том сообщении,
если вспомнить что я спрашивал на что обратить внимание ?
0
 Аватар для markiza-inc
925 / 252 / 100
Регистрация: 21.10.2012
Сообщений: 609
14.11.2013, 14:48
Цитата Сообщение от Водяной Змей Посмотреть сообщение
Но главное даже не в этом, а в отсутствии сколько-нибудь приличной документации по пурику.
Если "пошерстить" данный форум, то внимательный человек обратит внимание на то, что по всем ЯП нет достаточно полной документации. А уж о приличной (подробной и глубокой) и речи не идет.
НО:
  1. У каждого ЯП есть свои "ФАНАТЫ" (в хорошем смысле этого слова). И их очень много. Надеюсь Вы не идеалист, полагающий,
    что если Вы не знаете программистов, пишущих на PureBasic, то значит их и не существует.
  2. У "ФАНАТОВ" есть свои сайты, на которых есть ссылки на документацию, а Главное - идет разбор и конкретика по
    особенностям данного языка, причем с примерами, что иногда бывает лучше и яснее, чем официальная документация.
  3. У "ФАНАТОВ" ЯП PireBasic столько уже наработок, и в таких областях, что у того, кто кроме СИ ни во что больше не верит
    (а возможно просто больше ничего не знает) волосы дыбом могум встать даже там, где их никогда не было.

А посему - Ваше высказывание просто абсурдно и необоснованно!

Цитата Сообщение от Водяной Змей Посмотреть сообщение
Программисты, работающие в некоторой фирме, пишут программы на C#
А если на Pascal, Assembler, Fortran и т.д. - предлагаете всех уволить? И не важно подо что писать.
Уж тогда лучше так: "Все переходим на Assembler, а кто не согласен - в резервации!" Так что-ли?!

Цитата Сообщение от locm Посмотреть сообщение
Сразу видно что вы на PB или вообще не писали, или писали проги не сложнее окошка с парой кнопок.
По-моему, Он на PureBasic вообще ничего не писал, а может и не видел его никогда.

Цитата Сообщение от Водяной Змей Посмотреть сообщение
Для кого Вы будете писать программы на своём пурике, если программистов на нём - считанное количество на всю страну?
Мал золотник, да дорог!
Да не так уж и мало на PureBasic пишут.

Да, существует мнение ( Необоснованное! ) о якобы превосходстве ЯП СИ над другими языками.
Так ведь и реклама говорит что лучше их "гнилушных товаров" ничего в Мире больше нет.

Водяной Змей

Меньше слушайте и читайте мнений ДУРАКОВ, а начните думать своей головой, изучите серьезно хотя бы два или три ЯП, тогда поймете:

Сейчас Вы - Глубоко и сильно ЗАБЛУЖДАЕТЕСЬ!!!

PS

Цитата Сообщение от Водяной Змей Посмотреть сообщение
На что Вы будете жить со своим пуриком, если по нему нет ни одной вакансии и фактически ни одного заказа на фрилансе?
Мне попадались вакансии, где пригашают программиста 1С, чтобы он перенес в 1С проги с ЯП СИ. Вот тебе и "Новый Год".

Хорошему руководителю "ПОФИГ" на чем пишет его программист, главное чтобы исходники оставались на фирме.
1
Заблокирован
14.11.2013, 15:02  [ТС]
Цитата Сообщение от markiza-inc Посмотреть сообщение
Хорошему руководителю "ПОФИГ" на чем пишет его программист, главное чтобы исходники оставались на фирме.
Я сам себе монаполия, и тоже предпочитаю исходники
у себя держать
0
Заблокирован
14.11.2013, 15:14
markiza-inc,
по всем ЯП нет достаточно полной документации
Достаточно полной - нет, но всё же не десяток англоязычных сайтов, как по пурику.

У "ФАНАТОВ" ЯП PireBasic столько уже наработок, и в таких областях, что у того, кто кроме СИ ни во что больше не верит
Почему именно Си?
Не перескакивайте на другие темы, речь шла о C#, Object Pascal, но никак не о C.
И число наработок пурекодеров - ничто по сравнению с числом наработок программистов C# или Object Pascal.

По-моему, Он на PureBasic вообще ничего не писал, а может и не видел его никогда.
По-моему, я ясно писал, что мне приходилось работать с IWebBrowser2 на PB, писал, что мало подходящих примеров, писал, что видел пример от mirashic и kvitaly... Как я мог при всём этом ни разу не видеть PB?
То есть либо Вы умышленно проигнорировали эти мои сообщения, либо особо не утруждаете себя чтением моих сообщение вообще, в то время, как сами пишете мне воооооот такой пост со всякими отвлечёнными темами типа С и 1С.
И кто после этого тролль?


изучите серьезно хотя бы два или три ЯП
Изучил серьёзно около десятка ЯП и диалектов, включая пурик.
Сколько ещё языков изучить и каких, чтобы понять, что пурик - это КРУТО?

P.S.
Дискуссия вылилась в срач, хаотичный и бессмысленный.
Разобраться, кто прав, уже невозможно - Вы про 1С, я C#, а смысл получается в том, что пурик - это ВЕЩЬ.
Походить к решению вопроса надо последовательно.
Для начала давайте разберёмся с наработками. Киньте ссылки на примеры тех же WYSIWYG-редакторов и полезную документацию в этой области на PB, а я кину на C#.

Добавлено через 3 минуты
Я сам себе монаполия
Вот именно, что монАполия.
Русского языка выучить не можем, а в ЯП лезем.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.11.2013, 15:14
Помогаю со студенческими работами здесь

Нужна свежая версия Pure Basic
Всем форумчанам здравствуйте! Могут ли добрые люди кинуть сюда или в лс ссылки свежой полной версии пурика? А то я до сих пор на...

Ограничения демо-версии Pure Basic
Всем привет ! Хотел бы узнать чем ограничена демо - версия Pure Basica ? Какие приложения на ней нельзя будет создать ?

Scintilla создала новый пакет - Pure Basic 5.10
Привет, Форумчане! Предпраздничный подарок! Scintilla создала новый пакет - Pure Basic 5.10 с многими добавлениями и...

Pure Basic: производительность по отношению к другим языкам
Хотел бы узнать какой basic по шустрее да и вообще сравнение с другими языками, может у кого то есть ссылки или статьи? Очень...

Кусок кода на Pure Basic: поясните что происходит
Есть кусок кода на, наверное, замечательном языке PureBasic (см. изображение), который выводит\рисует в окне (это не очень интересно)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru