В каком модуле находится функция UTF8ToConsole

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

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

Ответить
Александр Яшин
новенький
Сообщения: 67
Зарегистрирован: 21.11.2009 08:31:01

В каком модуле находится функция UTF8ToConsole

Сообщение Александр Яшин »

В соседнем форуме ("Обучение") шла речь о функции UTF8ToConsole.
Я заинтересовался ею, но никак не могу ее подключить. В каком модуле она может быть? И вообще, существует ли она на самом деле?
Часа два гуглил, ничего путного не нашел.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

FileUtil
Александр Яшин
новенький
Сообщения: 67
Зарегистрирован: 21.11.2009 08:31:01

Сообщение Александр Яшин »

Не проходит, я это пробовал.
project1.pas(3,18) Fatal: Can't find unit FileUtil used by project1
Пытаюсь сделать такую программу:

Код: Выделить всё

program project1;
uses
  Crt,  FileUtil;
begin
  writeln(UTF8ToConsole('Привет, Windows'));
  readkey;
end.
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

Если используете Lazarus, то добавьте в зависимости проекта пакет LCL.
Аватара пользователя
AbakAngelSoft
постоялец
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар
Контактная информация:

Сообщение AbakAngelSoft »

Я всегда пользуюсь стандартными средствами лазаря "найти в файле".
Соответственно если модуль подключен но не найден - проверяю по каким путям компилятор ищет модули.
В случае чего добавляю нужный путь.
И только после этого иду спрашивать на форум. :)
Александр Яшин
новенький
Сообщения: 67
Зарегистрирован: 21.11.2009 08:31:01

Сообщение Александр Яшин »

Получилось!
Но я, честно говоря, ничего не понял.
Пакет LCL это по-моему относится к компонентам, а здесь же чисто консольное приложение.
Это во-первых.

Во-вторых, для чего все это я делал.
Хочу построить кроссплатформенное приложение.
Теперь (в Mandriva) в "Проект"-"Параметры компилятора"-"Код" указываю тип ОС Win32, компилирую и получаю ошибку:
project.lpr(1,1) Fatal: Can't find unit FileUtil used by project1

В-третьих, все это происходило в Mandriva 2009.0 (Free), а в школьном линуксе Master 4.0.0 и включение LCL не помогает:
project.lpr(4,24) Error: Идентификатор не найден FileUtil
project.lpr(4,51) Error: Illegal expression
Odyssey
энтузиаст
Сообщения: 580
Зарегистрирован: 29.11.2007 16:32:24

Сообщение Odyssey »

Александр Яшин писал(а):Пакет LCL это по-моему относится к компонентам, а здесь же чисто консольное приложение.

Точно, LCL относится к компонентам. Но именно в LCL предложено использование UTF-8 в качестве универсальной кодировки на всех платформах. Поэтому LCL содержит функции преобразования UTF-8 в системную кодировку для всех поддерживаемых платформ, и наоборот, системной кодировки в UTF-8. И тут же, заодно, есть функции преобразования UTF-8 в кодировку, с которой работает консоль на каждой из платформ.

Александр Яшин писал(а):Во-вторых, для чего все это я делал.
Хочу построить кроссплатформенное приложение.
Теперь (в Mandriva) в "Проект"-"Параметры компилятора"-"Код" указываю тип ОС Win32, компилирую и получаю ошибку:
project.lpr(1,1) Fatal: Can't find unit FileUtil used by project1

Тут всё не так просто. Чтобы собирать приложения для Windows из-под Linux нужно установить кросскомпилятор и скомпилированные модули для целевой платформы. В данном случае модули для целевой платформы (Win32) скорее всего не установлены, поэтому их и не удаётся найти.
Кстати, имхо, наиболее простой вариант сборки Win32 приложений из-под Linux - это собирать их из Win32-версии Lazarus, установленной под Wine.

Александр Яшин писал(а):В-третьих, все это происходило в Mandriva 2009.0 (Free), а в школьном линуксе Master 4.0.0 и включение LCL не помогает:
project.lpr(4,24) Error: Идентификатор не найден FileUtil
project.lpr(4,51) Error: Illegal expression

Здесь мне сложно что-то посоветовать. Я бы начал с поиска "fileutil.pas" по файловой системе.
Александр Яшин
новенький
Сообщения: 67
Зарегистрирован: 21.11.2009 08:31:01

Сообщение Александр Яшин »

Установлен fpc_crosswin32-2.2.4-091006.i386.rpm
Ответить