Траблы с кодировкой

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Траблы с кодировкой

Сообщение tuzik87@inbox.ru » 22.07.2017 19:07:02

Маленький вопрос. Код работающий в fpc 2.6.x не всегда корректно в третьей версии работает. Вот код для запуска внешних программ

Код: Выделить всё
function convert_file_name(source:string): string;
var target:string;
begin
target:=source;
if Pos(' ',source)>0 then
begin
target:='"';
target:=target+source+'"';
end;
convert_file_name:=target;
end;

function execute_program(executable:string;argument:string):Integer;
var parametrs:string;
var code:Integer;
begin
parametrs:=UTF8ToSys(argument);
try
code:=ExecuteProcess(executable,parametrs,[]);
except
On EOSError do code:=-1;
end;
execute_program:=code;
end;


В 2.6.x работает корректно даже при наличии кирилицы в путях. В третьем fpc проги не запускает если есть кирилица в пути
tuzik87@inbox.ru
постоялец
 
Сообщения: 145
Зарегистрирован: 25.12.2012 15:05:28
Откуда: Россия, Новосибирск

Re: Траблы с кодировкой

Сообщение *Rik* » 22.07.2017 22:08:36

UTF8ToSys в FPC 3 не нужен. Если где-то без него не работает, попробуйте UTF8ToWinCP из LazUTF8, но это только для Windows, в коде для Linux эту функцию нужно изолировать.
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 426
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

Re: Траблы с кодировкой

Сообщение tuzik87@inbox.ru » 23.07.2017 13:23:23

*Rik*, спасибо. Помогло.
tuzik87@inbox.ru
постоялец
 
Сообщения: 145
Зарегистрирован: 25.12.2012 15:05:28
Откуда: Россия, Новосибирск


Вернуться в Free Pascal Compiler

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

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

Рейтинг@Mail.ru