purebasic.info

PureBasic forum
Текущее время: Ср сен 19, 2018 4:34 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 167 ]  На страницу 1, 2, 3, 4, 5 ... 12  След.
Автор Сообщение
 Заголовок сообщения: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 5:32 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
Появилась новая версия PB 5.40. :) Качаем. Изображение
Нововведения.
Код:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
- Added new Vector 2D library
- Added new CGI library with standard and FastCGI support
- Added Literal string escape support with the '~' operator (ex: a$ = ~"Hello\nWorld\n")
- Added EscapeString()/UnescapeString() function to allow escaping operation on any strings (variables etc.)
- Added EnumerationBinary to create bitmask enumeration automatically
- Added database parameter binding to ease request construction
- Added SetDatabaseBlob(), SetDatabaseFloat(), SetDatabaseDouble(), SetDatabaseLong()
- Added SetDatabaseQuad(), SetDatabaseString(), SetDatabaseNull()
- Added SHA2 and SHA3 (224/256/384/512-bit) support to Cipher library
- Added StringFingerprint()
- Added CRC32 support for StartFingerprint()
- Added ReceiveHTTPMemory(), IsJoint()
- Added RefreshDialog() to recalc dimension after a text change or similar
- Added "group" XML attribute for 'option' dialog gadget, to specify explicitly a group
- Added HTTPS and simple auth support for ReceiveHTTPFile() and GetHTTPHeaders()
- Added Auto redirect support for ReceiveHTTPFile() and ReceiveHTTPMemory()
- Added ASynchronous mode for ReceiveHTTPFile() and ReceiveHTTPMemory()
- Added HTTPProgress(), AbortHTTP() and FinishHTTP() to control async mode
- Added HTTPS/TLS support for SendMail()
- Added FlushPreferenceBuffers()
- Added CopyDebugOutput() to copy the debug output to the clipboard from code
- Added 7z archive creation
- Added tar (gz and bzip2) archive support for creation and decompression
- Added Full path in IDE recent files menu
- Added #PB_ProgressBar_Unknown for SetGadgetState() to indicate unknown progress
- Added #PB_UTF8/Ascii/Unicode support to ReadCharacter() and WriteCharacter()
- Added #PB_UTF8 support to URLEncoder() and URLDecoder (now the default mode)
- Added Windows 8.1/10 and OS X 10.9/10/11 support to OSVersion()
- Added #PB_Editor_xxx constants when using the 'Version' info on Windows
- Added #PB_Program_Ascii/Unicode/UTF8 support to RunProgram()
- Added linux/osx style flags for the commandline compiler on Windows to ease cross-platform scripts
- Added: #PB_File_SharedWrite support to ReadFile() and CreateFile()
- Added: 'IMPORTLIST' compiler interface to get all the predefined API functions
- Added: #Null$ special string constant to affect a real null value to a string (to free it completely). It can be
used as well for API function which sometimes accept NULL instead of a string address.
- Updated the Linux printer lib to use native GtkPrint instead of GnomePrint
- Updated the Windows compiler to VC++ 2013 for better code generation
- Updated SQLite to 3.8.10.2
 
- Fixed Zip archive support
- Fixed send mail and http request issues
- The default GTK version is now GTK3 on Linux. A gtk2 subsystem has been added for backward compatibility.
- The default string format for RunProgram() read/writestring is not UTF8 instead of Unicode
- Changed the Cipher lib to be modular (now UseMD5Fingerprint() and such commands needs to be used)
- Renamed ExamineFingerprint() to StartFingerprint()
- Renamed NextFingerprint() to AddFingerprintBuffer()
- Removed RemovePackFile()
- Changed: the SendMail() 'Asynchronous' parameter has been replaced by the #PB_Mail_Asynchronous flag.
- Removed: #PB_Packer_CompressedSize support for ZIP and 7z archives with PackerEntrySize()
- Removed: AvailableScreenMemory()
- Fixed: 'CONSTANTLIST' compiler interface, now string constants are returned as escaped strings.
- Changed: DLLImporter has been removed and .pbl files are no more supported. New 'import library' files can be
created using the '/IMPORT' switch of the pbcompiler.


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 6:35 pm 
Не в сети
профессор

Зарегистрирован: Чт сен 22, 2011 6:21 pm
Сообщений: 239
Благодарил (а): 32 раз.
Поблагодарили: 22 раз.
Пункты репутации: 0
я бы сказал, бетта 1 :D
народ уже успел ошибок нарыть: http://www.purebasic.fr/english/viewforum.php?f=4
да и фиксов явно больше чем перечислено официально (исходя из той-же темы)
нововведения конечно радуют (https думал не дождусь) :)

зы. справку не обновили - разгильдяи :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 6:52 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6382
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Kuzmat писал(а):
нововведения конечно радуют (https думал не дождусь) :)

зы. справку не обновили - разгильдяи :D

Справка новая, по крайней мере то что заявлено, то там есть.
А вот HTTPS/TLS support for SendMail() что то на mail.ru не сработало у меня, отправить не смог письмо с #PB_Mail_UseSSL
И пример со скачиванием в память ReceiveHTTPMemory тоже не сработал. Хотя сам архив доступен, браузер качает.
Код:
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
InitNetwork()
 
  Download = ReceiveHTTPMemory("http://www.purebasic.com/download/OgreAssimpConverter.zip", #PB_HTTP_Asynchronous)
  If Download
    Repeat
      Progress = HTTPProgress(Download)
      Select Progress
        Case #PB_Http_Success
          *Buffer = FinishHTTP(Download)
          Debug "Download finished (size: " + MemorySize(*Buffer) + ")"
          FreeMemory(*Buffer)
          End
 
        Case #PB_Http_Failed
          Debug "Download failed"
          End
 
        Case #PB_Http_Aborted
          Debug "Download aborted"
          End
         
        Default
          Debug "Current download: " + Progress
       
      EndSelect
     
      Delay(500) ; Don't stole the whole CPU
    ForEver
  Else
    Debug "Download error"
  EndIf
 


_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 7:02 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
ReceiveHTTPMemory - очень не хватало.

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 7:38 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
kvitaliy писал(а):
И пример со скачиванием в память ReceiveHTTPMemory тоже не сработал.
Сработал. Нужно немного подождать. Похоже что в HTTPProgress есть ошибка.

Вообще нововведения интересные.
Парочка скринов работы библиотеки VectorDrawing.
"Скрины"
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
 
    If StartVectorDrawing(CanvasVectorOutput(0))
 
      MovePathCursor(40, 60)
      AddPathArc(100, 140, 160, 20, 20)
      AddPathArc(160, 20, 220, 180, 20)
      AddPathArc(220, 180, 280, 80, 20)
      AddPathArc(280, 80, 340, 120, 20)
      AddPathLine(340, 120)
 
      VectorSourceColor(RGBA(255, 0, 0, 255))
      StrokePath(10)
         
      StopVectorDrawing()
    EndIf
   
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf


Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
  If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
    LoadFont(0, "Times New Roman", 20, #PB_Font_Bold)
 
    If StartVectorDrawing(CanvasVectorOutput(0))
      VectorFont(FontID(0), 150)
     
      MovePathCursor(50, 25)
      AddPathText("Text")
     
      VectorSourceColor(RGBA(255, 0, 0, 255))
      DashPath(3, 6)
   
      StopVectorDrawing()
    EndIf
   
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
 
 


Изображение

Код:
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
  If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
    LoadFont(0, "Times New Roman", 20, #PB_Font_Bold)
 
    If StartVectorDrawing(CanvasVectorOutput(0))
   
      ; Setup a complex clipping path with nested ellipses (every second one will be clipped)
      For i = 10 To 150 Step 5
        AddPathEllipse(200, 100, 2*i, i)
      Next i
      ClipPath()
   
      ; Draw some text with this clipping
      VectorFont(FontID(0), 150)      
      VectorSourceColor(RGBA(255, 0, 0, 255))
     
      MovePathCursor(50, 25)
      DrawVectorText("Text")
 
      StopVectorDrawing()
    EndIf
   
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf
 
 


Изображение

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
  If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    CanvasGadget(0, 0, 0, 400, 200)
   
    LoadImage(0, #PB_Compiler_Home + "examples/Sources/Data/PureBasicLogo.bmp")
 
    If StartVectorDrawing(CanvasVectorOutput(0))
   
      MovePathCursor(50, 50)
      DrawVectorImage(ImageID(0), 127)
     
      MovePathCursor(75, 75)
      DrawVectorImage(ImageID(0), 127, ImageWidth(0) / 2, ImageHeight(0))
 
      MovePathCursor(120, 0)
      RotateCoordinates(120, 0, 35)
      DrawVectorImage(ImageID(0), 127)
   
      StopVectorDrawing()
    EndIf
   
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf


Изображение
Также VectorDrawing поддерживает экспорт в PDF (Linux и MacOS X) и SVG (Linux).
Еще добавили такую полезную вещь.
Код:
1
Debug ~"Test=\"Hello\"." ; Test="Hello".


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:23 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
Пётр писал(а):
Парочка скринов работы библиотеки VectorDrawing

Только на канвасе рисует?

Пётр писал(а):
Также VectorDrawing поддерживает экспорт в PDF (Linux и MacOS X) и SVG (Linux)

А как насчет импорта?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:27 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Неужели добавили экранирование кавычек? Круто!

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:30 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6382
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Уж не знаю, в чем заключается
Цитата:
Updated the Windows compiler to VC++ 2013 for better code generation


Но эта "лучшая генерация кода" превращает этот ни чего не делающий кусок кода:
Код:
1
2
3
If OpenWindow(0, 0, 0, 400, 200, "win", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf



В приложение весом 34304 байта :shock:

Для сравнения
4.31 = 11 776
5.11 = 18 432
5.31 = 19 968
5.40 = 34 304

Чего они туда постоянно добавляют?

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:34 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
MrF писал(а):
Только на канвасе рисует?
Не только.
Цитата:
The output to draw on. These functions can be used to get an output for vector drawing:

WindowVectorOutput(): Drawing will be rendered directly on the Window
ImageVectorOutput(): Drawing will be rendered directly on the Image data (see CreateImage())
PrinterVectorOutput(): Drawing will be rendered directly on the Printer
CanvasVectorOutput(): Drawing will be rendered directly on the CanvasGadget()
PdfVectorOutput(): Drawing will be rendered to a PDF file (Linux and OSX only)
SvgVectorOutput(): Drawing will be rendered to an SVG file (Linux only)

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:36 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Пётр писал(а):
Вообще нововведения интересные.


Круто, было бы ещё сглаживание...

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:43 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
В VectorDrawing оно вроде как есть. По крайней мере, кривая линия, выглядит довольно гладко.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:44 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Пётр писал(а):
В VectorDrawing оно вроде как есть.


Изображения

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:46 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
kvitaliy, а пустое приложение сколько весит?

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 8:48 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Пн июл 04, 2011 7:38 am
Сообщений: 749
Откуда: Россия
Благодарил (а): 29 раз.
Поблагодарили: 9 раз.
Пункты репутации: 0
Пётр писал(а):
В VectorDrawing оно вроде как есть. По крайней мере, кривая линия, выглядит довольно гладко.


Вот именно что только для кривой и добавили сглаживание, видимо с помощью GDIPlus SetSmoothingMode, всё что нарисовано с помощью 2DDrawing - выглядит отвратительно, особенно RoundBox и элипсы...

_________________
medium.com/@afonichev.dev


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: PureBasic 5.40
СообщениеДобавлено: Пн авг 31, 2015 9:08 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11255
Благодарил (а): 4 раз.
Поблагодарили: 429 раз.
Эллипс, нарисованный с помощью VectorDrawing выглядит вполне нормально.
"Скрины"
Изображение

Изображение

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 167 ]  На страницу 1, 2, 3, 4, 5 ... 12  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB