Вот пример
Почему не записывает в таблицу.
code_1137.txt
Этот топик читают: Гость
Ответов: 3655
Рейтинг: 69
|
|||
карма: 0 |
| ||
файлы: 1 | code_1137.txt [678B] [268] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
В этом примере запись идет во вторую колонку второй строки. Однако в таблице нет ни одной строки вообще.
|
|||
карма: 27 |
|
Ответов: 3851
Рейтинг: 159
|
|||
|
|||
карма: 0 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Dilma писал(а): В этом примере запись идет во вторую колонку второй строки. Однако в таблице нет ни одной строки вообще.Так почему автоматом не создаётся если нету. |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Вячеслав писал(а): Так почему автоматом не создаётся если нетуПотому что не всем надо создавать строку или колонку, если ее нету |
|||
карма: 9 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Вячеслав писал(а): Так почему автоматом не создаётся если нету.это было бы странное поведение. Пишешь в 1000 строку пустого списка, а тебе компонент добавляет еще 999 пустых строчек. |
|||
карма: 27 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Dilma писал(а): Пишешь в 1000 строку пустого списка, а тебе компонент добавляет еще 999 пустых строчек.Это как это создатьзаписать 1000 строку когда нет 999. И сколько строк будет в этом массиве [size=-2]------ Добавлено в 21:59 Galkov писал(а): Потому что не всем надо создавать строку или колонку, если ее нетуИ как записать не создавая |
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Вячеслав писал(а): И как записать не создавая Не создавая - никак Создавай. И именно это называется программированием: одна задача разбивается на две - сначала создаешь, потом записываешь |
|||
карма: 9 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Galkov писал(а): И именно это называется программированием: одна задача разбивается на две - сначала создаешь, потом записываешьА написать в компоненте IF Номер строки = NUL THEN Создать строку. Нельзя |
|||
карма: 0 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Вячеслав, в компонете(списке, массиве, матрице и т.д.) невозможно записать или создать значение в строку(колонку, ячейку, позицию) не создавая при этов всех предыдущих.
Вот это скажем не работает по той же причине:
|
|||
карма: 27 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Dilma писал(а): невозможно записать или создать значение в строку(колонку, ячейку, позицию) не создавая при этов всех предыдущих.Тогда я совершенно не понимаю почему их нельзя создавать автоматом если без них нельзя. Зачем городить лишние компоненты когда можно сделать ссылку на функцию. [size=-2]------ Добавлено в 22:41 Так вот отлично работает
|
|||
карма: 0 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Вячеслав писал(а): Зачем городить лишние компоненты когда можно сделать ссылку на функцию.А ты не городи, а делай красивую схему. У тебя есть выбор городить или не городить, в зависимости от задачи. А если это НА ГОРОДИТЬ в кодах компонента, то ни у кого выбора не останется. На горожено будет у ВСЕХ, не зависимо от того - надо это им или нет. Именно такое написание компонентов и будет называться ГОРОДИТЬ, и, если его очень последовательно проводить в жизнь, приводит 200К на пустую форму. [size=-2]------ Добавлено в 22:50 Вячеслав писал(а): А почему в MatrixRW нет такой точки Потому-что пока никто не дал конкретных интерфейсных предложений по такой точке. |
|||
карма: 9 |
|
Ответов: 3655
Рейтинг: 69
|
|||
Galkov, Вот
code_1140.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_1140.txt [956B] [261] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Вячеслав, этот пример не работает. Создавать надо не ровну одну строку, а N строк в общем случае. Это значит не DoData там должен стоять, а как минимум цикл. Кроме того мы должны учесть случай записи строки, которая уже есть, а это значит перед циклом должно стоять условие проверки на превышение номера модифицируемой строки над общим числом строк в компоненте.
Вячеслав писал(а): А почему в MatrixRW нет такой точкипотому что операция добавления строки к матрице не является общим случаем(почему скажем добавлять надо строку, а не столбец?). Такая операция является спецификой данного компонента. |
|||
карма: 27 |
|
Ответов: 9906
Рейтинг: 351
|
|||
Вячеслав писал(а): Это может увеличить форму на 200 Кило ?Может. А вот мнение того, кто убрал эти 200 Кило http://www.delphimaster.ru/cgi-bin/forum.pl?id=1172423656&n=10 Речь шла о коде в 134 байта. Ответ: Кладов писал(а): ЭКОНОМЬТЕ БАЙТЫ, КИЛОБАЙТЫ САМИ СЕБЯ СБЕРЕГУТВ нашем случае "принятие решения программистом" - это установка элементов на схему. Пристегиваются коды только используемых точек. Если это запихать в элемент - эти коды получат ВСЕ. Кладов писал(а): KOL существует потому, что VCL не дает такой возможности - отказаться от кода, который в данном конкретном приложении не нужен. Даже если бы только 1 приложение из 100 было таким, которое не нуждается в анализе завершения сессии, я был бы вынужден предоставить такую возможностьЭто философия, а не просто бодание по конкретному вопросу. Пренебрежение которой, совершенно запросто может далеко завести. Скажем мы по некоторым причинам не совсем чисто используем KOL. И конкретно у нас это приводит к 60К на пустую форму. В отличии от 20 под "чистым" KOL. Так вот, я буду доводить ее до 20 - получше разобравшись с ентим KOL-ом. А не наоборот |
|||
карма: 9 |
|