51

(1 replies, posted in Russian)

Возможно ли прикрепить на форму погодный информер???

DriveSoft wrote:
procedure frmApplication_TableGrid4_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
     frmApplication.Memo3.Lines.Add(frmApplication.TableGrid4.Cells(0, ARow)+ ' - ' +frmApplication.TableGrid4.Cells(1, ARow)+ '  - ' +frmApplication.TableGrid4.Cells(2, ARow)+ ' -  ' +frmApplication.TableGrid4.Cells(3, ARow)+ '  -  ' +frmApplication.TableGrid4.Cells(4, ARow));
end;

Спасибо но немного не то... возможно я не так объяснил.
Когда выделяешь нужную строку в гриде (одну), в строке например 4 столбца, то в Мемо информация с столбцов данной строки грида располагалась с новой строки.

kovalenko wrote:
kovalenko wrote:

Здравствуйте. Может плохо искал, но не нашёл. Подскажите, как скопировать в Memo выбранную строку из грида. Не столбец или столбцы, и не всю информацию из грида, а именно выбранную строку.
Спасибо!!!



Может и по "деревянному", но сделал так (может кому пригодиться):


procedure frmApplication_TableGrid4_OnCellClick (Sender: string; ACol, ARow: Integer);
begin
     frmApplication.Memo3.Text:= frmApplication.TableGrid4.Cells(0, ARow)+ ' - ' +frmApplication.TableGrid4.Cells(1, ARow)+ '  - ' +frmApplication.TableGrid4.Cells(2, ARow)+ ' -  ' +frmApplication.TableGrid4.Cells(3, ARow)+ '  -  ' +frmApplication.TableGrid4.Cells(4, ARow);
    end;

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

Как сделать так, что бы информация с каждой строки грида отображалась с новой строки в Мемо?

54

(2 replies, posted in Russian)

DriveSoft wrote:

Здравствуйте.


В принципе это должно работать, только вы забыли begin end написать для условия

procedure ReportAktiExpmodel2OnBeforePrint(Sender: TfrxComponent);
begin
   if <Report."AktiExp.model2"> = '' then
   begin
     Line28.Top := 1.50;
     Line28.Left := 0.10;   
   end;

end;

begin
                                            
end.

если не заработает, пожалуйста приложите проект

Спасибо, разобрался) Все работает, просто указывал слишком маленькие значения Тор и Left

55

(2 replies, posted in Russian)

Здравствуйте! Как в FastReport скриптом изменить положение объекта (например линию поднять или опустить на нужное место) в зависимости от события?
Пробовал так но не выходит

procedure ReportAktiExpmodel2OnBeforePrint(Sender: TfrxComponent);
begin
if <Report."AktiExp.model2"> = '' then
Line28.Top := 1.50;
Line28.Left := 0.10;    

end;
  
begin
                                            
end.
DriveSoft wrote:
Bullet3203 wrote:

можно как то запомнить нужный логин, что бы постоянно его не выбирать в списке? (если их например штук 30) например на форме frmLogin сделать CheckBox при выборе которого запоминался логин.

Сделал для вас пример

Спасибо большое!

можно как то запомнить нужный логин, что бы постоянно его не выбирать в списке? (если их например штук 30) например на форме frmLogin сделать CheckBox при выборе которого запоминался логин.

kovalenko wrote:

Ситуация схожа с вашей, только немного для других целей. Посмотрите, может натолкнёт не мысль

if frmApplication.CheckBox1.Checked then
   begin
   frmApplication.cdRepStatus.dbFilter := '(repairstatus = "Выдано/Оплачено") or (repairstatus = "Выдано/Ожидание оплаты") ';
   UpdateDatabase('repairstatus');
   end else
   begin
   frmApplication.cdRepStatus.dbFilter := '(repairstatus = "Принят") or (repairstatus = "В работе") or (repairstatus = "Ожидание ЗПЧ") or (repairstatus = "На согласовании") or (repairstatus = "Согласовано") or (repairstatus = "Готово") or (repairstatus = "Без ремонта") or (repairstatus = "Выдано/Ожидание оплаты") ';
   UpdateDatabase('repairstatus');
    end;

Да, спасибо) Уже разобрался что проблема была из-за отсутствия двойных кавычек в условиях фильтра. Если прописать так, то все работает!

procedure Formzadanie_OnShow (Sender: string; Action: string);
begin
sUser := frmLogin.ComboBox1.Text; // remember username
if SQLExecute( 'SELECT director FROM users WHERE login='''+frmLogin.ComboBox1.Text+'''' ) = '1' then  Formzadanie.ComboBox1.dbFilter := '(id = "19") and (id = "20")';  
Formzadanie.ComboBox1.dbUpdate;
end;

Помогите реализовать фильтр в комбобокс!
Имеется таблица users с полями: (login, password, read, write, search, remove, administrator, director, zamdirector, rabotnik).
Login и Password (тип поля ТЕКСТ), остальные поля имеют тип (ДА/НЕТ).
Пользователи могут быть Директором, Зам. директора или Работниками.
Как реализовать фильтр в комбобоксе такого плана: если пользователь является директором то ему в комбобоксе показываются определенные пользователи, если работниками то другие.
Пробовал таким способом:

procedure Formzadanie_OnShow (Sender: string; Action: string);
begin
sUser := frmLogin.ComboBox1.Text; // remember username
if SQLExecute( 'SELECT director FROM users WHERE login='''+frmLogin.ComboBox1.Text+'''' ) = '1' then  Formzadanie.ComboBox1.dbFilter := '(id=19) and (id=20)';  
Formzadanie.ComboBox1.dbUpdate;
end;

Но после компиляции в комбобоксе вообще ничего нету!

60

(1 replies, posted in Russian)

Разобрался сам

procedure Form1_OnShow (Sender: string; Action: string);
begin
     Form1.Label1.Caption:=SQLExecute('SELECT name FROM org');
     org.TableGrid1.dbUpdate;
     end;

Как скриптом прописать значение из таблицы одной формы в Label другой формы?

Понятно, спасибо

В таком виде вроде работает, но идет привязка к имени в столбце Выдал, что не есть хорошо, так как фамилии могут поменяться и придется снова переписывать код

procedure Form1_search_OnClick (Sender: string; var Cancel: boolean);
var
s, d: string;
begin
// Работники отдела
sUser := frmLogin.ComboBox1.Text; // remember username
s := VarToStr( SQLExecute('SELECT otdel FROM users WHERE (login = ''' + sUser + ''');') );
d := VarToStr( SQLExecute('SELECT rabotnik FROM users WHERE (login = ''' + sUser + ''');') );
if ((s='1') and (d='1')) then Form1.TableGrid1.dbFilter := '(vidal <> ("Иван Иванов")) and (vidal <> ("Петр Петров")) and (vidal <> ("Николай Сидоров"))';
end;

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

procedure Form1_search_OnClick (Sender: string; var Cancel: boolean);
var
s, d, a, b : string;
begin
// Работники отдела
sUser := frmLogin.ComboBox1.Text; // remember username
s := VarToStr( SQLExecute('SELECT otdel FROM users WHERE (login = ''' + sUser + ''');') );
d := VarToStr( SQLExecute('SELECT rabotnik FROM users WHERE (login = ''' + sUser + ''');') );

// Директор
a := VarToStr( SQLExecute('SELECT kioc FROM users WHERE (login = ''' + sUser + ''');') );
b := VarToStr( SQLExecute('SELECT director FROM users WHERE (login = ''' + sUser + ''');') );
if ((s='1') and (d='1')) then Form1.TableGrid1.dbFilter := 'ЧТО СЮДА ПИСАТЬ?';
end;

Здравствуйте! Интересует примерчик, в котором: 1) имеются пользователи с определенными правами (чтение. запись, удаление и т.п.) но помимо этих прав каждый прикреплен к определенной должности, которая реализована таким же образом как и стандартные права (директор, зам.директора, начальник1, начальник2, начальник3, подчиненный1, подчиненный2, подчиненный3 и т.д. (так же ставится галочка ДА/НЕТ напротив определенной должности)). 2) Имеется грид в котором сохраняют определенную информацию все эти пользователи и как сделать так, что бы информацию от директора видели только его зам. и начальники, а обычным подчиненным её не было видно?

65

(7 replies, posted in General)

maybe it will solve the problem of changing the height of the slides?

procedure Form1_GridSearch_OnChange (Sender: string);
begin
Form1.GridSearch.SlideSize := 150; // height of slides
end;
jonibek wrote:

Измените этим скриптом:
if Form1.Tablgerid1.Cells{0,0} <> Form1.Edit1.Text then ShowMessage('Bla bla bla');

Работает если прописать так:
if Form1.TableGrid1.Cells[0,0] <> Form1.Label1.Caption then ShowMessage('Bla bla bla');
Спасибо за помощь)

jonibek wrote:

прикрепите проект

Получается при любых значениях появляется сообщение
http://files.d-lan.dp.ua/download?file= … d11244b480

jonibek wrote:

if Form1.Tablgerid1.Cells{1,1} <> Form1.Edit1.Text then ShowMessage('Bla bla bla');

В таком виде вообще не работает....
если прописать if Form1.TableGrid1.Cells[1,1] <> Form1.Edit1.Caption then ShowMessage('Bla bla bla'); то тогда вроде бы работает, но когда появляется нужная форма высвечивается сообщение List index out of bounds (1)...

Здравствуйте! На форме есть таблица в которой одно значение, например 5. На этой же форме есть Текстбокс в котором написано например 4. Как сделать сравнение этих значений при открытии формы и если эти значения не равны, то выдавалось сообщение? Заранее спасибо!

70

(5 replies, posted in Russian)

DriveSoft wrote:

Bullet3203
Необходимо создать еще одно поле в таблице с пользователями, например "Archived" с типом ДА/НЕТ, также сделайте данное поле обязательным для заполнения и установите Значение по умолчанию = 0


при установки значения Да для данного поля будем скрывать пользователя из ComboBox при создании записи новой записи, пример:

procedure frmAbonent_OnShow (Sender: string; Action: string);
begin
    if Action = 'NewRecord' then
        frmAbonent.cbArchived.dbFilter := 'archived <> 1' else
        frmAbonent.cbArchived.dbFilter := '';

    frmAbonent.cbArchived.dbUpdate;
end;

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

Спасибо, буду пробовать.

71

(5 replies, posted in Russian)

derek wrote:

Здравствуйте Bullet.
Попробуй это.
Derek.

Спасибо, это работает, но немного не подходит... В общем ситуация такова, имеется список пользователей, при добавлении новой записи прописывается какой пользователь её создал. Накопилось  достаточное количество записей и один из сотрудников больше не работает, поэтому надо, что бы он больше не отображался в программе, но.... если его удалить, то он удаляется из всех своих созданных записей, если заменить другим то нарушается сам архив созданных актов, что не есть хорошо, если его скрывать, то в старых актах поле кто заполнял акт будет пустым.... Как сделать так что бы не удаляя пользователя его скрыть, что бы он больше не отображался в выпадающем списке, но при этом в старых актах, которые он создавал, его было видно? Может как то связать это с датой создания записи? В форме добавления записи есть поле Дата приёма...  может создать условие например: если дата создания записи больше 15.07.2017 тогда в комбобоксе игнорируется id конкретного пользователя... то есть, получается что во всех записях, которые были сделаны до этого числа, этот пользователь будет виден, а в тех записях которые созданы после 15-го числа, его уже не видно и невозможно будет прописать.....
Можно подобный примерчик условия?

72

(5 replies, posted in Russian)

???

73

(5 replies, posted in Russian)

Как отфильтровать, то есть скрыть, определенную запись в выпадающем списке? Например есть список из 5-ти пользователей, нужно скрыть пользователя с id=3 (самое главное без удаления)

74

(1 replies, posted in Russian)

Вот тут похожая ситуация
http://myvisualdatabase.com/forum/viewtopic.php?id=2874

75

(9 replies, posted in Russian)

Так же заметил, что при попытке перетащить окно чата, например от центра куда-то в угол экрана, через секунду после перетягивания форма возвращается в центр экрана. Если быстро успею, до момента тика таймера, перетащить окно туда куда мне надо то все нормально, а так получается если курсор навести на саму форму, зажать клавишу мышки и попытаться не спеша перетащить окно, то через секунду оно само станет снова по центру)