|
|
|||||||||||||||||||||
Редактирование TStringGrid18.02.2017, 23:52. Показов 6614. Ответов 19
Метки нет (Все метки)
В программе есть две процедуры, редактирования содержимого, заголовков столбцов и ячеек таблицы. Но дело в том, что я в этом мало чего мыслю, а в учебниках раскрыто мало. Но сначала опишу суть проблемы. Проблема заключается в том, что если в шапке столбцов введены все значения равные единице, то содержимое таблицы не редактируется. Я это проверял через открытие файла и закрытие (ввожу в шапке значение какое-нибудь, при этом размер столбца изменяется, одного) и сохраняю файл и закрываю программу, запускаю программу открываю файл - ячейки таблицы редктируются (так как в заголовках есть цифра отличная от первоначального значения - 1), причём даже те, у которых в заголовке столбца "1". Поэтому, чтобы не отнимать лишнего чужого времени я решил что первой надо описать процедуру редактирования содержимого таблицы.
Разумеется с отладчиком проще. Редактирование ячеек происходит при включенном чекбоксе это всё сделано. Вот эта процедура у меня пустая
для более широкой развёртки я опишу и то, как редактируются заголовки столбцов, но это может и не надо, ведь если я открыл файл, с другими значениями шапок, то всё радеактируется (что говорит в пользу того, что ошибка в моём коде). Вот как получается редактирование шапок столбцов:
Сам файл лежит в шестом сообщении вот этой темы или тут https://www.cyberforum.ru/post10125829.html . Кто знает причину проблемы прошу помочь. Добавлено через 8 минут Если кто-то будет открывать и сохранять файлы - сохраняется через пункт главного меню "сохранить как", я обычно просто ввожу всякие цифры в имя файла, так проще. В таблицу пока вводятся только цифры - дальше код не писал пока что.
0
|
|||||||||||||||||||||
| 18.02.2017, 23:52 | |
|
Ответы с готовыми решениями:
19
|
|
Джоуи
|
|||
| 19.02.2017, 09:08 | |||
|
Hretgir, скачал Ваш проект. Первый вопрос: в настройках проекта в разделе Пути Вы в каталог вывода путей написали путь к Вашей папке пользователя, зачем? Случайно написали, сохранили по умолчанию для новых проектов и теперь не знаете как изменить? Или это намеренно? (тогда надеюсь, Вы знаете, что делаете)
Второе:
0
|
|||
|
|
|||||||||
| 19.02.2017, 21:36 [ТС] | |||||||||
|
Добавлено через 47 минут
Добавлено через 11 минут В конце концов - главное код, а не знание чужих графических интерфейсов. Будет время - сделаю и свои интерфейсы, программа - не "тетрис" и стоит того, чтобы замарочаться. Если будет надо - портирую даже на другой язык программирования, главное чтобы массивы процедур там были, будет время - напишу даже на асме, всё - вопрос времени, и ничего не значит что я не кодер, главное - что я делаю, а не жду второго пришествия. Добавлено через 29 минут Весь смысл, что это не написание тупого кода и желания выпендриться многомерностью. Вы читали таблицы команд машинного кода 8-и битовых машин? Работали с ними? Я работал, в детстве, получалось - но я не знал тогда что надо писать. Ассемблер - просто перевод таблицы. А сейчас процессоры другие, и двумерные таблицы не очень подходят . Разумеется прога мною будет использоваться, хоть и фря будет, в разных целях - прикрутка модуля AI, да хотя-бы для создания единого справочника по разным языкам программирования (к которым я когда-либо приложусь), а там - кому как охота.
0
|
|||||||||
|
Джоуи
|
||||
| 20.02.2017, 02:38 | ||||
|
1
|
||||
|
30 / 24 / 22
Регистрация: 12.11.2011
Сообщений: 181
|
|||
| 20.02.2017, 20:00 | |||
|
А по существу, будет гораздо проще, если вы еще раз выложите текущую версию проекта, и скажите на какую последовательность клавиш надо нажать что проявилась ошибка.
0
|
|||
|
|
|||
| 20.02.2017, 21:09 [ТС] | |||
|
2) выбрать в меню - создать файл 3) ввести мерность массива (до 5-и) и начальный размер 4) в таблице, первым делом, ввести в ячейку содержимого цифру - цифра не введётся, останется прежнее значение ячейки и в коде нет ничего такого, чтобы так было 5) чтобы не было ошибки, в любую ячейку Header нужно ввести цифру, тогда в любую ячейку содержимого будет можно вводить значения и и тогда они будут вводится.
0
|
|||
|
602 / 550 / 210
Регистрация: 24.01.2012
Сообщений: 1,352
|
|
| 21.02.2017, 08:50 | |
|
В основной форме есть две процедуры, назначенные на события onkeydown и onkeyup. При переходе к следующей ячейке во время редактирования stringgrid эти процедуры каким-то образом отменяют введенное значение. Мне неохота было разбираться, что они делают. В этом можно убедиться, если вместо нажатия на enter, после ввода числа перейти к другой ячейке кликом мыши. Тогда введенное значение сохраняется.
2
|
|
|
|
|||
| 21.02.2017, 22:13 [ТС] | |||
|
Добавлено через 1 минуту Добавлено через 20 минут И что, после того, как я введу значения в header, то обработчик клавиатуры станет работать иначе? Спасибо за внимание, я чем занимался тем и продолжу. Фокусы интерфейсов не разбираю - я пишу код. Что с того, что мой код не гениален? Это запрещает мне писать код и обязывает учить интерфейсы? А кто выступает в качестве мерила? Добавлено через 7 минут У меня мало времени - если ошибка не известна, то на код юзера валить её не надо, впрочем это событие уже совершилось, и юзер понял - если что пойдёт не так, то он будет обвинён первый, поэтому он не будет учить интерфейс - он будет писать код, так его никогда не смогут обвинить в том, в чём нет его вины.
0
|
|||
|
Супер-модератор
|
||
| 21.02.2017, 22:20 | ||
|
Не по теме: Вот честно - не знаю, как можно так ляпать код, чтобы Лазарус глючил. У меня в данный момент проект из 220 форм, использующий и GDI+, и WinAPI (где нужно), и новые фичи языка, типа advanced records/operator overloading/generics, и потоков штук 50, самых разных, во время работы кода создается. И, заметь, ни одного "глюка интерфейса" нет, отладчик очень даже прекрасно помогает ловить недочеты, да и код читабелен, что характерно. Следовательно
0
|
||
|
|
|||
| 21.02.2017, 22:32 [ТС] | |||
|
Но: 1) спросить - имею право; 2) защищаться - имею право;(аргументировать свои доводы в защиту своего кода) 3) лишать меня первых двух - нет такого права. Хорошо, пусть это не глюк среды, какая разница, пусть это будет проблема конкретной программы, но она есть, и я могу её описывать и одёргивать, когда на мой код валят всё, не разбираясь в причинах. Мне достаточно описать условия, при которых существует эта проблема - и всем всё станет ясно, я даже пальцем показывать не стану, ибо в этом нет нужды.
0
|
|||
|
Джоуи
|
|||
| 21.02.2017, 22:47 | |||
|
Hretgir, Вы наверное от напряженной работы над трудным проектом сейчас на нервах, вот как человек посторонний я вижу, что Вы кидаетесь на тех, кто Вам помогает. Например, комментарий edukra был вполне адекватный, даже если он не прав насчет решения проблемы, а Вы сразу:
0
|
|||
|
|
||||
| 21.02.2017, 23:04 [ТС] | ||||
|
0
|
||||
|
602 / 550 / 210
Регистрация: 24.01.2012
Сообщений: 1,352
|
||||||||||||||||
| 22.02.2017, 13:06 | ||||||||||||||||
|
Тут такое дело: Странное поведение не тогда, когда в заголовке 1, а когда в заголовке не 1. Поясню подробнее. Если в гриде в заголовке стоит 1, то при завершении редактирования программа выполняется по следующему сценарию: Сначала срабатывает обработчик TForm1.FormKeyDown. Из него вызывается vyvedetTablicu, из неё вызывается ProcvyvedetTablicu[vyvodGrid], из неё вызывается ProcVyvodaGridRazmer[navigation], а в ней уже в цикле в строке 250 заполняются ячейки длинами массивов
Добавлено через 23 минуты Хотя в коде легко запутаться. Может где-то я чего и прозевал...
1
|
||||||||||||||||
|
|
|||
| 22.02.2017, 21:09 [ТС] | |||
|
0
|
|||
| 23.02.2017, 03:24 | |
|
Не по теме: Hretgir, Меня терзают смутные сомнения, что вы не сможете доделать свой проект до уровня доступного его пользователям. Имхо (и очень ИМХО), вы сразу пошли не тем путем.
0
|
|
|
|
|||
| 23.02.2017, 15:22 [ТС] | |||
|
Не по теме:
Добавлено через 2 часа 38 минут Не по теме: пожалуй - да, получив патент на изобретение, я первым делом должен изготовить его - однозначно, пока 3д принтер рядом, а потом, уже, где-то на работе (на Севере, или в Якутии), по вечерам, я займусь кодом. Пожалуй - это самое целесообразное решение. Хотя чиновники мне не плохо подгадили - в публикацию реферата они включили хвостовые эскизы, которые я вообще хотел убрать с описания, поэтому это всё не так просто. Гадость слишком откровенная, чтобы развивать события в удобном им направлении. Всё-таки код будет первый, "биться" с какими-то "чучелами", настроенными чиновниками я не буду, да это и не чучела - это просто яма, куда меня ожидают. они специально сделали публикацию реферата так, чтобы иметь больше возможности играть мне на нервах и просто отнимать моё время, когда я буду делать изобретение, да и вообще снизить ЛЮБУЮ значимость изобретения - это их ставка, а мне жалко мои нервы, время и работу, поэтому я сначала напишу программу, с минимальным функционалом, она нужная, правда измерений на пару может и не помешало-бы больше. да - я пойду не тем путём, который от меня ожидают. Добавлено через 14 минут Возможно это связано с порядком переходя для Form1
0
|
|||
| 28.02.2017, 19:43 [ТС] | ||
|
Не по теме:
Добавлено через 6 часов 35 минут Это конечно будет оффтоп, но секрет популярности нанотехнологий прост (уверен - эти темы активно поднимаются офисным планктоном) - о них и о их перспективах можно болтать не имея должного уровня интеллекта. На их основе проще строить пирамиду - ведь требуется интеллект единиц и средства многих. Всё взвешено, продвинуто, рентабельно. Менеджмент рулит. Всё это слишком очевидно, чтобы игнорировать наличие активно стимулируемых финансовых потоков и необходимость создания AI. Интернет - не единственная сеть созданная людьми. Не по теме: Разумеется я не претендую на те финансовые потоки, я имею ввиду то, что их существование объясняется отжимом средств с других сфер, ведь требуются средства многих и интеллект единиц. Не по теме:
0
|
||
|
113 / 75 / 28
Регистрация: 26.07.2015
Сообщений: 124
|
||
| 28.02.2017, 19:44 | ||
|
Не по теме: Хотя... На этом форуме есть прекрасная фишка, которая называется "игнор-лист". Кажется, пришло время ей воспользоваться.
0
|
||
|
|
|||
| 28.02.2017, 19:53 [ТС] | |||
|
Не по теме:
Добавлено через 5 минут Не по теме:
0
|
|||
| 28.02.2017, 19:53 | |
|
Помогаю со студенческими работами здесь
20
Форматирование строк в TStringGrid Окрашивание ячеек TStringGrid
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|
Фото: Daniel Greenwood
kumehtar 13.11.2025
|
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга,
Ты же видел моря и метели.
Как сменялись короны и стяги,
Как эпохи стрелою летели.
- Этот мир — это крылья и горы,
Снег и пламя, любовь и тревоги,
И бескрайние. . .
|