Эффективнее - не значит быстрее
@Admin, помогите, пожалуйста, у меня проблема с интерфейсом среды. В общем, я поставил себе тёмное оформление на Windows 10, и во всех остальных программах цвета тоже поменялись. Но только в “PascalABC.net” цвета шрифтов еле различимы. Скажите, можно ли как-то принудительно заставить среду использовать стандартные цвета .NET Framework? Хотя бы фон формы? А то вот так вообще никак невозможно(
Попробуйте в файле PascalABCNET.xshd поменять какие-то цвета. Другого способа я не знаю
Есть какой то способ загружать TFF
файл так как с экселем ранее нашли? System.Drawing.Font
работает только с битмапами а мне нужны массивы байтов и доступ к каждому параметру загруженному из файла.
Ну хотя бы так)
Есть ли способ чтоб директива {$define}
работала не только на 1 модуль? К примеру удобно было бы в начале программы написать {$define DEBAG}
и для финального релиза убирать $
. В случае когда DEBAG определено - вставлять во всю программу плохо оптимизированный код в котором легко искать ошибки, а если не определено - ставить максимально оптимизированный код. Когда модулей полтора десятка - в каждом убирать $
отдельно как то не очень удобно.
Есть ли возможность делать лямбды с var параметрами? Я не смог найти способ, компилятор ругается на var среди параметров.
Нет. А как Вы потом собирались это использовать?
var p1:procedure(var a:integer);
p1 := (var a) -> begin a += 1 end;
Как в режиме программирования на C# использовать библиотеку System.Windows.Forms?
Понятно. Ну, нельзя
А добавить такую фичу никак? Есть что то мешающее реализовать?
Ну да, в C# такое возможно:
delegate void DD(ref int x);
...
(ref int x) => { x += 1; };
Добавить такое… Ну, непросто я думаю. Напишите в Issue
procedure p(a: byte);
begin
writeln(1);
end;
procedure p(a: function: byte);
begin
writeln(2);
end;
function f1: byte := 0;
begin
end.
Есть ли тут способ вызвать p(a: function: byte)
для f1
? Я имею в виду на прямую, ведь p(()->f1)
должно работать медленнее.
P.S. p(()->f1)
не работает… Это ошибка?
p(f1)
Приоритет отдаётся не функции а возвращаемому значению, как и должно, и вызывается p1(a :byte)
. Вы бы сами для начала проверили…
Нет, такого способа не существует
Подскажите пожалуйста, то что System.IO.BinaryReader
и System.IO.BinaryWriter
читают и записывают все всё задом на перёд это ошибка или у этого есть какая то причина? На msdn ничего вроде про это не сказано.
К примеру:
begin
var wr := new System.IO.BinaryWriter(System.IO.File.Create('test'));
wr.Write(cardinal($89ABCDEF));
wr.Close;
end.
Открывает в HexEditor-е и видим что байты записало в обратном порядке:
Я вообще знаю это давно и думал что так принято записывать данные, но к примеру в .tff
файлах(шрифты) - данные записаны в правильном порядке и BinaryReader
читает белиберду.
Так данные хранятся в памяти