PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE


  • Fonctionnement
  • Rappel des règles de copie des variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Clone (Fonction)
En anglais : Clone
Construit une copie d'une instance de classe.
Exemple
// Il existe un feu tricolore dans le XIIè arrondissement de Paris, au 1 Rue Taine
// Il est rouge
FeuCroisement est un FeuTricolore
FeuCroisement.Adresse = "1 Rue Taine, 75012 Paris"
FeuCroisement.Statut = RougeFoncé
 
// On doit mettre en place un deuxième feu, au numéro 25 de la même rue
 
// Si on copie simplement l'objet...
FeuCopie est un FeuTricolore dynamique = FeuCroisement
FeuCopie.Adresse = "25 Rue Taine, 75012 Paris"
// FeuCroisement a aussi changé d'adresse... !
 
// Si on clone l'objet...
FeuBis est un FeuTricolore dynamique = Clone(FeuCroisement)
// FeuBis contient les mêmes informations que FeuCroisement
// Mais si l'on modifie l'une de ses propriétés, cela n'impacte pas le feu d'origine
 
// Change l'adresse
FeuBis.Adresse = "25 Rue Taine, 75012 Paris"
// >> FeuCroisement.Adresse = "1 Rue Taine, 75012 Paris"
 
FeuBis.Statut = RougeFoncé
// >> FeuCroisement.Statut = VertFoncé
Syntaxe
<Résultat> = Clone(<Source>)
<Résultat> : Chaîne de caractères
Instance de la classe copiée.
<Source> : Chaîne de caractères
Instance de la classe à copier.
Remarques

Fonctionnement

Lors de l'utilisation de la fonction Clone :
  • une nouvelle instance de même classe que l'instance d'origine est allouée avec exécution du constructeur par défaut (sans paramètre ou paramètres optionnels).
  • une copie membre à membre est effectuée de l'instance d'origine vers la nouvelle instance.
Remarque : La copie tient compte de l'attribut <Copie> de chaque membre :
  • <Copie=Faux> pour ignorer un membre,
  • <Copie=Clone> pour effectuer un clonage (copie profonde).

Rappel des règles de copie des variables

Type des variablesEffet
Types simples (entier, réel, chaîne, ...)La valeur de la variable est copiée.
TableauxLe tableau destination est une référence sur le tableau source.
Tableaux associatifsLe contenu du tableau est copié.
FileLe contenu de la file est copié.
PileLe contenu de la pile est copié.
ListeLe contenu de la liste est copié.
Objet = Objet dynamiqueLes membres de l'objet dynamique sont copiés dans ceux de l'objet.
Objet = ObjetLes membres de l'objet source sont copiés dans ceux de l'objet destination.
Objet dynamique = Objet dynamiqueL'objet dynamique destination est une référence à l'objet dynamique source.
Objet dynamique = ObjetL'objet dynamique destination est une référence à l'objet source.
Structure = Structure dynamiqueUne copie de la structure est réalisée. Les membres de même nom sont initialisés avec les valeurs existantes. Les membres inexistants sont ignorés.
Structure = StructureUne copie de la structure est réalisée. Les membres de même nom sont initialisés avec les valeurs existantes. Les membres inexistants sont ignorés.
Structure dynamique = Structure dynamiqueLa structure dynamique destination est une référence à la structure dynamique source.
Structure dynamique = StructureLa structure dynamique destination est une référence à la structure source.
Type avancé = Type avancéUne copie de la variable de type avancé est réalisée. Les propriétés de même nom sont initialisées avec les valeurs existantes.
Type avancé = Type avancé dynamiqueUne copie de la variable de type avancé est réalisée. Les propriétés de même nom sont initialisées avec les valeurs existantes.
Type avancé dynamique = Type avancéLa variable de type avancé dynamique destination est une référence à la variable de type avancé source.
Type avancé dynamique = Type avancé dynamiqueLa variable de type avancé dynamique destination est une référence à la variable de type avancé dynamique source.
Pour plus de détails, consultez Copie et clonage.
Composante : wd270vm.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire