Важная информация
Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Вышла бета компилятора 0.90.0rc2

  1. #1 Вышла бета компилятора 0.90.0rc2 
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Как я понял в новой ожидаемой версии большинство библиотек будут скачиваться отдельно, а не в поставке компилятора. Придется опять сборку мутить, а я так надеялся , что в этот раз не придется все по кусочкам собирать... Кто хочет тестим:

    Компиль здесь: [Ссылки могут видеть только зарегистрированные пользователи. ]
    В папках для windows и dos версий есть библиотеки в папке Libraries
    Ответить с цитированием  
     

  2. #2  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    А что там вкратце добавили? Сильно перелопатили?
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  3. #3  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Если честно, там куча изменений, но далеко не все понятны.

    Вот то, что скажем можно "пощупать":

    Из изменений:

    Под линь подлатали баг с GetKEY, ScreenEvent (возврат клавиш)
    crt/stdio.bi теперь нормально задекларировано rename(), а не как раньше rename_()
    Bsave для 32х битного режима экрана теперь по умолчанию сохраняет BMP в 32 бита, вместо 24

    Из добавлений:

    абстрактные и виртуальные методы (в том числе виртуальные деструкторы)
    статические переменные в UDT
    возврат результата функций с помощью BYREF, что-то типа: function f( ) byref as integer
    обновления заголовков: caca,libzip,DevIL,PDCurses,GD graphics,giflib,jpeglib,libpng,Lua,IUP,GTK+,GDK,glib,Cairo,Pango,ATK,Gdk-Pixbuf,libintl,ODE,SQLite,libxmp,CD
    добавили(пофиксили) для генерации исходника в СИ GCC (например поддержка NAKED процедур))
    константы SC_CLEAR , SC_ALTGR (клавиши)
    куча предупреждающих ошибок
    макрос IIF теперь принимает строки и определяемые пользователем типы и позволяет смешивание типов в параметрах
    добавлены преобразования: Cvi,Cvl,Cvlongint,Cvs,Cvshort,Cvd
    Bsave добавлен параметр BPP
    что-то нахимичили с Ucase\Lcase, добавив лишний параметр. Теперь если вызывать без параметра, вроде с русскими символами работает.

    И куча фиксов.

    Вот полный список (Eng): [Ссылки могут видеть только зарегистрированные пользователи. ]

    Здесь хотел вставить в цитату, но сообщение больше 10000 знаков невозможно.
    Последний раз редактировалось stabud; 14.06.2013 в 10:16.
    Ответить с цитированием  
     

  4. Пользователь сказал cпасибо:

    >Quiet Snow< (15.06.2013)

  5. #4  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    Блин, опупеть сколько всего изменено, а на нём вообще из старого много не компилируется?
    Я то пока ещё не ставил и не скоро, наверное, поставлю. Так просто интересно чего ожидать.

    Придется опять сборку мутить
    Ну ты вроде умеешь ))) да и круче сборок не видел.
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  6. Пользователь сказал cпасибо:

    stabud (15.06.2013)

  7. #5  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Блин, опупеть сколько всего изменено, а на нём вообще из старого много не компилируется?
    Я то пока ещё не ставил и не скоро, наверное, поставлю. Так просто интересно чего ожидать.
    Да в принципе, все что компилировалось на 0.24, должно компилироваться на новой версии. Все фиксы сделаны по делу и вроде как на совместимость не должны влиять. Но конечно надо тестить и это одним махом не делается Косяки могут вылезти уже после релиза (как обычно). Именно поэтому, я не выпускаю обновление своей либы, хоть оно уже давно готово. Жду релиза, чтобы хоть частично протестировать и поправить если что... Кстати пробовал Fbsound 0.15, компилится без проблем, не знаю че там Джоши пугал

    Все таки радует, что разрабы прислушиваются. Теперь можно юзать и Lcase\Ucase для русских символов. Хотя TRIM\LTRIM\RTRIM по прежнему только английский знают . Но если в юникоде , то работают. Да и ошибки в WINAPI структурах, о которых я сообщал, поправили.

    Я тестил немного первую бету (в частности примеры сторонних библиотек), по крайней мере такого бля..ва нет, как было в релизе 0.24. То есть отнеслись серьезнее к этому вопросу.

    Вчера отписал на форум, чтобы если уж не в релиз библиотеки вложили, то по крайней мере сделали их одним архивом для скачивания. Вроде как админ одобрил. А то по отдельности каждую либу с sf.net качать неудобно.
    Ответить с цитированием  
     

  8. Пользователь сказал cпасибо:

    >Quiet Snow< (15.06.2013)

  9. #6  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Попробовал скомпилить свою либу. На 2 файлах компиль ругнулся, где было использование PEEK.

    Теперь оказывается нельзя так:

    Код :
    dim as string sValue_0 = "CheckPeek"
     
    dim as zstring ptr p = sadd(sValue_0)
     
    dim as string sValue = peek(p) ' так нельзя
     
    ? sValue
     
    Sleep

    Только прямым указанием для получаемого типа:

    Код :
    dim as string sValue_0 = "CheckPeek"
     
    dim as zstring ptr p = sadd(sValue_0)
     
    dim as string sValue = peek(zString,p)
     
    ? sValue
     
    Sleep

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

    В версии 0.23 допускается такое (и будет нормально работать):

    Код :
    Sub T()
     
    End Sub
     
    ThreadCreate(Cast(Any Ptr,@T))

    В 0.24 и позднее, компилировать будет, но работать будет непредсказуемо. Я сам в своей проге напоролся на это. Много часов потратил на выявление ошибки. Сама ошибка вылезала там, где ее быть не должно по определению. И не я один. Разработчик отладчика FbDebugger вообще в ауте был, когда его прога стала вести себя как сумасшедшая

    Правильно так:

    Код :
    Sub T(param as any ptr)
     
    End Sub
     
    ThreadCreate(Cast(Any Ptr,@T))

    И хоть админ вроде как собирался внести предупреждение при компиляции на этот счет, судя по всему забыл.
    Ответить с цитированием  
     

  10. Пользователь сказал cпасибо:

    >Quiet Snow< (15.06.2013)

  11. #7  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    А то по отдельности каждую либу с sf.net качать неудобно.
    Да это тот ещё гемор...

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

    В версии 0.23 допускается такое (и будет нормально работать):
    Т.е. без параметра, но всё равно туда что-то завуалировано передаваться будет в поток или нет?
    Просто в пюре та же самая функция была и тоже надо было вгонять параметр.

    Хотя TRIM\LTRIM\RTRIM по прежнему только английский знают
    Тримы не тримят, блин под ASCII такого вопроса даже не возникало))) вообще я смотрю с
    кодировками дико в FB, я вот свой костыль сделал ASCII-шный(типа печать текста через PUT c
    custom blender-ом, чтобы подкрашивало текст), но пока ещё не знаю как с русским текстом быть
    (работа с функциями системы, имена файлов тыры пыры). Также я ещё не совсем догнал, FBC по
    умолчанию хавает ASCII или нет, просто я ставил ту сборку где FBEdit работает не в виде ASCII,
    имена файлов при этом пишутся на русском нормально(к примеру в процедуре BLOAD), а строки
    в мой костыль приходится загонять сконвертированные из OEM866 в ANSI 1251 (OMFG!!!), это всё
    немного вымораживает. Я то конечно примерно понимаю что происходит, какая функция что
    хавает и отдаёт, но как то не полностью этот вопрос прошерстил, и факт в том, что в проге
    реально микс кодировок, это конечно мягко говоря не гуд.

    Может быть компилер как-то можно настроить только на ASCII, ну или наоборот только на Unicode?
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  12. #8  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Т.е. без параметра, но всё равно туда что-то завуалировано передаваться будет в поток или нет?
    Раз это так влияет на работу потока, то судя по всему да.

    Цитата Сообщение от >Quiet Snow< Посмотреть сообщение
    Тримы не тримят, блин под ASCII такого вопроса даже не возникало))) вообще я смотрю с
    кодировками дико в FB, я вот свой костыль сделал ASCII-шный(типа печать текста через PUT c
    custom blender-ом, чтобы подкрашивало текст), но пока ещё не знаю как с русским текстом быть
    (работа с функциями системы, имена файлов тыры пыры). Также я ещё не совсем догнал, FBC по
    умолчанию хавает ASCII или нет, просто я ставил ту сборку где FBEdit работает не в виде ASCII,
    имена файлов при этом пишутся на русском нормально(к примеру в процедуре BLOAD), а строки
    в мой костыль приходится загонять сконвертированные из OEM866 в ANSI 1251 (OMFG!!!), это всё
    немного вымораживает. Я то конечно примерно понимаю что происходит, какая функция что
    хавает и отдаёт, но как то не полностью этот вопрос прошерстил, и факт в том, что в проге
    реально микс кодировок, это конечно мягко говоря не гуд.
    Может быть компилер как-то можно настроить только на ASCII, ну или наоборот только на Unicode?
    По умолчанию, насколько я понял, ASCII с кодовой страницей CP437. Вообще в своей либе я уже давно написал аналоги TRIM\LTRIM\RTRIM, только с поддержкой русских символов. Если понадобится , возьми оттуда код.

    И да , я видел на видео, как ты конвертишь и переносишь строки
    Я не понял, как ты там это сделал, у меня при создании шрифта (из TTF) нормально выводятся строки на русском, без плясок с кодировками . Только есть что они неизменяемые в плане цветов и размера. То есть, например создав шрифт Courier с размером 12 и синим цветом, его уже не поменять в программе. Получается, что для разных стилей, нужен отдельный шрифт. Если хочешь, пришли мне часть проекта (то что связано со шрифтом, только желательно рабочий с примером), может свежим взглядом попробую подсказать как улучшить.
    P.S. Или может стоит попробовать либу [Ссылки могут видеть только зарегистрированные пользователи. ]?
    Ответить с цитированием  
     

  13. Пользователь сказал cпасибо:

    >Quiet Snow< (16.06.2013)

  14. #9  
    Супер модератор Аватар для >Quiet Snow<
    Регистрация
    11.04.2011
    Адрес
    Планета земля
    Сообщений
    3,822
    Сказал(а) спасибо
    1,808
    Поблагодарили 933 раз(а) в 795 сообщениях
    Записей в блоге
    1
    ASCII с кодовой страницей CP437
    Обалдеть

    Я не понял, как ты там это сделал
    Сделал очень примитивно, просто было охота свой код юзать и лень было много времени тратить.
    Вот текущий графический модуль проекта, фактически доработанная версия этой штуки
    + простой пример отрисовки шрифта, текст нет, был не сконвертирован а просто записан побайтово
    в ASCII, я и сам не понимаю как юникод и ASCII могут быть так скоммутированы, потому что
    не разбирался в юникоде досконально(я знаю только ASCII кодировку).
    Вложения
    Обучение прикладному программированию(по skype), качественно, недорого, 18+, вопросы в личку.
    «Если вы ничего не сделаете, я уверяю вас, ничего и не произойдёт» © Жак Фреско
    Ограниченно модерирую.
    Ответить с цитированием  
     

  15. #10  
    Профи Аватар для stabud
    Регистрация
    05.01.2013
    Сообщений
    768
    Сказал(а) спасибо
    319
    Поблагодарили 339 раз(а) в 268 сообщениях
    Записей в блоге
    6
    Ну тут дело в шрифте. Ты используешь консольный шрифт (OEM), поэтому добавил себе геморроя.
    Реальный шрифт для графического окна, должен быть с русскими символами в конце таблицы

    Ё...............ё........АБВГ и до конца , последний символ "я" - 255

    то есть большие буквы, затем маленькие, без букв ё.

    Я бы переделал шрифт.
    Если не хочешь отказываться от такого шрифта, то самое простое что приходит на ум, это преобразовывать вручную из OEM.
    А строки заключать в обертку. Под винду конечно есть готовая функция, которая это сделает одной-двумя строчками.
    Но как я понял, проект у тебя кроссплатформенный. Поэтому лучше вручную, типа так:

    Код :
    Function OEMTO(sValue As String) As String
    	For i As Integer = 0 To Len(sValue)-1
    		Select Case sValue[i]
    			Case 192 To 239
    				sValue[i] -= 64
    			Case 240 To 255
    				sValue[i] -= 16
    			Case 184
    				sValue[i] = 241
    			Case 168
    				sValue[i] = 240				
    		End Select
    	Next
    	Return sValue
    End Function
    SysFntShadowPrintColor (430, 460, 1, OEMTO("АБВабвёЁ"), RGB(128, 191, 64))

    Кроме того, небольшой совет: чтобы не потерять производительность при использовании преобразования строк, их лучше хранить в текстовом файле и при загрузке преобразовывать в массив. Это кстати, пусть не полностью , но решит проблему локализации проекта.
    Последний раз редактировалось stabud; 16.06.2013 в 10:14.
    Ответить с цитированием  
     

  16. Пользователь сказал cпасибо:

    >Quiet Snow< (16.06.2013)

Страница 1 из 2 12 ПоследняяПоследняя
Информация о теме
Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права
  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •