Спасибо

Здравствуйте.
Делаю небольшое приложение. Использую деффолтные возможности по распределению прав и ролей. Убрал лишнее в меню программы
     frmGeneral.mniFile.Visible := True;
     frmGeneral.mniOptions.Visible := True;
     frmGeneral.mniSettings.Visible := False;
     frmGeneral.mniReport.Visible := False;
     frmGeneral.mniAbout.Visible := False;
но хотелось-бы оставить во вкладке ИНСТРУМЕНТЫ только ПОЛЬЗОВАТЕЛИ и СМЕНИТЬ ПАРОЛЬ, убрав ЭКСПОРТ,ИМПОРТ. Скажите это возможно?

3

(6 replies, posted in Russian)

Не помогло.

4

(6 replies, posted in Russian)

Вернее как вывести значения в label с учетом выбранных значений. Помогите сделать запрос. Знаю, что эти значения можно брать из TableGrid Ищу по форуму,но пока не нахожу

5

(6 replies, posted in Russian)

Подскажите как можно вывести значения определенной записи из базы данных в textbox если по фильтру уже выбраны все остальные значения? Спасибо

6

(6 replies, posted in Russian)

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

7

(6 replies, posted in Russian)

Здравствуйте.
Нужна помощь по выводу суммы нескольких полей в отдельный text box
4 разных значения в сумме и учет процента.
Т.Е. вводятся 4 статичных значения и после умножается на долю участника 1/2, 1/3 И так далее. Значения подставляются в отдельный text box и при нажатии на сохранить сохраняются в базу данных вместе с остальными значениями
Спасибо

Здравствуйте.
1. Сделать возможным формировать собственную форму "О Программе" без правки скрипта.
2. Подключение к MySQL сейчас требует ввода значений подключения при каждом запуске. Если возможно убрать в меню администратора с сохранением данных при подключении. Сейчас для этого нужно править скрипт, что дает доступ к самой базе данных.
3. Возможность редактировать ярлыка программы.
4.Добавить возможность работы с access

Здравствуйте.
Собрали небольшое приложение. Скрипт практический не использовали.Все по сути штатными средствами. Заматили,что после закрытия приложения остаются фоновые процессы имяфайла.exe Их количество равно количеству запусков приложения.

Спасибо

Может у кого есть пример?

12

(3 replies, posted in Russian)

Спасибо,но уже отказались от использования TreeView Поставили простой TableGrid

13

(2 replies, posted in Talks about all)

Книг нет,но есть несколько платных  расширений для RadStudio 10.3.3 Могу поделиться

Здравствуйте.
Пытаемся на закладке формы сделать структуированное дерево
категория 1 - подкатегория - наименование документа
При выборе документа он выводится в RichEdit для редактирования.
1. Не можем создать базу данных для такого дерева.
2. Не понятно как реализовать иконки
3.Не понятно как вывести в RichEdit значения документа
Может кто поможет готовым проектом?
Спасибо

Я просто с Ваших слов уже понял. И Вы подсказали правильную логику. Т.Е. если исполнитель забирает себе задачу, то она должна уже открываться в другом гриде В РАБОТЕ.

Если честно не понятно

Вы правы. Можно я подробнее. Есть форма где выводятся заказы на обработку текстов. Задача формы формировать новые заказы для показа исполнителю. Тут Вы мне удачно подсказали.Я могу к примеру поставить Да-Нет в базу и при формировании новой записи этот чекбокс будет свободен. и тогда выше то о чем писали.Чекбокс свободен,новая запись-ЗВУКНо к примеру если исполнитель берет заказ,то ставит просто галку и тогда... Тут опять тогда нужно перенсти эту запись в новый TableGrid. Я так понимаю?

Пока никак.

procedure frmAdministrator_tblGeneralWork_OnChange (Sender: TObject);
begin

end;

procedure frmAdministrator_OnShow (Sender: TObject; Action: string);
var
 time:TTimer;
begin
  begin
    time:=TTimer.Create(frmAdministrator);
    time.Interval:=20000;
    time.Enabled:=True;
    time.OnTimer:=@updateGrid;
  end;

end;
procedure updateGrid ; 
  begin
    frmAdministrator.tblGeneralWork.dbUpdate;
  end;


procedure frmAutch_OnShow (Sender: TObject; Action: string);
  var
  sUSN: string = '1';

begin
  begin
    {$MySQL disable_connectdialog}
     Application.ProcessMessages;


     frmAutch.MySQLConnection.Server := 'IP';
     frmAutch.MySQLConnection.Port := 3306;
     frmAutch.MySQLConnection.Username := 'user_user';
     frmAutch.MySQLConnection.Password := 'Password';
     frmAutch.MySQLConnection.Database := 'db_user';

     try
         frmAutch.MySQLConnection.Connect;
       except
             //frmWait.Close;
             ShowMessage('Не могу подключиться к базе данных. Проверьте пожалйста интернет соединение!!!');
             frmAutch.Close;
     end;

     if frmAutch.MySQLConnection.Connected then
         begin
             UpdateDatabase(''); // to fill ComboBoxes
             //frmAutch.TableGrid1.dbUpdate; // if you have TableGrid on first form with option "Enable auto execution", you should call method dbUpdate manually
         end;
         //frmWait.Close;

end;
                                                       
    frmAutch.mniAbout.OnClick := @MenuClickAbout;


// ---------------------------- Первичные записи в базу данных  ------------------------------------


   // проверка наличия прав пользователей
  // если нет, то создать права пользователей
     //if SQLExecute('SELECT count(id) FROM userStatus;') = '0' then
     //begin
      //   SQLExecute('INSERT INTO userStatus (userStatusName) VALUES ("Директор");');
       //  SQLExecute('INSERT INTO userStatus (userStatusName) VALUES ("Офис1");');
      //   SQLExecute('INSERT INTO userStatus (userStatusName) VALUES ("Офис2");');
       //  SQLExecute('INSERT INTO userStatus (userStatusName) VALUES ("Офис3");');
     //end;
     //UpdateDatabase('userStatus');

  // проверка наличия администратора базы данных
  // если нет, то создать первичного пользователя логин demo пароль demo
    //if SQLExecute('SELECT count(id) FROM users;') = '0' then
    //begin
      //  SQLExecute('INSERT INTO users (id_userStatus, login, password) VALUES ("'+sUSN+'", "demo", "demo");');
     //end;
     //UpdateDatabase('users');


end;


procedure frmAutch_btnAutch_OnClick (Sender: TObject; var Cancel: boolean);
 var
  s,t,r: string;
  sStatus: string;
begin

    // Запрос SQL для проверки пользователя и пароля
     s := VarToStr(SQLExecute('SELECT count(id) FROM users WHERE (id = ' + IntToStr(frmAutch.cmbLogin.dbItemID) + ') AND (password = ''' + frmAutch.edPassword.Text + ''');'));
          // если SQL-запрос нашел логин и пароль
        if (s<>'0') AND (s<>'') then
          begin                                                          
             //скрыть форму авторизации
             frmAutch.Hide;
             // SQL-запрос прав пользователя
             sStatus := SQLExecute('SELECT id_userStatus FROM users WHERE id='+IntToStr(frmAutch.cmbLogin.dbItemID));
             // если права пользователя * то открыть *
             if sStatus = '1' then frmAdministrator.Show else  //администратор
             if sStatus = '2' then frmOffice1.Show else
             if sStatus = '3' then frmOffice2.Show else
             if sStatus = '4' then frmOffice3.Show ;
     end else MessageBox('Пароль неверен','Ошибка подключения ', MB_OK+MB_ICONSTOP);
end;


procedure MenuClickAbout (Sender: string); // click in About menu item
begin
     frmAbout.ShowModal;
end;

begin
     frmAutch.mniFile.Visible := True;
     frmAutch.mniOptions.Visible := False;
     frmAutch.mniSettings.Visible := False;
     frmAutch.mniReport.Visible := False;
     frmAutch.mniAbout.Visible := True;
end.

procedure frmAbout_lblSite_OnClick (Sender: TObject);
begin
   OpenUrl('https://');
end;

begin

end.

Так делали ,но программа многопользовательская и важно вывести звуковое уведомление для других пользователей. Скорее всего через procedure frmAdministrator_tblGeneralWork_OnChange (Sender: TObject);

А вот как сделать звуковое уведомление при получении новой записи? Или визуальное уведомление...

procedure updateGrid ;
  begin
    frmAdministrator.tblGeneralWork.dbUpdate;
  end;

Так работает))))))

procedure frmAdministrator_OnShow (Sender: TObject; Action: string);
var
 time:TTimer;
begin
  begin
    time:=TTimer.Create(frmAdministrator);
    time.Interval:=20000;
    time.Enabled:=True;
    time.OnTimer:=@updateGrid;
  end;

end;
procedure updateGrid ;
  begin
    frmAdministrator.tblGeneralWork.Refresh;
  end;

Нет обновления в гриде

Спасибо

// здесь Ваш код
Так понимаем - это как раз то что будет создавать звуковой зум? Т.Е. здесь код писать?

Здравствуйте.
Сделали небольшое приложение по формированию заказов для нескольких офисов. Заказы формируются.Все отлично. Но интересно сделать динамическое обновление в Table Grid ,ну скажем раз в 3-5 минут. Искали по форуму,но не нашли. Хотелось-бы еще сделать либо звуковое уведомление,либо всплывающее уведомление о новом заказе.
Спасибо