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

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

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

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

Сообщение Александр Яшин » 11.12.2009 16:11:29

В соседнем форуме ("Обучение") шла речь о функции UTF8ToConsole.
Я заинтересовался ею, но никак не могу ее подключить. В каком модуле она может быть? И вообще, существует ли она на самом деле?
Часа два гуглил, ничего путного не нашел.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

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

Сообщение Mr.Smart » 11.12.2009 16:15:56

FileUtil
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

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

Сообщение Александр Яшин » 11.12.2009 16:21:53

Не проходит, я это пробовал.
project1.pas(3,18) Fatal: Can't find unit FileUtil used by project1
Пытаюсь сделать такую программу:
Код: Выделить всё
program project1;
uses
  Crt,  FileUtil;
begin
  writeln(UTF8ToConsole('Привет, Windows'));
  readkey;
end.
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

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

Сообщение Mr.Smart » 11.12.2009 17:02:22

Если используете Lazarus, то добавьте в зависимости проекта пакет LCL.
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

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

Сообщение AbakAngelSoft » 11.12.2009 17:13:43

Я всегда пользуюсь стандартными средствами лазаря "найти в файле".
Соответственно если модуль подключен но не найден - проверяю по каким путям компилятор ищет модули.
В случае чего добавляю нужный путь.
И только после этого иду спрашивать на форум. :)
Аватара пользователя
AbakAngelSoft
постоялец
 
Сообщения: 273
Зарегистрирован: 06.08.2008 19:28:26
Откуда: Краснодар

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

Сообщение Александр Яшин » 11.12.2009 17:57:30

Получилось!
Но я, честно говоря, ничего не понял.
Пакет 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
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01

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

Сообщение Odyssey » 11.12.2009 21:43:17

Александр Яшин писал(а):Пакет 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" по файловой системе.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

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

Сообщение Александр Яшин » 12.12.2009 08:00:55

Установлен fpc_crosswin32-2.2.4-091006.i386.rpm
Александр Яшин
новенький
 
Сообщения: 67
Зарегистрирован: 21.11.2009 09:31:01


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

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

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

Рейтинг@Mail.ru