Помощь новичкам


#308

Эффективнее - не значит быстрее


#309

@Admin, помогите, пожалуйста, у меня проблема с интерфейсом среды. В общем, я поставил себе тёмное оформление на Windows 10, и во всех остальных программах цвета тоже поменялись. Но только в “PascalABC.net” цвета шрифтов еле различимы. Скажите, можно ли как-то принудительно заставить среду использовать стандартные цвета .NET Framework? Хотя бы фон формы? А то вот так вообще никак невозможно(


#310

Попробуйте в файле PascalABCNET.xshd поменять какие-то цвета. Другого способа я не знаю


#311

Есть какой то способ загружать TFF файл так как с экселем ранее нашли? System.Drawing.Font работает только с битмапами а мне нужны массивы байтов и доступ к каждому параметру загруженному из файла.


#312

Ну хотя бы так)


#313

Есть ли способ чтоб директива {$define} работала не только на 1 модуль? К примеру удобно было бы в начале программы написать {$define DEBAG} и для финального релиза убирать $. В случае когда DEBAG определено - вставлять во всю программу плохо оптимизированный код в котором легко искать ошибки, а если не определено - ставить максимально оптимизированный код. Когда модулей полтора десятка - в каждом убирать $ отдельно как то не очень удобно.


#315

Есть ли возможность делать лямбды с var параметрами? Я не смог найти способ, компилятор ругается на var среди параметров.


#316

Нет. А как Вы потом собирались это использовать?


#317
  var p1:procedure(var a:integer);
  p1 := (var a) -> begin a += 1 end;

#318

Как в режиме программирования на C# использовать библиотеку System.Windows.Forms?


#319

Понятно. Ну, нельзя


#320

А добавить такую фичу никак? Есть что то мешающее реализовать?


#321

Ну да, в C# такое возможно:

    delegate void DD(ref int x);
    ...
    (ref int x) => { x += 1; };

Добавить такое… Ну, непросто я думаю. Напишите в Issue


#322
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) не работает… Это ошибка?


#323

p(f1)


#324

Приоритет отдаётся не функции а возвращаемому значению, как и должно, и вызывается p1(a :byte). Вы бы сами для начала проверили…


#325

Нет, такого способа не существует


#327

Подскажите пожалуйста, то что 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-е и видим что байты записало в обратном порядке: image

Я вообще знаю это давно и думал что так принято записывать данные, но к примеру в .tff файлах(шрифты) - данные записаны в правильном порядке и BinaryReader читает белиберду.


#328

Так данные хранятся в памяти


#329