Учебная задача: построить таблицу значений y = x^2, интервал значения x и шаг параметра ввести с клавиатуры.
В итоге программа работает, но табличка отрисовывается странно.
Например, шапка вида
---------------------------------
| № | x | y |
---------------------------------
рисуется так, что верхний ряд дефисов - нормальной длинны, а тот, что ниже (и все остальные дальше по таблице) - очень короткими, в итоге получившееся на таблицу в принципе не тянет.
При этом если символ № заменить на символ # , то всё работает нормально.
Оно так и надо или это всё-таки баг?
Сильно сокращённый вариант программы
Program YX2;
Begin
Writeln('y=x^2');
Writeln('--------','-','-----------','-','------------');
Writeln('| № ','|',' x ','|',' y |');
Writeln('--------','-','-----------','-','------------');
Readln;
End.
Попробовал работу с динамическими матрицами. На деле они мало что дают, поскольку очень существенно проигрывают в гибкости описанию в стиле array of array. Крайне не хватает сечений матрицы, т.е. возможности представлять строку или столбец как элемент соответствующей коллекции Matrix.Rows или Matrix.Columns. Это дало бы возможность применять к строке/столбцу все то богатство процедур и методов, которые имеются для одномерных массивов. А сейчас даже, к примеру, максимальный элемент матрицы в стиле MyMatrix.Max нельзя найти.
А подтягивание во всплывающие подсказки документирующих комментариев для элементов перечислимого типа не предусмотрено?
type
///Документирующий комментарий описания типа.
EnumType= (
///Документирующий комментарий первого элемента.
EnumElement1,
///Документирующий комментарий второго элемента.
EnumElement2);
при наведении например на EnumElement1 в подсказке все равно стандартное UnitNamespace.EnumElement1 = EnumElement1;
Насколько это трудновыполнимо?
Дополню, вдруг кому пригодится. если пользоваться атрибутами (в моем случае это DataMember и DataContract - для полноценной XML сериализации экземпляров класса) документирующий комментарий должен быть между атрибутом и комментируемым субъектом кода:
[DataMember]
///Документирующий комментарий - будет виден при наведении мышью.
SomeClassField: integer;
///Документирующий комментарий - НЕ БУДЕТ виден при наведении мышью.
[DataMember]
OtherClassField: integer;
Атрибуты (по крайней мере эти) корректно отрабатывают в обоих случаях.
Подскажите еще, почему выдаётся ошибка в программе? Ошибка: “System.Threading.ThreadStateException: Поток не выполняется; его нельзя приостановить.
в PABCSystem.PABCSystem.Read(String& x)”
program sss;
uses GraphABC;
procedure MouseDown(x, y, mb: integer);
var s:string;
begin
readln(s);
end;
begin
OnMouseDown := MouseDown;
end.
Вот и печально, что не замена. Возможно я чего-то не понимаю, но пока не вижу для [,] иного применения. кроме как в показанных на демонстрации инициализации от ДСЧ и передачи в процедуры. Если векторы имеют богатый набор расширений для динамических массивов, а также неплохие процедуры и функции, то у матриц [,] все крайне ограниченно.
Хочу для A[,] метод типа A,Row(), чтобы писать нечто вроде
Отлично, я попытаюсь продумать набор хотелок так, чтобы он образовал более-менее стройную систему.
Понятно, что выборка не будет иметь связи с оригиналом, а как иначе, если это базируется на LINQ?
В большинстве текстовых редакторов для кода эта проблема решается так: в настройках указывается после скольких набранных символов выскакивает подсказка. Обычно выставляю 2-3 символа, что решает много проблем.
Так же хотелось бы еще возможность самостоятельно настраивать расцветку кода и правила форматирования