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

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

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

Ответить
tuzik87@inbox.ru

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

Сообщение tuzik87@inbox.ru »

Маленький вопрос. Код работающий в 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 проги не запускает если есть кирилица в пути
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

UTF8ToSys в FPC 3 не нужен. Если где-то без него не работает, попробуйте UTF8ToWinCP из LazUTF8, но это только для Windows, в коде для Linux эту функцию нужно изолировать.
tuzik87@inbox.ru

Сообщение tuzik87@inbox.ru »

*Rik*, спасибо. Помогло.
Ответить