Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 25681
Рейтинг: 2087
#46: 2009-02-21 01:37:52 ЛС | профиль | цитата
Alexbootch, от версии SQLite зависит, в версиях 3.3.x не поддерживается команда hex. Я проверяю на версии 3.4.2 obj. Перелови ошибку запроса при чтении картинок и ты увидешь, что за ошибка, скорее всего -- не поддерживается команда hex
карма: 20

0
Ответов: 1891
Рейтинг: 110
#47: 2009-02-21 01:48:40 ЛС | профиль | цитата
nesco, писал(а):
Alexbootch, от версии SQLite зависит, в версиях 3.3.x не поддерживается команда hex. Я проверяю на версии 3.4.2 obj. Перелови ошибку запроса при чтении картинок и ты увидешь, что за ошибка, скорее всего -- не поддерживается команда hex


Блин точно ведь... Все пойду спать, а то уже торможу
карма: 0
%time%
0
Ответов: 16884
Рейтинг: 1237
#48: 2009-02-22 00:47:55 ЛС | профиль | цитата
nesco писал(а):
Послушал я Tada и откатил версию на SVN до 3_3_4

А у меня работает 3_5_9. Правда вместо

Select * FROM note WHERE LastName LIKE "%1%" 
приходится применять

Select * FROM note WHERE substr(LastName,1,1)="%1"
но меня устраивает, т.к. работает и с русским и с ивритом.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 25681
Рейтинг: 2087
#49: 2009-02-22 01:06:40 ЛС | профиль | цитата
Tad, а в 3_4_2 это прокатывет, или нет 3_5_9 неплохо работает, но она большая и тормознутая, слегка
карма: 20

0
Ответов: 16884
Рейтинг: 1237
#50: 2009-02-22 01:51:40 ЛС | профиль | цитата
Да. Только что проверил. Без проблем.
карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 25681
Рейтинг: 2087
#51: 2009-02-22 02:07:46 ЛС | профиль | цитата
Tad, может тогда заменим версию 3_3_4 на 3_4_2
карма: 20

0
Ответов: 16884
Рейтинг: 1237
#52: 2009-02-22 08:10:05 ЛС | профиль | цитата
Меняй.
Сколько пользуются OBJ


карма: 24
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 25681
Рейтинг: 2087
#53: 2009-02-22 12:59:07 ЛС | профиль | цитата
Tad писал(а):
Сколько пользуются OBJ

Не знаю сколько, но вещь хорошая
------------ Дoбавленo:

Preview последней версии таблицы. Показ в режиме TabGrid с внешними контролами



Последняя весия позволяет изменять ширину сторонних контролов в режиме редакции при изменении ширины колонки таблицы в RealTime

Наверное, я остановлюсь на том, что сделал, подшаманю код и выложу на попробовать. Чтобы сократить число компонентов пришлось пойти на объединение компонентов одного назначения в группы, по типу нашего Конвертора.

карма: 20

1
файлы: 1mtstrtable_preview_023.png [15.5KB] [312]
Голосовали:Sniper36
Разработчик
Ответов: 25681
Рейтинг: 2087
#54: 2009-02-23 14:35:49 ЛС | профиль | цитата
Решил сделать подарок всем к празднику и выложил законченную таблицу MTStrTbl. Есть два примера, можете их посмотреть. Лучше, конечно, поюзать тем, у кого полное обновление с SVN, чтобы вопросов было меньше.
Настоящая версия таблицы имеет полнофункциональный графический обработчик с широким набором функций отрисовки, чего в предыдущих версиях таблиц не было
------------ Дoбавленo:

Забыл добавить -- таблица построена по технологии менеджеров. Имеет один основной и два вспомогательных менеджера и пятнадцать клиентов, два из которых -- мультифункциональные по типу штатного Конвертора
карма: 20

1
Голосовали:Sniper36
Администрация
Ответов: 15289
Рейтинг: 1515
#55: 2009-02-23 15:53:19 ЛС | профиль | цитата
1) поставил на форму MTStrTbl после чего 5 минут пытался понять по описанию какой элемент добавит в таблицу новую строку... так и не понял Получается, что эту роль выполняет MST_InitTxtTab в режиме Append - не логично как-то.
2) ок, сделал хотя бы такое добавление, вроде работает, но не понял куда улетает первый элемент
code_11917.txt

из замечаний:
вот так писать

ARG(EditEndMode(0 - Cancel Editing, 1 - Use Editing))
не надо. Пояснения относительно значений аргументов вносить в справку (это касается не только данного элемента, но и всех остальных)

не уверен, что скрытие 1-2 event точек у элемента чем-то может быть оправдано

у MST_Matrix в качестве аргументов doMT_EMatrix указаны X и Y, а точек Data таких нет - почему?

еще не совсем ясна логика с EventManager - у самой таблицы эти события представлены в нативном виде + возможность подключения менеджера и у каждого клиента имеется такое поле, из которого преимущественно используется только onChange. Ну и в довершении ко всему у самого EventManager есть поле EventManager nesco, это специально сделано, чтобы господа Tad, и Вячеслав, имели полное право остерегать новичков от использования этого каламбура? В такой нотации в программе средней сложности проследить последовательсть вызовов всех однотипных событий будет нереально совершенно. Делать надо по другому: из всех клиентов убирать работу с событиями вообще. Их должен генерить основной элемент и никто более. onChange в такой интерпретации заменяется просто на имя метода с префиксом on.

и последнее: все клиенты должны иметь ответные события и аргументы ввиде data точек - иначе становится не понятно, а зачем вообще было метод выносить из основного элемента
было

doMT_CheckBox=Снимает/устанавливает флажок. ARG(IndexRow(-1 - All), Mode(0 - UnSelect, 1 - Select))|1|0
CheckBoxes=Массив значений флажков (0 - не установлен, 1 - установлен)|3|13
AllCheck_MT=Содержит MT-элементы индексов пунктов с установленными флажками. ARG(IndexRowCheck1, IndexRowCheck2 ... IndexRowCheckN)|3|0
стало

doMT_CheckBox=Снимает/устанавливает флажок ARG(IndexRow, Mode)|1|0
onMT_CheckBox=Событие происходит всякий раз после установки флажка|2|0
CheckBoxes=Массив значений флажков (0 - не установлен, 1 - установлен)|3|13
AllCheck_MT=Содержит MT-элементы индексов пунктов с установленными флажками|3|0
IndexRow=Определяет номер строки для установки флажка(-1 все строки)|4|1
Mode=Определяет состояние флажка 1 - установлен, 0 - снят|4|1

ну и префикс MT тут уже ни к чему становится
карма: 26
0
файлы: 1code_11917.txt [324B] [225]
Разработчик
Ответов: 25681
Рейтинг: 2087
#56: 2009-02-23 16:31:33 ЛС | профиль | цитата
Dilma писал(а):
поставил на форму MTStrTbl после чего 5 минут пытался понять по описанию какой элемент добавит в таблицу новую строку... так и не понял

Мдаа... Уж. Но если ты не понял. Тут MST_InitTxtTab вообще мимо проходил. Есть специальные компоненты для работы со строками и столбцами


Add(MST_RowAction,11778571,133,189)
{
}
Add(MST_ColAction,7386829,133,231)
{
}

А MST_InitTxtTab нужен для инициализации внешним списком. Ну нет в этой таблице обычного метода добавления, как нет его и у тебя, в твоем кортежном дереве

Для обычного добавления можно использовать ArrayRows
------------ Дoбавленo:

Из выводов я понял, что

1. EventManager убрать за ненадобностью, чтобы не наводить страх на народ. Выполнимо
2. Добавить верхние точки и свойства по-умолчанию, там, ге это можно сделать. Выполнимо
3. Добавить ответные события у каждого возможного компонента. Выполнимо
4. Убрать все события из клиентов. Спорный вопрос, опять тащить связи от центрального элемента, а если надо в мультике отловить событие?
5. Убрать префикс MT. Выполнимо

Dilma писал(а):
onChange в такой интерпретации заменяется просто на имя метода с префиксом on

Не везде может получится, есть некоторые универсальные методы, которые могут выдать только одно событие на все обращения и стоит ли это делать вообще?

карма: 20

0
Администрация
Ответов: 15289
Рейтинг: 1515
#57: 2009-02-23 16:43:06 ЛС | профиль | цитата
вставил MST_RowAction - про события и данные я уже говорил...
Далее сразу же наткнулся на то, что для добавления строки ожидаются данные не в классическом формате (строка с разделением по Delimiter), а в МТ. Это безусловно проще и эффективнее, но присутствие двух форматов в рамках одной группы элементов несколько смущает и целесообразность этого(если таковая есть) должна быть обоснована.
------------ Дoбавленo:

nesco писал(а):
4. Убрать все события из клиентов. Спорный вопрос, опять тащить связи от центрального элемента, а если надо в мультике отловить событие?

nesco писал(а):
Не везде может получится, есть некоторые универсальные методы, которые могут выдать только одно событие на все обращения и стоит ли это делать вообще?

nesco, примеры конкретные приводи. Я элементы эти впервые сегодня только увидел и не могу знать на 100% чего там можно сделать, а чего нельзя, поэтому и выражаю только предварительные положения.
карма: 26
0
Разработчик
Ответов: 25681
Рейтинг: 2087
#58: 2009-02-23 16:53:12 ЛС | профиль | цитата
Dilma писал(а):
целесообразность этого(если таковая есть) должна быть обоснована

Получается, что из модулей можно собрать и обычную таблицу и MT таблицу, возможно, стоит добавить компонент группы обычных методов работы со строками
------------ Дoбавленo:

Про мультик понятно, я думаю. Тут и пример не нужен. У нас нет доступа сверху вниз. Если добавлять строку в мультике, а событие изменения в таблице выставлять на верхнем уровне, то как я его в этом же мультике получу, только через... ну понятно как.

Мне кажется, что события изменения в таблице надо оставить для всех компонентов, которые ее модфицируют.

По менеджеру отрисовки, есть какие-либо предложения
------------ Дoбавленo:

Dilma писал(а):
Пояснения относительно значений аргументов вносить в справку (это касается не только данного элемента, но и всех остальных)

Да я хотел их везде убрать и, действительно, внести в справку для каждого метода и компонента в отдельности.
карма: 20

0
Администрация
Ответов: 15289
Рейтинг: 1515
#59: 2009-02-23 17:00:06 ЛС | профиль | цитата
nesco, вообще-то с точки зрения хронологии у нас есть элементы, которые были сделаны до введения в обиход МТ и элементы, которые были созданы после. Поэтому правильнее говорить не "обычную таблицу и MT таблицу", а "старую таблицу и новую таблицу". От сплющивания нескольких параметров в один путем придумывания своих форматив надо отходить (до МТ таких форматов накопилось уже предостаточно - строки с разделителями, точки вида y*$FFFF + x, регионы типа TRect и т.д.) - все это удобно только до тех пор, пока не возникает желания один формат переделать в другой. В МТ таких проблем не будет никогда.

касательно таблицы можно отдельно сделать элементы экспорта и импорта где в числе прочих форматив будет и список строк с разделением по Delimiter. Но внутренние механизмы желательно проектировать с использованием более гибкой МТ
------------ Дoбавленo:

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

Мне кажется, что события изменения в таблице надо оставить для всех компонентов, которые ее модфицируют.

а onRowAction после doRowAction в режиме Add разве не является событием изменения строк в таблице? Судя по коду нет никаких причин к тому, чтобы после вызова метода Add у таблицы строка таки в нее не добавилась...
карма: 26
0
Разработчик
Ответов: 25681
Рейтинг: 2087
#60: 2009-02-23 17:13:10 ЛС | профиль | цитата
Dilma писал(а):
касательно таблицы можно отдельно сделать элементы экспорта и импорта

Есть такой компонент уже, и давно -- MT_String, нафиг там больше ничего не надо.

Со столбцами я специално сделал такой метод с делимитерами, так как с помощью него можно программировать размер колонок из базы, которая, кроме "_", ничего не понимает. Посмотри пример с базой, там это реализовано.

Dilma писал(а):
Но внутренние механизмы желательно проектировать с использованием более гибкой МТ

Кроме инициализации столбцов, все остальные методы сделаны MT, остальные в довесок
------------ Дoбавленo:

Dilma писал(а):
Судя по коду нет никаких причин к тому, чтобы после вызова метода Add у таблицы строка таки в нее не добавилась...

Главный метод находится в менеджере, он и может выставить это событие, а что делать с тем, кто его выставил
Так все же надо выставлять события на компонентах, или оставить это дело менеджеру
------------ Дoбавленo:

Так все же -- убрать все обычные методы и оставить только MT, даже в массивах, рассчитав доступ к ним на работу с новыми элементами MT, такими, как массивы MT И не получится ли это на порядок сложнее в понимании, чем то, что есть сейчас, ведь это потребует от пользователей немалых знаний, а они уже сейчас, на простых вещах, начинают выражать непонимание
карма: 20

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