1,376

(2 replies, posted in Russian)

текст получаю через файл ini

frmUserOn.teData.Caption:=IniG.ReadString('teData','cap', '');

текст примерно такой:
{client}Ваше оборудование {type} ожидает Вас в {office}


как я понимаю StringReplace() не поддерживается
чем можно заменить?

1,377

(6 replies, posted in Russian)

agatlogic101 wrote:

А через Teamviewer это реально? просто Hamanchi у меня не хочет устанавливаться

не знаю, на сколько мне известно Teamviewer это программа удаленного доступа - тоесть можно через нее управлять целевым пк

1,378

(4 replies, posted in Russian)

у меня как всегда, родилася глупая мысль!
что если добавить  TurboSmsUa.CodeSendSMS  ClickatellCom.CodeSendSMS которые будут возвращать код ответа
тоесть если кому не нужен код, может использовать TurboSmsUa.SendSMS  ClickatellCom.SendSMS
а если нужно как-то обрабатывать ответ, то CodeSendSMS ...

1,379

(6 replies, posted in Russian)

agatlogic101 wrote:

Не получается подключаться к своему MySQL серверу удалённо. То есть в локальной любой пк через прогу работает. Но при попытке работать извне не подключается. Есть какие то инструкции как настроить SQL или ПК что бы подключиться через интернет? Или может какой способ есть что бы как будто в локалку подключаться и работать с БД?

HAMANCHI
https://hamachi.ru.softonic.com/

1,380

(4 replies, posted in Russian)

ZBear wrote:

Ошибка. У меня база на MySQL

тогда TOTAL поменяйте на SUM

1,381

(3 replies, posted in Russian)

есть папка в корне проекта куда помещаются разные файлы
суть в в том что если в папку перенести скажем (файл) а потом  указать этот файл в программе при записи в бд.. то создастся копия этого файла (файл(1))..
как этого исбежать?

1,382

(3 replies, posted in Russian)

DriveSoft wrote:

Отмену подключения я не предусматривал, но можно отключиться так

Form1.SQLConnection.Connected := False; // для SQLite

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


Какая у вас стоит задача?

пользователи моей программы будут делать разные проекты .. root\project-project1
                                                                                                                             -project2
каждый проект это отдельная папка с базай данных
когда пользователь запускает программу то в первом (диологовом) окне он должен либо выбрать проект либо создать новый

1,383

(3 replies, posted in Russian)

как отменить подключение к базе данных при запуске программы...?

1,384

(7 replies, posted in General)

долго разбираться, много не понятных связей
long to understand

1,385

(2 replies, posted in Russian)

derek wrote:

Привет Sibprogsistem,
Попробуйте это так.
Надеюсь, это поможет,
С уважением
Derek
(с гугл переводчиком)

YES!!! thank Derek

1,386

(2 replies, posted in Russian)

помогите перевести меню TreeView (по правой кнопке мыши) на Русский

1,387

(1 replies, posted in Russian)

а можно ли как-то отключать кнопки а не  тулбар?

stas.kodpi wrote:

дак я тоже думал над этим.
А в один отчет я смогу их объединить затем?

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

1,389

(8 replies, posted in Russian)

procedure Start_bLogin_OnClick (Sender: string; var Cancel: boolean);
    var
       sHash: string;
       sA,sT,sU: string;
    begin
         //
     // SQL query get hash of password
     sHash := VarToStr( SQLExecute('SELECT Password FROM BEZOP WHERE (Login = ''' + Start.Login.Text + ''');') );


     // if the hash in the database = hash of entered a password
     if sHash = StrToMD5(Start.Pas.Text) then//


         begin
              sUser := Start.Login.Text; // Запомнить имя пользователя             

              Form1.TableSr.dbPopupMenu.Items.Items[0].Enabled := False;// отключение двойного клика в таблице на Form1

              // Administrator?
              // check admin rights
              // Кнопки видимые только для администратора, и терадминистратора
              sA := VarToStr( SQLExecute('SELECT `admin` FROM BEZOP WHERE (login = ''' + sUser + ''');') );
              if sA='1' then
               begin
               Form1.RedakPr.Visible:=False;
               Form1.UdalitPr.Visible:=False;
               Form1.Import.Visible:=False;
               Form1.UpfSr.Visible:=False;
               RabotaSPredp.DelEv.Visible:=False;
               end;
              sT := VarToStr( SQLExecute('SELECT `teradmin` FROM BEZOP WHERE (login = ''' + sUser + ''');') );
              if sT='1' then
               begin
               Form1.Custom.Visible:=False;
               end;
              sU := VarToStr( SQLExecute('SELECT `user` FROM BEZOP WHERE (login = ''' + sUser + ''');') );
              if sU='1' then
               begin
               Form1.Custom.Visible:=False;
               Form1.RedakPr.Visible:=False;
               Form1.UdalitPr.Visible:=False;
               Form1.Import.Visible:=False;
               Form1.UpfSr.Visible:=False;
               RabotaSPredp.DelEv.Visible:=False;
               end;
              // if the user does not have administrator privileges, deactivate the button to create other users

              idUPF := SQLExecute('SELECT IFNULL(id_UPF, 0) FROM BEZOP WHERE (login = ''' + sUser + ''');');

              // hide records for manager who from another departament
              if (idUPF<>0) then Form1.TableSr.dbFilter := 'id_UPF='+IntToStr(idUPF);

              Form1.Caption := 'Пользователь: ' + sUser; // отображение имя пользователя на форме 1
              Start.Hide; // close login form
              Form1.Show; //показать Form 1
         end
     else MessageDlg('Неверно введен логин или параль', mtError, mbOk, 0); // Сообщение при неверном логине и пароле

    end;

Авторизация открывает форму в зависимости от прав пользователя..
 

 procedure frmLogin_bLoginOk_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(frmLogin.cbStatus.dbItemID) + ') AND (password = ''' + frmLogin.ePassword.Text + ''');'));
          // если SQL-запрос нашел логин и пароль
        if (s<>'0') AND (s<>'') then
          begin
             //скрыть форму авторизации
             frmLogin.Hide;
             // SQL-запрос прав пользователя
             sStatus := SQLExecute('SELECT id_userStatus FROM users WHERE id='+IntToStr(frmLogin.cbStatus.dbItemID));
             // если права пользователя * то открыть *
             if sStatus = '1' then frmAdmin.Show else  //администратор
             if sStatus = '2' then frmMasterWork.Show else  //мастер
             if sStatus = '3' then frmServiceCen.Show ;  //менеджер
     end else MessageBox('Пароль неверен','Ошибка подключения ', MB_OK+MB_ICONSTOP);
end;

где :
 

 if sStatus = '1' then frmAdmin.Show else  //администратор
             if sStatus = '2' then frmMasterWork.Show else  //мастер
             if sStatus = '3' then frmServiceCen.Show ;  //менеджер

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

stas.kodpi wrote:

ну а все-таки может будут какие идеи?

могу лишь предложить в форме first отобразить 3 грида, каждый под свою таблицу...
ну как обновлять Вы уже знаете

1,392

(8 replies, posted in Russian)

вот вырезанная час авторизации из моего проекта

1,393

(8 replies, posted in Russian)

zloyzender wrote:

так пробовал но мне надо  "Form1.Custom.Visible:=False;" чтобы работала для пользователей типа "admin", а все остальные для пользователя "teradmin", а для остальных эти кнопки были невидимы.
А у меня выходит что для админа все работает как надо, а условия для терадмина распространяются как на терадмина так и на остальных юзеров

у вас проверка только на администратора работает,  так можно только да или нет проверить

загрузите проект.

1,394

(0 replies, posted in Russian)

как поменять изображения на узлах?

1,395

(15 replies, posted in Russian)

chaoba wrote:

Спасибо!
Интересно, а разаботчики не делали подобную среду разработки для приложений Андроид?

Эмулятор  PC для Андроид
https://pdalife.ru/bochs-android-a25961.html
https://www.youtube.com/watch?v=uXyIqdqtEZ4

к сожалению с NULL я не селен, это как раз та проблема про которую я вам писал выше

1,397

(8 replies, posted in Russian)

s := VarToStr( SQLExecute('SELECT `admin` FROM BEZOP WHERE (login = ''' + sUser + ''');') );
              if s='0' then
               begin
                   Form1.Custom.Visible:=False;
                   Form1.RedakPr.Visible:=False;
                   Form1.UdalitPr.Visible:=False;
                   Form1.Import.Visible:=False;
                   Form1.UpfSr.Visible:=False;
                  RabotaSPredp.DelEv.Visible:=False;
             end;
сам проект было бы лучше....

1,398

(15 replies, posted in Russian)

chaoba wrote:

Спасибо, попробую. Но хотелось бы понять, в чем моя ошибка. Подобная задача может еще встретиться.

у Вас в коде

select
    tblItems.Name, strftime('%d.%m.%Y',tblItems.Date)
from tblItems                             
where
    ((tblItems.Date >={DateTimePicker1}) and (tblItems.Date <= {DateTimePicker1}))

DateTimePicker1 и там и там

1,399

(15 replies, posted in Russian)

chaoba wrote:

Спасибо, этот архив открылся.
Толко это обычный поиск. А мне нужно будет делать экспорт в Exel или выводить на печть. Как я понимаю, для этого нужно делать запрос.

можите просто добавить кнопку открыть в exel и указать нужный грид

1,400

(15 replies, posted in Russian)

chaoba wrote:

Архив не открывается

вот в другом формате