Здравствуйте!
Прошу сильно не пинать, я начинающий.
Хочу программу откомпилировать как в Linux так и в Windows. По умолчанию у меня используется Linux и в этой ОС все нормально компилируется.
1. Что нужно сделать, что бы откомпилировать программу в windows? Как я понимаю, нужно иметь windows с установленным компилятором и уже там производить компиляцию? Или можно это сделать прямо в Linux с использованием имеющегося компиялтора?
2. Для корректной работы с русскими шрифтами в windows, как я прочитал в книге, нужно использовать модуль FileUtil и указывать в операторах вывод в примерно таком виде writeln(UTF8ToConsole... Обязательно ли это делать, если нужно будет производить компиляцию в windows?
Компиляция в windows и linux
Модератор: Модераторы
Не так все просто кажется с первого раза, но спасибо, буду разбираться.
Вот что еще хотел спросить, при попытке обозначить в разеделе опасаний uses модуль FileUtil
компилятор выдает ошибку. Это значит что этого модуля в компиляторе нет? Или что-то другое?
Вот что еще хотел спросить, при попытке обозначить в разеделе опасаний uses модуль FileUtil
компилятор выдает ошибку. Это значит что этого модуля в компиляторе нет? Или что-то другое?
текст ошибки можно увидеть?
Текст ошибки такой:
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Прописываю модуль так -
uses crt, FileUtil;
Без FileUtil работает, с ним выдает ошибку.
Версия компилятора у меня 2.4.0, среда разработки geany.
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)
Прописываю модуль так -
uses crt, FileUtil;
Без FileUtil работает, с ним выдает ошибку.
Версия компилятора у меня 2.4.0, среда разработки geany.
Есть часть кода:
Компилятор ругается на строчку:
a := desc*time*inf div 8 div 1024 div 1024;
Если Real заменить на Integer то всё работает, но мне нужно именно Real.
Этот код полностью работает в последней версии Embarcadero.
Код: Выделить всё
var
Form1: TForm1;
desc,time, inf, a :real;
desc := StrToFloat (edit1.Caption)*1000;
time := StrToFloat (edit2.Caption)*60;
inf := StrToFloat (edit3.Caption);
a := desc*time*inf div 8 div 1024 div 1024;Компилятор ругается на строчку:
a := desc*time*inf div 8 div 1024 div 1024;
Код: Выделить всё
unit1.pas(56,18) Error: Incompatible types: got "Real" expected "Int64"
Если Real заменить на Integer то всё работает, но мне нужно именно Real.
Этот код полностью работает в последней версии Embarcadero.
Ну добавь round или trunc
a := trunc(desc*time*inf) div 8 div 1024 div 1024;
a := trunc(desc*time*inf) div 8 div 1024 div 1024;
