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 :

With, End With ?


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Homme Profil pro
    Directeur comptable
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Directeur comptable
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut With, End With ?
    Bonjour à tous,

    Je suis toujours sur mon projet de logiciel d'audit de comptes consolidés (http://blog.developpez.com/auditconsolidation/). A titre de test, j'avais commencé à écrire certaines procédures en VBA que je convertis maintenant sous Delphi.

    J'ai encore une question : comment traduit-on les With... End With du VBA en Delphi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        With ActiveSheet.PivotTables(NomTCD).PivotFields("Origine")
            .Orientation = xlRowField
            .Position = 1
        End With

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 943
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    with ActiveSheet.PivotTables(NomTCD).PivotFields('Origine') do
    begin
      Orientation := xlRowField;
      Position    := 1;
    end;

  3. #3
    Membre averti

    Homme Profil pro
    Directeur comptable
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Directeur comptable
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut
    Merci pour cette réponse rapide mais j'obtiens ceci comme message d'erreur :

    [Erreur] Unit1.pas(2885): E2018 Type Record, Object ou Class requis

    Je peux me passer de With mais cela rallonge sensiblement les lignes de mon programme.

    Bon week end,

    Benoît

  4. #4
    Membre averti

    Homme Profil pro
    Directeur comptable
    Inscrit en
    Septembre 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Directeur comptable
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2007
    Messages : 37
    Par défaut
    Je viens d'essayer avec une autre procédure et j'obtiens même message :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        Feuille:=FT_classeurexcel.activesheet;
        k:=14;
        with feuille do
        begin
          Range['A'+inttostr(k)].value:='Détenteur';
          Range['B'+inttostr(k)].value:='Nb titres s/détenu';
        end;
    Alors que cela fonctionne de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Feuille:=FT_classeurexcel.activesheet;
        k:=14;
        Feuille.Range['A'+inttostr(k)].value:='Détenteur';
        Feuille.Range['B'+inttostr(k)].value:='Nb titres s/détenu';

  5. #5
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    tu ne peux pas utiliser With avec le type variant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var
     Feuille :Interface class Record contenant le champ range

  6. #6
    Membre Expert
    Avatar de Dr.Who
    Inscrit en
    Septembre 2009
    Messages
    980
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Septembre 2009
    Messages : 980
    Par défaut
    Oui, tu doit définir le type si c'est un variant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    with (node as TXMLNode) do
    begin
     
    end;
    tu peux aussi te faire une fonction pour définir les valeurs
    [ Sources et programmes de Dr.Who | FAQ Delphi | FAQ Pascal | Règlement | Contactez l'équipe ]
    Ma messagerie n'est pas la succursale du forum... merci!

Discussions similaires

  1. Utilité de With/End With ?
    Par OtObOx dans le forum Général VBA
    Réponses: 4
    Dernier message: 27/02/2011, 01h30
  2. Gerer les propriété d'un TextBox (With, end With)
    Par geeksideofme dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/07/2007, 17h57
  3. [VBA-E] Limitation des With...End With
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/10/2006, 15h59
  4. [VB.NET] With...End With et performances ?
    Par Dnx dans le forum Windows Forms
    Réponses: 9
    Dernier message: 06/04/2005, 12h37

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