Discogs (Utilisation de l'API)

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Discogs (Utilisation de l'API)

Message par Ollivier »

2300 lignes, 150Ko : ça passe à l'aise, tu peux le poster direct. C'est plus simple. Si je me souviens bien MicroDevWeb avait posté un code à croire qu'il cherchait à éprouver les limites du serveur. Ce fût d'ailleurs chose faite puisqu'il s'est retrouvé contraint de poster en morceaux de code de 65535 lignes !
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Salut Ollivier

Les messages sont limités à 60000 caractères.
Dans un premier temps, j'avais commencé à le saucissonner. J'avais déjà posté 3 messages.Il en fallait au moins 4 ou 5 pour le découper de façon cohérente, si je me souviens bien.
Mais cette limitation m'a obligé vers la fin à le découper un peu au sabre parce qu'il y a une chaine XML dans une procédure qui est relativement longue.
Ca m'a saoûlé, j'ai préféré finalement le poster via un lien...

Tu n'arrives toujours pas à le télécharger ?

Si une bonne âme qui viendrait à lire ce message pouvait confirmer/infirmer l'accès correct au fichier via l'hyperlien.
Merci d'avance. :wink:
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Discogs (Utilisation de l'API)

Message par Mindphazer »

Pour ma part, le lien fonctionne parfaitement
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Discogs (Utilisation de l'API)

Message par Ollivier »

C'est normal, t'as un Mac. J'en jalouse...
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Mindphazer a écrit : sam. 24/juin/2023 22:08 Pour ma part, le lien fonctionne parfaitement
Merci Mindphazer d'avoir confirmé :wink:
Ollivier a écrit : dim. 25/juin/2023 9:02 C'est normal, t'as un Mac. J'en jalouse...
Pour rappel, le proxénétisme est prohibé par la loi et est passible de 7 ans de séchoir et d'un délestage pécuniaire de 150 K€ ! :twisted: :mrgreen:
Plus sérieusement, si tu es tjs intéressé à jeter un coup d'oeil au source, un autre lien (temporaire celui-là).
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Discogs (Utilisation de l'API)

Message par Ollivier »

boddhi a écrit : dim. 25/juin/2023 13:38
Ollivier a écrit : dim. 25/juin/2023 9:02 C'est normal, t'as un Mac. J'en jalouse...
Pour rappel, le proxénétisme est prohibé par la loi et est passible de 7 ans de séchoir et d'un délestage pécuniaire de 150 K€ ! :twisted: :mrgreen:
Plus sérieusement, si tu es tjs intéressé à jeter un coup d'oeil au source, un autre lien (temporaire celui-là).
Alors...

Alors ton lien (site vers "dropbox") me demande de télécharger le fichier 'ux_analytics.txt', chose que je refuse, évidemment. Donc il me redemande de télécharger le fichier 'ux_analytics.txt', chose que je refuse encore. Et ainsi de suite.

Si je requête un retour de page en arrière pour retourner sur ce sujet, alors il me redemande quand même de télécharger le fichier 'ux_analytics.txt'. Autrement dit, il me bloque mon appareil.

Je dois activer le gestionnaire de tâches et moucher la tâche d'exploration internet. Mais quand je redémarre l'explorateur, cet ébêté de logiciel récupère dans son historique la dernière page demandée (donc DropBox) et me redemande si je veux télécharger 'ux_analytics.txt'.

M'enfin, j'ai réussi à supprimer la tâche d'exploration, puis j'ai coupé mon appareil, puis j'ai redémarré. Là, enfin, il n'y a plus de page DropBox buguée.

Donc non, je n'ai pas réussi à télécharger ton fichier source. M'enfin, on va s'arrêter là. Si tu peux, on communique en privé sur le forum anglais. On s'échange les adresses mail et tu m'enverrais ce code en txt en ci-joint.

Et si, entre temps, il me vient une soluce, comme découper rapidement ton code source en messages prêts à être collés dans le formulaire de rédaction de message, dans ce cas, je t'en ferai part.
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Salut Ollivier,
Ollivier a écrit : Alors ton lien (site vers "dropbox") me demande de télécharger le fichier 'ux_analytics.txt', chose que je refuse, évidemment. Donc il me redemande de télécharger le fichier 'ux_analytics.txt', chose que je refuse encore. Et ainsi de suite.
Image

Voilà ce que donne de mon côté le clic sur le dernier lien que j'ai fourni.
Sous Firefox, avec pourtant un bloqueur de scripts et un adblock.

Dans le cas présent, je n'ai autorisé temporairement que les scripts émanant de DropBox et de Google. En théorie, même si le risque zéro n'existe pas, j'aurais tendance à dire qu'on peut leur faire confiance pour ne pas être malveillants.

Après avoir téléchargé le fichier 'linké', je n'ai pas trouvé trace de 'ux_analytics.txt', ni sur mon PC, ni dans le code source de la page DropBox.
En revanche, les scripts JS de DropBox font référence à des dossiers ux_analytics.

Je ne sais pas quel navigateur tu utilises mais il est clair qu'il n'a pas un comportement normal.
Paramétrage, extension(s), machine virtuelle ou bac à sable ?
La raison de ce dysfonctionnement est forcément à chercher de côté-là et je crains que tu n'aies pas tout dit ! :wink: :lol:
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Discogs (Utilisation de l'API)

Message par Mindphazer »

Salut Boddhi,

je me suis permis de déposer ton fichier sur Workupload
Ollivier, si tu veux tester :
https://workupload.com/file/ymnwDkcZhQE

Après, effectivement, si tu as une configuration, disons... particulière, on ne pourra peut-être pas faire de miracle :mrgreen:
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Discogs (Utilisation de l'API)

Message par Ollivier »

Je remercie MindPhazer pour ces alléchantes informations. En effet, grâce à ce geste partageur, je peux désormais savoir que la taille du fichier source de Boddhi, est exactement de 148768 octets, avec un checksum de type SHA256 égalant la valeur suivante :

Code : Tout sélectionner

6fa03916b925a25606050bd0c89875cd7a3f7e68743c09053071fbc15606e7ba
C'est ce qu'on appelle couramment, avoir l'eau à la bouche. J'ai donc tenté un clic sur le bouton baptisé "Download now !'. Et là, comme un jet de gamètes dans la poussière du désert, il ne s'est, pour le dire ainsi, rien produit de concluant.

J'ai évidemment essayé encore et encore, de cliquer sur ce bouton de téléchargement. La barre de progression de mise à jour de la page réagit bien, même très bien, à chaque clic.

Mais, c'est tout. La page reste semblable à elle-même, indéfiniment, me présentant très promptement, taille de fichier, et code de checksum.

À titre purement informationnel, il existe un site, ma foi, très fonctionnel, au sein duquel des fichiers de centaines de méga-octets sont téléchargeables, sans commun obstacle, après avoir choisi quel fichier téléchargé, parmi une colonne de prévisualisation par lecture dynamique qui documente, pour chaque fichier, quelques frames extraites dans chaque film. Je vais appeler Kcc pour qu'il confirme mes dires...
Dernière modification par Ollivier le mar. 27/juin/2023 9:40, modifié 1 fois.
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Discogs (Utilisation de l'API)

Message par Mindphazer »

Je ne sais que dire...
Juste pour ma curiosité personnelle, tu es sous quel navigateur ??
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Salut Mindphazer,
Mindphazer a écrit : Je me suis permis de déposer ton fichier sur Workupload
Pas de souci et même merci d'avoir aidé à sa propagation :wink: :D

@Ollivier
Bon, je partage le source, tel qu'il existe à la date de cette publication, mais je préviens, il est coupé à la hache rouillée élimée !
Les bouts de code seront sans césure cohérente, si ce n'est le nombre de caractères maximum autorisé, et donc à coller les uns à la suite des autres.

Partie 1 :

Code : Tout sélectionner

EnableExplicit

; ╔═════════════════════════════════════════════════════════════════════════════╗
; ║ STRUCTURES - ENUMERATIONS - CONSTANTES - MACROS - MAPS - VARIABLES GLOBALES ║
; ╚═════════════════════════════════════════════════════════════════════════════╝
;{ ════  PLUGINS              ════
;- ════  PLUGINS
UseJPEGImageDecoder()
UsePNGImageDecoder()
;}
;{ ════  STRUCTURES           ════
;- ════  STRUCTURES           ════
; Structures JSON DISCOGS globales/récurrentes 
Structure JSONDISCOGS_URLSPAGINATION        ;{
  first.s
  prev.s
  Next.s
  last.s
EndStructure ;}
Structure JSONDISCOGS_DONNEESPAGINATION     ;{ 
  pages.u
  per_page.u
  items.u
  page.u
  urls.JSONDISCOGS_URLSPAGINATION
EndStructure ;}
Structure JSONDISCOGS_PAGINATION            ;{
  pagination.JSONDISCOGS_DONNEESPAGINATION
EndStructure ;}
Structure JSONDISCOGS_ARTIST                ;{
  id.l
  name.s
  anv.s
  join.s
  role.s
  tracks.s
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_TRACK                 ;{
  position.s
  type_.s
  title.s
  duration.s
EndStructure ;}
Structure JSONDISCOGS_IMAGE                 ;{
  type.s
  uri.s
  resource_url.s
  uri150.s
  width.u
  height.u
EndStructure ;}
Structure JSONDISCOGS_VIDEO                 ;{
  uri.s
  title.s
  description.s
  duration.u
  embed.s
EndStructure ;}
Structure JSONDISCOGS_SUBMITTERCONTRIBUTOR  ;{
  username.s
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_IDENTIFIER            ;{
  type.s
  value.s
  description.s
EndStructure ;}
Structure JSONDISCOGS_RATING                ;{
  count.l
  average.f
EndStructure ;}
Structure JSONDISCOGS_COMMUNITY             ;{
  have.l
  want.l
  data_quality.s
  status.s
  submitter.JSONDISCOGS_SUBMITTERCONTRIBUTOR
  rating.JSONDISCOGS_RATING
  List contributors.JSONDISCOGS_SUBMITTERCONTRIBUTOR()
EndStructure ;}
Structure JSONDISCOGS_STAT                  ;{
  in_wantlist.l
  in_collection.l
EndStructure ;}
Structure JSONDISCOGS_STATS                 ;{
  user.JSONDISCOGS_STAT
  community.JSONDISCOGS_STAT
EndStructure ;}
Structure JSONDISCOGS_FILTERVALUE           ;{
  title.s
  value.s
  count.l
EndStructure ;}
Structure JSONDISCOGS_FILTER                ;{
  title.s
  id.s
  allows_multiple_values.a
  List values.JSONDISCOGS_FILTERVALUE()
EndStructure ;}
; Structures JSON DISCOGS liées aux recherches
Structure JSONDISCOGS_ARTIST2 ;{ inutilisée
  ;master_url.s
  ;master_id.s
  uri.s
  cover_image.s
  thumb.s
  title.s
  ;type.s
  id.l
  resource_url.s
EndStructure ;}
Structure JSONDISCOGS_ARTISTS ;{ inutilisée
  List results.JSONDISCOGS_ARTIST()
EndStructure ;}
;
Structure JSONDISCOGS_GROUPSARTISTBYID      ;{
  id.l
  name.s
  resource_url.s
  active.s
EndStructure ;}
Structure JSONDISCOGS_ARTISTBYID            ;{
  id.l
  name.s
  realname.s
  resource_url.s
  uri.s
  releases_url.s
  profile.s
  cover_image.s
  thumb.s
  title.s
  data_quality.s
  List images.JSONDISCOGS_IMAGE()
  List urls.s()
  List namevariations.s()
  List aliases.JSONDISCOGS_GROUPSARTISTBYID()
  List groups.JSONDISCOGS_GROUPSARTISTBYID()
  List members.JSONDISCOGS_GROUPSARTISTBYID()
EndStructure ;}
Structure JSONDISCOGS_ARTISTRELEASEBYID     ;{
  id.l
  title.s
  type.s
  main_release.l
  artist.s
  role.s
  resource_url.s
  year.u
  thumb.s
  status.s
  label.s
  format.s
  ;stats()/community()/in_wantlist.l
  ;stats()/community()/in_collection.l
EndStructure ;}
Structure JSONDISCOGS_ARTISTRELEASESBYID    ;{
  List releases.JSONDISCOGS_ARTISTRELEASEBYID()
EndStructure
;}
Structure JSONDISCOGS_RELEASELABELCOMPANY   ;{
  id.l
  name.s
  catno.s
  entity_type.s
  entity_type_name.s
  resource_url.s
  ;list series.?
EndStructure ;}
Structure JSONDISCOGS_RELEASEFORMAT         ;{
  name.s
  qty.s
  List descriptions.s()
EndStructure ;}
Structure JSONDISCOGS_RELEASEBYID           ;{
  id.l
  status.s
  year.u
  resource_url.s
  uri.s
  title.s
  artists_sort.s
  country.s
  released.s
  released_formatted.s
  notes.s
  thumb.s
  format_quantity.l
  date_added.s
  date_changed.s
  num_for_sale.l
  lowest_price.f
  estimated_weight.u
  blocked_from_sale.s
  community.JSONDISCOGS_COMMUNITY
  List genres.s()
  List styles.s()
  List artists.JSONDISCOGS_ARTIST()
  List extraartists.JSONDISCOGS_ARTIST()
  List formats.JSONDISCOGS_RELEASEFORMAT()
  List labels.JSONDISCOGS_RELEASELABELCOMPANY()
  List companies.JSONDISCOGS_RELEASELABELCOMPANY()
  List identifiers.JSONDISCOGS_IDENTIFIER()
  List videos.JSONDISCOGS_VIDEO()
  List tracklist.JSONDISCOGS_TRACK()
  List images.JSONDISCOGS_IMAGE()
EndStructure ;}
Structure JSONDISCOGS_MASTERBYID            ;{
  id.l
  title.s
  main_release.l
  most_recent_release.l
  resource_url.s
  uri.s
  versions_url.s
  main_release_url.s
  most_recent_release_url.s
  num_for_sale.l
  lowest_price.f
  year.u
  data_quality.s
  List genres.s()
  List styles.s()
  List artists.JSONDISCOGS_ARTIST()
  List images.JSONDISCOGS_IMAGE()
  List tracklist.JSONDISCOGS_TRACK()
  List videos.JSONDISCOGS_VIDEO()
EndStructure ;}
Structure JSONDISCOGS_FILTERS               ;{
  Map format.s()
  Map label.u()
  Map country.u()
  Map released.u()
EndStructure ;}
Structure JSONDISCOGS_AVAILABLEFILTERS      ;{
  applied.JSONDISCOGS_FILTERS
  available.JSONDISCOGS_FILTERS
EndStructure ;}
Structure JSONDISCOGS_MASTERVERSION         ;{
  id.l
  label.s
  country.s
  title.s
  format.s
  catno.s
  released.s
  status.s
  resource_url.s
  thumb.s
  stats.JSONDISCOGS_STATS
  List major_formats.s()
EndStructure ;}
Structure JSONDISCOGS_MASTERVERSIONSBYID    ;{
  filters.JSONDISCOGS_AVAILABLEFILTERS
  List filter_facets.JSONDISCOGS_FILTER()
  List versions.JSONDISCOGS_MASTERVERSION()
EndStructure ;}
Structure JSONDISCOGS_SEARCHRESULTS         ;{
  id.l
  type.s
  title.s
  year.s
  country.s
  master_id.l
  master_url.s
  catno.s
  uri.s
  thumb.s
  cover_image.s
  resource_url.s
  List format.s()
  List label.s()
  List genre.s()
  List style.s()
  List barcode.s()
  ;Map community.l()
  ;format_quantity.l
EndStructure ;}
Structure JSONDISCOGS_SEARCH                ;{
  List results.JSONDISCOGS_SEARCHRESULTS()
EndStructure ;}

;}
;{ ════  ENUMERATIONS         ════
;- ════  ENUMERATIONS ════
Runtime Enumeration Fenetres  ;{
  #FEN_RECHERCHEDB
  #FEN_RESULTATS
EndEnumeration ;}
Runtime Enumeration Gadgets   ;{ Gadgets fenêtre principale
  #GAD_FP_CD_TYPERECHERCHE
  #GAD_FP_LS_TYPESRECHERCHE
  #GAD_FP_CD_PARAMETRESRECHERCHE
  #GAD_FP_BM_PARAMETRES
  #GAD_FP_CT_PARAMETRESARTISTE
  #GAD_FP_BG_PARAMETRESARTISTE
  #GAD_FP_LIB_PARAMARTISTE_IDARTISTE
  #GAD_FP_CP_PARAMARTISTE_IDARTISTE
  #GAD_FP_CT_PARAMETRESPARUTIONSARTISTE
  #GAD_FP_BG_PARAMETRESPARUTIONSARTISTE
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE
  #GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI
  #GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE
  #GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE
  #GAD_FP_CT_PARAMETRESPARUTION
  #GAD_FP_BG_PARAMETRESPARUTION
  #GAD_FP_LIB_PARAMPARUTION_IDPARUTION
  #GAD_FP_CP_PARAMPARUTION_IDPARUTION
  #GAD_FP_LIB_PARAMPARUTION_MONNAIE
  #GAD_FP_LS_PARAMPARUTION_MONNAIE
  #GAD_FP_CT_PARAMETRESMASTER
  #GAD_FP_BG_PARAMETRESMASTER
  #GAD_FP_LIB_PARAMMASTER_IDMASTER
  #GAD_FP_CP_PARAMMASTER_IDMASTER
  #GAD_FP_CT_PARAMETRESVERSIONSMASTER
  #GAD_FP_BG_PARAMETRESVERSIONSMASTER
  #GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER
  #GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER
  #GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT
  #GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE
  #GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE
  #GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL
  #GAD_FP_CP_PARAMVERSIONSMASTER_LABEL
  #GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS
  #GAD_FP_CP_PARAMVERSIONSMASTER_PAYS
  #GAD_FP_LIB_PARAMVERSIONSMASTER_TRI
  #GAD_FP_LS_PARAMVERSIONSMASTER_TRI
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI
  #GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI
  #GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE
  #GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE
  #GAD_FP_CT_PARAMETRESRECHERCHEGENERALE
  #GAD_FP_BG_PARAMETRESRECHERCHEGENERALE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE
  #GAD_FP_LS_PARAMRECHERCHEGALE_TYPE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION
  #GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION
  #GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION
  #GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE
  #GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT
  #GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT
  #GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE
  #GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_GENRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE
  #GAD_FP_CP_PARAMRECHERCHEGALE_STYLE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL
  #GAD_FP_CP_PARAMRECHERCHEGALE_LABEL
  #GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS
  #GAD_FP_CP_PARAMRECHERCHEGALE_PAYS
  #GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE
  #GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE
  #GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT
  #GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT
  #GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR
  #GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR
  #GAD_FR_CC_RECHERCHEEXACTE
  #GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE
  #GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE
  #GAD_FP_LIB_ELEMENTS
  #GAD_FP_LIB_NBELEMENTS
  #GAD_FP_LIB_PAGE
  #GAD_FP_LIB_NBPAGES
  #GAD_FP_BT_RECHERCHER
  #GAD_FP_BP_JAUGE
EndEnumeration ;}
Runtime Enumeration Gadgets   ;{ Gadgets fenêtre résultats
  #GAD_FR_BG_RESULTATS
  #GAD_FR_BG_GRILLE1
  #GAD_FR_BG_GRILLE2
  #GAD_FR_BG_GRILLE3
  #GAD_FR_LIB_IDOBJET
  #GAD_FR_CP_IDOBJET
  #GAD_FR_LIB_LIENURI
  #GAD_FR_CP_LIENURI
  #GAD_FR_BT_LIENURI
  #GAD_FR_LIB_LIENURL
  #GAD_FR_CP_LIENURL
  #GAD_FR_BT_LIENURL
  #GAD_FR_LS_IMAGES
  #GAD_FR_BT_LIENIMAGE
  #GAD_FR_LIB_LIBELLE01
  #GAD_FR_LIB_LIBELLE02
  #GAD_FR_LIB_LIBELLE03
  #GAD_FR_LIB_LIBELLE04
  #GAD_FR_LIB_LIBELLE05
  #GAD_FR_LIB_LIBELLE06
  #GAD_FR_LIB_LIBELLE07
  #GAD_FR_LIB_LIBELLE08
  #GAD_FR_LIB_LIBELLE09
  #GAD_FR_LIB_LIBELLE10
  #GAD_FR_LIB_LIBELLE11
  #GAD_FR_LIB_LIBELLE12
  #GAD_FR_LIB_LIBELLE13
  #GAD_FR_LIB_LIBELLE14
  #GAD_FR_LIB_LIBELLE15
  #GAD_FR_LIB_LIBELLE16
  #GAD_FR_LIB_LIBELLE17
  #GAD_FR_LIB_LIBELLE18
  #GAD_FR_LIB_LIBELLE19
  #GAD_FR_LIB_LIBELLE20
  #GAD_FR_CP_CHAMP01
  #GAD_FR_CP_CHAMP02
  #GAD_FR_CP_CHAMP03
  #GAD_FR_CP_CHAMP04
  #GAD_FR_CP_CHAMP05
  #GAD_FR_CP_CHAMP06
  #GAD_FR_CP_CHAMP07
  #GAD_FR_CP_CHAMP08
  #GAD_FR_CP_CHAMP09
  #GAD_FR_CP_CHAMP10
  #GAD_FR_BT_BOUTON01
  #GAD_FR_BT_BOUTON02
  #GAD_FR_BT_BOUTON03
  #GAD_FR_BT_BOUTON04
  #GAD_FR_BT_BOUTON05
  #GAD_FR_BT_BOUTON06
  #GAD_FR_LS_LISTEVUE01
  #GAD_FR_LS_LISTEVUE02
  #GAD_FR_LS_LISTEVUE03
  #GAD_FR_LS_LISTEVUE04
  #GAD_FR_LS_LISTEVUE05
  #GAD_FR_LS_LISTEICONES01
  #GAD_FR_LS_LISTEICONES02
  #GAD_FR_LS_LISTEICONES03
  #GAD_FR_LS_LISTEICONES04
  #GAD_FR_LS_LISTEICONES05
  #GAD_FR_LS_LISTEICONES06
  #GAD_FR_LS_LISTEICONES07
  #GAD_FR_LS_LISTEICONES08  
  #GAD_FR_ED_EDITEUR01
  #GAD_FR_IMG_IMAGE01
  #GAD_FR_IMG_IMAGE02
EndEnumeration ;}
Enumeration XML               ;{
  #ARBRE_XML
EndEnumeration ;}
Enumeration DialoguesXML      ;{
  #XML_FENPRINCIPALE
  #XML_FENRESULTATS
EndEnumeration ;}
Enumeration JSON              ;{
  #JSON
EndEnumeration ;}
Enumeration Images            ;{
  #IMG_MINIATURE
  #IMG_POCHETTE
  #IMG_DISCOGS
  #IMG_LECTUREVIDEO
EndEnumeration ;}
;}
;{ ════  CONSTANTES           ════
;- ════  CONSTANTES           ════
#DISCOGSCHEMINHTTP="https://www.discogs.com/"
#DISCOGSCHEMINAPI="https://api.discogs.com/"
#DISCOGSCHEMINBASEAPI=#DISCOGSCHEMINAPI+"database/"
#DISCOGSCLE="JmiiPPRzrHtoqipKwrax"
#DISCOGSCLESECRETE="wBNVoHJPwwKEwJZpIZPHfpFPifYLUekv"
#SEPCHAMPS=" | "
#TITREBOITEDIALOGUE="Recherche de données DISCOGS"
#TITREFENETRERESULTATS="Résultats de la recherche DISCOGS"
CompilerIf #DISCOGSCHEMINHTTP="" Or #DISCOGSCHEMINAPI=""
  CompilerError "Vous devez définir vos clés DISCOGS !"
  End
CompilerEndIf
;}
;{ ════  MACROS               ════
; -════  MACROS               ════
Macro Mc_ClesDISCOGS()
  "&key="+#DISCOGSCLE+"&secret="+#DISCOGSCLESECRETE
EndMacro
Macro Mc_FormatageXML(ArgChaine)
  EscapeString(ArgChaine,#PB_String_EscapeXML)
EndMacro
Macro Mc_DeformatageXML(ArgChaine)
  UnescapeString(ArgChaine,#PB_String_EscapeXML)
EndMacro
Macro Mc_FormatageChaineRecherche(ArgChaine)
  ReplaceString(Trim(ArgChaine),Chr(32),"+")
EndMacro
Macro Mc_FormatageMessage(ArgChaine)
  StringField(StringField(ArgChaine,2,"message"+Chr(34)+": "),1,"}")
EndMacro
;}
; ╔═════════════════════════════════════════╗
; ║ DECLARATIONS - FICHIERS INCLUS - IMAGES ║
; ╚═════════════════════════════════════════╝
;{ ════  DECLARATIONS         ════
;- ════  DECLARATIONS         ════
Declare.a Fc_FenResultats_Affichage(ArgTypeRecherche.a)
;}
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔════════════╗
; ║ PROCEDURES ║
; ╚════════════╝
; ╔══════════════════════╗
; ║ PROCEDURES GENERALES ║
; ╚══════════════════════╝
Procedure.s Fc_Conversion_DureeNombre(ArgDuree.u)
  Protected.s ValeurRetour
  
  If ArgDuree>3600
    ValeurRetour=RSet(Str(ArgDuree/3600),2,"0")+":"
  EndIf
  ValeurRetour+RSet(Str(Mod((ArgDuree-Mod(ArgDuree,60))/60,60)),2,"0")+":"+RSet(Str(Mod(ArgDuree,60)),2,"0")
  ProcedureReturn ValeurRetour
EndProcedure
Procedure   Pc_Ouverture_LienInternet(ArgNoGadget.u)
  Protected.u NoGadget=GetGadgetData(ArgNoGadget)
  Protected.s LienInternet
  
  Select GadgetType(NoGadget)
    Case #PB_GadgetType_ListIcon
      If GetGadgetState(NoGadget)>=0
        LienInternet=GetGadgetItemText(NoGadget,GetGadgetState(NoGadget),GetGadgetData(NoGadget))
      EndIf
    Case #PB_GadgetType_String
      LienInternet=GetGadgetText(NoGadget)
  EndSelect
  If LienInternet
    RunProgram(LienInternet)
  EndIf
EndProcedure
Procedure.l Fc_Telechargement_Image(ArgURLImage.s,ArgNoImage.u)
  Protected *TamponImage
  Protected.l IDImage
  
  If ArgURLImage
    *TamponImage=ReceiveHTTPMemory(ArgURLImage)
    If *TamponImage
      If CatchImage(ArgNoImage,*TamponImage)
        IDImage=ImageID(ArgNoImage)
      EndIf
      FreeMemory(*TamponImage)
    EndIf
  EndIf
  ProcedureReturn IDImage
EndProcedure
Procedure   Pc_Reinitialisation_GadgetsFenetreResultats(ArgReinitialisationListeDonnees.a=#True)
  If IsGadget(#GAD_FR_CP_IDOBJET):SetGadgetText(#GAD_FR_CP_IDOBJET,""):EndIf
  If IsGadget(#GAD_FR_CP_LIENURI):SetGadgetText(#GAD_FR_CP_LIENURI,""):EndIf
  If IsGadget(#GAD_FR_CP_LIENURL):SetGadgetText(#GAD_FR_CP_LIENURL,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP01):SetGadgetText(#GAD_FR_CP_CHAMP01,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP02):SetGadgetText(#GAD_FR_CP_CHAMP02,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP03):SetGadgetText(#GAD_FR_CP_CHAMP03,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP04):SetGadgetText(#GAD_FR_CP_CHAMP04,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP05):SetGadgetText(#GAD_FR_CP_CHAMP05,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP06):SetGadgetText(#GAD_FR_CP_CHAMP06,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP07):SetGadgetText(#GAD_FR_CP_CHAMP07,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP08):SetGadgetText(#GAD_FR_CP_CHAMP08,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP09):SetGadgetText(#GAD_FR_CP_CHAMP09,""):EndIf
  If IsGadget(#GAD_FR_CP_CHAMP10):SetGadgetText(#GAD_FR_CP_CHAMP10,""):EndIf
  If IsGadget(#GAD_FR_LS_IMAGES):ClearGadgetItems(#GAD_FR_LS_IMAGES):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE01):ClearGadgetItems(#GAD_FR_LS_LISTEVUE01):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE02):ClearGadgetItems(#GAD_FR_LS_LISTEVUE02):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE03):ClearGadgetItems(#GAD_FR_LS_LISTEVUE03):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE04):ClearGadgetItems(#GAD_FR_LS_LISTEVUE04):EndIf
  If IsGadget(#GAD_FR_LS_LISTEVUE05):ClearGadgetItems(#GAD_FR_LS_LISTEVUE05):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES01) And ArgReinitialisationListeDonnees:ClearGadgetItems(#GAD_FR_LS_LISTEICONES01):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES02):ClearGadgetItems(#GAD_FR_LS_LISTEICONES02):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES03):ClearGadgetItems(#GAD_FR_LS_LISTEICONES03):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES04):ClearGadgetItems(#GAD_FR_LS_LISTEICONES04):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES05):ClearGadgetItems(#GAD_FR_LS_LISTEICONES05):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES06):ClearGadgetItems(#GAD_FR_LS_LISTEICONES06):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES07):ClearGadgetItems(#GAD_FR_LS_LISTEICONES07):EndIf
  If IsGadget(#GAD_FR_LS_LISTEICONES08):ClearGadgetItems(#GAD_FR_LS_LISTEICONES08):EndIf
  If IsGadget(#GAD_FR_ED_EDITEUR01):ClearGadgetItems(#GAD_FR_ED_EDITEUR01):EndIf
  If IsGadget(#GAD_FR_IMG_IMAGE01):SetGadgetState(#GAD_FR_IMG_IMAGE01,0):EndIf
  If IsGadget(#GAD_FR_IMG_IMAGE02):SetGadgetState(#GAD_FR_IMG_IMAGE02,0):EndIf
EndProcedure
Procedure   Pc_Affichage_Image(ArgNoGadget.u)
  Protected.l NoItem
  Protected.a TypeRequete=GetWindowData(#FEN_RESULTATS)
  Protected.s URLImage
  
  If IsImage(#IMG_POCHETTE)
    FreeImage(#IMG_POCHETTE)
    SetGadgetState(#GAD_FR_IMG_IMAGE01,0)
  EndIf
  Select TypeRequete
    Case 1,4,5 ; Recherche Parutions par ID Artiste / Recherche Versions Master par ID Master / Recherche générale
      URLImage=GetGadgetText(ArgNoGadget)
    Case 3 ; Recherche Master par ID
      NoItem=GetGadgetState(#GAD_FR_LS_IMAGES)
      If NoItem>=0
        URLImage=GetGadgetItemText(#GAD_FR_LS_IMAGES,NoItem,4)
      EndIf
  EndSelect
  SetGadgetState(#GAD_FR_IMG_IMAGE01,Fc_Telechargement_Image(URLImage,#IMG_POCHETTE))
EndProcedure
Procedure   Pc_Affichage_DonneesListe()
  Protected.l NoItem
  Protected.u NoGadget,NbItems,Compteur2
  Protected.a TypeRequete=GetWindowData(#FEN_RESULTATS),Compteur1
  Protected.s Chaine
  
  If TypeRequete<>1 And TypeRequete<>4 And TypeRequete<>5:ProcedureReturn:EndIf
  NoItem=GetGadgetState(#GAD_FR_LS_LISTEICONES01)
  If NoItem>=0
    SetGadgetText(#GAD_FR_CP_IDOBJET,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,0))
    SetGadgetText(#GAD_FR_CP_CHAMP01,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,1))
    SetGadgetText(#GAD_FR_CP_CHAMP02,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,2))
    SetGadgetText(#GAD_FR_CP_CHAMP03,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,3))
    SetGadgetText(#GAD_FR_CP_CHAMP04,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,4))
    SetGadgetText(#GAD_FR_CP_CHAMP05,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,5))
    SetGadgetText(#GAD_FR_CP_CHAMP06,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,6))
    SetGadgetText(#GAD_FR_CP_CHAMP07,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,7))
    SetGadgetText(#GAD_FR_CP_CHAMP08,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,8))
    Select TypeRequete
      Case 1 ; Recherche Parutions par ID Artiste
        SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9))
        SetGadgetText(#GAD_FR_CP_CHAMP10,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,10))
        SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,11))
        NoGadget=#GAD_FR_CP_CHAMP10
      Case 4 ; Recherche Versions Master par ID Master
        SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9))
        SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,10))
        NoGadget=#GAD_FR_CP_CHAMP09
      Case 5
        SetGadgetText(#GAD_FR_CP_LIENURI,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,15))
        SetGadgetText(#GAD_FR_CP_CHAMP09,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,14))
        SetGadgetText(#GAD_FR_CP_LIENURL,GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,16))
        For Compteur1=0 To 4
          ClearGadgetItems(#GAD_FR_LS_LISTEVUE01+Compteur1)
          Chaine=GetGadgetItemText(#GAD_FR_LS_LISTEICONES01,NoItem,9+Compteur1)
          If Chaine
            NbItems=CountString(Chaine,#SEPCHAMPS)+1
            For Compteur2=1 To NbItems
              AddGadgetItem(#GAD_FR_LS_LISTEVUE01+Compteur1,-1,StringField(Chaine,Compteur2,#SEPCHAMPS))
            Next
          EndIf
        Next
        NoGadget=#GAD_FR_CP_CHAMP09
    EndSelect
    Pc_Affichage_Image(NoGadget)
  Else
    Pc_Reinitialisation_GadgetsFenetreResultats()
  EndIf
EndProcedure

Procedure   Pc_AffichageResultats_ArtisteParID(*ArgDonnees.JSONDISCOGS_ARTISTBYID)
  Protected.l NbElements,Compteur
  
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\name)
    SetGadgetText(#GAD_FR_CP_CHAMP02,\realname)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \namevariations()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\namevariations())
    Next
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP03,\releases_url)
    ClearGadgetItems(#GAD_FR_ED_EDITEUR01)
    SetGadgetText(#GAD_FR_ED_EDITEUR01,\profile)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \aliases()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Str(\aliases()\id)+Chr(10)+\aliases()\name+Chr(10)+\aliases()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \members()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,Str(\members()\id)+Chr(10)+\members()\name+Chr(10)+\members()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \groups()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,Str(\groups()\id)+Chr(10)+\groups()\name+Chr(10)+\groups()\resource_url)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_ParutionParID(*ArgDonnees.JSONDISCOGS_RELEASEBYID)
  Protected *TamponImage
  Protected.l IDImage
  Protected.s Chaine
  
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\title)
    SetGadgetText(#GAD_FR_CP_CHAMP02,Str(\year))
    SetGadgetText(#GAD_FR_CP_CHAMP03,\released)
    SetGadgetText(#GAD_FR_CP_CHAMP04,\country)
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP05,\date_added)
    SetGadgetText(#GAD_FR_CP_CHAMP06,\date_changed)
    If GetFilePart(\thumb)="spacer.gif":\thumb="":EndIf ; "spacer.gif" = image inexistante
    SetGadgetText(#GAD_FR_CP_CHAMP07,\thumb)
    SetGadgetText(#GAD_FR_ED_EDITEUR01,\notes)
    SetGadgetState(#GAD_FR_IMG_IMAGE02,Fc_Telechargement_Image(\thumb,#IMG_MINIATURE))
    ClearGadgetItems(#GAD_FR_LS_IMAGES)
    ForEach \images()
      AddGadgetItem(#GAD_FR_LS_IMAGES,-1,\images()\type+Chr(10)+Str(\images()\width)+"x"+Str(\images()\height)+Chr(10)+EscapeString(\images()\uri)+Chr(10)+EscapeString(\images()\resource_url)+Chr(10)+EscapeString(\images()\uri150))
    Next
    SetGadgetState(#GAD_FR_IMG_IMAGE01,0)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \genres()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\genres())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE02)
    ForEach \styles()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE02,-1,\styles())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \formats()
      Chaine=\formats()\name+Chr(10)+\formats()\qty+Chr(10)
      ForEach \formats()\descriptions()
        Chaine+\formats()\descriptions()+" - "
      Next
      Chaine=Left(Chaine,Len(Chaine)-3)
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \labels()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,Str(\labels()\id)+Chr(10)+\labels()\name+Chr(10)+\labels()\catno+Chr(10)+\labels()\entity_type+Chr(10)+\labels()\entity_type_name+Chr(10)+\labels()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \companies()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,Str(\companies()\id)+Chr(10)+\companies()\name+Chr(10)+\companies()\catno+Chr(10)+\companies()\entity_type+Chr(10)+\companies()\entity_type_name+Chr(10)+\companies()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES04)
    ForEach \identifiers()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES04,-1,\identifiers()\type+Chr(10)+\identifiers()\value+Chr(10)+\identifiers()\description)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES05)
    ForEach \artists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES05,-1,Str(\artists()\id)+Chr(10)+\artists()\name+Chr(10)+\artists()\anv+Chr(10)+\artists()\join+Chr(10)+\artists()\role+Chr(10)+\artists()\tracks+Chr(10)+\artists()\resource_url)
    Next
    SetGadgetText(#GAD_FR_CP_CHAMP08,\artists_sort)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES06)
    ForEach \extraartists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES06,-1,Str(\extraartists()\id)+Chr(10)+\extraartists()\name+Chr(10)+\extraartists()\anv+Chr(10)+\extraartists()\join+Chr(10)+\extraartists()\role+Chr(10)+\extraartists()\tracks+Chr(10)+\extraartists()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES07)
    ForEach \tracklist()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES07,-1,\tracklist()\type_+Chr(10)+\tracklist()\position+Chr(10)+\tracklist()\title+Chr(10)+\tracklist()\duration)
    Next
    SetGadgetState(#IMG_POCHETTE,0)
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES08)
    ForEach \videos()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES08,-1,\videos()\title+Chr(10)+Fc_Conversion_DureeNombre(\videos()\duration)+Chr(10)+EscapeString(\videos()\description)+Chr(10)+\videos()\uri)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_MasterParID(*ArgDonnees.JSONDISCOGS_MASTERBYID)
  With *ArgDonnees
    SetGadgetText(#GAD_FR_CP_IDOBJET,Str(\id))
    SetGadgetText(#GAD_FR_CP_CHAMP01,\title)
    SetGadgetText(#GAD_FR_CP_CHAMP02,Str(\year))
    SetGadgetText(#GAD_FR_CP_LIENURI,\uri)
    SetGadgetText(#GAD_FR_CP_LIENURL,\resource_url)
    SetGadgetText(#GAD_FR_CP_CHAMP03,\versions_url)
    SetGadgetText(#GAD_FR_CP_CHAMP04,Str(\main_release))
    SetGadgetText(#GAD_FR_CP_CHAMP05,\main_release_url)
    SetGadgetText(#GAD_FR_CP_CHAMP06,Str(\most_recent_release))
    SetGadgetText(#GAD_FR_CP_CHAMP07,\most_recent_release_url)
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE01)
    ForEach \genres()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE01,-1,\genres())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEVUE02)
    ForEach \styles()
      AddGadgetItem(#GAD_FR_LS_LISTEVUE02,-1,\styles())
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES01)
    ForEach \artists()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Str(\artists()\id)+Chr(10)+\artists()\name+Chr(10)+\artists()\anv+Chr(10)+\artists()\join+Chr(10)+\artists()\role+Chr(10)+\artists()\tracks+Chr(10)+\artists()\resource_url)
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES02)
    ForEach \tracklist()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES02,-1,\tracklist()\type_+Chr(10)+\tracklist()\position+Chr(10)+\tracklist()\title+Chr(10)+\tracklist()\duration)
    Next
    SetGadgetState(#IMG_POCHETTE,0)
    ClearGadgetItems(#GAD_FR_LS_IMAGES)
    ForEach \images()
      AddGadgetItem(#GAD_FR_LS_IMAGES,-1,\images()\type+Chr(10)+Str(\images()\width)+"x"+Str(\images()\height)+Chr(10)+EscapeString(\images()\uri)+Chr(10)+EscapeString(\images()\resource_url)+Chr(10)+EscapeString(\images()\uri150))
    Next
    ClearGadgetItems(#GAD_FR_LS_LISTEICONES03)
    ForEach \videos()
      AddGadgetItem(#GAD_FR_LS_LISTEICONES03,-1,\videos()\title+Chr(10)+Fc_Conversion_DureeNombre(\videos()\duration)+Chr(10)+EscapeString(\videos()\description)+Chr(10)+\videos()\uri)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_ParutionsArtiste(*ArgDonnees.JSONDISCOGS_ARTISTRELEASESBYID)
  Protected.s Chaine
  
  With *ArgDonnees
    ForEach \releases()
      Chaine=Str(\releases()\id)+Chr(10)+\releases()\title+Chr(10)
      If \releases()\main_release
        Chaine+Str(\releases()\main_release)
      EndIf
      Chaine+Chr(10)+\releases()\status+Chr(10)+\releases()\type+Chr(10)+\releases()\artist+Chr(10)+\releases()\role+Chr(10)
      If \releases()\year
        Chaine+Str(\releases()\year)
      EndIf
      Chaine+Chr(10)+\releases()\label+Chr(10)+\releases()\format+Chr(10)
      If GetFilePart(\releases()\thumb)="spacer.gif":\releases()\thumb="":EndIf ; "spacer.gif" = image inexistante
      Chaine+\releases()\thumb+Chr(10)+\releases()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_VersionsMaster(*ArgDonnees.JSONDISCOGS_MASTERVERSIONSBYID)
  Protected.s Chaine
  
  Pc_Reinitialisation_GadgetsFenetreResultats()
  With *ArgDonnees
    ForEach \versions()
      Chaine=Str(\versions()\id)+Chr(10)+\versions()\title+Chr(10)+\versions()\status+Chr(10)+\versions()\released+Chr(10)
      ForEach \versions()\major_formats()
        Chaine+\versions()\major_formats()+" - "
      Next
      Chaine=Left(Chaine,Len(Chaine)-3)+Chr(10)+\versions()\format+Chr(10)+\versions()\label+Chr(10)+\versions()\country+Chr(10)+\versions()\catno+Chr(10)
      If GetFilePart(\versions()\thumb)="spacer.gif":\versions()\thumb="":EndIf ; "spacer.gif" = image inexistante
      Chaine+\versions()\thumb+Chr(10)+\versions()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure
Procedure   Pc_AffichageResultats_RechercheGenerale(*ArgDonnees.JSONDISCOGS_SEARCH)
  Protected.s Chaine
  
  Pc_Reinitialisation_GadgetsFenetreResultats()
  With *ArgDonnees
    ForEach \results()
      Chaine=Str(\results()\id)+Chr(10)+\results()\type+Chr(10)+\results()\title+Chr(10)+\results()\year+Chr(10)+\results()\country+Chr(10)
      If \results()\master_id
        Chaine+Str(\results()\master_id)
      EndIf
      Chaine+Chr(10)+\results()\master_url+Chr(10)+\results()\catno+Chr(10)+\results()\cover_image+Chr(10)
      ForEach \results()\format()
        Chaine+\results()\format()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\label()
        Chaine+\results()\label()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\barcode()
        Chaine+\results()\barcode()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\genre()
        Chaine+\results()\genre()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      ForEach \results()\style()
        Chaine+\results()\style()+#SEPCHAMPS
      Next
      If Right(Chaine,1)=" ":Chaine=Left(Chaine,Len(Chaine)-3):EndIf:Chaine+Chr(10)
      If GetFilePart(\results()\thumb)="spacer.gif":\results()\thumb="":EndIf ; "spacer.gif" = image inexistante:EndIf
      Chaine+\results()\thumb+Chr(10)
      If \results()\uri:\results()\uri=#DISCOGSCHEMINHTTP+\results()\uri:EndIf
      Chaine+\results()\uri+Chr(10)+\results()\resource_url
      AddGadgetItem(#GAD_FR_LS_LISTEICONES01,-1,Chaine)
    Next
  EndWith
EndProcedure

Procedure.q Fc_Requete_SiteInternet(ArgRequeteHTTP.s)
  Protected *RetourRequeteHTTP
  Protected.q IDRequeteHTTP
  Protected.s MessageErreur
  
  IDRequeteHTTP=HTTPRequest(#PB_HTTP_Get,ArgRequeteHTTP)
  If IDRequeteHTTP
    If HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode)="200"
      *RetourRequeteHTTP=ReceiveHTTPMemory(ArgRequeteHTTP)
      ProcedureReturn *RetourRequeteHTTP
    Else
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode)<>"0":MessageErreur="Erreur : "+HTTPInfo(IDRequeteHTTP,#PB_HTTP_StatusCode):EndIf
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_ErrorMessage)<>""
        If MessageErreur:MessageErreur+"\n":EndIf
        MessageErreur+"Message : "+HTTPInfo(IDRequeteHTTP,#PB_HTTP_ErrorMessage,#PB_UTF8)
      EndIf
      If HTTPInfo(IDRequeteHTTP,#PB_HTTP_Response)<>""
        If MessageErreur:MessageErreur+"\n":EndIf
        MessageErreur+"Réponse : "+Mc_FormatageMessage(HTTPInfo(IDRequeteHTTP,#PB_HTTP_Response,#PB_UTF8))
      EndIf
      MessageRequester("Requête HTTP",ArgRequeteHTTP+UnescapeString("\n\n"+MessageErreur),#PB_MessageRequester_Error)
    EndIf
  Else
    MessageRequester("Requête HTTP",ArgRequeteHTTP+"\n\nLa requête a échoué !",#PB_MessageRequester_Error)
  EndIf
EndProcedure
Procedure   Pc_DISCOGS_RechercheObjetParID(ArgTypeRecherche.a,ArgID.s)
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_ARTISTBYID DonneesJSONDISCOGSArtiste
  Protected.JSONDISCOGS_RELEASEBYID DonneesJSONDISCOGSParution
  Protected.JSONDISCOGS_MASTERBYID DonneesJSONDISCOGSMaster
  Protected.i IDJSON
  Protected.s RequeteHTTP
  Protected.a AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  
  Select ArgTypeRecherche
    Case 0:RequeteHTTP="artists/ArgID?"
    Case 2
      If GetGadgetState(#GAD_FP_LS_PARAMPARUTION_MONNAIE)>0
        RequeteHTTP="&curr_abbr="+StringField(StringField(GetGadgetText(#GAD_FP_LS_PARAMPARUTION_MONNAIE),2,"("),1,")")
      EndIf
      RequeteHTTP="releases/ArgID?"+RequeteHTTP
    Case 3:RequeteHTTP="masters/ArgID?"
  EndSelect
  RequeteHTTP=#DISCOGSCHEMINAPI+ReplaceString(RequeteHTTP,"ArgID",ArgID)+Mc_ClesDISCOGS()
  *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
  SetGadgetState(#GAD_FP_BP_JAUGE,50)
  If *RetourDISCOGS
    IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
    SetGadgetState(#GAD_FP_BP_JAUGE,75)
    If IDJSON
      Select ArgTypeRecherche
        Case 0:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSArtiste,JSONDISCOGS_ARTISTBYID):AffichageResultats=Bool(DonneesJSONDISCOGSArtiste\id)
        Case 2:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSParution,JSONDISCOGS_RELEASEBYID):AffichageResultats=Bool(DonneesJSONDISCOGSParution\id)
        Case 3:ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSMaster,JSONDISCOGS_MASTERBYID):AffichageResultats=Bool(DonneesJSONDISCOGSMaster\id)
      EndSelect
      SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"1")
	    FreeJSON(#JSON)
  	EndIf
    FreeMemory(*RetourDISCOGS)
  EndIf
  SetGadgetState(#GAD_FP_BP_JAUGE,100)
  If AffichageResultats
    If IsWindow(#FEN_RESULTATS)
      If GetWindowData(#FEN_RESULTATS)<>ArgTypeRecherche
        CloseWindow(#FEN_RESULTATS)
      Else
        OuvertureFenetre=#False:FenetreOuverte=#True
      EndIf
    EndIf
    If OuvertureFenetre
      FenetreOuverte=Fc_FenResultats_Affichage(ArgTypeRecherche)
    EndIf
    If FenetreOuverte
      Select ArgTypeRecherche
        Case 0:Pc_AffichageResultats_ArtisteParID(@DonneesJSONDISCOGSArtiste)
        Case 2:Pc_AffichageResultats_ParutionParID(@DonneesJSONDISCOGSParution)
        Case 3:Pc_AffichageResultats_MasterParID(@DonneesJSONDISCOGSMaster)
      EndSelect
      HideWindow(#FEN_RESULTATS,#False)
    EndIf
  EndIf
EndProcedure
Procedure   Pc_DISCOGS_RechercheObjetParIDAvecPagination(ArgTypeRecherche.a,ArgID.s="")
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_PAGINATION DonneesJSONDISCOGSPagination
  Protected.JSONDISCOGS_ARTISTRELEASESBYID JeuDonneesJSONDISCOGSParutions
  Protected.JSONDISCOGS_MASTERVERSIONSBYID JeuDonneesJSONDISCOGSMasters
  Protected.i IDJSON
  Protected.u NoGadgetTri,NoGadgetOrdreTri,NoGadgetPages,Annee
  Static.JSONDISCOGS_ARTISTRELEASESBYID DonneesJSONDISCOGSParutions
  Static.JSONDISCOGS_MASTERVERSIONSBYID DonneesJSONDISCOGSMasters
  Static.f Ratio
  Static.s RequeteHTTP,ParametresRequete
  Static.a AnalyseComplete,AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  
  If ArgID<>""
    AnalyseComplete=#False:AffichageResultats=#False:OuvertureFenetre=#True:FenetreOuverte=#False:Ratio=0
    Select ArgTypeRecherche
      Case 1
        InitializeStructure(@DonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
        NoGadgetTri=#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI
        NoGadgetOrdreTri=#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI
        NoGadgetPages=#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE
      Case 4
        ParametresRequete=""
        InitializeStructure(@DonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE)
          Annee=Val(GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE))
          If Annee<1900 Or Annee>Year(Date())
            MessageRequester(#TITREBOITEDIALOGUE,"L'année saisie ne semble pas valide !",#PB_MessageRequester_Error)
            ProcedureReturn
          EndIf
          ParametresRequete+"&released="+Str(Annee)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)
          ParametresRequete+"&format="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)
          ParametresRequete+"&label="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)
        EndIf
        If GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)
          ParametresRequete+"&country="+GetGadgetText(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)
        EndIf
        NoGadgetTri=#GAD_FP_LS_PARAMVERSIONSMASTER_TRI
        NoGadgetOrdreTri=#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI
        NoGadgetPages=#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE
    EndSelect
    Select GetGadgetState(NoGadgetTri)
      Case 1:ParametresRequete+"&sort=title"
      Case 2:ParametresRequete+"&sort=format"
      Case 3
        Select ArgTypeRecherche
          Case 1:ParametresRequete+"&sort=year"
          Case 4:ParametresRequete+"&sort=released"
        EndSelect
      Case 4:ParametresRequete+"&sort=country"
      Case 5:ParametresRequete+"&sort=label"
      Case 6:ParametresRequete+"&sort=label"
    EndSelect
    If ParametresRequete
      Select GetGadgetState(NoGadgetOrdreTri)
        Case 1:ParametresRequete+"&sort_order=asc"
        Case 2:ParametresRequete+"&sort_order=desc"
      EndSelect
    EndIf
    Select GetGadgetState(NoGadgetPages)
      Case 0,2:ParametresRequete+"&per_page="+GetGadgetText(NoGadgetPages)
    EndSelect
    Select ArgTypeRecherche
      Case 1:RequeteHTTP="artists/ArgID/releases"
      Case 4:RequeteHTTP="masters/ArgID/versions"
    EndSelect
    RequeteHTTP=#DISCOGSCHEMINAPI+ReplaceString(RequeteHTTP,"ArgID",ArgID)+"?"+ParametresRequete+Mc_ClesDISCOGS()
    Ratio=0
    HideGadget(#GAD_FP_LIB_PAGE,#False)
    HideGadget(#GAD_FP_LIB_NBPAGES,#False)
  EndIf
  *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
  If *RetourDISCOGS
    IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
		FreeMemory(*RetourDISCOGS)
  	If IDJSON
  	  ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSPagination,JSONDISCOGS_PAGINATION)
  	  If DonneesJSONDISCOGSPagination\pagination\page=1
  	    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,Str(DonneesJSONDISCOGSPagination\pagination\items))
  	    Ratio=100/DonneesJSONDISCOGSPagination\pagination\pages
  	  EndIf
	    SetGadgetText(#GAD_FP_LIB_NBPAGES,Str(DonneesJSONDISCOGSPagination\pagination\page)+"/"+Str(DonneesJSONDISCOGSPagination\pagination\pages))
	    If DonneesJSONDISCOGSPagination\pagination\items
        Select ArgTypeRecherche
          Case 1
            ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
            ForEach JeuDonneesJSONDISCOGSParutions\releases()
              AddElement(DonneesJSONDISCOGSParutions\releases())
              DonneesJSONDISCOGSParutions\releases()=JeuDonneesJSONDISCOGSParutions\releases()
            Next
          Case 4
            ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
            ForEach JeuDonneesJSONDISCOGSMasters\versions()
              AddElement(DonneesJSONDISCOGSMasters\versions())
              DonneesJSONDISCOGSMasters\versions()=JeuDonneesJSONDISCOGSMasters\versions()
            Next
        EndSelect
      Else
        MessageRequester(#TITREBOITEDIALOGUE,"Aucune donnée récupérée !",#PB_MessageRequester_Warning)
	    EndIf
	    FreeJSON(#JSON)
		EndIf
		SetGadgetState(#GAD_FP_BP_JAUGE,DonneesJSONDISCOGSPagination\pagination\page*Ratio)
		While WindowEvent():Wend
		If DonneesJSONDISCOGSPagination\pagination\page<DonneesJSONDISCOGSPagination\pagination\pages
		  If DonneesJSONDISCOGSPagination\pagination\page=1
		    AnalyseComplete=Bool(MessageRequester(#TITREBOITEDIALOGUE,"Il reste "+Str(DonneesJSONDISCOGSPagination\pagination\pages-1)+UnescapeString(" page(s) à examiner !\n\nAnalyser aussi cette/ces page(s) ?"),#PB_MessageRequester_YesNo)=#PB_MessageRequester_Yes)
		  EndIf
		  If AnalyseComplete
	      RequeteHTTP=DonneesJSONDISCOGSPagination\pagination\urls\next
	      Pc_DISCOGS_RechercheObjetParIDAvecPagination(ArgTypeRecherche)
		  EndIf
		EndIf
		If (DonneesJSONDISCOGSPagination\pagination\page=DonneesJSONDISCOGSPagination\pagination\pages Or Not AnalyseComplete) And DonneesJSONDISCOGSPagination\pagination\items
      Select ArgTypeRecherche
        Case 1:AffichageResultats=Bool(ListSize(DonneesJSONDISCOGSParutions\releases()))
        Case 4
          DonneesJSONDISCOGSMasters\filters=JeuDonneesJSONDISCOGSMasters\filters
          ForEach JeuDonneesJSONDISCOGSMasters\filter_facets()
            AddElement(DonneesJSONDISCOGSMasters\filter_facets())
            DonneesJSONDISCOGSMasters\filter_facets()=JeuDonneesJSONDISCOGSMasters\filter_facets()
          Next
          AffichageResultats=Bool(ListSize(DonneesJSONDISCOGSMasters\versions()))
      EndSelect
      If AffichageResultats
        If IsWindow(#FEN_RESULTATS)
          If GetWindowData(#FEN_RESULTATS)<>ArgTypeRecherche
            CloseWindow(#FEN_RESULTATS)
          Else
            OuvertureFenetre=#False:FenetreOuverte=#True
          EndIf
        EndIf
        If OuvertureFenetre
          FenetreOuverte=Fc_FenResultats_Affichage(ArgTypeRecherche)
        EndIf
        If FenetreOuverte
          Select ArgTypeRecherche
            Case 1:Pc_AffichageResultats_ParutionsArtiste(@DonneesJSONDISCOGSParutions)
            Case 4:Pc_AffichageResultats_VersionsMaster(@DonneesJSONDISCOGSMasters)
          EndSelect
          HideWindow(#FEN_RESULTATS,#False)
          SetWindowTitle(#FEN_RESULTATS,#TITREFENETRERESULTATS+" ("+Str(DonneesJSONDISCOGSPagination\pagination\items)+" élément(s))")
          SetActiveGadget(#GAD_FR_LS_LISTEICONES01)
      EndIf
      EndIf
      ClearStructure(@DonneesJSONDISCOGSParutions,JSONDISCOGS_ARTISTRELEASESBYID)
      ClearStructure(@DonneesJSONDISCOGSMasters,JSONDISCOGS_MASTERVERSIONSBYID)
  	EndIf
  EndIf
  HideGadget(#GAD_FP_LIB_PAGE,#True)
  HideGadget(#GAD_FP_LIB_NBPAGES,#True)
EndProcedure

Procedure   Pc_DISCOGS_RechercheParID()
  Protected.u NoGadget
  Protected.a NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  Protected.s ChaineID,Chaine
  
  Select NoItem
    Case 0:NoGadget=#GAD_FP_CP_PARAMARTISTE_IDARTISTE:Chaine="ID artiste"
    Case 1:NoGadget=#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE:Chaine="ID artiste"
    Case 2:NoGadget=#GAD_FP_CP_PARAMPARUTION_IDPARUTION:Chaine="ID parution"
    Case 3:NoGadget=#GAD_FP_CP_PARAMMASTER_IDMASTER:Chaine="ID master"
    Case 4:NoGadget=#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER:Chaine="ID master"
  EndSelect
  ChaineID=Trim(GetGadgetText(NoGadget))
  If ChaineID=""
    MessageRequester(#TITREBOITEDIALOGUE,"Le champ "+Chaine+" doit être saisi !",#PB_MessageRequester_Warning)
    ProcedureReturn
  EndIf
  SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"")
  HideGadget(#GAD_FP_BP_JAUGE,#False)
  Select NoItem
    Case 0,2,3:Pc_DISCOGS_RechercheObjetParID(NoItem,ChaineID)
    Case 1,4:Pc_DISCOGS_RechercheObjetParIDAvecPagination(NoItem,ChaineID)
  EndSelect
  SetGadgetState(#GAD_FP_BP_JAUGE,0)
  HideGadget(#GAD_FP_BP_JAUGE,#True)
EndProcedure
Procedure   Pc_DISCOGS_RechercheGenerale()
  Protected *RetourDISCOGS
  Protected.JSONDISCOGS_PAGINATION DonneesJSONDISCOGSPagination
  Protected.JSONDISCOGS_SEARCH JeuDonneesJSONDISCOGS
  Protected.i IDJSON
  Protected.s Chaine
  Static.JSONDISCOGS_SEARCH DonneesJSONDISCOGS
  Static.f Ratio
  Static.a AnalyseComplete,AffichageResultats,OuvertureFenetre=#True,FenetreOuverte
  Static.s RequeteHTTP,ParametresRequete
  
  If RequeteHTTP=""
    InitializeStructure(@DonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
    ParametresRequete=""
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE))
    If Chaine:ParametresRequete="q="+Chaine:EndIf
    Select GetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE)
      Case 1:Chaine="artist"
      Case 2:Chaine="release"
      Case 3:Chaine="master"
      Case 4:Chaine="label"
      Default:Chaine=""
    EndSelect
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"type="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"title="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"release_title="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"artist="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"anv="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"track="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"credit="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"format="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"year="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_GENRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"genre="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_STYLE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"style="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_LABEL))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"label="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_PAYS))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"country="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"catno="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"barcode="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"submitter="+Chaine:EndIf
    Chaine=Mc_FormatageChaineRecherche(GetGadgetText(#GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR))
    If Chaine:If ParametresRequete:ParametresRequete+"&":EndIf:ParametresRequete+"contributor="+Chaine:EndIf
    If ParametresRequete
      If GetGadgetState(#GAD_FR_CC_RECHERCHEEXACTE):Chaine+"&strict=true":EndIf
      Select GetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)
        Case 0,2:ParametresRequete+"&per_page="+GetGadgetText(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)
      EndSelect
      RequeteHTTP=#DISCOGSCHEMINBASEAPI+"search?"+ParametresRequete+Mc_ClesDISCOGS()
    EndIf
    Ratio=0
    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,"")
    HideGadget(#GAD_FP_BP_JAUGE,#False)
    HideGadget(#GAD_FP_LIB_PAGE,#False)
    HideGadget(#GAD_FP_LIB_NBPAGES,#False)
  EndIf
  If RequeteHTTP
    *RetourDISCOGS=Fc_Requete_SiteInternet(RequeteHTTP)
    If *RetourDISCOGS
      IDJSON=CatchJSON(#JSON,*RetourDISCOGS,MemorySize(*RetourDISCOGS),#PB_JSON_NoCase)
    	If IDJSON
  	    ExtractJSONStructure(JSONValue(#JSON),@DonneesJSONDISCOGSPagination,JSONDISCOGS_PAGINATION)
    	  If DonneesJSONDISCOGSPagination\pagination\page=1
    	    SetGadgetText(#GAD_FP_LIB_NBELEMENTS,Str(DonneesJSONDISCOGSPagination\pagination\items))
    	    Ratio=100/DonneesJSONDISCOGSPagination\pagination\pages
    	  EndIf
        SetGadgetText(#GAD_FP_LIB_NBPAGES,Str(DonneesJSONDISCOGSPagination\pagination\page)+"/"+Str(DonneesJSONDISCOGSPagination\pagination\pages))
        If DonneesJSONDISCOGSPagination\pagination\items
          ExtractJSONStructure(JSONValue(#JSON),@JeuDonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
          ForEach JeuDonneesJSONDISCOGS\results()
            AddElement(DonneesJSONDISCOGS\results())
            DonneesJSONDISCOGS\results()=JeuDonneesJSONDISCOGS\results()
          Next
        Else
          MessageRequester(#TITREBOITEDIALOGUE,"Aucune donnée récupérée !",#PB_MessageRequester_Warning)
        EndIf
        FreeJSON(#JSON)
      EndIf
		  FreeMemory(*RetourDISCOGS)
  		SetGadgetState(#GAD_FP_BP_JAUGE,DonneesJSONDISCOGSPagination\pagination\page*Ratio)
  		While WindowEvent():Wend
  		If DonneesJSONDISCOGSPagination\pagination\page<DonneesJSONDISCOGSPagination\pagination\pages
  		  If DonneesJSONDISCOGSPagination\pagination\page=1
  		    AnalyseComplete=Bool(MessageRequester(#TITREBOITEDIALOGUE,"Il reste "+Str(DonneesJSONDISCOGSPagination\pagination\pages-1)+UnescapeString(" page(s) à examiner !\n\nAnalyser aussi cette/ces page(s) ?"),#PB_MessageRequester_YesNo)=#PB_MessageRequester_Yes)
  		  EndIf
  		  If AnalyseComplete
  	      RequeteHTTP=DonneesJSONDISCOGSPagination\pagination\urls\next
  	      Pc_DISCOGS_RechercheGenerale()
  		  EndIf
  		EndIf
  		If (DonneesJSONDISCOGSPagination\pagination\page=DonneesJSONDISCOGSPagination\pagination\pages Or Not AnalyseComplete) And DonneesJSONDISCOGSPagination\pagination\items
        AffichageResultats=Bool(ListSize(DonneesJSONDISCOGS\results()))
        If AffichageResultats
          If IsWindow(#FEN_RESULTATS)
            If GetWindowData(#FEN_RESULTATS)<>5
              CloseWindow(#FEN_RESULTATS)
            Else
              OuvertureFenetre=#False:FenetreOuverte=#True
            EndIf
          EndIf
          If OuvertureFenetre
            FenetreOuverte=Fc_FenResultats_Affichage(5)
          EndIf
          If FenetreOuverte
            Pc_AffichageResultats_RechercheGenerale(@DonneesJSONDISCOGS)
            HideWindow(#FEN_RESULTATS,#False)
            SetWindowTitle(#FEN_RESULTATS,#TITREFENETRERESULTATS+" ("+Str(DonneesJSONDISCOGSPagination\pagination\items)+" élément(s))")
            SetActiveGadget(#GAD_FR_LS_LISTEICONES01)
          EndIf
        EndIf
        ClearStructure(@DonneesJSONDISCOGS,JSONDISCOGS_SEARCH)
    	EndIf
    EndIf
  EndIf
  RequeteHTTP=""
  HideGadget(#GAD_FP_LIB_PAGE,#True)
  HideGadget(#GAD_FP_LIB_NBPAGES,#True)
  SetGadgetState(#GAD_FP_BP_JAUGE,0)
  HideGadget(#GAD_FP_BP_JAUGE,#True)
EndProcedure
Procedure   Pc_DISCOGS_LancementRecherche()
  Protected.a NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  
  Select NoItem
    Case 0 To 4:Pc_DISCOGS_RechercheParID()
    Case 5:Pc_DISCOGS_RechercheGenerale()
  EndSelect
EndProcedure
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════

boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Partie 2 :

Code : Tout sélectionner

; ╔═════════════════════════╗
; ║ PROCEDURES FENETRES XML ║
; ╚═════════════════════════╝
Procedure.a Fc_Fenetres_OuvertureDialogueXML(ArgArbreXML.u,ArgDialogueXML.u,ArgChaineXML.s,ArgNomFenetre.s,ArgIdFenetreParente.i=0)
  Protected.i NoDialogue
  Protected.a TypeErreur
  Protected.s MsgErreur

  If ArgChaineXML
    If ParseXML(ArgArbreXML,ArgChaineXML)
      If XMLStatus(ArgArbreXML)=#PB_XML_Success
        If CreateDialog(ArgDialogueXML)
          If ArgIdFenetreParente<>0
            NoDialogue=OpenXMLDialog(ArgDialogueXML,ArgArbreXML,ArgNomFenetre,0,0,0,0,ArgIdFenetreParente)
          Else
            NoDialogue=OpenXMLDialog(ArgDialogueXML,ArgArbreXML,ArgNomFenetre,0,0,0,0)
          EndIf
          If NoDialogue
            FreeXML(ArgArbreXML)
            ProcedureReturn #True
          Else
            TypeErreur=3
          EndIf
          FreeDialog(ArgDialogueXML)
        Else
          TypeErreur=2
        EndIf
        FreeXML(ArgArbreXML)
      Else
        TypeErreur=1
        MsgErreur="Erreur durant l'interprétation du dialogue XML !"
      EndIf
    Else
      TypeErreur=1
      MsgErreur="Erreur durant la lecture des données du dialogue XML !"
    EndIf
  EndIf
  Select TypeErreur
    Case 1:MsgErreur+"\n\n  No erreur : "+XMLStatus(ArgArbreXML)+" - "+XMLError(ArgArbreXML)+"\n  Ligne : "+Str(XMLErrorLine(ArgArbreXML))+" - Colonne : "+Str(XMLErrorPosition(ArgArbreXML))
    Case 2:MsgErreur="Erreur durant la création de la fenêtre de dialogue !"
    Case 3:MsgErreur="Erreur durant l'ouverture de la fenêtre de dialogue !\n\nErreur : "+DialogError(ArgDialogueXML)
  EndSelect
  MessageRequester(#TITREBOITEDIALOGUE,UnescapeString(MsgErreur),#PB_MessageRequester_Error)
EndProcedure
; ╔══════════════════════════════╗
; ║ PROCEDURES FENETRE RESULTATS ║
; ╚══════════════════════════════╝
Procedure.a Fc_FenResultats_Affichage(ArgTypeRecherche.a)
  Protected.a ValeurRetour
  Protected.s ChaineXML
  
  If Not IsImage(#IMG_DISCOGS)
    CatchImage(#IMG_DISCOGS,?ImageDiscogs_Debut,?ImageDiscogs_Fin-?ImageDiscogs_Debut)
  EndIf
  If Not IsImage(#IMG_LECTUREVIDEO)
    CatchImage(#IMG_LECTUREVIDEO,?ImageLectureVideo_Debut,?ImageLectureVideo_Fin-?ImageLectureVideo_Debut)
  EndIf
  Select ArgTypeRecherche
    Case 0 ; Recherche Artiste par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Nom artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Nom complet :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Autres noms :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='80'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Parutions :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Profil :")+"'/>"+Chr(10)+
                "        <editor id='"+Str(#GAD_FR_ED_EDITEUR01)+"' name='GAD_FR_ED_EDITEUR01' height='80' flags='#PB_Editor_ReadOnly|#PB_Editor_WordWrap'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Alias :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Membres :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Groupes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 1 ; Recherche Parutions par ID Artiste
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Parution principale :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Statut : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Rôle :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP10)+"' name='GAD_FR_CP_CHAMP10' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 2 ; Recherche Parution par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='1000' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='3' colspacing='8' colexpand='equal'>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Date de parution : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Date ajout :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Date modification :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Note :")+"'/>"+Chr(10)+
                "        <editor id='"+Str(#GAD_FR_ED_EDITEUR01)+"' name='GAD_FR_ED_EDITEUR01' height='80' flags='#PB_Editor_ReadOnly|#PB_Editor_WordWrap'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE02)+"' name='GAD_FR_IMG_IMAGE02' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Images :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_IMAGES)+"' name='GAD_FR_LS_IMAGES' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENIMAGE)+"' name='GAD_FR_BT_LIENIMAGE'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='64'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='64'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='#GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Formats :")+"'/>"+Chr(10)+
                "        <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Labels :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE14)+"' name='GAD_FR_LIB_LIBELLE14' text='"+Mc_FormatageXML("Compagnies :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE15)+"' name='GAD_FR_LIB_LIBELLE15' text='"+Mc_FormatageXML("Identifiants :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES04)+"' name='GAD_FR_LS_LISTEICONES04' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE3)+"' name='GAD_FR_BG_GRILLE3' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE16)+"' name='GAD_FR_LIB_LIBELLE16' text='"+Mc_FormatageXML("Artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES05)+"' name='GAD_FR_LS_LISTEICONES05' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE17)+"' name='GAD_FR_LIB_LIBELLE17' text='"+Mc_FormatageXML("Tri artiste :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE18)+"' name='GAD_FR_LIB_LIBELLE18' text='"+Mc_FormatageXML("Autres artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES06)+"' name='GAD_FR_LS_LISTEICONES06' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE19)+"' name='GAD_FR_LIB_LIBELLE19' text='"+Mc_FormatageXML("Pistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES07)+"' name='GAD_FR_LS_LISTEICONES07' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE20)+"' name='GAD_FR_LIB_LIBELLE20' text='"+Mc_FormatageXML("Vidéos :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES08)+"' name='GAD_FR_LS_LISTEICONES08' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON05)+"' name='GAD_FR_BT_BOUTON05'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </gridbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 3 ; Recherche Master par ID
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='1000' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='8' colexpand='equal'>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Master :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty height='4'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("URL versions : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Parution principale :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("URL Parution principale :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Parution + récente :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("URL Parution + récente :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON03)+"' name='GAD_FR_BT_BOUTON03'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='100'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "        <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='100'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='#GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Artistes :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON04)+"' name='GAD_FR_BT_BOUTON04'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Pistes :")+"'/>"+Chr(10)+
                "        <listicon id='"+Str(#GAD_FR_LS_LISTEICONES02)+"' name='GAD_FR_LS_LISTEICONES02' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' rowspacing='16' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Images :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_IMAGES)+"' name='GAD_FR_LS_IMAGES' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON05)+"' name='GAD_FR_BT_BOUTON05'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Vidéos :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <listicon id='"+Str(#GAD_FR_LS_LISTEICONES03)+"' name='GAD_FR_LS_LISTEICONES03' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_BOUTON06)+"' name='GAD_FR_BT_BOUTON06'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </gridbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 4
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID Parution :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Statut :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Date parution : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Formats principaux :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <vbox expand='no' align='center' spacing='0'>"+Chr(10)+
                "            <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "          </vbox> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
    Case 5
      ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
                "<dialogs>"+Chr(10)+
                "  <window id='"+Str(#FEN_RESULTATS)+"' name='FEN_RESULTATS' text='"+Mc_FormatageXML(#TITREFENETRERESULTATS)+"' xpos='0' ypos='0' minwidth='600' minheight='auto' margin='top:16,bottom:8,horizontal:16' flags='#PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_SizeGadget|#PB_Window_ScreenCentered'>"+Chr(10)+
                "    <vbox expand='item:1' spacing='8'>"+Chr(10)+
                "      <listicon id='"+Str(#GAD_FR_LS_LISTEICONES01)+"' name='GAD_FR_LS_LISTEICONES01' height='100' flags='#PB_ListIcon_GridLines|#PB_ListIcon_FullRowSelect|#PB_ListIcon_AlwaysShowSelection'/>"+Chr(10)+
                "      <gridbox id='"+Str(#GAD_FR_BG_RESULTATS)+"' name='GAD_FR_BG_RESULTATS' disabled='yes' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_IDOBJET)+"' name='GAD_FR_LIB_IDOBJET' text='"+Mc_FormatageXML("ID :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_IDOBJET)+"' name='GAD_FR_CP_IDOBJET' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE01)+"' name='GAD_FR_LIB_LIBELLE01' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP01)+"' name='GAD_FR_CP_CHAMP01' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE02)+"' name='GAD_FR_LIB_LIBELLE02' text='"+Mc_FormatageXML("Nom/Titre :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP02)+"' name='GAD_FR_CP_CHAMP02' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE03)+"' name='GAD_FR_LIB_LIBELLE03' text='"+Mc_FormatageXML("Année : ")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP03)+"' name='GAD_FR_CP_CHAMP03' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE04)+"' name='GAD_FR_LIB_LIBELLE04' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP04)+"' name='GAD_FR_CP_CHAMP04' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE05)+"' name='GAD_FR_LIB_LIBELLE05' text='"+Mc_FormatageXML("ID master :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP05)+"' name='GAD_FR_CP_CHAMP05' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE06)+"' name='GAD_FR_LIB_LIBELLE06' text='"+Mc_FormatageXML("URL master :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' align=''>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP06)+"' name='GAD_FR_CP_CHAMP06' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON01)+"' name='GAD_FR_BT_BOUTON01'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE07)+"' name='GAD_FR_LIB_LIBELLE07' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP07)+"' name='GAD_FR_CP_CHAMP07' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURI)+"' name='GAD_FR_LIB_LIENURI' text='"+Mc_FormatageXML("Identifiant URI :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURI)+"' name='GAD_FR_CP_LIENURI' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURI)+"' name='GAD_FR_BT_LIENURI'/>"+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE08)+"' name='GAD_FR_LIB_LIBELLE08' text='"+Mc_FormatageXML("Pochette :")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' align=''>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_CHAMP08)+"' name='GAD_FR_CP_CHAMP08' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_BOUTON02)+"' name='GAD_FR_BT_BOUTON02'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIBELLE09)+"' name='GAD_FR_LIB_LIBELLE09' text='"+Mc_FormatageXML("Miniature :")+"'/>"+Chr(10)+
                "        <string id='"+Str(#GAD_FR_CP_CHAMP09)+"' name='GAD_FR_CP_CHAMP09' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "        <empty/>"+Chr(10)+
                "        <hbox expand='no' align='center'>"+Chr(10)+
                "          <image id='"+Str(#GAD_FR_IMG_IMAGE01)+"' name='GAD_FR_IMG_IMAGE01' width='150' height='150'/> "+Chr(10)+
                "        </hbox>"+Chr(10)+
                "        <text id='"+Str(#GAD_FR_LIB_LIENURL)+"' name='GAD_FR_LIB_LIENURL' text='"+Mc_FormatageXML("Lien URL : ")+"'/>"+Chr(10)+
                "        <hbox expand='item:1' spacing='2'>"+Chr(10)+
                "          <string id='"+Str(#GAD_FR_CP_LIENURL)+"' name='GAD_FR_CP_LIENURL' flags='#PB_String_ReadOnly'/>"+Chr(10)+
                "          <buttonimage id='"+Str(#GAD_FR_BT_LIENURL)+"' name='GAD_FR_BT_LIENURL'/> "+Chr(10)+
                "        </hbox> "+Chr(10)+
                "      </gridbox>"+Chr(10)+
                "      <hbox expand='equal' spacing='4'>"+Chr(10)+
                "        <gridbox id='"+Str(#GAD_FR_BG_GRILLE1)+"' name='GAD_FR_BG_GRILLE1' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE10)+"' name='GAD_FR_LIB_LIBELLE10' text='"+Mc_FormatageXML("Formats :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE01)+"' name='GAD_FR_LS_LISTEVUE01' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE11)+"' name='GAD_FR_LIB_LIBELLE11' text='"+Mc_FormatageXML("Labels :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE02)+"' name='GAD_FR_LS_LISTEVUE02' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE14)+"' name='GAD_FR_LIB_LIBELLE14' text='"+Mc_FormatageXML("Codes-barres :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE03)+"' name='GAD_FR_LS_LISTEVUE05' height='64'/>"+Chr(10)+
                "        </gridbox>"+Chr(10)+
                "        <gridbox id='"+Str(#GAD_FR_BG_GRILLE2)+"' name='GAD_FR_BG_GRILLE2' columns='2' colspacing='4' colexpand='item:2'>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE12)+"' name='GAD_FR_LIB_LIBELLE12' text='"+Mc_FormatageXML("Genres :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE04)+"' name='GAD_FR_LS_LISTEVUE03' height='64'/>"+Chr(10)+
                "          <text id='"+Str(#GAD_FR_LIB_LIBELLE13)+"' name='GAD_FR_LIB_LIBELLE13' text='"+Mc_FormatageXML("Styles :")+"'/>"+Chr(10)+
                "          <listview id='"+Str(#GAD_FR_LS_LISTEVUE05)+"' name='GAD_FR_LS_LISTEVUE04' height='64'/>"+Chr(10)+
                "        </gridbox> "+Chr(10)+
                "      </hbox> "+Chr(10)+
                "    </vbox> "+Chr(10)+
                "  </window>"+Chr(10)+
                "</dialogs>" ;}
  EndSelect
boddhi
Messages : 604
Inscription : lun. 26/avr./2010 16:14
Localisation : S 48° 52' 31'' / O 123° 23' 33''

Re: Discogs (Utilisation de l'API)

Message par boddhi »

Partie 3 et fin :

Code : Tout sélectionner

  If ChaineXML
    ValeurRetour=Fc_Fenetres_OuvertureDialogueXML(#ARBRE_XML,#XML_FENRESULTATS,ChaineXML,"FEN_RESULTATS")
    If ValeurRetour
      SetWindowData(#FEN_RESULTATS,ArgTypeRecherche)
      SetGadgetData(#GAD_FR_BT_LIENURL,#GAD_FR_CP_LIENURL)
      SetGadgetAttribute(#GAD_FR_BT_LIENURL,#PB_Button_Image,ImageID(#IMG_DISCOGS))
      Select ArgTypeRecherche
        Case 0 ;{ Recherche Artiste par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Parutions
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Alias
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_LS_LISTEICONES01)
          SetGadgetData(#GAD_FR_LS_LISTEICONES01,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Lien Internet",280)
          ; Membres
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_LS_LISTEICONES02)
          SetGadgetData(#GAD_FR_LS_LISTEICONES02,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"Lien Internet",280)
          ; Groupes
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES03)
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,2)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"Lien Internet",280)
          ;}
        Case 1 ;{ Recherche Parutions par Artiste
          ; Parutions
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Parution princ.",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Statut",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Type",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Artiste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"Année",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"Label",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Format",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,11,"Lien URL",100)
          ;}
        Case 2 ;{ Recherche Parution par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Images
          SetGadgetData(#GAD_FR_BT_LIENIMAGE,#GAD_FR_LS_IMAGES)
          SetGadgetAttribute(#GAD_FR_BT_LIENIMAGE,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_IMAGES,3)
          SetGadgetItemAttribute(#GAD_FR_LS_IMAGES,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_IMAGES,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,1,"Dimensions",72)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,2,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,3,"Lien URL",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,4,"Identifiant URI 150",100)
          ; Formats
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Qté",40)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Descriptions",200)
          ; Labels
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_LS_LISTEICONES02)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES02,5)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"No Catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,3,"Type entité",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,4,"Nom entité",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,5,"Lien URL",100)
          ; Compagnies
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_LS_LISTEICONES03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,5)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"No Catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,3,"Type entité",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,4,"Nom entité",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,5,"Lien URL",100)
          ; Identifiants
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES04,0,#PB_ListIcon_ColumnWidth,200,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES04,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES04,1,"Valeur",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES04,2,"Description",100)
          ; Artistes
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_LS_LISTEICONES05)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES05,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES05,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES05,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES05,6,"Lien Internet",200)
          ; Autres artistes
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES06)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES06,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES06,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES06,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES06,6,"Lien Internet",200)
          ; Pistes
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES07,0,#PB_ListIcon_ColumnWidth,56,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES07,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,1,"Position",72)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,2,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES07,3,"Durée",56)
          ; Vidéos
          SetGadgetData(#GAD_FR_BT_BOUTON05,#GAD_FR_LS_LISTEICONES08)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON05,#PB_Button_Image,ImageID(#IMG_LECTUREVIDEO))
          SetGadgetData(#GAD_FR_LS_LISTEICONES08,3)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES08,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES08,-1,"Titre",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,1,"Durée",56)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,2,"Description",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES08,3,"URL",100)
          ;}
        Case 3 ;{ Recherche Master par ID
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Versions
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Parution principale
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_CP_CHAMP05)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; URL Parution + récente
          SetGadgetData(#GAD_FR_BT_BOUTON03,#GAD_FR_CP_CHAMP07)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON03,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Artistes
          SetGadgetData(#GAD_FR_BT_BOUTON04,#GAD_FR_LS_LISTEICONES01)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON04,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_LISTEICONES01,6)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Nom",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Variantes",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Arrivée",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Rôle",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Piste",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Lien Internet",200)
          ; Pistes
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES02,0,#PB_ListIcon_ColumnWidth,56,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES02,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,1,"Position",72)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,2,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES02,3,"Durée",56)
          ; Images
          SetGadgetData(#GAD_FR_BT_BOUTON05,#GAD_FR_LS_IMAGES)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON05,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          SetGadgetData(#GAD_FR_LS_IMAGES,3)
          SetGadgetItemAttribute(#GAD_FR_LS_IMAGES,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_IMAGES,-1,"Type",0)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,1,"Dimensions",72)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,2,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,3,"Lien URL",100)
          AddGadgetColumn(#GAD_FR_LS_IMAGES,4,"Identifiant URI 150",100)
          ; Vidéos
          SetGadgetData(#GAD_FR_BT_BOUTON06,#GAD_FR_LS_LISTEICONES03)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON06,#PB_Button_Image,ImageID(#IMG_LECTUREVIDEO))
          SetGadgetData(#GAD_FR_LS_LISTEICONES03,3)
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES03,0,#PB_ListIcon_ColumnWidth,100,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES03,-1,"Titre",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,1,"Durée",56)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,2,"Description",200)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES03,3,"URL",100)
          ;}
        Case 4 ;{ Recherche Versions par Master
          ; Versions
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Statut",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Année",64)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Formats principaux",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"Format",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"Label",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"Pays",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"No catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Lien URL",100)
          ;}
        Case 5 ;{ Recherche générale
          SetGadgetData(#GAD_FR_BT_LIENURI,#GAD_FR_CP_LIENURI)
          SetGadgetAttribute(#GAD_FR_BT_LIENURI,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Resultats
          SetGadgetItemAttribute(#GAD_FR_LS_LISTEICONES01,0,#PB_ListIcon_ColumnWidth,80,0)
          SetGadgetItemText(#GAD_FR_LS_LISTEICONES01,-1,"ID",0)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,1,"Type",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,2,"Nom/Titre",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,3,"Année",64)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,4,"Pays",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,5,"ID master",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,6,"URL master",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,7,"No catalogue",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,8,"Pochette",80)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,9,"Formats",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,10,"Labels",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,11,"Codes-barres",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,12,"Genres",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,13,"Styles",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,14,"Miniature",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,15,"Identifiant URI",100)
          AddGadgetColumn(#GAD_FR_LS_LISTEICONES01,16,"Lien URL",100)
          ; URL master
          SetGadgetData(#GAD_FR_BT_BOUTON01,#GAD_FR_CP_CHAMP06)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON01,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ; Pochette
          SetGadgetData(#GAD_FR_BT_BOUTON02,#GAD_FR_CP_CHAMP08)
          SetGadgetAttribute(#GAD_FR_BT_BOUTON02,#PB_Button_Image,ImageID(#IMG_DISCOGS))
          ;}
      EndSelect
    EndIf
  EndIf
  ProcedureReturn ValeurRetour
EndProcedure
; ╔═══════════════════════════════╗
; ║ PROCEDURES FENETRE PRINCIPALE ║
; ╚═══════════════════════════════╝
Procedure   Pc_FenPrincipale_GestionConteneursParametres()
  Protected.b NoItem=GetGadgetState(#GAD_FP_LS_TYPESRECHERCHE)
  Protected.u ConteneurActif=GetGadgetData(#GAD_FP_LS_TYPESRECHERCHE),ConteneurSelectionne=GetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,NoItem)
  
  If ConteneurSelectionne<>ConteneurActif
    HideGadget(ConteneurActif,#True)
    HideGadget(ConteneurSelectionne,#False)
    SetGadgetData(#GAD_FP_LS_TYPESRECHERCHE,ConteneurSelectionne)
    SetActiveGadget(GetGadgetData(ConteneurSelectionne))
  EndIf
EndProcedure
Procedure   Pc_FenPrincipale_GestionEvenements()
  Protected.l NoFenetre,Evenmt,EvenmtMenu,TypeEvenmt,NoGadget

  Repeat
    NoFenetre=EventWindow()
    Evenmt=WaitWindowEvent()
    TypeEvenmt=EventType()
    Select Evenmt
      Case #PB_Event_ActivateWindow
      Case #PB_Event_DeactivateWindow
      Case #PB_Event_Gadget
        NoGadget=EventGadget()
        Select TypeEvenmt
          Case #PB_EventType_Change
            Select NoGadget
              Case #GAD_FR_LS_IMAGES:Pc_Affichage_Image(NoGadget)
              Case #GAD_FR_LS_LISTEICONES01:Pc_Affichage_DonneesListe()
            EndSelect
          Case #PB_EventType_LeftClick
            Select NoGadget
              Case #GAD_FP_LS_TYPESRECHERCHE:Pc_FenPrincipale_GestionConteneursParametres()
              Case #GAD_FP_BT_RECHERCHER:Pc_DISCOGS_LancementRecherche()
              Case #GAD_FR_BT_LIENURI,#GAD_FR_BT_LIENURL,#GAD_FR_BT_LIENIMAGE,#GAD_FR_BT_BOUTON01,#GAD_FR_BT_BOUTON02,#GAD_FR_BT_BOUTON03,#GAD_FR_BT_BOUTON04,#GAD_FR_BT_BOUTON05,#GAD_FR_BT_BOUTON06:Pc_Ouverture_LienInternet(NoGadget)
            EndSelect
        EndSelect
      Case #PB_Event_CloseWindow
        Select NoFenetre
          Case #FEN_RESULTATS:CloseWindow(#FEN_RESULTATS)
          Case #FEN_RECHERCHEDB
            If IsWindow(#FEN_RESULTATS):CloseWindow(#FEN_RESULTATS):EndIf
            End
        EndSelect
      Case #PB_Event_Menu
        EvenmtMenu=EventMenu()
        Select EvenmtMenu
          Case #PB_Shortcut_Escape
        EndSelect
      Case #WM_KEYDOWN
      Case #WM_KEYUP
      Case #WM_SYSKEYDOWN
      Case #WM_SYSKEYUP
      Case #WM_SYSCOMMAND
    EndSelect
  ForEver
EndProcedure
Procedure   Pc_FenPrincipale_Affichage()
  Protected.a ValeurRetour
  Protected.s ChaineXML
  
  ChaineXML="<?xml version='1.0' encoding='UTF-16'?>"+Chr(10)+ ;{
            "<dialogs>"+Chr(10)+
            "  <window id='"+Str(#FEN_RECHERCHEDB)+"' name='FEN_RECHERCHEDB' text='"+Mc_FormatageXML("Recherche Base de données DISCOGS")+"' xpos='0' ypos='0' width='600' height='160' minwidth='auto' minheight='auto' maxheight='auto' margin='top:20,bottom:0' flags='#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_Invisible|#PB_Window_ScreenCentered'>"+Chr(10)+
            "    <vbox spacing='2'>"+Chr(10)+
            "      <hbox expand='item:3' spacing='8'>"+Chr(10)+
            "        <hbox expand='no' align='' spacing='24'>"+Chr(10)+
            "          <empty/> "+Chr(10)+
            "        </hbox>"+Chr(10)+
            "        <frame id='"+Str(#GAD_FP_CD_TYPERECHERCHE)+"' name='GAD_FP_CD_TYPERECHERCHE' text='"+Mc_FormatageXML("Type de recherche : ")+"'>"+Chr(10)+
            "          <listview id='"+Str(#GAD_FP_LS_TYPESRECHERCHE)+"' name='GAD_FP_LS_TYPESRECHERCHE' width='200'/> "+Chr(10)+
            "        </frame>"+Chr(10)+
            "        <frame id='"+Str(#GAD_FP_CD_PARAMETRESRECHERCHE)+"' name='GAD_FP_CD_PARAMETRESRECHERCHE' text='"+Mc_FormatageXML("Paramètres : ")+"'>"+Chr(10)+
            "          <multibox id='"+Str(#GAD_FP_BM_PARAMETRES)+"'>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESARTISTE)+"' name='GAD_FP_CT_PARAMETRESARTISTE'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESARTISTE)+"' name='GAD_FP_BG_PARAMETRESARTISTE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMARTISTE_IDARTISTE)+"' name='GAD_FP_LIB_PARAMARTISTE_IDARTISTE' text='"+Mc_FormatageXML("ID artiste* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMARTISTE_IDARTISTE)+"' name='GAD_FP_CP_PARAMARTISTE_IDARTISTE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE)+"' name='GAD_FP_CT_PARAMETRESPARUTIONSARTISTE' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESPARUTIONSARTISTE)+"' name='GAD_FP_BG_PARAMETRESPARUTIONSARTISTE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_IDARTISTE' text='"+Mc_FormatageXML("ID artiste* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE)+"' name='GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_TRI' text='"+Mc_FormatageXML("Tri par :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_ORDRETRI' text='"+Mc_FormatageXML("Ordre de tri :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMPARUTIONSARTISTE_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESPARUTION)+"' name='GAD_FP_CT_PARAMETRESPARUTION' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESPARUTION)+"' name='GAD_FP_BG_PARAMETRESPARUTION' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTION_IDPARUTION)+"' name='GAD_FP_LIB_PARAMPARUTION_IDPARUTION' text='"+Mc_FormatageXML("ID parution* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMPARUTION_IDPARUTION)+"' name='GAD_FP_CP_PARAMPARUTION_IDPARUTION' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMPARUTION_MONNAIE)+"' name='GAD_FP_LIB_PARAMPARUTION_MONNAIE' text='"+Mc_FormatageXML("Monnaie :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMPARUTION_MONNAIE)+"' name='GAD_FP_LS_PARAMPARUTION_MONNAIE' flags='#PB_ComboBox_Editable'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container>"+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESMASTER)+"' name='GAD_FP_CT_PARAMETRESMASTER' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESMASTER)+"' name='GAD_FP_BG_PARAMETRESMASTER' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMMASTER_IDMASTER)+"' name='GAD_FP_LIB_PARAMMASTER_IDMASTER' text='"+Mc_FormatageXML("ID master* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMMASTER_IDMASTER)+"' name='GAD_FP_CP_PARAMMASTER_IDMASTER' flags='#PB_String_Numeric'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESVERSIONSMASTER)+"' name='GAD_FP_CT_PARAMETRESVERSIONSMASTER' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESVERSIONSMASTER)+"' name='GAD_FP_BG_PARAMETRESVERSIONSMASTER' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_IDMASTER' text='"+Mc_FormatageXML("ID master* :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_FORMAT' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_FORMAT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ANNEE' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_ANNEE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_LABEL' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_LABEL)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_LABEL'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_PAYS' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMVERSIONSMASTER_PAYS)+"' name='GAD_FP_CP_PARAMVERSIONSMASTER_PAYS'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_TRI)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_TRI' text='"+Mc_FormatageXML("Tri par :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_TRI'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ORDRETRI' text='"+Mc_FormatageXML("Ordre de tri :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMVERSIONSMASTER_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "            <container id='"+Str(#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE)+"' name='GAD_FP_CT_PARAMETRESRECHERCHEGENERALE' invisible='yes'>"+Chr(10)+
            "              <gridbox id='"+Str(#GAD_FP_BG_PARAMETRESRECHERCHEGENERALE)+"' name='GAD_FP_BG_PARAMETRESRECHERCHEGENERALE' columns='2' rowspacing='12' colexpand='item:2'>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TEXTE' text='"+Mc_FormatageXML("Texte :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TYPE' text='"+Mc_FormatageXML("Type :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE)+"' name='GAD_FP_LS_PARAMRECHERCHEGALE_TYPE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTETITRE' text='"+Mc_FormatageXML("Artiste - Titre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTETITRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPARUTION' text='"+Mc_FormatageXML("Titre parution :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TITREPARUTION'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTE' text='"+Mc_FormatageXML("Artiste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ARTISTEVARIATION' text='"+Mc_FormatageXML("Variation non artiste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ARTISTEVARIATION'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_TITREPISTE' text='"+Mc_FormatageXML("Titre piste :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_TITREPISTE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CREDIT' text='"+Mc_FormatageXML("Crédit :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CREDIT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_FORMAT' text='"+Mc_FormatageXML("Format :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_FORMAT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ANNEE' text='"+Mc_FormatageXML("Année :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_ANNEE' flags='#PB_String_Numeric'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_GENRE' text='"+Mc_FormatageXML("Genre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_GENRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_GENRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_STYLE' text='"+Mc_FormatageXML("Style :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_STYLE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_STYLE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_LABEL' text='"+Mc_FormatageXML("Label :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_LABEL)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_LABEL'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_PAYS' text='"+Mc_FormatageXML("Pays :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_PAYS)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_PAYS'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_NOCATALOGUE' text='"+Mc_FormatageXML("No catalogue :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_NOCATALOGUE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CODEBARRE' text='"+Mc_FormatageXML("Code barre :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CODEBARRE'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_DEPOSANT' text='"+Mc_FormatageXML("Déposant :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_DEPOSANT'/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_CONTRIBUTEUR' text='"+Mc_FormatageXML("Contributeur :")+"'/>"+Chr(10)+
            "                <string id='"+Str(#GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR)+"' name='GAD_FP_CP_PARAMRECHERCHEGALE_CONTRIBUTEUR'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <checkbox id='"+Str(#GAD_FR_CC_RECHERCHEEXACTE)+"' name='GAD_FR_CC_RECHERCHEEXACTE' text='"+Mc_FormatageXML("  Recherche exacte")+"'/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <empty/>"+Chr(10)+
            "                <text id='"+Str(#GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE)+"' name='GAD_FP_LIB_PARAMRECHERCHEGALE_ITEMSPAGE' text='"+Mc_FormatageXML("Items par page :")+"'/>"+Chr(10)+
            "                <combobox id='"+Str(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE)+"' name='GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE'/>"+Chr(10)+
            "              </gridbox> "+Chr(10)+
            "            </container> "+Chr(10)+
            "          </multibox> "+Chr(10)+
            "        </frame>"+Chr(10)+
            "        <hbox expand='no' align='' spacing='24'>"+Chr(10)+
            "          <empty width='8'/> "+Chr(10)+
            "        </hbox> "+Chr(10)+
            "      </hbox>"+Chr(10)+
            "      <empty height='8'/>"+Chr(10)+
            "      <hbox expand='item:7' spacing='4'>"+Chr(10)+
            "        <empty width='12'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_ELEMENTS)+"' name='GAD_FP_LIB_ELEMENTS' text='"+Mc_FormatageXML("Nb éléments trouvés : ")+"'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_NBELEMENTS)+"' name='GAD_FP_LIB_NBELEMENTS' text='"+Mc_FormatageXML(" ")+"' width='72'/>"+Chr(10)+
            "        <empty width='12'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_PAGE)+"' name='GAD_FP_LIB_PAGE' text='"+Mc_FormatageXML("Page : ")+"' invisible='yes'/>"+Chr(10)+
            "        <text id='"+Str(#GAD_FP_LIB_NBPAGES)+"' name='GAD_FP_LIB_NBPAGES' text='"+Mc_FormatageXML(" ")+"' width='72' invisible='yes'/>"+Chr(10)+
            "        <empty/>"+Chr(10)+
            "        <hbox expand='no' align='right'>"+Chr(10)+
            "          <button id='"+Str(#GAD_FP_BT_RECHERCHER)+"' name='GAD_FP_BT_RECHERCHER' text='"+Mc_FormatageXML("Rechercher")+"'/>"+Chr(10)+
            "          <empty width='8'/>"+Chr(10)+
            "        </hbox> "+Chr(10)+
            "      </hbox>"+Chr(10)+
            "      <empty height='4'/>"+Chr(10)+
            "      <progressbar id='"+Str(#GAD_FP_BP_JAUGE)+"' name='GAD_FP_BP_JAUGE' height='4' min='0' max='100'/>"+Chr(10)+
            "      <empty height='2'/> "+Chr(10)+
            "    </vbox> "+Chr(10)+
            "  </window>"+Chr(10)+
            "</dialogs>" ;}
  ValeurRetour=Fc_Fenetres_OuvertureDialogueXML(#ARBRE_XML,#XML_FENPRINCIPALE,ChaineXML,"FEN_RECHERCHEDB")
  If ValeurRetour
    ; Ajout items liste types de recherche
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,0,"Artiste")              ; Artist
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,1,"Parutions artiste")    ; Artist releases
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,2,"Parution")             ; Release
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,3,"Master")               ; Master release
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,4,"Versions master")      ; Master release versions
    AddGadgetItem(#GAD_FP_LS_TYPESRECHERCHE,5,"Recherche générale")   ; Recherche générale
    SetGadgetState(#GAD_FP_LS_TYPESRECHERCHE,0)
    ;
    SetGadgetData(#GAD_FP_LS_TYPESRECHERCHE,#GAD_FP_CT_PARAMETRESARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,0,#GAD_FP_CT_PARAMETRESARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,1,#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,2,#GAD_FP_CT_PARAMETRESPARUTION)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,3,#GAD_FP_CT_PARAMETRESMASTER)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,4,#GAD_FP_CT_PARAMETRESVERSIONSMASTER)
    SetGadgetItemData(#GAD_FP_LS_TYPESRECHERCHE,5,#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE)
    ;{ Gadgets Recherche Paramètres Artiste
    SetGadgetData(#GAD_FP_CT_PARAMETRESARTISTE,#GAD_FP_CP_PARAMARTISTE_IDARTISTE)
    SetGadgetData(#GAD_FP_CT_PARAMETRESPARUTIONSARTISTE,#GAD_FP_CP_PARAMPARUTIONSARTISTE_IDARTISTE)
    SetGadgetData(#GAD_FP_CT_PARAMETRESPARUTION,#GAD_FP_CP_PARAMPARUTION_IDPARUTION)
    SetGadgetData(#GAD_FP_CT_PARAMETRESMASTER,#GAD_FP_CP_PARAMMASTER_IDMASTER)
    SetGadgetData(#GAD_FP_CT_PARAMETRESVERSIONSMASTER,#GAD_FP_CP_PARAMVERSIONSMASTER_IDMASTER)
    SetGadgetData(#GAD_FP_CT_PARAMETRESRECHERCHEGENERALE,#GAD_FP_CP_PARAMRECHERCHEGALE_TEXTE)
    ;}
    ;{ Gadgets Recherche Paramètres Parutions Artiste
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,1,"Titre")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,2,"Format")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_TRI,3,"Année")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI,0,"Croissant")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ORDRETRI,1,"Décroissant")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMPARUTIONSARTISTE_ITEMSPAGE,0)
    ;}
    ;{ Gadgets Recherche Paramètres Parution
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,1,"Euro (EUR)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,2,"Couronne suédoise (SEK)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,3,"Dollar australien (AUD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,4,"Dollar canadien (CAD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,5,"Dollar néo-zélandais (NZD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,6,"Dollar US (USD)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,7,"Franc suisse (CHF)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,8,"Livre sterling (GBP)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,9,"Peso mexicain (MXN)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,10,"Rand sud-affricain (ZAR)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,11,"Réal brésilien (BRL)")
    AddGadgetItem(#GAD_FP_LS_PARAMPARUTION_MONNAIE,12,"Yen (JPY)")
    SetGadgetState(#GAD_FP_LS_PARAMPARUTION_MONNAIE,0)
    ;}
    ;{ Gadgets Paramètres Versions Master
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,1,"Titre")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,2,"Format")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,3,"Année")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,4,"Pays")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,5,"Label")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,6,"No catalogue")
    SetGadgetState(#GAD_FP_LS_PARAMVERSIONSMASTER_TRI,0)
    ; 
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI,0,"Croissant")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ORDRETRI,1,"Décroissant")
    ;
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMVERSIONSMASTER_ITEMSPAGE,0)
    ;}
    ;{ Gadgets Paramètres Recherche générale
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,0,"")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,1,"Artiste")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,2,"Parution")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,3,"Master")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,4,"Label")
    SetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_TYPE,0)
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,0,"25")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,1,"50")
    AddGadgetItem(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,2,"100")
    SetGadgetState(#GAD_FP_LS_PARAMRECHERCHEGALE_ITEMSPAGE,0)
    ;}
    HideWindow(#FEN_RECHERCHEDB,#False)
    SetActiveGadget(#GAD_FP_CP_PARAMARTISTE_IDARTISTE)
    Pc_FenPrincipale_GestionEvenements()
  EndIf
EndProcedure
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔══════════════════╗
; ║ MODULE PRINCIPAL ║
; ╚══════════════════╝
Pc_FenPrincipale_Affichage()
End
;-══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
; ╔═════════════════╗
; ║ SECTION DONNEES ║
; ╚═════════════════╝
;{
DataSection
ImageDiscogs_Debut: ;{ D:\FICHIERS\Fichiers PureBasic\GestionAlbumsAudio\Ressources\Images\ImgBtDiscogs.png
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$414449F401000061,$548BBFD3658D3854,$CEF77BCFF1C61857,$CA521251161971DE
  Data.q $F885BB62088B2BF6,$A4C4121081295807,$2256D5885A582408,$9A225629622088D8,$7F87E4A216362C22,$18B6290840C12C80,$99EE2D799D9DEF06,$B9E79F754E17D465
  Data.q $683327C2739F7CE7,$4427996D8CB8939A,$EDB699DC5D82F648,$799987192C7D659B,$9902A938C446DF13,$BA0F4F999E602229,$C4334D0602CFEBEE,$550E4C431CC69C33
  Data.q $39F8DFC4D88B5099,$48AAFBDD741F6F33,$948C3A025D73156E,$0F732DB88918881D,$4D0620B71116B83B,$8B58EF64989785B3,$4D87782117563188,$D4CE4C30A8AB80FC
  Data.q $FE7F44C1EB18D805,$171A8096BF1D7051,$71CCAAC6A222FE65,$99C7125DB1A95C44,$C43C0DC447DE0A39,$B0C44D7321B012DB,$D3418ED854444D84,$38A3ED3D607B32B4
  Data.q $FE12ABE223AF9993,$8C254BFB03F85B0E,$875459E5846343AA,$E1C8DF43F0EACCB9,$79C639944E5BD854,$321B119BFC3FE06C,$57BF496D622C61CF,$38889F10BCD86FE9
  Data.q $82A7274E359971C0,$67656B595D2E7A0B,$AAF112DD5D5831BB,$EFE85E3DF18F0134,$2A5EB9997789EC86,$BAED356CED97F4AE,$DFCC5E7DD0AF713F,$98BF428FD8FB6814
  Data.q $FBFB6DA60F47E587,$898F326FF5D4AC0A,$A62D63951E08B1F8,$970BF8E3CACC11C3,$3418F463F4D9B3E6,$0F4B5444EFCC8ECD,$69A7E3EE3AC8D169,$AEAA80D3E5604EDB
  Data.q $BE2232F88891C7FF,$DB4F2E09E0FF00C0,$1FF42E9B367CEEF6,$CB8E527ABE7AFB00,$4E4549000000002B
  Data.b $44,$AE,$42,$60,$82
ImageDiscogs_Fin: ;}
ImageLectureVideo_Debut: ;{ D:\FICHIERS\Fichiers Graphiques\Axialis Ribbon & Toolbar Toolbar Stock Icons\AxialisIcons-RibbonToolbar-Multimedia-1.0.001\png_format_32bpp_alpha\16x16\movie2-control_play-Hot.png
  Data.q $0A1A0A0D474E5089,$524448490D000000,$1000000010000000,$FFF31F0000000608,$5948700900000061,$0E0000C40E000073,$00001B0E2B9501C4,$8D38544144494502
  Data.q $C51C5154484D9395,$2C0A1181AF79CF7F,$929B418623709AC9,$248422D9E3E71114,$7D041A8D5C2C098B,$28B4D1372D2834AC,$B18BE2A3720FB28A,$4445987322709408
  Data.q $2E445B0B82286450,$BDF19AF4E345D324,$85D1666BF1D18B7F,$CFFCF73DCF72F70B,$244F1C0810255CFF,$F55CB970C7FC4312,$58585D40187870E1,$869A680052A54A18
  Data.q $967676697ACEEDDB,$A00280439A699C55,$D53C2A56C1EA066E,$DC63DF461F00BD99,$1113E7CF8E5D9EBA,$532FDFBF36911369,$4431116122283222,$9C66C8893E445FA4
  Data.q $C8676DB6A8222088,$96032C0580DA2556,$6AA0070D9079CB05,$9D38010DEBD7869A,$E0F16DC2E5C69CCE,$5B618E275508F3F5,$9392386C4E5A5620,$DB468D127CF9F158
  Data.q $3999A6990F5D7401,$B4520C1826E3DA2C,$95940E76FE5710BB,$B1B1A1EBAE888146,$FDD006D5721774B1,$F9DBB8A77BB701F0,$8B4A86F4BDBE9395,$4D7974B85D341DF2
  Data.q $5341CFACAD6D6D41,$0CA0146A9E151767,$F0626B9C08FB2A50,$A5A4EFF69CD80189,$A37D17F29EA390AE,$66A9E2383C5BCD8B,$340B4900C53A5D3C,$47E1052A48D8BC68
  Data.q $87294F04F377E106,$8B2CB55F7C395D9E,$135353500ED62C58,$696D9049202481B2,$37D54F2B1C1C44D2,$A4A37E9E84D7F237,$4E9C0F06C974D5E7,$0AFE41602E959127
  Data.q $6973000235A5EFC1,$899C78F10721BD6D,$953CBC8311898311,$03FA58B2C13A377D,$5E6FE324CD24070E,$F2E7E56B6AE49D82,$FA828282D537C583,$9C9C9C6FCC999999
  Data.q $81CDCDCC28ABBB4C,$2DF1F6F9E73F8B06,$BAEFDF283B752D00,$C572A86B5DA13DF7,$672E2BF9B674CD59,$3C4062A6997F1E3A,$68E819DD747FBB67,$993FCC7AD774FF38
  Data.q $00ECFC9513B324C2,$AE444E4549000000
  Data.b $42,$60,$82
ImageLectureVideo_Fin: ;}
EndDataSection
;}

; IDE Options = PureBasic 6.02 LTS (Windows - x64)
; CursorPosition = 1
; FirstLine = 1
; Folding = AAAAAAACCA+----dPhyfVB3HA5NAA7--rBAAAAAAAUAw
; EnableXP
; CompileSourceDirectory
; Debugger = Standalone
; EnablePurifier
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: Discogs (Utilisation de l'API)

Message par Ollivier »

@mindphazer

je suis sur "OperaMini".

@Boddhi

salut. Je vais essayer de voir si je peux faire quelque chose pour les threads avec ton code.
Avatar de l’utilisateur
Mindphazer
Messages : 694
Inscription : mer. 24/août/2005 10:42

Re: Discogs (Utilisation de l'API)

Message par Mindphazer »

Ollivier a écrit : mar. 27/juin/2023 11:25 @mindphazer
je suis sur "OperaMini".
Arf
Mais t'es sur Android ?? Je comprends mieux...
Bureau : Win10 64bits
Maison : Macbook Pro M3 16" SSD 512 Go / Ram 24 Go - iPad Pro 32 Go (pour madame) - iPhone 15 Pro Max 256 Go
Répondre