Création d'une class

Signaler
Messages postés
214
Date d'inscription
jeudi 21 mars 2002
Statut
Membre
Dernière intervention
14 mai 2004
-
Messages postés
240
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
-
Je voudrais créer une classe nommé TPwd avec un champ User et Password de type string

Comment dois-je m'y prendre ? type, enum, ... ?

;) Bruto --- Le p'tit belge --- pour vous servir

5 réponses

Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Salut !!

Voici comment tu peux faire :
Type
TPwd: Class
User, Password: String;
end;

Ou avec un record :
Type
TPwd: Record
User, Password: String;
end;

Voilà !! Bonne prog' !
Bestiol.
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Mon cher Bestiol, je crains que tu ne confondes classe et enregsitrement.
En supposant que les deux propriétés soit accessibles (public) en lecture (read) et écriture (write) et ne nécessitent pas de traitement ou vérifications particulières lors de l'écriture, alors tu peux écrire :

//Déclaration de la classe TPWD
TPwd = class
public
property User : string read FUSer write FUser;
property Password : string read FPassword write FPassword;
end;

Ensuite, tout en laissant le curseur dans la déclaration de cette classe (c'est à dire entre le TPwd et le end; de la fin), soit tu cliques droit et tu choisi "Compléter la classe sous le curseur", soit tu fais [shift][ctrl][C]. Et là, ô merveille, Delphi t'écrit le squellette de code, déclares les champs privés dans la section Private, etc...

Depuis Delphi 4, il n'a jamais été aussi facile d'écrire des classes. Même si tu ajoutes des propriétés, des méthodes, etc, Delphi complètera la classe en fonction des ajouts.
On ne peut pas, en revanche, en dire autant des enregistrements. Mais le sujet n'est pas le même.

Maintenant, si c'est juste pour stocker un nom et un mot de passe, faut-il vraiment utiliser les techniques de la POO ?

J'allais oublier un point de détail qui a son importance. Quand on déclare TPwd= Class, c'est de la classe TObject que l'on est censé hériter. Donc, dans le cas présent, inutile de redéclarer un constructeur et toute la quincaillerie, le service est compris.

A vot'bon coeur m'sieurs dames.

May Delphi be with you.
site Delphiprog
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Mon cher DelphiProg, je crois que tu as raison... Je me suis un peu emmêlé les piceaux... Mais bon, ça arrive !!

Effectivement, j'ai confondu les deux... Ma mémoire me fait défaut, snif !
:blush)

Merci de m'avoir remis dans la bonne voie ! lol
Bestiol.
Messages postés
833
Date d'inscription
dimanche 6 janvier 2002
Statut
Membre
Dernière intervention
3 novembre 2005
1
Après relecture de ton message, je me pose quelques questions... Pour utiliser la propriété Data de TTreeNode, j'ai fait quelque chose du genre :

....
TSonItm = class
Var1, Var2: Boolean;
Var3: Integer;
Var4: String;
end;
....

Ensuite :
....
Node := TTreeNode.Create(...);
Node.Data := TSonItm.Create;
....
(Je ne suis pas sûr de la syntaxe et je ne peux malheureusement pas vérifier...)

Donc, si je comprend bien ce que tu as dis, je n'avais ici pas du tout déclaré de classe ?
Car toi, tu la déclares comme quand on crée un composant, en quelque sorte...

Qu'est-ce que j'ai fait, alors ?!!! :question)

Merci d'avance !
Bestiol.
Messages postés
240
Date d'inscription
dimanche 31 octobre 2004
Statut
Membre
Dernière intervention
31 décembre 2006
1
voici comment on déclare une nouvelle class dans delphi

Tout d'abord, il faut créer une nouvelle unité puis :

Unit exemple

interface

uses

Type

Tex=class(nom_de_la_class_parent)

Private

{mettre les variables et les procédure privée}

Public

{mettre les var et les procedure publiques}

end;

Implémentation
{on écrit le code des procédure}

end.



Voilà pour la création de la class, la différence entre le privé
et le public c'est que quand une variable (ou une procédure) est en
privé, on oeut l'appeler que si on est à l'interieur de la class, donc
si une variable est en privé et que tu veux la modifier dans ton
programme, il faudra créer un geter (une procedure) en public qui
renvoie la variable et un seter pour la modifier.

Voilà un petit rapel pour ta mémoire Bestiole

a++