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


#1978

Не рекомендует пользоваться дизайнером форм только SunSerega. Причём очень упорно на разных форумах как настоящий вредитель. И фразы про 99% очевидно рассчитаны на то, чтобы максимально унизить дизайнер форм.

Аргументов же разумных не приводится. Например, то “замечательное” видео, которое он тут опубликовал свидетельствует о том, что после удаления компонента все его обработчики не удаляются. Это он иллюстрирует как самый великий глюк дизайнера форм.

Но - именно так ведет себя дизайнер форм во многих системах - в VS и в Delphi в частности. Связано это с тем, что код, который мог быть в обработчике, нельзя удалять автоматически - он обычно содержит нечто полезное.

Поэтому SunSerega выношу персональное замечание - не должен человек, который помогает развивать проект, вести себя как троянский конь, охаивая на сторонних ресурсах и здесь какие-то аспекты проекта. Этику всё-таки никто не отменял.

Для устранения багов в дизайнере форм есть нормальные средства - специализированный топик на форуме и Issues на Github.


#1979

В VB и VBA - тоже. Код приходится выкашивать руками.


#1980

Старый синтаксис n:w:d нами поддерживается без вопросов. Любить его невозможно - эту конструкцию нельзя корректно задать грамматикой - приходится делать “волшебные” вещи в семантике компилятора, и эти “волшебные” вещи являются источниками багов.


#1981

Возможно, я нечетко выразился. Смысл поста был в том, что некоторая синтаксическая конструкция может быть оставлена в языке исключительно в целях совместимости (в этом случае нет гарантии, что в некотором очередном релизе она останется) и тогда разработчики не рекомендуют ее использовать, В другом варианте в языке оставлена устаревшая синтаксическая конструкция, которая без переживаний может использоваться, в том числе, во вновь разрабатываемых программах. А любят разработчики такую конструкцию или яростно ненавидят - это совсем другой вопрос.

Я не разработчик. В PascalABC.NЕТ имеется оператор goto. Мне безразлично, есть он или нет - я им не пользуюсь. И безразлично, любят ли его разработчики. Мне только не безразлично знать, будет ли этот оператор присутствовать в языке в обозримом будущем или нет.


#1982

Не любим. Но она останется.


#1983

Ну хорошо, допустим то что обработчик не удаляется это фича. А Ctrl+Space показывающий только ключевые слова?

Мои попытки донести вам о серьёзных багах в проектах wf - обычно заканчивались отказом вами их исправлять. При чём очень категоричным отказом, в духе “мы не будем исправлять проблемы в этой области”.

Конечно, с момента начала моего участия в issue - вы стали менее категорично относится к проблемам ide. И не сложные всё же берётесь исправлять.

Но у проектов wf полно проблем, в том числе сложных. Я считаю что в данном состоянии - имеет смысл переписать их с 0, как и саму IDE. Вот только у IDE достойных альтернатив нет. А wf можно и полезно использовать напрямую.


И самое главное - заметьте, когда я говорю что проекты wf использовать не стоит - я говорю как правильно работать без них. Я не пропагандировал ничего против всего PABC.Net. Но проекты wf - это плохой инструмент, потому что есть инструменты, полностью заменяющие его функционал. И не просто заменяющие, а ещё и не менее удобные и имеющие меньше негативных эффектов.


#1984

Получается, что при разработке средних и больших проектов до сих пор пока что остаются некоторые моменты, с которыми просто надо быть внимательнее, верно? Поправимо.

Крупные задачи мне пока рано - даже не сразу понял, почему иногда в pabcproj открывается только код без визуальной части, Давно с бумагой не работал, поэтому всё вручную и по ходу прямо на лету самому отслеживать кажется сложновато. Планирую относительно несложный интерфейс и пару окон для визуализацией. Функцию автосохранения хотя бы после удачной попытки компиляции не нашёл, раз в пять-десять минут или после серьёзных изменений хватит?

Спасибо.


#1985

Давайте заведем специальный топик и для Issue сделаем метку - и будем потихоньку исправлять. С нуля переписать можно всё, только затраты огромные. Мы например в своё время долго искали свободный дизайнер форм - нашли его где-то у Microsoft, сильно доработали его. Бесплатной замены ему я не вижу.

Можете попробовать сами поисправлять некоторые моменты - в дизайнере форм многие правки делаются легче чем в компиляторе.

Более кардинально заменить его на дизайнер форм WPF - даже бесплатный есть в Sharp Develop - но это серьёзно разбираться надо.

А работать напрямую без дизайнера - это по моему мнению - пещерный век - сейчас никто так не работает.


#1986

Ну хорошо, если вы всё же решили поддерживать его - это совсем другая история. Мне всё равно не нравится как он реализован (особенно то, что это переработанный чужой дизайнер)… Но это уже мои проблемы, если когда то дойдут руки - таки пересоберу с 0. А пока issue буду кидать в репу IDE, пожалуй…


#1987

Маленький вопрос, вот, к примеру, у меня есть вот такое чудище List<List<List<array of integer>>>, а точнее переменная этого типа, можно ли сделать копию такого объекта? По возможности хотел бы узнать как


#1988

Если прямо всё содержимое скопировать надо:

begin
  var l: List<List<List<array of integer>>>;
  var l2 := l.ConvertAll(sl1->sl1.ConvertAll(sl2->sl2.ConvertAll(a->a.ToArray)));
end.

Вот только - зачем вам это? У меня максимум было 2 уровня вложенности:

Dictionary<string, Dictionary<string, string>>

(тут)

А List<List<List<array of integer>>> выглядит как костыль для того, что можно сделать красивее.


#1989

Потому что это и есть костыль :smile:


#1990

Спасибо


#1991

Вопрос был “для чего?”
Чтоб если я знаю как красиво сделать - я смог сказать как. Но не зная задачи это невозможно.


#1992

Четырехмерный массив, непрямоугольный в каждом измерении? Было такое лекарство - “озверин”… Вам не попадалось под руку? :smile:


#1993

Надо попробовать)


#1994

Ну есть несколько десятков видов корабликов(List<List<List<array of integer>>>), List<List<array of integer>> - сами кораблики одного вида, List<array of integer> - координаты клеток в виде массива (x,y).

Я надеюсь понятно? :sweat_smile:


#1995

Так лучше же сделать отдельные классы координат, кораблей, и т.д. Ну или записи, это более простой уровень.


#1996

И что, тут многомерный массив никак?


#1997

Как вариант, попробую