Страница 1 из 1

Работа строк в Linux и Windows

СообщениеДобавлено: 04.04.2015 02:25:41
Sharfik
Вопрос, допустим есть такой код.
Код: Выделить всё
InputFilePath:=paramstr(1); //Sys format
      if FileExists(InputFilePath)then
      begin
        OpenTableFile(InputFilePath,nil);
      end
      else begin
        ShowMessage('Нет данных для работы.');
        close;
      end;

В Win строка приходит в системной кодировке, и дальше по функции обработка идет функциями без приписок UTF8 и передается TNativeXML для чтения файла.
Как поведет себя код в Linux/Mac? Обработается без проблем?

Re: Работа строк в Linux и Windows

СообщениеДобавлено: 04.04.2015 02:54:41
Ism
Чтоб везде работало надо обработку делать только в utf8. Возврат в системной кодировке в винде иногда глючит.

Re: Работа строк в Linux и Windows

СообщениеДобавлено: 04.04.2015 03:03:40
Sharfik
paramstr(1) уже приходит не utf8...

Re: Работа строк в Linux и Windows

СообщениеДобавлено: 04.04.2015 12:40:56
Ism
Значит надо принудительно все конвертировать в utf8 и явно задавать исходную кодировку в зависимости от системы

Re: Работа строк в Linux и Windows

СообщениеДобавлено: 06.04.2015 19:53:21
eastorwest
В Lazarus видел функцию ParamStrUTF8 из FileUtil. Надеюсь, сократит код, связанный с начальными преобразованиями кодировок.