Попытка номер N
Модератор: Модераторы
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
а как насчет аналогов
Код: Выделить всё
InputQuery('caption', 'promt', vStr)
MessageDlg('some information', mtInformation, [mbOK, mbCancel], 0);- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Attid писал(а):а как насчет аналоговКод: Выделить всё
InputQuery('caption', 'promt', vStr)
MessageDlg('some information', mtInformation, [mbOK, mbCancel], 0);
как у обычного грида вывести надпись в шапке ?
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
InputQuery('caption', 'promt', vStr)
MessageDlg('some information', mtInformation, [mbOK, mbCancel], 0);
Мало не покажется - askyesno, showmessage,...
Надписи на кнопках имеют локализацию по умолчанию (через setlangconsts(..) ). Если русский и узбекский смотрятся криво - возражения и пожелания принимаются.
как у обычного грида вывести надпись в шапке ?
Как у ДБ-грида, см. ROZNITSA ( кстати - нормально собралось ? )
{grid}.fixrows[-N строки заголовка или подножия].captions[N столбца].caption:= 'MuMu';
Кстати, гриды умеют объединять ячейки ( по горизонтали ) и выравнивать надписи уже относительно объединений.
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
ROZNITSA ( кстати - нормально собралось ? )
нет только после секса и ручной правки файлов, если чесно очень утомительно, но так как уже потратил некоторое время, доделал до запуска.
из придирок то что форму можно растянуть мышей и будет некрасяво.
нет предпросмотра печати.(или я не нашел чего-то)
а в целом можно былоб бинарник выложить для желающих посмотреть на програмы на МСЕ так как розница выглядит на порядок лучше самой МСЕиде.
но с отчетами все равно полный мрак что куда и для чего, может небольшой видео запишешь по этому поводу для сообщества =)
хотя мне отчеты пока не горят. может все же на лазарусе с ними останусь.
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
стоит галка сохронять исходники в ЮТФ8
делаю
получаю
что я забыл ?
делаю
Код: Выделить всё
ShowMessage('внимание!');получаю
Код: Выделить всё
внимание!что я забыл ?
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
нет только после секса и ручной правки файлов, если чесно очень утомительно, но так как уже потратил некоторое время, доделал до запуска.
Сочувствую. Но удивительно это читать. У Вас связка FPC+MSEgui были в явно заброшенном состоянии.
из придирок то что форму можно растянуть мышей и будет некрасяво.
Анхоринг - последнее, что меня интересует
нет предпросмотра печати.(или я не нашел чего-то)
Конкретно в этом проекте особые отчеты - на непрерывной бумаге. Поэтому никакого предпросмотра.
А вообще для этих целей использую либо GhostScriptViewer ( печать в PS-файл в загрузкой во вьюер ), либо FinePrint.
но с отчетами все равно полный мрак что куда и для чего,
Особый случай, в этом проекте отчеты - максимальной сложности.
может небольшой видео запишешь по этому поводу для сообщества =)
Не-а, лучше пошаговое описание в тексте - для простеньких отчетов. Сделаем.
делаю
Код:
ShowMessage('внимание!');
Опции проекта:
1) редактирование в utf8
2) опции MAKE - добавить "-Fcutf8".
а в целом можно былоб бинарник выложить
FPC 2.2 не все БД-модули для смартлинка готовит. А без этого экзэшник великоватый для "выложить" получается.
хотя мне отчеты пока не горят. может все же на лазарусе с ними останусь.
Счастливчик ! Мне бы кто платил за простые БД-проекты... ( другие на лазарусе пока не сделаешь )
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Опции проекта:
1) редактирование в utf8
2) опции MAKE - добавить "-Fcutf8".
оно =) теперь я почти счастлив.
ну вот я с МСЕ сегодня весь день провозился и даже одной полностью готовой формы не сделал, так как незнаю что и где, а подсказка тоже коряво работает =(Счастливчик !
про вариант подгружаемых отчетов в мсе я конечно еще посмотрю, так как у меня они могут часто менятся а перекомпиливать каждый раз это не хорошо, да и програмой пользуются разные люди и разная отчетность нужна.
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
ну вот я с МСЕ сегодня весь день провозился и даже одной полностью
готовой формы не сделал, так как незнаю что и где, а подсказка тоже коряво работает =(
А у меня как-то сразу сложилось с MSE*. Интуитивно все нахожу - именно там, где оно должно быть. И называется именно так, как должно называться. Удивительно продуманный проект. Похоже, у нас с Мартином ход мышления ( и ожидания от проекта ) близки. И я рад у него учиться
Полностью с ним согласен, потому что узнал на своей шкуре - Дельфи малопроизводительны для сложных БД-проектов из реальной жизни.
про вариант подгружаемых отчетов в мсе я конечно еще посмотрю, так как у меня они могут часто менятся а перекомпиливать каждый раз это не хорошо, да и програмой пользуются разные люди и разная отчетность нужна.
Мартин предупреждает, что для подгружаемых форм/отчетов не работатет ( пока ) обмен событиями компонентов. Толку от таких отчетов... Только наипростейшая логика.
оно =) теперь я почти счастлив.
Сквозной ( от клавиатуры через БД до бумаги ) юникод в MSE* реально впечатляет. Иногда даже не верится.
- Attid
- долгожитель
- Сообщения: 2589
- Зарегистрирован: 27.10.2006 17:29:15
- Откуда: 44°32′23.63″N 41°2′25.2″E
- Контактная информация:
Полностью с ним согласен, потому что узнал на своей шкуре - Дельфи малопроизводительны для сложных БД-проектов из реальной жизни.
ну скажем у дельфи компилятор лучше в плане стабильности и багов =)
во вторых с опытом приходит опыт и появляется свой золотой юнит который любой проект облегчает на порядок. вот тот же GetSqlResult вроде мелочь, а приятно. в лазаре после накидывания контролов на форму в оншоу вызывал пару процедур которые приводили форму в нужное состояние. а про то что все на своих местах это дело опыта.
нет, я новостной сервер только на работе днем читаю чтоб про синхронизацию не думать.Видели новые "GetSqlResult" (пишет сразу в ArrayOfVariants) ?
- debi12345
- долгожитель
- Сообщения: 5761
- Зарегистрирован: 10.05.2006 23:41:15
- Откуда: Ташкент (Узбекистан)
1, чем msedtring круче string
============
msestring = widestring.
Собственно - ядро поддержки юникода. Именно поэтому MSE* проекты не замечают смены операционки.
Чтобы не тормозило на строковых операциях из-за громоздкой перекодировки - выбрана именно 2-байтовая кодировка ( с ограничением для бедных китайцев ), а не 100% универсальная UTF8.
На экране рисует только символы текущей системной локали - лимитация WinGDI/X11. Но на принтере - без ограничений, и спецсимволы, и псевдографика, и математика, и арабский если надо... (реально не все 65535 символов TTF-шрифта - чтобы не утяжелять PostScript-поддержку, но расширяется в любой момент, если понадобится )
2. небольшую лекцию про размеры в мсе
=============
Все что для вывода на экран - в экранных единица, то есть пикселах.
Отчеты - в миллиметрах.
Но шрифты экрана и отчетов - в шрифтовых единицах операционки, то есть реальный размер "по линейке" зависит от DPI.
GDI-принтер не понимает не-целочисленные размеры и округляет их до меньшего. Поэтому линия шириной 0.3 мм при DPI плотности печати например 3pix/mm (0.33mm) { наиболее удобна для рисования отчетов } считается нулевой ширины и печатается как волос. А вот PostScript-принтер намного точнее, и прекрасно разбираеться в дробными размерами.
3, чем tstringedit круче tedit ?
=============
Тем же, что tintegeredit, trealedit,... - экономией ресуров, отказом от тормозных ( и дающих 150К с в экзэшнике ) VARIANT, привязкой к конкретному типу данных ( с проверкой корректности ввода, диапазона, формата и прочего согласно этого типа ), возможностью фильтрации типа БД-полей при назначении DataField, организацией выравнивания, обрезания пробелов, интерпретацией разделителей разрядов, знака значений,..
Для 100% универсального ввода - рекомедую пользоваться TStringEdit в компании c модулем регулярных выражений на OnSetValue-проверке. Гораздо умнее и неназойливее, чем TmaskEdit, уж поверьте !
и как у tstringedit убрать привычку стирать содержимое при клике мышью.
============
А он стирает ? Во всяком случае, DBStringEdit, помещенный на TDBWidgetGrid, себя так не ведет. Пробовали взять его настройки по умолчанию?
если сделаю размер в венде то в лине не умещается кепшен
если наоборот, то остается свободное место
============
DPI разный. WinGDI=96dpi. И в Линуксе такой ( или близкий ) установите. Ну и дефолтный размер шрифта может отличаться - WinGDI любит мелкий размер. Поэтому ВСЕГДА задавайте явный размер на главной форме, который будет унаследован компонентами как "parent" . Как альтернатива, и если нужно быстро адаптировать готовый проект - есть параметры экзэшника "--FONT_ALIAS=.."
============
msestring = widestring.
Собственно - ядро поддержки юникода. Именно поэтому MSE* проекты не замечают смены операционки.
Чтобы не тормозило на строковых операциях из-за громоздкой перекодировки - выбрана именно 2-байтовая кодировка ( с ограничением для бедных китайцев ), а не 100% универсальная UTF8.
На экране рисует только символы текущей системной локали - лимитация WinGDI/X11. Но на принтере - без ограничений, и спецсимволы, и псевдографика, и математика, и арабский если надо... (реально не все 65535 символов TTF-шрифта - чтобы не утяжелять PostScript-поддержку, но расширяется в любой момент, если понадобится )
2. небольшую лекцию про размеры в мсе
=============
Все что для вывода на экран - в экранных единица, то есть пикселах.
Отчеты - в миллиметрах.
Но шрифты экрана и отчетов - в шрифтовых единицах операционки, то есть реальный размер "по линейке" зависит от DPI.
GDI-принтер не понимает не-целочисленные размеры и округляет их до меньшего. Поэтому линия шириной 0.3 мм при DPI плотности печати например 3pix/mm (0.33mm) { наиболее удобна для рисования отчетов } считается нулевой ширины и печатается как волос. А вот PostScript-принтер намного точнее, и прекрасно разбираеться в дробными размерами.
3, чем tstringedit круче tedit ?
=============
Тем же, что tintegeredit, trealedit,... - экономией ресуров, отказом от тормозных ( и дающих 150К с в экзэшнике ) VARIANT, привязкой к конкретному типу данных ( с проверкой корректности ввода, диапазона, формата и прочего согласно этого типа ), возможностью фильтрации типа БД-полей при назначении DataField, организацией выравнивания, обрезания пробелов, интерпретацией разделителей разрядов, знака значений,..
Для 100% универсального ввода - рекомедую пользоваться TStringEdit в компании c модулем регулярных выражений на OnSetValue-проверке. Гораздо умнее и неназойливее, чем TmaskEdit, уж поверьте !
и как у tstringedit убрать привычку стирать содержимое при клике мышью.
============
А он стирает ? Во всяком случае, DBStringEdit, помещенный на TDBWidgetGrid, себя так не ведет. Пробовали взять его настройки по умолчанию?
если сделаю размер в венде то в лине не умещается кепшен
если наоборот, то остается свободное место
============
DPI разный. WinGDI=96dpi. И в Линуксе такой ( или близкий ) установите. Ну и дефолтный размер шрифта может отличаться - WinGDI любит мелкий размер. Поэтому ВСЕГДА задавайте явный размер на главной форме, который будет унаследован компонентами как "parent" . Как альтернатива, и если нужно быстро адаптировать готовый проект - есть параметры экзэшника "--FONT_ALIAS=.."
