Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26072
Рейтинг: 2122
#61: 2007-02-26 19:21:39 ЛС | профиль | цитата
Вячеслав, а мне, например, не актуальна нумерованная сетка -- меня больше интересует сетка с названиями. Да и комбобоксы мне интереснее с разнороднами данными, а не с данными столбца. Это я к чему, а к тому что -- каждому нужно что-то свое. Кстати, я не нашел в KOL'e метода вставки строки, или столбца.
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#62: 2007-02-26 23:37:30 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-02 09:42:52
карма: 0

0
Ответов: 3655
Рейтинг: 69
#63: 2007-02-27 00:34:30 ЛС | профиль | цитата
nesco, Да и ещё сейчас пытаюсь сделать автоматическое изменение размера ячейки.

[size=-2]------ Добавлено в 00:34
nesco,
Вячеслав писал(а):
Используется стандартная функция Делфи
Вот я сделал (работает)
procedure ThiXLStrGrid._work_doRowC;
begin
XLStrGrid.RowCount := XLStrGrid.RowCount+1;
end;

Для столбцов точно так же
procedure ThiXLStrGrid._work_doColC;
begin
XLStrGrid.ColCount := XLStrGrid.ColCount+1;
end;
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#64: 2007-02-27 01:52:07 ЛС | профиль | цитата
Вячеслав, Это добавление а не вставка в любое место, где затрагивается внутренняя матрица ячеек.
Вячеслав писал(а):
Да и ещё сейчас пытаюсь сделать автоматическое изменение размера ячейки

Необходимо применить в KOL'e DT_CALCRECT, который определит границы текста и, затем, по полученным координатам и по отступам сверху и снизу определить номннальную высоту. Тч не забивай себе мозги -- не все так просто, как кажется (ну если только очень хочется, и то -- хорошо подумай)
Вячеслав писал(а):
К стати ты не знаешь можно ли создавать Записи программным методом(во время исполнения.)
Какие конкретно записи? Я думаю, все можно будет реализовать.
PS: Если ты заметил, то я организовал динамические данные для контролов. Активируются контролы только по выбору ячеки. Это должно обеспечить высокое быстродействие всей сетки. Вертикальное выравнивание работает только при однострочности, но я постараюсь реализовать выравнивание и в мультистрочности (а оттуда и раздвижку ячейки). Но все это после завершения бета-версии. Пока я глобально в KOL не лезу. Да и с батонами и чеками я уже разобрался -- все работает как надо.

[size=-2]------ Добавлено в 01:52
Вячеслав, вот посмотри изменения. KOL тоже замени (каюсь, чуть-чуть подправил).
карма: 22

0
файлы: 1code_002.rar [34.6KB] [375]
Ответов: 3655
Рейтинг: 69
#65: 2007-02-27 02:25:57 ЛС | профиль | цитата
nesco писал(а):
Это добавление а не вставка в любое место, где затрагивается внутренняя матрица ячеек.

А кто мешает потом его перенести в нужное место
Вообще что то я такую фичу и в Делфи не видел.
Надо ещё как то организовать ввод заголовка для нового столбца.
nesco писал(а):
Какие конкретно записи? Я думаю, все можно будет реализовать.

Это ,я по поводу хранения информации в файле в виде записей.Данный метод позволяет читать файл с любой точки(типа Pos=55) где Pos - позиция чтения(в делфи ,я так делал).
Но при увеличении (строкстолбцов) необходимо увеличивать и запись,а её конфигурация задаётся при инициализации.
nesco писал(а):
Если ты заметил, то я организовал динамические данные для контролов

Да конечно .

[size=-2]------ Добавлено в 02:25
nesco писал(а):
вот посмотри изменения. KOL тоже замени (каюсь, чуть-чуть подправил

Во как раз то что доктор прописал
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#66: 2007-02-27 02:52:22 ЛС | профиль | цитата
Вячеслав писал(а):
Во как раз то что доктор прописал

Ну, это уже радует.
Вячеслав писал(а):
А кто мешает потом его перенести в нужное место
Вообще что то я такую фичу и в Делфи не видел.
Надо ещё как то организовать ввод заголовка для нового столбца.
В StrTabl'e можно вставлять строки и столбцы в любое место. Ввод заголовка это -- не проблема.
Я думаю организовать по каждому пункту внутреннего рекорда матрицу ввода/вывода данных. Насчет файл-рекорда, то я пока не думал. Это все -- потом. Мне кажется, что реализовать все это можно будет (по крайней мере, попробовать никто не мешал), но это будет уже похоже на простенькую базу данных. Если мы ограничим длину текста определенным количеством сиволов, то реализовать такой вариант файл-рекорда вполне возможно.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#67: 2007-02-27 21:14:20 ЛС | профиль | цитата
nesco писал(а):
В StrTabl'e можно вставлять строки и столбцы в любое место

Я про Grid в делфи.
nesco писал(а):
Я думаю организовать по каждому пункту внутреннего рекорда матрицу ввода/вывода данных

А где будешь хранить эту матрицу
nesco писал(а):
но это будет уже похоже на простенькую базу данных

Ну наверное можно и так сказать.Но главная фича при таком методе хранения это то что
можно читать не всю таблицу, а только нужные в данный момент столбцы ,что бывает очень полезно при большом их количестве.Например если надо изменить зарплату,то читать только столбцы фамилия и зарплата.
nesco писал(а):
Если мы ограничим длину текста определенным количеством сиволов

Да конечно так и нужно сделать,мне хватало 100 ну на всякий случай можно сделать побольше
но и сильно много не надо это всё таки не word.
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#68: 2007-02-27 21:36:59 ЛС | профиль | цитата
Вячеслав писал(а):
А где будешь хранить эту матрицу
Так она там уже есть. Это просто обращение к уже существующим данным в режиме матрицы (как в StrTabl'e)

[size=-2]------ Добавлено в 21:36
Вячеслав писал(а):
Ну наверное можно и так сказать.Но главная фича при таком методе хранения это то что
можно читать не всю таблицу, а только нужные в данный момент столбцы ,что бывает очень полезно при большом их количестве.Например если надо изменить зарплату,то читать только столбцы фамилия и зарплата.
Не сторонник я из Grid'a базу данных делать. Для этих целей компоненты баз данных есть. Пусть они читают файл базы и дают нам необходимые поля. Зачем изобретать велосипед? Я зацепился за файл-рекорд только для обеспечения поизвольного доступа к любой нашей записи, а выбирать необходимые поля -- это целое дело.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#69: 2007-02-27 23:14:42 ЛС | профиль | цитата
nesco писал(а):
Не сторонник я из Grid'a базу данных делать. Для этих целей компоненты баз данных есть. Пусть они читают файл базы и дают нам необходимые поля.

Что то я не понял где проблема ты же заполняешь столбец из StrList_a .
Ну точно так же только из файла ,Указываешь имя столбца(с наружи) и все
Вот на делфи
Form1.jzStringGrid1.Cells[1,I]:=DAN.NAIM;
             Form1.jzStringGrid1.Cells[2,I]:=DAN.FIRMA ;
Где вот это DAN.NAIM и номер столбца читаешь с наружи.
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#70: 2007-02-27 23:33:01 ЛС | профиль | цитата
Form1.jzStringGrid1.Cells[1,I]:=DAN.NAIM;
             Form1.jzStringGrid1.Cells[2,I]:=DAN.FIRMA ;[/code]Ты это откуда выдрал? У нас нет такого метода, а есть вот такой
     property Cells[Col, Row: Integer]: PmdvXLCell read GetCells;[/code]И как мы можем че-либо записать, если метод только для чтения?
Давай оперировать нашими методами, а не теми, что вообще есть.

[size=-2]------ Добавлено в 23:33 [/size]
Я не заполняю столбцы по имени -- на каждый столбец свой StrList по индексу столбца. В таком случае надо менять всю концепцию чтения и применить загрузку из базы по полям.
карма: 22

0
Ответов: 3655
Рейтинг: 69
#71: 2007-02-28 00:12:36 ЛС | профиль | цитата
nesco писал(а):
Я не заполняю столбцы по имени -- на каждый столбец свой StrList по индексу столбца

Так DAN.NAIM это запись
Сделай вот такую запись DAN.1 , DAN.2 - где 1,2 это и есть имена столбцов и имя записи.
.
NAIM,FIRMA - это имя записи (это не имя столбца(имя столбца хранится в записи))
nesco писал(а):
Ты это откуда выдрал?

Это из делфи.(я писал).


Мы наверное говорим о разных вещах.
Я вот что предлагаю в таблице ты храни в чём хочешь ,хоть в StringList_e хоть в кармане
А с наружи(в файле) в виде записи и загружай StringList из файла, каждая запись это один StringList .
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#72: 2007-02-28 00:34:43 ЛС | профиль | цитата
Вячеслав, все это здорово... Можно и так, как ты предлагаешь. Но, честно, мне не нравится метод инициализации... очень не нравится. Наверное, буду думать о чем-то другом. Например, расширенные StrList'ы упаковывать в стрим. Но чтение будет последовательное, по количеству столбцов. Черт его, пока, знает... Повис я конкретено. Займусь отладкой внутренних методов, по-ходу может чего и придет на ум.
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#73: 2007-03-01 01:25:10 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2017-03-02 09:42:52
карма: 0

0
Разработчик
Ответов: 26072
Рейтинг: 2122
#74: 2007-03-01 09:46:10 ЛС | профиль | цитата
Вячеслав писал(а):
Да и ещё если не указывать размеры строк и столбцов то по умолчанию создаётся штук 100
столбцов и строк.Не правильно это и может привести к ошибке
Да это я поставил в свойствах ColCount и RowCount 128 штук по дефолту.
Вячеслав писал(а):
Для начала мне кажется надо заполнить все ячейки Edit_ami

А это что такое -- Edit_ami?
карма: 22

0
Ответов: 3655
Рейтинг: 69
#75: 2007-03-01 16:16:54 ЛС | профиль | цитата
nesco писал(а):
А это что такое -- Edit_ami?

Иметь возможность редактировать любую ячейку.

[size=-2]------ Добавлено в 16:16
nesco писал(а):
Да это я поставил в свойствах ColCount и RowCount 128 штук по дефолту.

Тогда надо по умочанию делать их все рабочими ,
а то обязательно напишут:
Запустил, а оно не работает.
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)