tomz24
Messages postés46Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention16 août 2007
-
21 juin 2007 à 15:38
tomz24
Messages postés46Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention16 août 2007
-
16 août 2007 à 21:01
Bonjour à vous,
Je suis entrain de créer ma première application avec une BD Paradox.
J'ai trouvé un algorithme pour encrypter les data que j'envoie dedans. J'explique comment je procède :
Premièrement, voici ce que j'utilise
J'utilise une Base de Données Paradox nommé Users.DB
Un DBGrid pour l'affiche de certaines informations de ma BD.
Des Champs DBEdit pour modifier ou entrer des informations dans la BD.
Donc voici comment j'encrypte : Je rempli les champs et ensuite j'appuie sur Sauvegarder.
Voici le code j'ai seulement garder l'essentiel pour vous faciliter la tache !:
procedure TForm1.Image3Click(Sender: TObject);
begin
N.B.: Encode, Decode (Ce sont des fonctions que j'ai créé pour le cryptage)
function Decode(Data, SecurityString: string)
Cependant, il y a un petit problème. Comme les données entrent maintenant Crypté dans la BD, dans la DBGrid, les données sont aussi cryptés donc dans mon DBGrid je ne vois que des ZnHksdlK/nsJkL (exemple :P) Donc ma question, comment je fais pour Decrypter mes données de ma BD avant que la DBGrid chargent les informations de la BD ?
Il est important que la BD soit toujours Crypté, meme pendant l'execution du programme.
dominique.stock
Messages postés436Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention 8 octobre 20087 26 juin 2007 à 16:12
Ton dbgrid n'est pas lié à une query ? ou un TTable ?
c'est là que tu trouveras l'événement qui te permettra de modifier en runtime l'événement ongettext du champ afin de modifier son comportement avec la procedure onsettext en faisant :
Text:=Decode(text) ; ...
tomz24
Messages postés46Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention16 août 2007 26 juin 2007 à 16:30
comme ca ?
procedure TForm1.UsersAfterOpen(DataSet: TDataSet);
begin
procedure TForm1.SetTheText(Sender: TField; var Text: String; DisplayText: Boolean);
begin
Text := 'Mon texte';
end;
procedure TForm1.Table1AfterOpen(DataSet: TDataSet);
begin
Table.Fields[1].OnGetText:=SetTheText;
end;
end;
dominique.stock
Messages postés436Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention 8 octobre 20087 26 juin 2007 à 16:57
Il faut déclarer la procédure dans public (en haut de ton unité) comme toutes les procédures que tu créées ...
Dis mois, cela fait combien de temps que tu fais du Delphi ... ?
tomz24
Messages postés46Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention16 août 2007 26 juin 2007 à 17:02
bon .. là j'ai déclaré comme il se doit et ca fonctionne .. je n'ai plus d'erreur. j'avais essayé de le declarer tantot et ca ne fonctionnait pas car j'avais laissé le TForm1 dans la déclaration.
Maintenant peux-tu m'expliquer l'utilité du SetTheText ?
dominique.stock
Messages postés436Date d'inscriptionvendredi 7 novembre 2003StatutMembreDernière intervention 8 octobre 20087 26 juin 2007 à 17:10
Ben c'est pas tellement le fait que tu sois débutant qui me gêne,
Le mieux cela serait de faire qques programmes style calculatrice, conversion franc euro ,...
tomz24
Messages postés46Date d'inscriptionjeudi 6 novembre 2003StatutMembreDernière intervention16 août 2007 26 juin 2007 à 17:12
facile de faire des programme style calculette !
j'en ai fait qqs-un .. des petites choses normales ... mais la j'ai besoin d'une BD cause de securité. J'aurais pu le faire et envoyer ca dans un fichier Texte masi bon ... les Base de données ca va toujours m'etre utile !
Je veux apprendre et ma facon dM'apprendre c'est en voyant du code ! et surtout en l'appliquant dans MES programmes !