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

Lazarus Pascal Discussion :

Renseigner des variables OpenOffice depuis Lazarus [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre du Club
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 74
    Points : 69
    Points
    69
    Par défaut Renseigner des variables OpenOffice depuis Lazarus
    Bonjour,

    Ok pour ouvrir un fichier modèle pour writer avec Lazarus, mais comment affecter les variables placées dans le document depuis un programme sous Lazarus ?

    Si quelqu'un peu m'aider ? Merci d'avance

    Michel
    j'aimerai savoir ...

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 954
    Points : 9 284
    Points
    9 284
    Par défaut
    hello,
    je suppose que tu es sous Windows et que tu utilises l'interface COM Ole. Quel genre de variable veux-tu manipuler ? Propriétés du document ? Propriétés personnalisés ? Variable utilisateur ? Texte , entier ou date ?
    Voici un bout de programme pour lire le nom des variables :
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    function LireVariable(Document: Variant;Lavariable: String): Boolean;
    var
      enum, field, InputField,Master: Variant;
    begin
      enum := Document.getTextFields.createEnumeration;
      while enum.hasMoreElements do begin
        field := enum.nextElement;
        Master := field.getTextFieldMaster();
        ShowMessage('Nom : ' + Master.name);
        if field.supportsService('com.sun.star.text.TextField.SetExpression') then begin
        ShowMessage('Type : Variable');
        ShowMessage('Valeur : ' + field.content);    
        end;     
        if field.supportsService('com.sun.star.text.TextField.Input') then begin
          ShowMessage('Type :  Input');
          ShowMessage(field.getPropertyValue('Hint'));
          ShowMessage(field.getPropertyValue('Content'));
          field.setPropertyValue('Content', 'Test-Content');
          Document.TextFields.refresh;
        end;
        if field.supportsService('com.sun.star.text.TextField.User') then begin
          ShowMessage('Type :  User');
          ShowMessage('Valeur : ' + field.getPropertyValue('Content'));
        end;
        if field.supportsService('com.sun.star.text.TextField.InputUser') then begin
          ShowMessage('Type :  InputUser');
        end;
      end;
    end;
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre du Club
    Profil pro
    Retraité
    Inscrit en
    Avril 2004
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2004
    Messages : 74
    Points : 69
    Points
    69
    Par défaut
    Merci Jurassik pour ta rapidité et de ton indulgence pour mon maque de précision !

    C'est bien Windows, OpenOffice, et les variables sont des chaînes pour simplifier.

    La fonction que tu me fais passer trouve les variables dans le supportService 'com.sun.star.text.TextField.SetExpression' .
    Maintenant, peux-tu me dire si j'ai bien compris :
    Je connais les noms des variables, je dois donc pouvoir les affecter de cette manière : "Document."NomVariable".content := "ValeurVariable" ?

    Je teste cette solution en attendant ta réponse
    Merci encore

    Michel
    j'aimerai savoir ...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2007, 12h44
  2. Réponses: 6
    Dernier message: 14/03/2007, 22h04
  3. Réponses: 15
    Dernier message: 29/10/2006, 18h01
  4. Réponses: 5
    Dernier message: 19/05/2006, 15h22
  5. Réponses: 10
    Dernier message: 06/10/2005, 22h25

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