Есть функция, которая возвращает обработанное определенным образом число.
Нужно изменять алгоритм обработки в зависимости от того, с какой формы ее вызвали.
Т.е. надо передать в функцию число, а имя формы, из которой вызвана функция, должно определяться внутри самой функции.
Как это сделать?
..
P.S. Передавать в функцию имя формы в явном виде - не вариант, т.к. придется вносить очень много изменений в уже существующий громадный код.
101 2019-04-15 15:20:42
Topic: Можно ли в функции узнать, с какой формы ее вызвали? (1 replies, posted in Russian)
102 2019-03-21 10:54:52
Topic: Отображение отчета в масштабе по ширине экрана (по умолчанию) (1 replies, posted in Russian)
Когда открываю отчет, он всегда отображается в масштабе 100%.
А можно сделать так, чтобы он сразу открывался в масштабе по ширине экрана?
103 2019-03-21 10:47:44
Re: Одинаковые меню на двух таблицах одной формы (4 replies, posted in Russian)
Спасибо!
104 2019-03-21 09:45:55
Re: Одинаковые меню на двух таблицах одной формы (4 replies, posted in Russian)
А как это сделать?
105 2019-03-20 17:20:55
Topic: Одинаковые меню на двух таблицах одной формы (4 replies, posted in Russian)
На одной форме есть две таблицы.
Создаю одинаковые меню:
var
MyItem_1_On_Frm_Project: TMenuItem;
MyItem_2_On_Frm_Project: TMenuItem;
begin
MyItem_1_On_Frm_Project := TMenuItem.Create (Frm_Project);
MyItem_1_On_Frm_Project.Caption := 'Справка по товару';
MyItem_1_On_Frm_Project.OnClick := @ShowProductInfo; // показать справку
MyItem_2_On_Frm_Project := TMenuItem.Create (Frm_Project);
MyItem_2_On_Frm_Project.Caption := '-';
Frm_Project.TableGrid_1.dbPopupMenu.Items.Insert(0, MyItem_1_On_Frm_Project);
Frm_Project.TableGrid_1.dbPopupMenu.Items.Insert(1, MyItem_2_On_Frm_Project);
Frm_Project.TableGrid_2.dbPopupMenu.Items.Insert(0, MyItem_1_On_Frm_Project);
Frm_Project.TableGrid_2.dbPopupMenu.Items.Insert(1, MyItem_2_On_Frm_Project);
end;
//
Но такая конструкция ругается: "Menu inserted twice." и меню создается только на TableGrid_1.
В чем проблема?
106 2019-03-15 09:04:29
Topic: Число словами для финансовых документов (1 replies, posted in Russian)
Использую функцию ToWordsRu для финансовых документов и договоров.
Однако, она формирует число словами немного не так, как должно быть.
Например, число 12345,67 она пишет так:
Двенадцать тысяч триста сорок пять рублей и 67 копеек.
Но, в договорах это должно выглядеть так:
(Двенадцать тысяч триста сорок пять) рублей 67 копеек.
Т.е. число прописью пишется в скобках, т.к. оно расшифровывает сумму.
Также, не должно быть предлога "и" перед копейками.
Т.е. вся строка суммы договора 12345,67 должна выглядеть так:
Итого: 12 345,67 (Двенадцать тысяч триста сорок пять) рублей 67 копеек
Соответственно, надо убрать из результата функции предлог "и", а также дать возможность поставить скобку перед "рублями".
Вопрос к разработчику - можете ли доработать эту функцию или надо самому писать функцию для переработки возвращенной из ToWordsRu строки.
107 2019-02-12 14:52:28
Topic: Экспорт в Excel без скрытых столбцов (1 replies, posted in Russian)
Есть TableGrid с включенным свойством goCanHideColumn, которое позволяет удалять(скрывать) отображаемые столбцы.
Это очень удобно, т.к. можно мышкой просто "выбросить" ненужные столбцы.
Однако, если делать экспорт в Excel стандартной кнопкой, то скрытые столбцы все равно попадают в xls файл.
Можно ли как-то сделать так, чтобы стандартная процедура экспорта в Excel не переносила скрытые столбцы в xls файл ?
108 2019-02-11 10:28:18
Topic: Как получить множество id выбранных TableGrid записей? (1 replies, posted in Russian)
Включил в таблице свойство goMultiSelect.
Пользователь с помощью Ctrl или Shift+Ctrl выбирает несколько отдельных строк или диапазонов строк.
Каким образом можно получить массив id выбранных пользователем строк, чтобы сделать по ним скриптом сложные запросы?
109 2019-02-08 13:33:21
Topic: Как изменить порядок строк в SQL запросе? (1 replies, posted in Russian)
Каким образом можно поменять порядок инструкций LEFT OUTER JOIN в запросе, который сформирован мастером настройки вывода данных в таблицу?
Ведь мастер имеет возможность только поменять порядок полей в блоке SELECT, а порядок расположения в запросе инструкций LEFT OUTER JOIN что-то никак не удается поменять.
110 2019-02-07 16:18:08
Re: Расположение файла настроек (7 replies, posted in Russian)
Скрипт с использованием ключа реестра не работает как надо.
Первый запуск программы с процедурой создания ключа реестра при открытии Form1 работает нормально.
Но, если закрыть приложение и открыть его снова, то программа перестает узнавать поля в базе данных!
У меня на Form1 расположены две таблицы.
У них есть фильтр (Flag_IsItTask = 0 OR Flag_IsItTask IS NULL)
Так вот при втором и последующих запусках программы возникает исключение MySQL "no such field Flag_IsItTask', после чего форма открывается с пустыми таблицами.
Думал, что БД полетела.
Но, у нее все нормально - такое поле никуда не пропало.
Проблема оказалась в том, что хранение файлов настроек, как и было задано скриптом переключилось на C:\Users\[USERNAMR]\AppData\Roaming\MyVisualDatabase\Configs\[EXENAME].exe\
Файл настроек там создался, но он совсем пустой.
Пришлось через "Инструменты - Настройка" обратно вернуть указание на файл настроек в папке с программой.
Тогда перезапустив программу все таблицы открылись отображая как положено содержимое БД.
Т.е. если и создавать ключ скриптом для локального хранения настроек, то вместе с этим еще надо существующий файл настроек из папки программы перекладывать в локальное место?
111 2019-02-05 17:48:46
Topic: Расположение файла настроек (7 replies, posted in Russian)
Использую созданную программу в сетевом режиме несколькими пользователями.
Эти пользователи не инсталлировали ПО себе на комп, а просто запускают exe файл, лежащий на сервере в сети.
При этом получается, что файл настроек они используют тот, который лежит в папке с exe файлом.
Т.е. один файл настроек на всех, что неправильно.
Можно ли в скрипте задать путь расположения файла настроек для каждого из пользователей отдельно?
112 2019-01-29 15:11:50
Re: Ненормальное поведение Ruller в Rich (7 replies, posted in Russian)
Ruller имеет несколько указателей.
Указатели отступов текста от левой границы страницы запоминаются для каждой записи как положено.
Но, еще есть указатели правой и левой границ самой страницы.
Вот они и то и не запоминаются для каждой записи, а действуют сразу на все записи.
Эти указатели изменяют правое и левое поле печатаемой страницы.
Это видно, например, в режиме предпросмотра.
Однако, если сохранить текст в doc файл, то параметры границ не переносятся в файл.
Текст в файле отображается без учета установленных в Ruller правой и левой границ страницы.
113 2019-01-24 16:17:54
Topic: "Поймать" перетаскиваемый файл (1 replies, posted in Russian)
Есть форма с таблицей, где отображаются ссылки на файлы, полученные по почте.
Добавление файлов происходит через форму редактирования записи со стандартным компонентом Save File in Database.
Все эти файлы у меня должны храниться в определенной папке.
Т.е. для добавления поступившего файла я открываю форму для добавления записи, кликаю на Save File in Database, открывается Проводник c предустановленной папкой, куда я должен сохранить пришедший файл.
Далее я в почтовой программе зажимаю правой клавишей мыши приаттаченный к почтовому сообщению файл и перетаскиваю его в открытую папку проводника.
Таким образом, копии пришедших файлов оказываются в нужном мне месте и их список отображается в таблице.
Но, нужно упростить эту процедуру.
Нужно сделать так, чтобы таблица "распознала" перемещение над ней мыши с зажатой правой клавишей и, при отпускании ее, получила файл для сохранения его в нужной папке.
Есть ли такая возможность?
114 2019-01-24 16:04:13
Topic: Simple MAPI (1 replies, posted in Russian)
Поскольку эта программа пока не поддерживает SSL для работы с почтовиками, то хочется использовать для этого сторонние программы.
Есть почтовые агенты, которые поддерживают работу с ними по Simple MAPI.
Можно ли как-то использовать этот протокол в MVD для управления сторонним почтовиком?
Насколько я понимаю, Delphi это позволяет делать.
115 2019-01-23 09:58:43
Re: Публикация и работа программы в сетевом режиме (11 replies, posted in Russian)
Я же написал, что файл script.dcu есть, но я его удалил ради эксперимента.
И программа работает без него.
Скрипты в программе есть - больше 6000 строк.
Версия MVD 5.1
Может разработчик что-то поменял?
116 2019-01-22 10:20:50
Re: Баг выделения строки после поиска (1 replies, posted in Russian)
А зачем знать "место убытия"?
Что-то я ни в одной программе управления БД не видел, чтобы при поиске нужной строки подсвечивалась исходная строка.
Причем, если еще раз сделать поиск, то первоначальная исходная строка так и остается подсвеченной.
Т.е. подсветка "места убытия" работает только для самого первого "места убытия".
Наверно, никто еще не догадался, что это очень нужная фича
117 2019-01-22 10:13:09
Re: Публикация и работа программы в сетевом режиме (11 replies, posted in Russian)
Я и говорю про готовое приложение.
Скомпилировал проект и выкладываю на сетевую папку:
1. Папка Report
2. Папка Script
3. Файлы:
- dbschema.ini
- forms.xml
- graphics.dll
- my_application.exe
- settings.ini
- tables.ini
(никаких файлов для SQLite не выкладываю, т.к. моя база на MySQL)
Соответственно, пользователи запускают my_application.exe из сетевой папки.
В папке Script лежит только один файл - script.pas
Если его там не будет, то скрипты в приложении не работают.
A вот script.dcu я попробовал удалить и оказывается, что для работы exe файла он не нужен.
Вот и получается, что результат моего эксперимента противоречит информации на форуме о необходимости script.dcu для работы exe файла.
118 2019-01-22 09:45:03
Re: Сохранение измененного порядка строк перетаскиванием (7 replies, posted in Russian)
Огромное спасибо, Derek!
Именно то, что надо!
Гораздо элегантнее и проще cкрипта с кнопками!
119 2019-01-21 17:48:41
Re: Ненормальное поведение Ruller в Rich (7 replies, posted in Russian)
Протестировал. Линейка так и работает неправильно.
Ее значение должно быть уникальным для каждой отображаемой записи.
А сейчас изменение линейки является глобальным.
Т.е. если установить ее в значение, например, 20 мм, то все открываемые записи так и будут отображаться с этим значением линейки.
А надо, чтобы у одной записи можно было установить линейку в 10см, а у другой в 20.
Т.е. установка линейки у одной записи не должна влиять на линейку в другой записи.
120 2019-01-21 17:28:55
Re: Сохранение измененного порядка строк перетаскиванием (7 replies, posted in Russian)
Да, этот пример работает.
Но, хотелось бы сохранять порядок строк, который был изменен именно перетаскиванием, а не дополнительными кнопками.
Можно ли как-то получить порядок перетасованных строк в таблице перед закрытием формы, чтобы его сохранить?
Ведь куда то же этот новый порядок строк записывается при перетаскивании?
121 2019-01-21 17:24:12
Re: Публикация и работа программы в сетевом режиме (11 replies, posted in Russian)
Спасибо за ответы!
А как можно получить список только тех файлов .fr3, которые используются в проекте?
...
И еще - на форуме пишут, что для работы приложения нужен dcu, а файл pas можно удалить.
А у меня почему-то приложение при удалении .dcu файла работает нормально.
А если .dcu на месте, но нет файла .pas, то приложение не работает.
Это нормально?
122 2019-01-21 11:55:11
Topic: Публикация и работа программы в сетевом режиме (11 replies, posted in Russian)
Создал программу для работы нескольких пользователей по сети (на MySQL).
Скопировал весь проект со своего ПК вместе с еxе файлом в сетевую папку.
У пользователей на своих ПК есть ярлык на этот exe файл.
Они его запускают и работают.
Когда я делаю очередной релиз, то просто перезаписываю еще раз весь проект в сетевую папку.
Делать инсталляционный файл не хочется, т.к. релизы идут очень часто.
Вопросы:
1. Есть ли возможность сохранять файлы настроек каждого пользователя в сетевой папке (для каждого пользователя свой директорий, например, имя пользователя домена)
2. Накопился мусор в проекте (например, лишние изображения).
Есть ли способ скриптом определять, какие файлы нужны для работы exe файла, чтобы только их автоматом копировать в сетевую папку при очередном релизе?
123 2019-01-18 11:24:23
Re: Сохранение измененного порядка строк перетаскиванием (7 replies, posted in Russian)
Вопрос был про запоминание измененного порядка строк.
А то что таблица выводит значения в порядке их id - всем известно.
124 2019-01-18 11:21:25
Topic: Баг выделения строки после поиска (1 replies, posted in Russian)
Обнаружил баг:
Кликаем по любой строке в таблице.
Строка становится активной и она подсвечивается.
Выбираем пункт Find из контекстного меню (правый клик).
Вводим текст для поиска.
Искомое значение находится в какой-нибудь другой строке.
Закрываем поиск.
Строка, в которой был найден текст становится активной и подсвечивается.
Но - первоначально выбранная строка также остается подсвеченной !!!
И остается всегда подсвеченной пока ее не кликнешь.
125 2019-01-18 10:01:50
Topic: Сохранение измененного порядка строк перетаскиванием (7 replies, posted in Russian)
В TableGrid есть свойство goRowMoving, позволяющее разрешить изменение порядка строк перетаскиванием.
Однако, измененный порядок строк после закрытия формы не сохраняется.
Можно ли как-то сохранять измененный порядок строк?