Обсуждение развития MSEide + MSEgui

Вопросы программирования и использования MSEide + MSEgui.

Модератор: Модераторы

Сообщение debi12345 » 27.03.2007 00:33:07

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

Сами понимаете - что СЕЙЧАС и для MSE*, и для Lazarus-е с их PS-выходом нужен PS-редактор (!). Мартин говорит, что будет XML-вывод ( на крайняк его подмножество = HTML ) - как раз под редактирование. Про Excel/Word/OpenOffice/etc-форматы, думаю - просить не стоит, у человека аллергия к Win-Only & Lin-only решениям.

2, пока не разобрался со всеми тонкостями но имхо что-то подобное должно постовлятся с самим mse как компонент.

Это мой "самопал" - куда ему до компонета, да и как его компонентом сделаешь - если три формы содержит ?
Но и сейчас можно в любой проект запихать и пользовать - dmprint и printersetupfor*, и нужно-то из них для печати только "psprn" ( скормить "render" ) & "printout" (распечатать приготовленный PS-файл ).

вот не понятна голочка выбора windows GDI если печать все равно можно только через ghost script. или это на будущее ?

Да, на будущее - аналогично и для Линукса.
Правда, Мартин утверждает, что лучше PS ничто не печатает - и качество на бумаге, и поддержка профессиональными принтерами, и геометрическое позиционирование и размеры. Поэтому не горит желанием делать GDI-варианты печати.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение GrayEddy » 27.03.2007 10:19:27

Что дальше планируется в MSE, какие планы?
В принципе, сам скелет уже есть :lol:

Пока не разбирался с отчетами, но стало интересно - можно ли в репорте шелкнув по определенной строке - развернуть подотчет.
К примеру, есть накладная на приход. Щелкнув по товару - переходим в сам справочник товара или генерим вложенный (второй) отчет. Тот, кто работал в 1С - поймет.
Если нет - можно ли реализовать?
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение GrayEddy » 27.03.2007 18:21:37

Еще хотелось TODO list - список того, что надо сделать. Можно расширить что пофиксено, добавлено, убрано, скажем с разбивкой по дням. Таким образом, можно получить самодокументируемый проект с историей его жизни. Просто мне надоело писать в текстовики, и постоянно вспоминать изменения, а через меню все гораздо проще.
Я думаю - Мартину сделать раз плюнуть. Но откажет, ИМХО.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение GrayEddy » 27.03.2007 21:56:28

Если свободное время будет - сделаю сам.
Примерный набросок таков - есть форма. четыре закладки (TODO, добавлено, убрано, пофиксено).
Каждая закладка имеет колонки - тип дата, описание. Для закладки Сделать будет добавлено еще чекбокс. Приоритеты - вряд ли.
При открытии формы будет считываться содержимое файла истории, он будет скорее текстовой.
Будет кнопка, генерирующая на выходе файл с группировкой по дням, по закладкам (содержимое TODO будет исключено, можно и опционально).

Основная проблема - надо ковырять MSE (вставить пункт в меню, указать созданную форму) - и пересобрать. Ну нет в MSE экспертов.
GrayEddy
постоялец
 
Сообщения: 375
Зарегистрирован: 06.05.2005 09:37:56

Сообщение debi12345 » 30.03.2007 11:45:25

В FireBird добавлена поддержка Embedded-режима ( без серверного процесса ), полезно для использования ЖарПтицы вместо MSAccess/DBF.

Начата доработка SQLite3 - чтобы работа с ним ничем не отличалась от FireBird/PostgreSQL.

Это чтобы у нас не было соблазна использовать оффлайновый режим BufdataSet-а не по прямому назначению (соединился с сервером, выбрал данные, сохранил их в локальный файл, изменил, соединился, отразил обновления ).
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Attid » 30.03.2007 12:12:29

Это чтобы у нас не было соблазна использовать оффлайновый режим BufdataSet-а не по прямому назначению (соединился с сервером, выбрал данные, сохранил их в локальный файл, изменил, соединился, отразил обновления ).


:lol: это типа камень в мой огород =) рекорд буфера поднял до 98Мб
тормазит но работает =) а FireBird.Embedded хорошь, но 3 метра надо тягать в этом отношении SQLite3 лучше, но он на порядок глупее =)
дя себя пока остался на буфере как будет время вотну кого нибуть из них =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение debi12345 » 30.03.2007 20:34:39

Attid писал(а): :lol: это типа камень в мой огород =) рекорд буфера поднял до 98Мб
тормазит но работает =)

Специально в цикле записи вставляли ?
Вообще, чем больше размер лога, тем больше вероятность повреждения, значит - тем тщательнее тестирование :)
Кстати, "тормозит" - это как ? Те же 15 секунд под Вынь-32 ?

а FireBird.Embedded хорошь, но 3 метра надо тягать в этом отношении

И через хак ставится.

SQLite3 лучше, но он на порядок глупее =)

На SQL-запросах - ничуть не глупее. Манипуляции с внутренней бизнес-логикой БД ( функции,.. ) - эдесь "да".

дя себя пока остался на буфере как будет время вотну кого нибуть из них =)

Сейчас дополняю пример печати - запись+ выгрузка+печать картинок (BLOB-поля энтого самого "буфера" ). Ведь оффлайновые манипуляции с BLOB-ами еще не тестировались !

Вообще, классные времена настают - по Линуксом теперь можно клепать бизнес-программы ! И мир повернулся лицом к опен-сорсу. То ли еще будет %)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение debi12345 » 01.04.2007 00:41:51

К радости минималистов - типа меня, кому отвратительна неуклюжая идея распространения маленьких БД-программ с 3М-инсталляцией Жарптички и хаков с установкой оной.

В MSEgui поддержка SQLite3 достигла ( с нуля за пару дней ) стадии "early experimеtntal". Фишка в том, что сделано - в варианте "через SQL", аналогичном Жарптице/Слону. То есть не через специализированный датасет, а через связку TSQLite3Connection+TMseSQLQuery. Начинаем смотреть !
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Attid » 01.04.2007 18:33:41

Специально в цикле записи вставляли ?
Вообще, чем больше размер лога, тем больше вероятность повреждения, значит - тем тщательнее тестирование Smile
Кстати, "тормозит" - это как ? Те же 15 секунд под Вынь-32 ?


при запуске до 30 сек, а при фильтрациях 10-15.
дольше всего встовлеть это несколько минут , точно не засикал, просто уходил на обед =) но больше 10 минут


Начинаем смотреть !

я пока пас, растроен ошибкой с локалями.
жду обновление иксов =)
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение debi12345 » 03.04.2007 20:12:53

я пока пас, растроен ошибкой с локалями.
жду обновление иксов =)

Вижу, продолжаете с локалями воевать - уже в Лазарусе и по другим поводам.
Локаль "ru_RU.UTF-8" со шрифтами ISO10646-1 или TrueType у себя не пробовали ? Как-никак это - наступающая мода.

Attid писал(а):при запуске до 30 сек, а при фильтрациях 10-15.
дольше всего встовлеть это несколько минут , точно не засикал, просто уходил на обед =) но больше 10 минут

Кстати, поддержка SQlite3 в SQL-режиме ( как равноправный партнер Жар-Птицы и Слоника ) - доделана и полностью функциональна ( за исключением мелкой "шероватости" с INT64-полями ).
Есть и тестовый проект ( отображение, редактирование и запись всех поддерживаемых типов данных, включая BLOB ) :

http://brefi.narod.ru/sqlite3types_test.tar.gz
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Alexander » 05.04.2007 20:15:45

Подбираюсь к древу. Факт визуального получения которого достигнут.
Но правильно или нет не представляю - документации то нет.

На форму кинул widgetgrid на него treeitemedit.

Поменял несколько свойств (не помню уже каких - метод тыка) в
инспекторе объектов.

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

Было бы здорово получить от Мартина несложную демонстрашку
древа с идейно правильным использованием типов и методов.
Но вряд ли.

Код (имена переменных очень условны);

Код: Выделить всё
procedure tmainfo.testtree(const sender: TObject);

  var
      root : ttreelistedititem;
      f1 : ttreelistedititem;
      f2 : ttreelistedititem;
      f3 : ttreelistedititem;
      c1 : ttreelistedititem;
      c2 : ttreelistedititem;
begin

root := ttreelistedititem.create;
root.caption := 'root';
f1 := ttreelistedititem.create;
f1.caption := 'f1';
f2 := ttreelistedititem.create;
f2.caption := 'f2';
f3 := ttreelistedititem.create;
f3.caption := 'f3';
c1 := ttreelistedititem.create;
c1.caption := 'child';
c2 := ttreelistedititem.create;
c2.caption := 'child2';

ttreeitemedit1.itemlist.add(root);
root.add(f1);
f1.add(f2);
f1.add(c1);
ttreeitemedit1.itemlist.add(c2);

end;
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 833
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение Alexander » 05.04.2007 20:22:54

Attid писал(а):я пока пас, растроен ошибкой с локалями.


А у меня ещё вопрос возник - а другие приложения ведь работают ?!
И Лазарус вероятно тоже. В чём же отличие МСЕ ?
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 833
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Сообщение Attid » 05.04.2007 22:47:50

в том что он сам все рисует =)
в ветке с багами все обсуждалось.
сча с работой разберусь через пару неделек
поиграюсь с системой попрбую определить в чем и в каких версиях ошибка.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2586
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Сообщение debi12345 » 06.04.2007 10:48:12

Alexander писал(а):Было бы здорово получить от Мартина несложную демонстрашку
древа с идейно правильным использованием типов и методов.
Но вряд ли.
[...]


Ответ Мартина :

Два других способа :
--------------------
Код: Выделить всё
var
roota,rootb: ttreelistedititem;
begin
roota:= ttreelistedititem.create;
roota.add(3,ttreelistedititem);
roota.caption:= 'A';
roota[0].caption:= 'A0';
roota[1].caption:= 'A1';
roota[2].caption:= 'A2';

rootb:= ttreelistedititem.create;
rootb.add(3,ttreelistedititem);
rootb.caption:= 'B';
rootb[0].caption:= 'B0';
rootb[1].caption:= 'B1';
rootb[2].caption:= 'B2';

ttreeitemedit1.itemlist.add(roota);
ttreeitemedit1.itemlist.add(rootb);
end;

---------------------

или

---------------------
Код: Выделить всё
begin
twidgetgrid1.rowcount:= 2;
with ttreeitemedit1[0] do begin
  caption:= 'A';
  add(3,ttreelistitem);
  items[0].caption:= 'A0';
  items[1].caption:= 'A1';
  items[2].caption:= 'A2';
end;
with ttreeitemedit1[1] do begin
  caption:= 'B';
  add(3,ttreelistitem);
  items[0].caption:= 'B0';
  items[1].caption:= 'B1';
  items[2].caption:= 'B2';
end;
end;

-----------------

ttreeitemedit.itemlist, для каждой строки таблицы, хранит указатель на состветствующий элемент структуры данных, это и есть интерфейс для совмещения данных и таблицы.

Примеры использования "ttreelistitem" есть в проекте"tools/i18n/msei18n.prj" и в "apps/ide/projecttreeform.pas, objectinspector.pas".
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5761
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Сообщение Alexander » 07.04.2007 00:54:23

Спасибо !
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 833
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Пред.След.

Вернуться в MSEide + MSEgui

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru