30.06.2007, 05:23 | #21 |
Участник
|
|
|
30.06.2007, 12:06 | #22 |
Участник
|
Например, есть неверно работающая программа. Одно из подозрений падает на то, что в некоторый момент переменная пуста.
Тогда вставляем две строчки: ЕСЛИ перменная = пусто ТО перменная := переменная; После чего включаем дебаггер, ставим остановку на 2-ю строчку и запускаем. Т.е. мы ничего не поменяли, но ситуацию отлловим, если будет. В Nav такого не делал, а в Delphi как то было |
|
02.07.2007, 05:32 | #23 |
Участник
|
Цитата:
Цитата:
Сообщение от smoyk
А вот про то, что можно кроме самих записей еще что-то (неважно что) в этой таблице сохранять а в массиве нельзя - это вы зря. Во-первых в таблице можно сохранять только ограниченный набор настроек. Их можно расширить, доработав таблицу, но он все равно будет ограничен. Во-вторых, хоть в массив настройки сохранять и нельзя я не считаю это недостатком. Зачем вобще это делать? Вспомните, мы применяем массив при работе с excel напрямую через сервер автоматизации. А с его помощью мы имеем полный доступ к листу, включая и форматирование и формулы и любые функции использовать...
своего рода объектную переменную (ведь временная таблица существует локально, у клиента, нет обращений к серверу, поэтому потери в скорости не так уж ощутимы). Цитата:
Сообщение от smoyk
И насчет того, что в стандарте есть... Есть то он есть, я просто не уверен в эффективности реализации этого ресурса. Скорее наоборот, имеем потерю в скорости. Это и понятно, ради универсальности имеем потерю в гибкости, обычная ситуация, даже если предположить, что писал это дело грамотный программер и сделал всю на 5+. Хотя в последнем тоже можно усомнится. Знаете на какие перлы я натыкаюсь в стандартной конфигурации? Для примера, цикл на пять итераций и в цикле проверка - если переменная пустая, то присвоить ей пустое значение. Кроме шуток. И это не единственный пример.
мне удобно было им пользоваться. Цитата:
(это уже во-вторых :О)? А место, где мы можем создавать и хранить свои функции, необходимые нам именно для выгрузки в Excel? Имхо, массивы лучше использовать когда не нужна динамичность их размерности, когда важна сама эта размерность, и для определенного типа данных. |
|
02.07.2007, 06:31 | #24 |
Участник
|
To Fordewind
А вы не пробовали во время трассировки программы просмотреть значение переменной? Трассируете программу и на любом шаге вы можете просмотреть значение практически любой переменной . Причем это справедливо и для навика (значения выводятся в отдельном окне) и для делфи (при наведении мышки). Или вы не ищете легких путей? To Gennady Antropov Под настройками я подразумеваю все, что касается внешнего вида листа и формата данных на нем: стиль, размер, положение, выравнивание, формат данных и пр. Так вот, в таблице можно хранить только ограниченный набор этих настроек ну и далее см. выше И так как мы можем управлять форматом выводимых данных нам нет нужды хранить в массиве разные типы данных. Достаточно хранить текст, а при выводе задать нужный формат ячейки (впрочем в большинстве случаев достаточно "Общего") и готово... Так что, этому пункту "во-вторых" не стать Про функции не совсем понял какие именно вы имеете ввиду. Ну и в любом случае, почему их обязательно хранить в таблице? P.S. Я понимаю что горшки не боги обжигают, но если я вижу, что в стандарте код изобилует багами, то лучше уж я напишу свой код, в котором тоже наверняка будут баги, но зато свои(!), хорошо известные, в отличие от неизвестных багов этого программера |
|
02.07.2007, 11:04 | #25 |
Участник
|
Цитата:
Сообщение от smoyk
To Fordewind
А вы не пробовали во время трассировки программы просмотреть значение переменной? Трассируете программу и на любом шаге вы можете просмотреть значение практически любой переменной . Причем это справедливо и для навика (значения выводятся в отдельном окне) и для делфи (при наведении мышки). Или вы не ищете легких путей? Если смотреть на каждом шаге программу из 500 итераций с кучей вложенных циклов, то можно запросто сдвинуться. |
|
02.07.2007, 12:17 | #26 |
Участник
|
|
|
02.07.2007, 13:00 | #27 |
Участник
|
Цитата:
Цитата:
Цитата:
то удобно их размещать именно там, вполне логично, по крайней мере. Цитата:
предназначенный для того же. Такова моя точка зрения, я ею с вами поделился. Решайте сами, что вам нужно, а что не нужно. Если есть вопросы - я отвечу, а то мне кажется, возникла дискуссия, что лучше, а это часто - дело вкуса. Поэтому дискуссию предлагаю прекратить. |
|
03.07.2007, 12:38 | #28 |
Участник
|
Ну с этим трудно спорить На сим и правда лучше закруглится.
Насчет вопросов, воспользуюсь случаем Решаю проблему присвоения массива диапозону ячеек на листе. Подскажите пожалуйста, как это сделать, а то вывод в отдельные ячейки идет на ура, а при присвоении массива диапозону выдается ошибка "Размерности массивов должны совпадать." Делаю Код: xlSheet.Range('A'+FORMAT(7)+':E'+FORMAT(1000)).Value := Res; У Res Dimensions выставлял и [1000,5] и [5,1000]. Не работает. Вот, пока не решил. |
|
03.07.2007, 13:58 | #29 |
Участник
|
|
|