[Basic] Un jour, il y aura un tuto video sur XRAY!

Venez ici afin d'enrichir la documentation de nos suites bureautiques préférées. Déposez une demande ou y répondre par la création ou la traduction d'un tutoriel.

Modérateur: Vilains modOOs

[Basic] Un jour, il y aura un tuto video sur XRAY!

Messagepar martinbrait » 22 Nov 2013 01:08

Bonjour à tous!

xray, semble le silex indispensable à
tout programmeur qui se respecte en ooobasic.

Désolé, je galère depuis plusieurs mois
avec l'outil, en sachant à peine retourner
les propriétés string pour les insérer à
mes programmes.

Bref, Jean NIGAUD, je suis condamné à réutiliser
perpétuellement des
sous-programmes effectués par les autres
pour les assembler, sans savoir comment améliorer les
scripts que je récupère, et sans en créer par moi-même. :fou:

Un tp vidéo youtube 20-30 minutes, décrivant l'utilisation
pas à pas, des 5 sous-menus
[Propriétés, Méthodes, Services, Interfaces, Listeners] pour élaborer un petit programme
genre calculatrice avec GUI (boutons d'interface) seraient d'un grand secours!

Voici le lien le plus utile que j'ai trouvé :
http://openoffice-libreoffice.developpe ... fice/xray/

Je pourrais enfin contribuer en programmant
des classes, pour la communauté.

M E R C I!
Dernière édition par martinbrait le 04 Fév 2017 17:03, édité 3 fois.
LibreOffice version 5.1.6.2
Windows 10
+
LibreOffice version 4.3.6.2.0
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 751
Inscrit le : 09 Avr 2013 08:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar Churay » 22 Nov 2013 05:09

Bonjour,

Voilà donc une formulation plus fonctionnelle.

xray, semble le silex indispensable à tout programmeur qui se respecte en ooobasic.

XRay est incontournable pour aller chercher la substantifique moelle dans les méandres de l'API (expert ou pas).
Comme il est utile pour découvrir l'API, en connaître quelques pans, l'apprivoiser.

XRay est déroutant au départ, entre autres pour celles et ceux qui n'ont pas une culture objet (si, si ça existe) et ils s'y sont adaptés.
Concernant la réalisation d'un mini tuto, c'est en cours mais, à ma connaissance il ne sera pas vidéo. Et bien évidemment ce ne sera pas un guide utilisateur, juste une intro à la manipulation.
Ensuite son auteur, même s'il utilise XRay au quotidien rencontre quelques difficultés non négligeables :
    - comment partir de l'inconnu et faire taire des automatismes pour en expliquer la logique
    - comment formuler, même si la prétention n'est pas de rivaliser avec nos spécialistes des FAQ | HowTos et autres documentations, il faut quand même obtenir un minimum de lisibilité
    - comment s'affranchir de l'irl

La connaissance de Basic et de l'API, en plus de la Bible passe aussi par, même s'il n'a pas été écrit pour Basic, le Developer's Guide aide à comprendre, mais il n'est toujours pas traduit (la taille du pavé est une des raisons, et des considérations bassement irl en ont freiné l'avancement.

Dans ton précédent messages, as joint la partie Outils et ressources tirée de la Bible. Si l'on reprend l'exemple :
Code : Tout sélectionner   AgrandirRéduire
monDocument = thisComponent
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Janvier")
xray maFeuille
XRay affiche l'objet représentant maFeuille. Si l'on souhaite avoir l'affichage d'un objet représentant la ligne 10, on le lui demandera avec
Code : Tout sélectionner   AgrandirRéduire
xray maFeuille.rows(9)
ou en créant l'objet concerné
Code : Tout sélectionner   AgrandirRéduire
maLigne = maFeuille.rows(9)
que l'on fait afficher ensuite
Code : Tout sélectionner   AgrandirRéduire
xray maLigne
.

Pour en revenir à nos moutons, un tuto va bientôt apparaître, il ne sera pas en vidéo et l'auteur n'étant pas un expert, cela vaudra que que ça vaudra...
cOOordialement
---
AOO 4.0.1 W7-PRO & LO 5.1.6.2 Debian 7.8 & Ubuntu 16.04 LTS
---
F1 : ça aide...
XRay + SDK :super:
---
Quand le NOT CONFIRMED sera corrigé (OOo et LO) , je serai heureux...
Avatar de l’utilisateur
Churay
ManitOOu
ManitOOu
 
Message(s) : 2668
Inscrit le : 30 Avr 2009 05:54
Localisation : CATALUNYA

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar OOo - Ekel » 22 Nov 2013 21:43

Bonsoir,

Et pourquoi ne pas t'y mettre à cette vidéo, au moins tu comprendrais le fonctionnement de Xray... si tu parviens à la faire cette vidéo, c'est que tu auras tout compris.

Cordialement.
Ekel

KUbuntu Cosmic Cuttlefish (18.10) : LibreOffice 6.2.2 Officielle
AMD Phenom(tm) II X4 955 3200 GHz
AMD Radeon HD 5770 Series
22" + 22"
12 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
 
Message(s) : 1166
Inscrit le : 10 Nov 2006 16:04
Localisation : F-Oise

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar alhazred » 24 Nov 2013 15:59

Bonjour,

XRay ne permet que d'explorer un objet que tu as déjà obtenu dans le programme :
Code : Tout sélectionner   AgrandirRéduire
XRay monObjet

ouvre la fenêtre.

Elle liste les propriétés et les méthodes utilisables pour cet objet
Un double-clic sur l'une des propriétés affiche en cascade le nouvel objet concerné (propriétés, etc.)
Si tu as installé le SDK et renseigné les Options, un bouton présente la fiche complète de la rubrique sélectionnée.

C'est à peu près tout ce qu'il y a à savoir pour débuter.

Les autres volets (Services, Interfaces, Listeners) sont rarement utilisés, seulement dans un but précis.

Par exemple, la liste des services permet de faire des tests pour déterminer la nature exacte d'un objet : dans Calc, l'objet ThisComponent.currentSelection peut être une cellule, une zone de cellules, plusieurs zones de cellules, des contrôles...
Tu peux alors insérer dans ton programme des tests du genre
Code : Tout sélectionner   AgrandirRéduire
If ThisComponent.currentSelection.SupportsService("le_service_voulu") Then ....

Cela évite des erreurs d'exécution (propriété ou méthode inexistante dans l'objet considéré)

Et la meilleure méthode est de mettre les mains dans le cambouis et d'essayer (faut pas avoir peur des erreurs qui apprennent beaucoup plus que les succès).
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar martinbrait » 05 Déc 2013 00:36

Bonsoir!

Le document joint, m'a été TRES utile, notamment, pour la description détaillée de l'utilisation d'xray
Qualité rédactionnelle,approche PAS à PAS.C'est exemplaire!

Tester xRay

Pour tester xRay, il faut utiliser dans un programme la commande « xray » suivi de l’objet à analyser.

Cette ligne analyse l’objet « thisComponent » et on pourra retrouver la propriété « sheets »

xray thisComponent

Cette ligne analyse l’objet « Sheets » et on pourra retrouver la méthode « getByName »

xray thisComponent.Sheets

Cette ligne analyse l’objet « getByName("Feuille1") » et on pourra retrouver la méthode « getCellRangeByName »

xray thisComponent.Sheets.getByName("Feuille1")

Cette ligne analyse l’objet « getCellRangeByName("A1") » et on pourra retrouver la propriété « string »

xray thisComponent.Sheets.getByName("Feuille1").getCellRangeByName("A1")


Ce serait génial, d'avoir le même genre de tuto pour les INTERFACES, SERVICES et LISTENERS.

A bon entendeur!
Pièces jointes
COAGUL - Débuter en programmation sous OpenOffice.org - 2010-10-29.pdf
une approche vraiment pédagogique!
(38.59 Kio) Téléchargé 260 fois
LibreOffice version 5.1.6.2
Windows 10
+
LibreOffice version 4.3.6.2.0
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 751
Inscrit le : 09 Avr 2013 08:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar Dude » 06 Déc 2013 15:05

Salut,

martinbrait a écrit:Ce serait génial, d'avoir le même genre de tuto pour les INTERFACES, SERVICES et LISTENERS.

A priori, tu n'as pas compris ce qu'était un projet libre.
Ce n'est pas aux autres de réaliser ce dont tu as besoin.
En clair, c'est à toi de démarrer une trame de document.
Document qui pourra être éventuellement complété par des bénévoles.

martinbrait a écrit:A bon entendeur!

Bin salut !
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21045
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar martinbrait » 17 Déc 2013 01:45

Petite contribution du jour, pour mieux comprendre les interactions UNO.
Je rêve du moment où un expert OOObasic montrera aux autres
comment manipuler xray sous tous ses aspects, dans une petite appli.!

Pas moyen de faire des tests de l'api, avec les retours xray.
A quoi ça sert de confier un super outil, sans laisser de mode d'emploi ultra vulgarisé? :marto:
Pièces jointes
Mon Livre OO.pdf
(209.72 Kio) Téléchargé 170 fois
Dernière édition par martinbrait le 31 Jan 2014 00:12, édité 2 fois.
LibreOffice version 5.1.6.2
Windows 10
+
LibreOffice version 4.3.6.2.0
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 751
Inscrit le : 09 Avr 2013 08:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar OOo - Ekel » 17 Déc 2013 06:36

Bonjour,

<Humour>Mais n'y aura-t-il pas alors quelqu'un pour demander comment fonctionne l'application qui permet d'expliquer comment fonctionne l'application qui permet d'expliquer comment fonctionne l'application qui... ? </Humour>

Cordialement.
Ekel

KUbuntu Cosmic Cuttlefish (18.10) : LibreOffice 6.2.2 Officielle
AMD Phenom(tm) II X4 955 3200 GHz
AMD Radeon HD 5770 Series
22" + 22"
12 Go
____________________
Pour les règles du jeu.
Pour marquer Résolu.
Pour joindre un fichier.
Avatar de l’utilisateur
OOo - Ekel
SuppOOrter
SuppOOrter
 
Message(s) : 1166
Inscrit le : 10 Nov 2006 16:04
Localisation : F-Oise

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar Dude » 18 Déc 2013 17:13

Pourquoi mettre en ligne un PDF ?

Dude a écrit:Document qui pourra être éventuellement complété par des bénévoles.

Je parle d'un document dans un format ouvert et modifiable.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 21045
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar martinbrait » 31 Déc 2013 13:52

Dois je déduire que dans ce forum, personne n'a jamais osé se confronter
aux Services, Interfaces, Listeners, via xRay, pour coder ses applications? :cry: :aie:

Bonjour, merci et à bientôt.
LibreOffice version 5.1.6.2
Windows 10
+
LibreOffice version 4.3.6.2.0
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 751
Inscrit le : 09 Avr 2013 08:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar alhazred » 31 Déc 2013 16:25

Bonjour,

Bien évidemment que si (plus ou moins, tous ceux qui interviennent dans la section Macros), mais apparemment, cela n'intéresse personne de faire un travail sur commande, suis-je clair ?
À bientôt

LibO 4.1.5.3 et AOO 4.0.1 sous Windows 7, MRI et SDK pour les macros.

Et la sauvegarde incrémentée, c'est sympa !
Avatar de l’utilisateur
alhazred
ManitOOu
ManitOOu
 
Message(s) : 3028
Inscrit le : 01 Mai 2011 00:08
Localisation : Casablanca (Maroc)

Re: [Basic] Un jour, il y aura un tuto video sur XRAY!

Messagepar martinbrait » 27 Oct 2015 20:40

Mon problème est le suivant :
Quand j'ouvre une page du sdk, c'est comme si j'ouvrais un listing des cours de la bourse. :fou:
SDK=FRUSTRATION
Comment suis-je informé du type de valeur à envoyer dans l'objet que je suis en train d'explorer,
ou dans les propriétés de l'objet que je suis en train d'explorer ?
objet, structure, tableau, variable ?

'première approche, le 05/05/2016


'0) mon objectif :
PageStyle.FirstPageNumber.JPG
objectif

'Je cherche juste à afficher/régler sur 5, mon numéro de première page de feuille à imprimer.

prérequis :
Je cherche dans la doc en version anglaise, le nom de la propriété que je souhaite programmer.
FirstPageNumber
'contains the page number applied to the first page for this sheet

'1) Je tape dans l'explorateur en haut à droite du site sdk les mots clef de mon choix "first page",
pour avoir peut être une ressource qui me permette de manipuler le réglage de la première page,
vu que je cherche à régler la première page.
http://api.libreoffice.org/docs/idl/ref ... Style.html

'2) je trouve sur le site une propriété FirstPageNumber,(dans la classe PageStyle) qui semble faire ce que j'attends.
' Celle-ci a besoin d'une instanciation du service "PageStyle"

'3) Ne comprenant rien au labyrinthe des instanciations de services et interfaces,
Je cherche un exemple de code d'un expert, qui contienne le service PageStyle,
(dans la bible ProgrammationOpenOffice 3 de Bernard MARCELLY.)

'voici une aide de Bernard Marcelly, pour gérer vraiment un style de page
Code : Tout sélectionner   AgrandirRéduire
rem Code09-07.ods bibli : Haut_Bas Module1
'Option Explicit
Sub InsererUnEnTete()
Dim monDocument As Object, lesFeuilles As Object
Dim maFeuille As Object, enTete As Object
Dim Texte2 As Object, Curseur2 As Object
Dim nomStyleMaPage As String, StyleMaPage As Object
Dim stylesPage As Object
monDocument = ThisComponent
'la récupération de la référence de la feuille de mon choix passe nécessairement par l'exploration de la collection.
lesFeuilles = monDocument.Sheets
maFeuille = lesFeuilles.getByName("Feuille4")
' récupérer le nom du style de page en cours
nomStyleMaPage = maFeuille.PageStyle
print "Cette page est du style : " & nomStyleMaPage
' récupérer la collection de styles de pages
stylesPage = monDocument.StyleFamilies.getByName("PageStyles")
' récupérer le style de page
StyleMaPage = stylesPage.getByName(nomStyleMaPage)
StyleMaPage.HeaderIsOn = true ' insérer un en-tête
StyleMaPage.HeaderBodyDistance = 1000 ' 10 mm
StyleMaPage.HeaderHeight = 2500 ' 25mm
' l'en-tête page droite est aussi utilisé pour la gauche
enTete = StyleMaPage.RightPageHeaderContent
Texte2 = enTete.LeftText' zone de texte gauche de l'en-tête
Curseur2 = Texte2.createTextCursor ' curseur dans l'en-tête
' écrire un texte dans l'en-tête
Texte2.insertString(Curseur2, "Voici un en-tête", false)
StyleMaPage.RightPageHeaderContent = enTete' mettre à jour
End Sub



'4) J'écris un début de code, en me calant sur celui
de Bernard M. pour y mettre en oeuvre ma propriété FirstPageNumber

Code : Tout sélectionner   AgrandirRéduire
Sub Main
Dim monDocument As Object, oOriginal As Object, oCurseur as Object
Dim lesFeuilles As Object, maFeuille As Object
Dim oCell As Object, oCopy As Object, oZone As Object, oCible As Object
Dim oFirstPageNumber As Integer
Dim oPageStyle As Object,oStyle As Object
Dim nomStyleMaPage As String
Dim stylesPage As Object
Dim StyleMaPage As Object

Dim monTexte() as String
   monDocument = ThisComponent
   lesFeuilles = monDocument.Sheets
   maFeuille = lesFeuilles.getByName("Feuille1")

'   MsgBox oDoc.Sheets.getByIndex(0)   
'   Msgbox thisComponent.CurrentSelection.RangeAddress.Sheet
   
'xray monDocument 'Je trouve un soit-disant "service disponible", via xray, à partir de mon objet monDocument.
'xray maFeuille
'xray oPageStyle

'   Je postule que  Spreadsheet mis en mémoire sous oDoc contiendrait com.sun.star.table.style.PageStyle comme service déjà instancié ?

'méthode à suivre pour tout ce qui suit :
'1)Mettre en mémoire une première variable objet
'2)Créer une instance du service souhaité, à partir de l'objet.

sous-objectif : Je dois obligatoirement récupérer le nom du style de la page considérée pour interagir avec.
Attention, FirstPageNumber s'applique à la feuille de style !

maFeuille = lesFeuilles.getByName("Feuille1")
' récupérer le nom du style de page en cours
nomStyleMaPage = maFeuille.PageStyle
print "Cette page est du style : " & nomStyleMaPage
' récupérer la collection de styles de pages
Avant d'accéder à la feuille de style de ma page considérée, il faut passer par une collection des styles de page du classeur.
stylesPage = monDocument.StyleFamilies.getByName("PageStyles")
' récupérer le style de page
StyleMaPage = stylesPage.getByName(nomStyleMaPage)

xray nomStyleMaPage
StyleMaPage.FirstPageNumber=5'mettre la première page à 5

xray nomStyleMaPage
MsgBox StyleMaPage.FirstPageNumber

End Sub


'5) Eurêka, je viens d'optimiser(?) 3 heures de ma vie. Tout ça pour ça, eh bé, mon ami... :mrgreen:
Dernière édition par martinbrait le 15 Juin 2017 07:55, édité 4 fois.
LibreOffice version 5.1.6.2
Windows 10
+
LibreOffice version 4.3.6.2.0
Windows 7

#HSQL Database Engine 1.8.0
version=1.8.0


Bonjour, merci et à bientôt !
Avatar de l’utilisateur
martinbrait
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 751
Inscrit le : 09 Avr 2013 08:15
Localisation : T'as pas dit bonjour, merci et à bientot !

Re: [Basic] Xray, un expert peut-il faire un tp video?

Messagepar jeanmi2403 » 05 Déc 2016 23:51

Bonjour,
martinbrait a écrit:Petite contribution du jour, pour mieux comprendre les interactions UNO.

La moindre politesse, et de respect du travail d'autrui, voudrait que tu cite tes sources....
Ta "petite contribution" est en fait l'oeuvre de Marc FEGLI
A moins qu'il ne s'agisse d'un dédoublement de personnalité....
En tout cas, cet extrait fait partie d'un bouquin plus vaste qui présente certainement un grand intérêt, mais que je n'ai pas réussi à identifier.
Je rêve du moment où un expert OOObasic montrera aux autres
comment manipuler xray sous tous ses aspects, dans une petite appli.!

Je fais ça, avec python, mais ça n'a rien de compliqué, me semble-t-il.
Désolé, je galère depuis plusieurs mois avec l'outil, en sachant à peine retourner les propriétés string pour les insérer à mes programmes.

Toutes les propriétés sont accessibles par des méthodes, parfaitement décrites dans XRAY.
Voici le lien le plus utile que j'ai trouvé : http://openoffice-libreoffice.developpe ... fice/xray/

Tout y est dit !!
Cordialement,
Jean-Michel
LibO 5.1.6 et AoO 4.1.3
Windows 7 Familiale Premium SP1 x64 et Windows 10 x64
Avatar de l’utilisateur
jeanmi2403
Membre enthOOusiaste
Membre enthOOusiaste
 
Message(s) : 461
Inscrit le : 18 Jan 2008 10:02
Localisation : Sucy en Brie

Re: [Basic] Un jour, il y aura un tuto video sur XRAY!

Messagepar OOotremer971 » 06 Déc 2016 01:23

Bonjour,
@jeanmi2403
Apparemment il y a un soucis avec le lien tel qu'il est rédigé dans ton message. Je crois que c'est là :
http://openoffice-libreoffice.developpez.com/tutoriels/openoffice-libreoffice/xray/

A+
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Ubuntu
OpenSuse Leap
Avatar de l’utilisateur
OOotremer971
HédOOniste
HédOOniste
 
Message(s) : 2125
Inscrit le : 16 Avr 2010 14:31

Re: [Basic] Un jour, il y aura un tuto video sur XRAY!

Messagepar jeanmi2403 » 06 Déc 2016 11:18

Bonjour OOotremer971
En fait, j'ai tronqué le lien du post de martinbrait en le citant.
Cordialement,
Jean-Michel
LibO 5.1.6 et AoO 4.1.3
Windows 7 Familiale Premium SP1 x64 et Windows 10 x64
Avatar de l’utilisateur
jeanmi2403
Membre enthOOusiaste
Membre enthOOusiaste
 
Message(s) : 461
Inscrit le : 18 Jan 2008 10:02
Localisation : Sucy en Brie


Retour vers Enrichissez la documentation

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 0 invité(s)