Есть управляющая программа на Delphi главный Datamodule в нем Adoconne

Тема в разделе "Delphi - Базы данных", создана пользователем Olga51, 30 авг 2006.

Статус темы:
Закрыта.
  1. Olga51

    Olga51 Гость

    Подскажите пожалуйста (если можно с кодом)!
    Есть управляющая программа на Delphi главный DataModule в нем ADOConnection.
    В ней пользователь задает User_Name и Password
    Короче, далее код нашей управляющей проги:


    Код (Text):
    procedure TDataModule2.DataModuleCreate(Sender: TObject);
    var ConStr, UserNameStr, PasswordStr: string; AllRight: boolean;
    begin
    LoginForm:=TLoginForm.Create(Application);
    try
    Main_Prod_Sector_Ini:=TIniFile.Create(ApplicationPathName+'Main_Prod_Sector.Ini');
    ReadOnlyMode:=ReadRegBool('ReadOnlyMode',true);
    LoginForm.Edit1.Text:=Reg.ReadString('User_Name');
    LoginForm.CheckBox1.Checked:=ReadOnlyMode;
    repeat
    AllRight:=true;
    try
    if LoginForm.ShowModal=mrOK
    then begin
    ConStr:=Main_Prod_Sector_Ini.ReadString('Settings','Connection String','');
    UserNameStr:=LoginForm.Edit1.Text;
    PasswordStr:=LoginForm.Edit2.Text;
    ReadOnlyMode:=LoginForm.CheckBox1.Checked;
    Reg.WriteBool('ReadOnlyMode',ReadOnlyMode);
    Reg.WriteString('User_Name',UserNameStr);
    ConStr:=StringReplace(ConStr,'User ID=User ID','User ID='+UserNameStr,[rfIgnoreCase]);
    ConStr:=StringReplace(ConStr,'Password=Password','Password='+PasswordStr,[rfIgnoreCase]);
    ADOConnection1.ConnectionString :=ConStr;
    ADOConnection1.Open;
    end;
    except on EoleException do begin
    ShowMessage('При подключении к Базе данных возникла ошибка. Возможно, неверное имя или пароль.');
    AllRight:=false;
    end;
    else begin
    ShowMessage('Общая ошибка подключения к Базе данных.');
    AllRight:=false;
    end;
    end;
    until AllRight;
    if ADOConnection1.Connected
    then begin
    if ReadOnlyMode
    then begin
    Form1.N17.Enabled:=false;
    Form1.N16.Enabled:=false;
    end;
    ADOQ_PRODUCT.Open;   
    ADOQ_Aux_Service.Open;  
    ADOQ_Moulding.Open;  
    end
    else begin
    ShowMessage('Подключение не состоялось. Выход из программы.');
    Application.Terminate;
    end;
    finally
    LoginForm.Free;
    Main_Prod_Sector_Ini.Free;
    end;
    end;

    ------------------------------------------
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    Form1.WindowState:=wsMaximized;
    ApplicationPathName:=ExtractFilePath(Application.EXEName);
    Reg:=TRegistry.Create;
    Reg.RootKey:=HKEY_CURRENT_USER;
    Reg.OpenKey('\SOFTWARE\Main_Prod_Sector\',true);
    end;
    --------------------------------------
    Из управляющей программы делаем вызов других .EXE по winExec см.далее:
    Код (Text):
    procedure TForm1.N12Click(Sender: TObject);
    var s:string;
    begin
    s:='C:\Delphi projects\Cost_Zakaz_2311\Cost_Zakaz_2311.EXE';
    winExec(PChar(s),SW_ShowNormal);
    end;
    ****************************************
    Вопрос в том как нам в вызываемую задачу передать User_Name и Password
    из управляющей с использованием параметров???
     
  2. ????

    ???? Гость

    Для: Olga51
    Cost_Zakaz_2311.EXE надо править и передавать как параметр коммандной строки, через реестр и т.д.
     
  3. Barmutik

    Barmutik Гость

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

    Тема закрыта...
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей