я все же хочу узнать как работает group_concat
2 2015-02-09 18:30:01
Re: Вычисляемые поля (22 replies, posted in Russian)
DenNik wrote:ага. не совсем работает. когда одно из полей пустое, вычисляемое поле содержит пустоту.
Ага, точно. Спасибо. И как сама не догадалась:)
за что спасибо-то? каким образом я ответил на твой вопрос?
3 2015-02-09 18:23:03
Re: Вычисляемые поля (22 replies, posted in Russian)
ага. не совсем работает. когда одно из полей пустое, вычисляемое поле содержит пустоту.
4 2015-02-09 18:20:41
Re: Вычисляемые поля (22 replies, posted in Russian)
так работает. а почему функция не работает?
5 2015-02-09 17:55:31
Re: Вычисляемые поля (22 replies, posted in Russian)
замечание я автору проекта адресовал )
теперь вопрос по вычисляемым полям
у меня есть три поля: Фамилия,Имя,Отчество
как сделать вычисляемое поле Ф+И+О?
почему ругается на конструкцию?
group_concat(author.surname,author.name,author.lastname,' ')
6 2015-02-09 17:08:03
Re: Вычисляемые поля (22 replies, posted in Russian)
Дмитрий. Вот тебе еще один глюк касающийся редактора форм. Проект base_fixed, как я понял, был сделан на ОООЧЕНЬ большом мониторе. я открыл его на нормальном мониторе и при попытке выделить таблицу полезли глюки со смещением таблицы непонятно куда.
попутно замечание: делать формы в расчете на то что что у всех пользователей мониторы размером км на км - не есть хороший тон в программировани. в таких случаях при запуске формы подгоняется её размер под размер дисплея а также используются якоря. т.к. при запуске этой программы на моем мониторе кнопки оказались скрыты под нижним краем формы. это при том что форма развернута на весь экран
7 2015-02-06 16:59:05
Re: добавить запись в этом же окне (7 replies, posted in Russian)
DriveSoft, рекомендую в имени архива с бетами указывать порядковый номер обновления. а то человек вот так скачает бету, а окажется, что у него версия новее. можно конечно, сравнивать даты изменения файлов, но легче ведь ориентироваться по имени )
8 2015-02-06 16:54:46
Re: Права, кнопки... (11 replies, posted in Russian)
1. расположи админские компоненты, например в низу формы, и в зависимости от прав меняй высоту формы, скрывая админские контролы для юзеров
2. наиболее оптимальный/правильный/красивый/профессиональный вариант - применять PageControl, скрывая/показывая вкладки
10 2015-02-03 17:10:52
Re: Пример доступа к одной записи несколькими пользователями (8 replies, posted in Russian)
Dmitry, а бету по вышеприведенной ссылке обновляешь? т.е. там уже нет тех ошибок открытия, которые я нашел пару дней назад?
11 2015-02-03 17:06:12
Re: Автоматическое закрытие формы ввода ч/з N-е кол-во времени (12 replies, posted in Russian)
jazzitcool, ты не знаешь сильно программирования. но давай абстрагируемся от программирования и подумаем.
хотеть, чтобы форма сама закрывалась по прошествии времени - хорошо. какие проблемы возникают
- если форма закрывается при отсутствии активности. чтобы отслеживать эту активность, нужно написать систему, сродни высококлассному ИИ. смысл? кто будет писать?
- форма закрывается при УХОДЕ пользователя от компа (была парочка таких хотельщиков на другом форуме). следовательно, нужно поставить камеру и разработать сложнейшую систему распознавания образов под управлением нейронной сети. это в пентагон. или положить кнопку под задницу пользователя: встал со стула, форма закрылась
- форма закрывается по желанию/велению юзера. иди лови щуку
- форма тупо закрывается по таймеру. как я сказал, это тупо...
какие еще варианты предложишь? просто теоретически. не задумываясь о тонкостях программирования..
12 2015-02-02 19:14:15
Re: How to overwrite an existing file (7 replies, posted in Script)
what for? Cancel is a default value
13 2015-02-02 17:02:20
Re: How to overwrite an existing file (7 replies, posted in Script)
I think a command Cancel:= true; stops script executing after itself.
otherwise there would be no sense in this command
14 2015-02-01 22:12:12
Re: Автоматическое закрытие формы ввода ч/з N-е кол-во времени (12 replies, posted in Russian)
есть такие пользователи, которые в силу своих НЕзнаний, лени/забывчивости и тому подобных особенностей организма хотят получить нечто, зачастую не зная толком, как ЭТО должно выглядеть и действительно ли они хотят получить ЭТО, а не ТО. и приходят на форумы с вопросами, вызывающими недоумение. почитай крупные форумы наподобие киберфорума и других, разделы для начинающих программистов.
15 2015-02-01 22:06:10
Re: Автоматическое закрытие формы ввода ч/з N-е кол-во времени (12 replies, posted in Russian)
Порой встречается такая проблема, но она свойственна для модальных окон, к сожалению как исправить не знаю, но закрыть по таймеру можно, сделал для вас пример:
насчет модальных окон я уже написал, Дмитрий.
а насчет примера... это типичный горбатый. и что будет через минуту? окно закроется. а если я в это время редактирую данные. зачем мне, как пользователю, эта медвежья услуга?
16 2015-02-01 21:56:03
Re: Автоматическое закрытие формы ввода ч/з N-е кол-во времени (12 replies, posted in Russian)
это называется "лепить горбатого" - всякие таймеры для забывчивых пользователей и тому подобный говнокод
17 2015-02-01 21:00:53
Re: Автоматическое закрытие формы ввода ч/з N-е кол-во времени (12 replies, posted in Russian)
это один из основных принципов ОС Windows - будучи вызванным в модальном режиме, окно будет блокировать немодальное вызвавшее его окно. если Дмитрий сделал так, что окно редактора отображается в модальном режиме, то так тому и быть. И это правильно, поскольку ситуация, когда окно редактора (в данном случае, редактирование записи БД) открыто, при этом оставляя возможность взаимодействия с главным окном - признак плохо спроектированной программы.
а то, что кто-то забыл об открытом окне - должно быть его личной проблемой, а не проблемой разработчика ПО
18 2015-02-01 18:35:49
Re: Пример доступа к одной записи несколькими пользователями (8 replies, posted in Russian)
думаю немного модифицировать схему. можно избавиться от поля blocked, а вывод о блокировке записи делать по полю block_user - если пустая строка, значит не заблокирована
19 2015-02-01 18:30:19
Re: Пример доступа к одной записи несколькими пользователями (8 replies, posted in Russian)
короче говоря, сделать полноценную многопользовательскую систему (даже в пределах локальной сети) при помощи данного инструмента не представляется возможным. по крайней мере, в текущей версии.
20 2015-02-01 18:09:31
Re: Пример доступа к одной записи несколькими пользователями (8 replies, posted in Russian)
для теста сделал копию приложения в другую папку с доступом к одной и той же БД.
вроде работает
21 2015-02-01 18:01:49
Topic: Пример доступа к одной записи несколькими пользователями (8 replies, posted in Russian)
Решил я придумать механизм, запрещающий нескольким пользователям одновременно редактировать одну запись
для этого вводятся служебные поля в таблицу БД
далее вводятся несколько глобальных переменных
var
isBlocked: boolean; // состояние блокировки редактируемой записи
// (открыта ли она другим пользователем)
isNewRecord: boolean;
RecordID: string; // идентификатор записи
затем при открытии окна редактирования проверяю, заблокирована ли уже запись. если нет, блокирую ее
procedure frmEditor_OnShow (Sender: string; Action: string);
begin
isBlocked:= false;
RecordID:= '';
isNewRecord:= true;
// проверка, новая запись или нет
if Action = 'NewRecord' then Exit;
isNewRecord:= false;
// получаем идентификатор записи
RecordID:= IntToStr(frmMain.GridMain.dbItemID);
// получаем состояние блокировки записи
isBlocked:= SQLExecute('SELECT blocked FROM main WHERE id='+RecordID);// если запись уже заблокирована, покажем предупреждающую надпись и блокируем редактор
if isBlocked then
begin
frmEditor.lblWarning.Caption:= 'Запись редактируется пользователем ' +
SQLExecute('SELECT block_user FROM main WHERE id='+RecordID);
EnableEditor(false);
end else
// иначе монополизируем открытую запись (запишем флаг blocked и имя пользователя)
begin
SQLExecute('UPDATE main SET blocked=1 WHERE id='+RecordID);
SQLExecute('UPDATE main SET block_user='''+GetUserName+''' WHERE id='+RecordID);
end;
end;
при закрыти редактора разблокируем запись
procedure frmEditor_OnClose (Sender: string; Action: string);
begin
// разблокируем запись, если запись была НЕ ЗАБЛОКИРОВАНА и НЕ НОВАЯ
if (not isBlocked) and (not isNewRecord) then
SQLExecute('UPDATE main SET blocked=0 WHERE id='+RecordID);
// разблокируем редактор
if isBlocked then EnableEditor(true);
end;
22 2015-02-01 10:51:50
Re: Database For Beginners (Tutorials, Videos etc.) (7 replies, posted in General)
An easy to understanding video in first post
23 2015-02-01 10:05:10
Re: Вопрос по форуму (5 replies, posted in Russian)
в общем, коряво сделана обработка изображений. что есть, то есть. ты ж помнишь, как на киберфоруме? очень удобный механизм
24 2015-02-01 10:02:27
Re: Вопрос по форуму (5 replies, posted in Russian)
плохо то, что пока не нажмешь "предпросмотр", не появляется кнопка загрузки вложений
25 2015-02-01 10:00:59
Re: Вопрос по форуму (5 replies, posted in Russian)
с начало добавьте сообщение с загруженным изображением, затем в своем же сообщении открой данное изображение, и нажмите по нему правой кнопкой мыши, где выберите пункт меню Скопировать адрес изображения
после чего зайдите в режим редактирования вашего сообщения, где можете теперь вставить данную ссылку на изображение с тегом img
а, я не так делал. я загрузил картинку и из списка вложений копировал ссылку.