1 (edited by Koval.Maksim 2015-03-24 22:51:28)

Topic: Помогите со скприптами

Добрый день знатоки. Помогите пожалуйста. Есть два скприпта. Помогите корректно их объединить. Я попытался,. но у меня при входе появляется  окно настроек.  В чем может быть проблема? Пароль от базы admin admin



1 скрипт

var
   sUser: string = '';    sBlock: string = '';
   idUser: integer;


// закрытие формы frmChoice
procedure frmChoice_OnClose (Sender: string; Action: string);
begin
     frmAddExit.login.Text:=sUser; // запись логина в EditBox на frmAddExit
     frmAddExit.GetUserName.Text:=GetUserName; // запись имени пользователя в EditBox на frmAddExit
     frmAddExit.timeExit.DateTime := now;  // определение текущего времени
     frmAddExit.Button1.Click; // кнопка Button3 автоматически нажимается при выходе из frmChoice
     frmLogin.Close;
end;

//// диалог
//procedure frmChoice_Button2_OnClick (Sender: string; var Cancel: boolean);
//begin
//   if MessageDlg('Вы действительно хотите выйти ?', mtConfirmation, mbYes + mbNo,0)=mrYes then
//frmChoice.close;
//end;


// открытие формы frmChoice
procedure frmChoice_OnShow (Sender: string; Action: string);
begin
frmChoice.user.Caption:=sUser; // запись логина в Label на  frmChoice
frmAddEntry.login.Text:=sUser; // запись логина в EditBox на frmAddWork
frmAddEntry.GetUserName.Text:=GetUserName; // запись имени пользователя в EditBox на frmAddWork
frmAddEntry.Button1.Click; // кнопка Button1 автоматически нажимается при входе в frmChoice
end;




//////////// ВХОД ///////////////////////////////////

procedure frmLogin_ComboBox1_OnChange (Sender: string);
begin
frmLogin.Edit1.Text := frmLogin.ComboBox1.Text; // запись выбранного в комбобоксе логина в текстбокс
end;



// показать/скрыть пароль
procedure frmLogin_chbShowPassword_OnClick (Sender: string);
begin
     if frmLogin.chbShowPassword.Checked then frmLogin.Edit1.PasswordChar := #0
     else frmLogin.Edit1.PasswordChar := '*';
end;


procedure frmLogin_Button1_OnClick (Sender: string; var Cancel: boolean);
var
   s: string;
begin
     // SQL запрос логина и пароля пользователя
      s := VarToStr( SQLExecute('SELECT count(id) FROM users WHERE (login = ''' + frmLogin.ComboBox1.Text + ''') AND (password = ''' + frmLogin.Edit1.Text + ''');') );
      idUser := SQLExecute('SELECT id FROM users WHERE (login = ''' + frmLogin.ComboBox1.Text + ''');');

     // если логин и пароль найдены
     if s <> '0' then
     begin
          sUser := frmLogin.ComboBox1.Text; // запоминание имени пользователя

          // проверка прав администратора
          s := VarToStr( SQLExecute('SELECT administrator FROM users WHERE (login = ''' + sUser + ''');') );
          if s='0' then frmChoice.Button1.Enabled := False; // если пользователь не обладает правами администратора, отключить кнопку


          // проверка на право чтения
          s := VarToStr( SQLExecute('SELECT read FROM users WHERE (login = ''' + sUser + ''');') );
          if s='0' then frmChoice.Button3.Enabled := False; // если пользователь не обладает правами чтения, отключить кнопку


          // проверка на право поиска
          s := VarToStr( SQLExecute('SELECT search FROM users WHERE (login = ''' + sUser + ''');') );
          if s='0' then frmChoice.Button4.Enabled := False; // если пользователь не обладает правами поиска, отключить кнопку

          // проверка на право записи
          s := VarToStr( SQLExecute('SELECT write FROM users WHERE (login = ''' + sUser + ''');') );
          if s='0' then
          begin
                    frmChoice.Button5.Enabled := False; // если пользователь не обладает правами записи, отключить кнопку
          end;

          // проверка на право записи
          s := VarToStr( SQLExecute('SELECT remove FROM users WHERE (login = ''' + sUser + ''');') );
          if s='0' then frmWork.Button3.Enabled := False; // если пользователь не обладает правами записи, отключить кнопку



          frmLogin.Hide; // закрытие формы
          frmChoice.Show;
        end else MessageDlg('неправильный пароль ', mtError, mbOk, 0); // сообщение, если пароль неверный
end;




begin
  // Первоначальная проверка, является ли пользователь администратором базы данных
  // если нет, то создается пользователь с логином и паролем администратора 'admin'
     if VarToStr( SQLExecute('SELECT count(id) FROM users WHERE administrator=1;') ) = '0' then
     begin
         SQLExecute('INSERT INTO users (login, password, read, write, remove, search, administrator) VALUES ("admin", "admin", 1, 1, 1, 1, 1);');
         frmLogin.Edit1.Text := 'admin';
     end;
          frmChoice.user.Caption:=sUser;
     frmLogin.Edit1.PasswordChar := '*';
end.






2 Скрипт




procedure Дислокация_TableGrid1_OnChange (Sender: string);
begin
    frmChoice.CheckBox1.Caption := frmChoice.TableGrid1.Columns[0].Header.Caption;
    frmChoice.CheckBox2.Caption := frmChoice.TableGrid1.Columns[1].Header.Caption;
    frmChoice.CheckBox3.Caption := frmChoice.TableGrid1.Columns[2].Header.Caption;
    frmChoice.CheckBox4.Caption := frmChoice.TableGrid1.Columns[3].Header.Caption;
    frmChoice.CheckBox5.Caption := frmChoice.TableGrid1.Columns[4].Header.Caption;
    frmChoice.CheckBox6.Caption := frmChoice.TableGrid1.Columns[5].Header.Caption;
    frmChoice.CheckBox7.Caption := frmChoice.TableGrid1.Columns[6].Header.Caption;
    frmChoice.CheckBox8.Caption := frmChoice.TableGrid1.Columns[7].Header.Caption;
    frmChoice.CheckBox9.Caption := frmChoice.TableGrid1.Columns[8].Header.Caption;
    frmChoice.CheckBox10.Caption := frmChoice.TableGrid1.Columns[9].Header.Caption;
    frmChoice.CheckBox11.Caption := frmChoice.TableGrid1.Columns[10].Header.Caption;
    frmChoice.CheckBox12.Caption := frmChoice.TableGrid1.Columns[11].Header.Caption;
    frmChoice.CheckBox13.Caption := frmChoice.TableGrid1.Columns[12].Header.Caption;
    frmChoice.CheckBox14.Caption := frmChoice.TableGrid1.Columns[13].Header.Caption;
    frmChoice.CheckBox15.Caption := frmChoice.TableGrid1.Columns[14].Header.Caption;
    frmChoice.CheckBox16.Caption := frmChoice.TableGrid1.Columns[15].Header.Caption;
    frmChoice.CheckBox17.Caption := frmChoice.TableGrid1.Columns[16].Header.Caption;
    frmChoice.CheckBox18.Caption := frmChoice.TableGrid1.Columns[17].Header.Caption;
    frmChoice.CheckBox19.Caption := frmChoice.TableGrid1.Columns[18].Header.Caption;
    frmChoice.CheckBox20.Caption := frmChoice.TableGrid1.Columns[19].Header.Caption;
    frmChoice.CheckBox21.Caption := frmChoice.TableGrid1.Columns[20].Header.Caption;
    frmChoice.CheckBox22.Caption := frmChoice.TableGrid1.Columns[21].Header.Caption;
    frmChoice.CheckBox23.Caption := frmChoice.TableGrid1.Columns[22].Header.Caption;
    frmChoice.CheckBox24.Caption := frmChoice.TableGrid1.Columns[23].Header.Caption;
    frmChoice.CheckBox25.Caption := frmChoice.TableGrid1.Columns[24].Header.Caption;
    frmChoice.CheckBox26.Caption := frmChoice.TableGrid1.Columns[25].Header.Caption;
    frmChoice.CheckBox27.Caption := frmChoice.TableGrid1.Columns[26].Header.Caption;
    frmChoice.CheckBox28.Caption := frmChoice.TableGrid1.Columns[27].Header.Caption;
    frmChoice.CheckBox29.Caption := frmChoice.TableGrid1.Columns[28].Header.Caption;
    frmChoice.CheckBox30.Caption := frmChoice.TableGrid1.Columns[29].Header.Caption;


    frmChoice.TableGrid1.Columns[0].Visible := frmChoice.CheckBox1.Checked;
    frmChoice.TableGrid1.Columns[1].Visible := frmChoice.CheckBox2.Checked;
    frmChoice.TableGrid1.Columns[2].Visible := frmChoice.CheckBox3.Checked;
    frmChoice.TableGrid1.Columns[3].Visible := frmChoice.CheckBox4.Checked;
    frmChoice.TableGrid1.Columns[4].Visible := frmChoice.CheckBox5.Checked;
    frmChoice.TableGrid1.Columns[5].Visible := frmChoice.CheckBox6.Checked;
    frmChoice.TableGrid1.Columns[6].Visible := frmChoice.CheckBox7.Checked;
    frmChoice.TableGrid1.Columns[7].Visible := frmChoice.CheckBox8.Checked;
    frmChoice.TableGrid1.Columns[8].Visible := frmChoice.CheckBox9.Checked;
    frmChoice.TableGrid1.Columns[9].Visible := frmChoice.CheckBox10.Checked;
    frmChoice.TableGrid1.Columns[10].Visible := frmChoice.CheckBox11.Checked;
    frmChoice.TableGrid1.Columns[11].Visible := frmChoice.CheckBox12.Checked;
    frmChoice.TableGrid1.Columns[12].Visible := frmChoice.CheckBox13.Checked;
    frmChoice.TableGrid1.Columns[13].Visible := frmChoice.CheckBox14.Checked;
    frmChoice.TableGrid1.Columns[14].Visible := frmChoice.CheckBox15.Checked;
    frmChoice.TableGrid1.Columns[15].Visible := frmChoice.CheckBox16.Checked;
    frmChoice.TableGrid1.Columns[16].Visible := frmChoice.CheckBox17.Checked;
    frmChoice.TableGrid1.Columns[17].Visible := frmChoice.CheckBox18.Checked;
    frmChoice.TableGrid1.Columns[18].Visible := frmChoice.CheckBox19.Checked;
    frmChoice.TableGrid1.Columns[19].Visible := frmChoice.CheckBox20.Checked;
    frmChoice.TableGrid1.Columns[20].Visible := frmChoice.CheckBox21.Checked;
    frmChoice.TableGrid1.Columns[21].Visible := frmChoice.CheckBox22.Checked;
    frmChoice.TableGrid1.Columns[22].Visible := frmChoice.CheckBox23.Checked;
    frmChoice.TableGrid1.Columns[23].Visible := frmChoice.CheckBox24.Checked;
    frmChoice.TableGrid1.Columns[24].Visible := frmChoice.CheckBox25.Checked;
    frmChoice.TableGrid1.Columns[25].Visible := frmChoice.CheckBox26.Checked;
    frmChoice.TableGrid1.Columns[26].Visible := frmChoice.CheckBox27.Checked;
    frmChoice.TableGrid1.Columns[27].Visible := frmChoice.CheckBox28.Checked;
    frmChoice.TableGrid1.Columns[28].Visible := frmChoice.CheckBox29.Checked;
    frmChoice.TableGrid1.Columns[29].Visible := frmChoice.CheckBox30.Checked;
end;


begin
     frmChoice.Button1.Click;
end.

Re: Помогите со скприптами

Отправил вам на емейл исправленный проект.

Dmitry.

Re: Помогите со скприптами

Спасибо большое Дмитрий!

Re: Помогите со скприптами

А можно в двух словах, как объединить скрипты? Чтобы всем было понятно? )

Re: Помогите со скприптами

Somovn
Нужно лишь учитывать, что в самом конце конце скрипта есть блок

begin

end.

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

Dmitry.

Re: Помогите со скприптами

Спасибо! разобрался.