1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
| unit Unite_NouveauRepertoire;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, DBCtrls, StdCtrls,
DBGrids, sqldb, db, IniFiles;
type
{ TFicheChangerRepertoire }
TFicheChangerRepertoire = class(TForm)
BtnSauvegarderQuitter: TButton;
DBERepertoire: TDBEdit;
DBTAncienRepertoire: TDBText;
LAncienRepertoire: TLabel;
LRepertoireActuel: TLabel;
procedure BtnSauvegarderQuitterClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
end;
const
C_Position = 'Position';
C_Largeur = 'Largeur';
var
FicheChangerRepertoire: TFicheChangerRepertoire;
INI: TINIFile;
LargeurFiche: integer;
RR, RN : TSQLQuery;
SR, SN : TDataSource;
AncienRepertoire, NouveauRepertoire : string;
implementation
{$R *.lfm}
uses Unite_ModuleDonnees;
{ TFicheChangerRepertoire }
procedure TFicheChangerRepertoire.FormCreate(Sender: TObject);
begin
INI := TINIFile.Create('Normes.ini');
try
LargeurFiche := INI.ReadInteger(C_Largeur, 'LargeurFicheChangerRepertoire', 440);
finally
INI.Free;
end;
FicheChangerRepertoire.Left:= round((Screen.Width - LargeurFiche)/2);
FicheChangerRepertoire.Height := 206;
FicheChangerRepertoire.Width := LargeurFiche;
RR := TSQLQuery.Create(nil);
SR := TDataSource.Create(nil);
RR.Database := ModuleDonnees.ConnexionPQ;
SR.DataSet := RR;
RR.SQL.Text := 'SELECT nor_repertoire FROM s_ent.t_e_norme_nor;';
RR.DataBase := ModuleDonnees.ConnexionPQ;
RR.Active := true;
SR.Enabled := true;
DBTAncienRepertoire.DataSource := SR;
DBTAncienRepertoire.DataField := 'nor_repertoire';
DBERepertoire.DataSource := SR;
DBERepertoire.DataField := 'nor_repertoire';
AncienRepertoire := DBERepertoire.Field.Text;
end;
procedure TFicheChangerRepertoire.BtnSauvegarderQuitterClick(Sender: TObject);
begin
if (DBERepertoire.Field.Text = '') then
begin
ShowMessage('Renseigner préalablement le nouveau répertoire');
Exit;
end;
if DBERepertoire.Field.Text = AncienRepertoire then
begin
ShowMessage('Rien ne change');
Exit;
end;
NouveauRepertoire := DBERepertoire.Field.Text;
RR.SQL.Text := 'UPDATE s_ent.t_e_norme_nor SET nor_repertoire = :REP;';
RR.Params.ParamByName('REP').AsString := DBERepertoire.Field.Text;
try
RR.ExecSQL;
ModuleDonnees.TransactionSQL.Commit;
ShowMessage('Changement du répertoire de stockage des normes effectué');
except on e: Exception do
ShowMessage(e.Message);
end;
RR.SQL.Text := 'ALTER TABLE s_ent.t_e_norme_nor ALTER COLUMN nor_repertoire SET DEFAULT :DEFAUT;';
RR.Params.ParamByName('DEFAUT').AsString := NouveauRepertoire;
try
RR.ExecSQL;
ModuleDonnees.TransactionSQL.Commit;
ShowMessage('Mise à jour du répertoire par défaut effectuée');
except on e: Exception do
ShowMessage(e.Message);
end;
RR.Close;
ModuleDonnees.TransactionSQL.Active := false;
ModuleDonnees.ConnexionPQ.Connected := false;
Close;
end;
end. |
Partager