Вверх ↑
Этот топик читают: Гость
Ответов: 4291
Рейтинг: 666
#391: 2019-04-17 17:21:32 ЛС | профиль | цитата
Лень, видимо. С другой стороны версию 4 среды уже давно перестали обновлять, в противном случае можно было бы выпускать официальный установщик среды изначально с этим пакетом и компилятором вместо старого FPC.
карма: 22

0
Ответов: 201
Рейтинг: 2
#392: 2019-04-21 19:24:05 ЛС | профиль | цитата
Netspirit, так что-то и пятая версия не сильно обновляется. FPC возможность вдохнуть жизнь и легальность использования без секретного компилятора.
карма: 0

0
Ответов: 45
Рейтинг: 3
#393: 2019-09-19 15:28:52 ЛС | профиль | цитата
В скомпилированном в Unicode приложении не работает функция создания папок. Проверено на штатном примере из справки.
карма: 1

0
Ответов: 4291
Рейтинг: 666
#394: 2019-09-19 15:40:41 ЛС | профиль | цитата
Да, действительно. У меня в новой версии создаётся. В следующем релизе будет работать.
Можно поправить: обе функции StrRScan и функция WStrRScan в файле HiAsm\compiler\FPC2\src\packages\KOLx64\kol.pas должны выглядеть так:
begin
Result := nil;
if Str = nil then Exit;

while Str^ <> #0 do
begin
if Str^ = Chr then Result := Str;
Inc(Str);
end;
end;

После исправления выполнить файл HiAsm\compiler\FPC2\src\_make_KOL.bat

Редактировалось 4 раз(а), последний 2019-09-19 15:58:39
карма: 22

0
Ответов: 81
Рейтинг: 1
#395: 2019-09-20 11:42:08 ЛС | профиль | цитата
Netspirit, Установил компилятор по инструкции, но почему то в нем не работает HTTPClient.
delphy
Подготовка к сборке проекта...
Генерация кода целевого языка
Компоновка проекта...
Command line: dcc32.exe "E:\HiAsm_AltBuild\Elements\delphi\code\UNICODE.dpr" "-UC:\Users\vandj\AppData\Roaming\HiAsm_AltBuild\HIASM\." -Q
Borland Delphi Version 12.0 Copyright (c) 1983,98 Inprise Corporation

E:\HiAsm_AltBuild\Elements\delphi\code\hiHTTPClient.pas(837) Error: Undeclared identifier: 'CodePage1ToCodePage2'

E:\HiAsm_AltBuild\Elements\delphi\code\hiMainForm_53CB700.pas(11) Fatal: Could not compile used unit 'hiHTTPClient.pas'
Сборка завершена.
FPC-64
Compiling E:\HiAsm_AltBuild\Elements\delphi\code\URI.pas
Compiling E:\HiAsm_AltBuild\Elements\delphi\code\hiCookieManager.pas
hiCookieManager.pas(953,25) Error: Wrong number of parameters specified for call to "ToString"
Error: Found declaration: ToString:AnsiString;
hiCookieManager.pas(1017,4) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
Сборка завершена.

Редактировалось 7 раз(а), последний 2019-09-20 11:46:41
карма: 0

0
Ответов: 4291
Рейтинг: 666
#396: 2019-09-20 12:18:12 ЛС | профиль | цитата
Сторонние компоненты требуют доработки для поддержки новым компилятором и пакетом. В частности, для работы HTTPClient в режиме ANSI 32/64 может быть достаточно в файлах *.pas заменить "ToString" на "Share.ToString", "CodePage1ToCodePage2(Val, CP_ACP, CP_UTF8)" на "StringToUTF8(Val)".
Для работы в Unicode требуются более продвинутые правки. В следующем релизе HTTPClient будет отдельная версия, полностью поддерживающая новый пакет.
карма: 22

0
Ответов: 81
Рейтинг: 1
#397: 2019-09-20 13:09:11 ЛС | профиль | цитата
[b]Netspirit[/b], Спасибо, все поправил HTTPClient заработал. Но проблема осталась не решенной. Символы Unicode с UTF в ANSI теряются.
Add(RE_Replace,6436034,511,203)
{
Expression=".*?<span class="code">U\+(.*?)</span>.*?char-copy symbol-copy" data-copy="(.*?)">.*"
ReplaceStr="$1 = $2"
link(onReplace,15751216:doAdd,[])
}
Add(Button,5900705,231,196)
{
Left=15
Top=5
link(onClick,12797072:doLoadString,[])
}
Add(HTTPClient,12797072,315,196)
{
link(URL,9670706:Text,[])
link(onFinish,4851288:doEvent1,[])
}
Add(BlockFind,7840113,455,203)
{
IncludeBlock=1
StartBlock="<li class="search-results__char">"
EndBlock="</li>"
link(onSearch,6436034:doReplace,[])
}
Add(Edit,9670706,315,126)
{
Left=105
Top=5
Width=305
Text="https://unicode-table.com/ru/sets/arrows-symbols/"
}
Add(RichEdit,15751216,567,203)
{
Left=5
Top=25
Width=220
Height=655
ScrollBars=3
}
Add(Charset,4131677,406,203)
{
Type=7
Point(doCharset)
link(onCharset,7840113:doSearch,[])
}
Add(RichEdit,10116844,567,266)
{
Left=225
Top=25
Width=220
Height=655
ScrollBars=3
}
Add(Hub,4851288,357,203)
{
link(onEvent1,4131677:doCharset,[])
link(onEvent2,14571267:doSearch,[(393,216)(393,272)])
}
Add(RE_Replace,5636841,511,266)
{
Expression=".*?<span class="code">U\+(.*?)</span>.*?char-copy symbol-copy" data-copy="(.*?)">.*"
ReplaceStr="$1 = $2"
link(onReplace,10116844:doAdd,[])
}
Add(BlockFind,14571267,455,266)
{
IncludeBlock=1
StartBlock="<li class="search-results__char">"
EndBlock="</li>"
link(onSearch,5636841:doReplace,[])
}


Редактировалось 1 раз(а), последний 2019-09-20 13:09:40
карма: 0

0
Ответов: 4291
Рейтинг: 666
#398: 2019-09-20 13:16:51 ЛС | профиль | цитата
Тогда только компиляция в Unicode. Я на днях выложу новую версию компонентов.

Или можешь попробовать работать прямо с UTF-8 без конвертации в ANSI (если там какая-то небольшая задача).
Например, поиск-замена будут работать, если искомый текст перед поиском тоже сконвертировать в UTF-8 (текст в схеме можно хранить в HEX уже заранее сконвертированным - текст набирается в Блокноте, сохраняется в UTF-8, затем открывается HEX-просмотрщиком и копируется в схему; в схеме во время работы преобразовывается из HEX).

Редактировалось 2 раз(а), последний 2019-09-20 13:22:05
карма: 22

0
Ответов: 81
Рейтинг: 1
#399: 2019-09-20 13:40:33 ЛС | профиль | цитата
Netspirit писал(а):
Или можешь попробовать работать прямо с UTF-8 без конвертации в ANSI (если там какая-то небольшая задача).
Например, поиск-замена будут работать, если искомый текст перед поиском тоже сконвертировать в UTF-8 (текст в схеме можно хранить в HEX уже заранее сконвертированным - текст набирается в Блокноте, сохраняется в UTF-8, затем открывается HEX-просмотрщиком и копируется в схему; в схеме во время работы преобразовывается из HEX).

Спасибо за идею, буду пробовать.
карма: 0

0
Ответов: 20
Рейтинг: 5
#400: 2019-10-18 02:54:13 ЛС | профиль | цитата
Уважаемые, почему не компилится PNG 32_U ? Вроде в шапке сказано что сделали.
errors.png
карма: 0

0
Ответов: 4291
Рейтинг: 666
#401: 2019-10-18 10:28:32 ЛС | профиль | цитата
Ну, "сделан" он был, когда Unicode-версии пакета ещё не существовало. Для Unicode его как-то упустил. Я сейчас попробую поправить и выложу.

Редактировалось 1 раз(а), последний 2019-10-18 10:29:06
карма: 22

0
Ответов: 4291
Рейтинг: 666
#402: 2019-10-18 13:56:10 ЛС | профиль | цитата
Вот, пробуй файл KOLPng.pas, поправленный для Unicode (32 бита). Для 64 бит поправлю позже.
карма: 22

1
Голосовали:parara
Ответов: 4291
Рейтинг: 666
#403: 2019-10-21 11:14:25 ЛС | профиль | цитата
Поправил для 64 бит.
карма: 22

0
Ответов: 428
Рейтинг: 13
#404: 2019-11-18 17:14:50 ЛС | профиль | цитата
Делаю программу для виндовс 10 который полностью на иврите. В программе нужно сохранять и загружать текст на иврите на диск ПК, сохраняю и загружаю текст через Memo с кодировкой UTF-8, если открыть блокнотом сохраненный текст, то он выглядит так:
Screenshot_1.jpg
Использую компилятор delphi так как в программе нужен браузер, текст сохраняется с кодировкой UTF-8, проверял в блокноте. Менял региональные настройки, все равно.
Есть еще один виндовс на русском, тоже 10-ка, изменил язык для программ на иврит, так там сохраняется и читается правильно иврит и UTF-8 и ANSI без разницы.
Почему текст на иврите не правильно сохраняется на виндовс который полностью на иврите? Именно для него нужно программу сделать.
карма: 4

0
Ответов: 4291
Рейтинг: 666
#405: 2019-11-18 17:30:59 ЛС | профиль | цитата
Sersey писал(а):
Почему текст на иврите не правильно сохраняется на виндовс который полностью на иврите?
Если под "Windows полностью на иврите" имеется в виду интерфейс ОС, то это никак не отменяет необходимости "изменил язык для программ на иврит". Возможно, на "ивритской" Windows стоит другой. Это только для Delphi.

Для Unicode FPC такой проблемы не будет (но все равно надо будет учитывать в компонентах, где в свойствах указывается кодировка ANSI).

Редактировалось 1 раз(а), последний 2019-11-18 17:32:29
карма: 22

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)