IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

modification des variables sur fichier ini


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 26
    Par défaut modification des variables sur fichier ini
    bonjour;
    je suis entrain de developper une application dont j'utilise un fichier ini pour sauvegarder le changement du mot de passe.
    et quand j'ouvr le fichier ini le variable pass(mot de passe) ne change pas.
    voici mon code:
    por le changement du mot de passe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure Tchange.validerClick(Sender: TObject);
    var
    fichier:tinifile;
    begin
    if edit1.Text=edit2.text then
    begin
    fichier:=tinifile.Create('c:\windows\motdepasse.ini');
    fichier.WriteString('preference','pass',edit1.text);
    fichier.Free;
    motdepasse.show;
    close;
    end else
    showmessage('le mot de passe ne correspond pas à la confirmation.');
    end;
    pour la lecture du mot de passe depuis edit2.text
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    procedure Tmotdepasse.validerClick(Sender: TObject);
    var
    fichier:tinifile;
    motdepasse:string;
    begin
    Fichier:=TIniFile.Create('c:\windows\motdepass.ini');
    motdepasse:=fichier.readstring('preference','pass',edit2.text);
    fichier.Free;
    if edit2.Text=motdepasse then
    begin
    menuprincipal.show;
    self.Hide;
    end
    else
    showmessage('mot de passe incorrecte');
    end;

  2. #2
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    je ne comprend pas ce que tu veux faire dans cette ligne motdepasse:=fichier.readstring('preference','pass',edit2.text);. Où donne tu sa valeur à Edit2 ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Expert confirmé

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Par défaut
    @Paul Toth : il compare ensuite motdepasse et edit2.Text.

    Sinon ben, j'ai envie de dire... Si tu mettais le même nom de fichier dans les deux codes, ça irait mieux
    Tu as 'motdepasse.ini' d'abord puis 'motdepass.ini' (sans e)
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Membre Expert
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Par défaut
    Bonjour,

    Surtout que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fichier:=TIniFile.Create('c:\windows\motdepass.ini');
    A mon avis, tu dois oublier la notion désormais actuelle de virtualisation des écritures.

    Tu dois être sous XP ?

    @+

  5. #5
    Membre chevronné
    Avatar de Whiler
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 298
    Par défaut
    Entièrement d'accord avec Droïde Système7... sous Vista/7, ça marchera beaucoup moins bien...

    Sinon, tant qu'à faire, j'encoderai le mot de passe avant de l'écrire, et le décoderai lors de son chargement... ça éviterait que n'importe qui puisse le lire depuis le fichier ini...

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 939
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 939
    Par défaut
    La virtualisation n'est pas un problème. Par contre les droits d'accès...

  7. #7
    Expert confirmé
    Avatar de Ph. B.
    Homme Profil pro
    Freelance
    Inscrit en
    Avril 2002
    Messages
    1 786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 786
    Par défaut
    Bonjour

    1) Le nom du fichier ini varie d'une méthode à l'autre

    2) Dans ta méthode "procedure Tmotdepasse.validerClick(Sender: TObject);"
    La ligne 7 ne convient pas.

    A remplacer par quelque chose semblable à :
    motdepasse := fichier.readstring('preference', 'pass', 'pass par defaut');
    En l'absence de mot de passe dans ton fichier, le mot de passe par défaut sera 'pass par defaut'. Quiconque le connait pourra entrer...

    4) Le fichier ini va inclure le mot de passe en clair
    Quiconque pourrait éditer le fichier ini et y placer son propre mot de passe...

    --
    Philippe.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. lire et enregistrer des variables sur un fichier .ini
    Par phiiris dans le forum VBA Word
    Réponses: 7
    Dernier message: 13/11/2010, 09h47
  2. Modifications des droits sur un fichier txt
    Par zooffy dans le forum ASP.NET
    Réponses: 10
    Dernier message: 10/06/2010, 11h26
  3. Définir des variables sur le serveur avec PHP.
    Par ronio dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2006, 10h23
  4. Problème de lecture sur fichier ini.
    Par braoru dans le forum Delphi
    Réponses: 2
    Dernier message: 28/07/2006, 15h34
  5. Tester et récupérer des infos sur fichier distant
    Par cybertj dans le forum Langage
    Réponses: 2
    Dernier message: 17/05/2006, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo