Académique Documents
Professionnel Documents
Culture Documents
Guide Visual
Basic
Contact
Extensis Celartem, Inc.
1800 SW First Avenue, Tél. : +81 3 5574 7236
Suite 500 Adresse Web/électronique : sales_ap@celartem.com
Portland, OR 97201 États-Unis http://www.celartem.com/jp/
Toll Free: (800) 796-9798
Tél. : (503) 274-2020 Service clientèle
Fax : (503) 274-0530 Site Web/E-mail : http://www.extensis.com/customerservice/
http://www.extensis.com Tél. : (800) 796-9798
© 2006 Extensis, division de Celartem, Inc. Le présent document et le licences et la disponibilité du code source pour lesdits composants sont
logiciel qu’il décrit font l’objet d’un copyright, tous droits réservés. Le spécifiées dans le fichier relatif au copyright, LICENSES.TXT, fourni
présent document ou le logiciel décrit ne peut en aucun cas être copié, avec ce produit. Veuillez vous reporter à ces licences pour de plus
entièrement ou partiellement, sans l’autorisation écrite d’Extensis, amples informations sur l’utilisation desdits composants logiciels.
excepté dans le cadre des conditions normales d’utilisation du logiciel
ou dans le but d’effectuer une copie de sauvegarde du logiciel. Cette Extensis garantit les disques sur lesquels est enregistré le logiciel
exception n’inclut pas toute copie réalisée pour une personne autre contre tout défaut matériel et malfaçon, dans des conditions normales
que le détenteur du logiciel. d’utilisation, pour une période de trente (30) jours à compter de la
date initiale d’achat. Si vous avez acheté ce produit directement auprès
Extensis est une marque déposée d’Extensis. Le logo Extensis, d’Extensis, et si un problème survient au cours de ce délai de trente jours,
Extensis Library, Font Reserve, Font Reserve Server, Font Vault et Font vous pouvez renvoyer les disques à Extensis, qui vous les remplacera
Sense, Portfolio, Portfolio Server, Portfolio NetPublish, NetPublish, gratuitement. Tous les produits envoyés pour remplacement doivent être
Suitcase et Suitcase Server sont des marques commerciales d’Extensis. préalablement enregistrés auprès d’Extensis avant le remplacement. Les
Celartem, Celartem, Inc., le logo Celartem, PixelLive et PixelSafe produits Extensis achetés auprès d’un revendeur sont garantis par celui-
sont des marques commerciales de Celartem, Inc. Adobe, Acrobat, ci et sont couverts par le système de retour des articles du revendeur.
Bonjour, Illustrator, Photoshop et PostScript sont des marques Cette garantie est limitée au remplacement du produit et ne prend
commerciales d’Adobe Systems, Incorporated. Apple, AppleScript, en compte aucun autre dommage, y compris, mais sans s’y limiter, la
FontSync, Macintosh, Mac OS 9, Mac OS X, PowerPC et QuickDraw perte de profits et les dommages particuliers, accidentels ou similaires.
sont des marques déposées d’Apple Computer, Inc. Microsoft, Internet Le présent logiciel est fourni « tel quel ». À l’exception de la garantie
Explorer, Windows, Windows XP, Windows 2000, Windows NT, expresse stipulée ci-dessus, Extensis, n’offre aucune garantie, explicite ou
Windows ME et Windows 98 sont des marques déposées de Microsoft implicite, concernant la qualité, les
Corporation. Intel est une marque déposée d’Intel. Toutes les autres performances, la qualité marchande
marques sont la propriété de leurs propriétaires respectifs. ou l’adéquation du logiciel fourni à
un objectif spécifique.
Certaines parties du produit utilisent des composants logiciels
développés par le biais de divers projets d’exploitation libre. Les
Portfolio Guide Visual Basic
iii
Utilisation de catalogues........................................................................4
Sélection d’une présentation.................................................................. 5
Tri d’une présentation............................................................................ 5
Utilisation de présentations...................................................................5
Enregistrement d’une présentation........................................................ 6
Ajout de fichiers à une présentation....................................................... 6
Accès aux options avancées.................................................................... 7
Utilisation de champs...........................................................................10
Transfert de valeurs de champ vers Portfolio....................................... 11
Exécution d’une recherche................................................................... 12
Formulation de la requête.................................................................... 12
Introduction à l’interface
d’automatisation de Porfolio
Ajout de Portfolio à votre Modèle objet de Portfolio :
projet Visual Basic Le diagramme ci-dessous montre la structure relative
Tous les objets, propriétés et méthodes de l’interface des classes du Modèle objet Library de Portfolio.
de Portfolio (telle que décrite par la suite dans
le présent document) sont pris en charge dans
l’interface d’automatisation de Portfolio_V8. Portfolio.Document
Fields
Field
Utilisation de catalogues
Ouverture de catalogues sur un Function OpenByUserName(Path As String,
serveur UserName As String, Password As String)
As Integer
Pour ouvrir un catalogue géré par un serveur
Portfolio, utilisez la fonction OpenServer de l’objet Function OpenServerByUserName(Path As
Document. La commande accepte l’adresse du String, UserName As String, Password As
catalogue sous la forme « serveur/catalogue », où String) As Integer
« serveur » est le nom du serveur ou son adresse IP. Par exemple :
x = PortObj.OpenByUserName(“C:\test.
Function OpenServer(Path As String,
fdb”,”User1”, “password”)
AccessMode As Integer, Password As
String) As Integer x = PortObj.OpenServerByUserName(“192.0.0
.0/Test.fdb”,”User1”,”password”)
Les valeurs acceptables pour AccessMode sont les
mêmes que celles indiquées ci-avant. Toutefois, Création de catalogues
n’oubliez pas que, en mode Administrateur, vous ne
pouvez pas ouvrir les catalogues gérés par serveur Pour créer un nouveau catalogue, utilisez la nouvelle
avec votre code VB. commande. Par défaut, le catalogue s’ouvre en mode
Administrateur.
Par exemple :
Function New(Path As String) As Integer
x = PortObj.OpenServer( “192.0.0.0/Test.
fdb”,3,””) Par exemple :
x = PortObj.New(“C:\test.fdb”)
Ouverture de catalogues avec
un utilisateur spécifié
Pour ouvrir un catalogue avec un utilisateur spécifié,
utilisez la fonction Document.OpenByUserName
pour les catalogues situés sur le disque, ou la
fonction Document.OpenServerByUserName pour
les catalogues servis (natifs ou par le service SQL).
Le catalogue s’ouvre automatiquement en mode
d’accès maximum tel que défini pour l’utilisateur
spécifié.
Portfolio Guide Visual Basic
Utilisation de présentations
Lorsqu’un catalogue a été ouvert ou créé, Pour lire le nom d’une chaîne de la présentation,
la plupart des fonctionnalités du modèle utilisez la fonction GetGalleryIndexFromName de
de document Portfolio sont gérées par l’objet Document.
l’objet Gallery. Comme nous l’avons déjà
mentionné, il n’existe aucun objet Catalog. Function GetGalleryIndexFromName(Gallery
Name As String) As Integer
Sélection d’une présentation Les exemples suivants se rapportent à la présentation
La majeure partie des opérations effectuées dans active :
votre code seront basées sur une référence à un objet
Gallery. Cette référence renseigne Portfolio sur Par exemple :
les enregistrements à manipuler pour le catalogue, PortObj.Gallery(PortObj.GetGalleryIndexFr
mais aussi sur l’ensemble d’enregistrements visibles omName(PortObj.GetActive))
(images) à cibler. Pour définir quelle présentation
est ciblée avec votre code, vous devez référencer un Tri d’une présentation
index avec l’objet Gallery :
Vous pouvez utiliser la fonction tri (Sort) de l’objet
Gallery pour organiser les enregistrements de
PortObj.Gallery(x)
la présentation active selon un ordre spécifique.
Pour connaître le nombre de présentations ouvertes Assurez-vous de n’utiliser pour le tri que des
dans le document Portfolio, utilisez la propriété champs indexés et à valeur unique. Pour déterminer
Count de l’objet Document : l’ordre de tri, définissez l’attribut Direction sur
True pour trier selon un ordre ascendant, et sur
gCount = PortObj.Count False pour trier selon un ordre descendant.
sActive = PortObj.GetActive
Guide Visual Basic La gestion des données créatives
AppendDescription
ExtractMetaData
ExtractThumbnail
SkipFiles
MergeKeywords
ParseKeywords
PathKeywords
0 - None
1 - File Name
2 - File and Folder Name
3 - Path Name
4 - Path Name and Volume
ThumbnailSize
0 - 112 x 112
1 -256 x 256
Guide Visual Basic La gestion des données créatives
Utilisation d’enregistrements
et de sélections
Accès aux enregistrements individuels Assurez-vous que celle-ci vous renvoie le nombre
d’enregistrements de la présentation, ce nombre
Chaque présentation contient en général un ou n’étant pas forcément identique au nombre
plusieurs objets Record (enregistrement). Cependant, d’enregistrements du catalogue entier.
s’il s’agit d’une nouvelle présentation, il est possible
qu’elle ne contienne aucun enregistrement. Utilisation de sélections
Utilisez les propriétés des enregistrements de
la classe Gallery pour itérer sur un ensemble L’une des utilisations courantes des scripts (ou des
d’enregistrements afin de manipuler les valeurs programmes Visual Basic) consiste à exécuter des
des champs contenus dans chaque enregistrement. opérations selon les enregistrements sélectionnés
Les enregistrements sont en général référencés par l’utilisateur dans le catalogue. Pour déterminer
dans l’objet AllRecords. Cet objet contient un les enregistrements sélectionnés, référez-vous
objet Record de chaque enregistrement de la tout simplement à l’objet SelectedRecords
présentation sélectionnée. Notez bien qu’un index d’un objet Gallery spécifique. Comme pour
représente l’ordre actuel des enregistrements d’une l’objet AllRecords, un index est utilisé pour
présentation spécifique, par conséquent l’index d’un identifier un objet Record spécifique dans l’objet
enregistrement donné variera selon le contenu et SelectedRecords.
l’ordre de la présentation.
Par exemple :
Pour utiliser un enregistrement spécifique d’un PortObj.Gallery(1).SelectedRecords(x)
catalogue, transférez le numéro d’index de l’objet
Record concerné vers l’objet AllRecords. Comme pour l’objet AllRecords,
SelectedRecords possède également une
PortObj.Gallery(1).AllRecords(x) propriété Count qui renvoie le nombre
d’enregistrements individuels sélectionnés. Vous
Pour obtenir le décompte de tous les enregistrements pouvez alors utiliser cette propriété pour définir
d’une présentation, utilisez la propriété Count. une boucle dans votre code Visual Basic et passer
d’un enregistrement sélectionné à l’autre.
rCount = PortObj.Gallery(1).AllRecords.
Count
Portfolio Guide Visual Basic
Sélection d’éléments
Pour modifier la sélection, utilisez les fonctions
Select (sélectionner) et Deselect (désélectionner).
La fonction Select ne déselectionne par la sélection
actuelle, par conséquent vous pouvez avoir besoin
d’utiliser au préalable la fonction Deselect pour
annuler la sélection.
Exemples :
PortObj.Gallery(1).AllRecords(1).Select
PortObj.Gallery(1).SelectedRecords(2).
Deselect
Par exemple :
PortObj.Gallery(1).SelectAll
Utilisation de champs
Chaque objet Record contient un certain nombre rem Le champ nommé FieldName a été trouvé
d’objets Field (un par champ système, et un par End If
champ personnalisé). Il est possible d’identifier un
champ spécifique en transférant le nom de ce champ. Next
PortObj.Gallery(1).AllRecords(1).Field(x)
Modification des valeurs de champ
Pour déterminer la valeur d’un champ, utilisez la L’un des aspects les plus puissants de l’interface de
propriété Value de l’objet Field. script de Portfolio est sa capacité à non seulement
lire tous les champs d’un enregistrement, mais
SDesc = PortObj.Gallery(1).AllRecords(1). aussi à modifier tous ces champs (y compris les
Field(“Description”).Value champs système). N’oubliez pas que, bien que
cet outil soit extrêmement utile, il est également
Pour déterminer le nombre de champs d’un
possible d’endommager un catalogue en modifiant
catalogue, exécutez la propriété Count d’un
incorrectement des données utilisées par Portfolio
enregistrement spécifique.
pour gérer des fichiers source. Par exemple, si le
chemin de chaque enregistrement d’un catalogue
fldCount = PortGal.AllRecords(1).Count
venait à être modifié incorrectement, il est possible
Détermination des champs d’un que Portfolio ne puisse plus trouver d’enregistrements.
Pour définir la valeur du champ, opérez de la même
catalogue façon que pour obtenir les valeurs de champ.
La structure de données dynamique de Portfolio
permet à l’utilisateur de personnaliser le catalogue Par exemple :
en définissant des champs personnalisés. Etant PortObj.Gallery(1).AllRecords(1).
donné que vous pouvez être amené à travailler Field(“Description”).Value = “This is the
avec une structure d’enregistrement contenant des new description”
champs de données personnalisés, il est souvent
Vous pouvez également trouver un exemple de code
utile de déterminer quels champs sont définis dans
Visual Basic qui exécute une fonction Search and
un catalogue spécifique. Pour cela, parcourez la liste
Replay (rechercher et rejouer) sur certains champs
de tous les noms de champs d’un enregistrement
des tableaux de Portfolio, dans l’utilitaire Path
spécifique (tous les enregistrements d’un même
Change fourni avec ce document.
catalogue renverront les mêmes résultats), et
examinez la propriété Name.
Procédez avec prudence lorsque vous apprenez
Par exemple : à manipuler le contenu des champs des
tableaux de données de Portfolio. Il est possible
fldCount = PortGal.AllRecords(1).Count d’effectuer des modifications de données qui
pourraient corrompre l’intégralité de votre
For i = 1 To fldCount catalogue. Sauvegardez toujours vos données
If PortObj.Gallery(1).AllRecords(1). Portfolio avant d’essayer de modifier les données
Fields(i).Name = “FieldName” Then des tableaux à partir de votre code Visual Basic.
Portfolio Guide Visual Basic
11
Annexe A :
Bibliothèques des classes de Portfolio
Cette annexe contient une liste classée par ordre OpenServerByUserName(sAddress As String,
alphabétique de tous les membres, fonctions, et AccessMode As Integer, UserName As
propriétés de chacune des classes de Portfolio String, Password As String) As Integer
utilisées par le modèle d’automatisation.
OpenServerWithPrompt(sAddress As String)
As Integer
Classe Document de Portfolio :
OpenWithPrompt(sPath As String) As
Count as Long
Integer
Gallery(nIndex as Long) as Object [read-
SetActive(GalleryName As String) As
only]
Integer
GetActive() as String
Visible as Boolean
GetGalleryIndexFromName(GalleryName as
String) as Integer Classe Gallery de Portfolio :
LastError as Long Function Activate() As Integer
Function CreatePlaceholder(szFileName
As String, szOptionalPath As String) As
Long
Portfolio Guide Visual Basic
15
ParseKeywords as Integer
Classe Selection de Portfolio :
PathKeywords as Integer
Count as Long
SkipFiles as Boolean
Function GalleryCopy(nGalleryIndex as
Long)as Integer ThumbnailSize as Integer
Property Records(nIndex as Long) As
Object [read-only]
Portfolio Guide Visual Basic
17
ANNEXE B :
Questions fréquentes et réponses
Cette annexe contient certaines des questions les nom de variable de votre choix dans votre propre
plus fréquentes sur la programmation VB avec l’objet code, mais dans un but purement explicatif, nous
document de Portfolio. utilisons ce nom standard d’objet dans toute la
documentation et dans le code exemple.
Comment faire pour ajouter les références
Portfolio à mon projet Visual Basic ? Puis-je utiliser la bibliothèque d’automatisation
de Portfolio avec VB.Net ?
Dans le menu Projet, sélectionnez l’option
références. Localiser la référence de la bibliothèque Le modèle objet d’automatisation utilisé par Portfolio
Portfolio_V8, sélectionnez-la et cliquez sur le bouton fonctionnera avec VB.net, mais vous ne devez pas
OK. L’objet document de Portfolio sera désormais oublier que si vous développez une application en
inclus dans votre projet source VB, et ses objets et utilisant l’objet d’automatisation de Portfolio sous
propriétés prêts à être utilisés dans votre code VB. VB.net, vous devrez installer Net Framework sur tous
les ordinateurs qui exécuteront votre application.
Reportez-vous au début du didacticiel pour obtenir
des exemples du code requis pour déclarer et définir
Où puis-je trouver les définitions de champs
un objet document de Portfolio dans votre projet.
pour les tableaux de Portfolio ?
Puis-je utiliser VBA ou VB Script avec Portfolio, ou Sous Portfolio, utilisez l’option Personnaliser
dois-je utiliser la version complète de Visual Basic ? l’affichage pour afficher la liste complète des
champs inclus dans un catalogue. Vous pouvez
La façon dont les objets sont définis et gérés est très
utilisez ceci pour sélectionner les champs que vous
différente selon qu’il s’agit de la version complète souhaitez voir affichés. Utilisez ceci comme outil de
de Visual Basic ou de VBA et VB Scripting. Du fait débogage lorsque vous écrivez du code pour éditer
de ces différences, Portfolio ne prend en charge que ou modifier des valeurs de champ. Cette opération
l’utilisation de la version complète de Visual Basic ou vous permet de voir immédiatement si votre code
Visual Basic.net. a exécuté les modifications que vous souhaitiez
apporter aux valeurs de champ.
Qu’est-ce que la variable PortObj à laquelle vous faites
souvent allusion ? Si vous souhaitez lire ou afficher la liste des champs
Dans le code exemple, et dans ce document, nous disponibles depuis votre application Visual Basic,
utilisons le nom de variable PortObj pour identifier reportez-vous à la section Utilisation de champs du
l’objet document de Portfolio auquel il est fait didacticiel.
référence dans le code. Vous êtes libre de choisir le
Guide Visual Basic La gestion des données créatives
18
ANNEXE C :
Guide d’utilisation des
exemples d’applications
Démonstration de l’utilisation Vous pouvez également examiner le code pour
de l’interface d’automatisation trouver un exemple sur la façon de lire et écrire des
valeurs de champ à partir de votre code VB.
de Portfolio :
Cette application fournit de nombreuses fonctions Utilitaire de sauvegarde :
utilitaires, mais pour un programmeur VB,
son plus grand atout demeure la vaste gamme Il s’agit d’un simple programme utilitaire qui vous
d’objets de classe et de méthodes qu’elle utilise. permet de sauvegarder un catalogue Portfolio
En parcourant le code exécuté, vous pouvez existant. Bien qu’il n’utilise aucune des méthodes
suivre la plupart des principales fonctions de d’automatisation de Portfolio, cet utilitaire fournit
programmation qui sont à votre disposition un exemple sur la façon d’arrêter et démarrer le
tout en apprenant à programmer à l’aide de serveur de Portfolio à partir de votre code VB en
l’objet document de Portfolio et de ses classes. utilisant des fichiers .BAT prédéfinis.
ANNEXE D :
Codes d’erreur de programmation
de Porfolio
Cette annexe contient une liste classée par ordre qu’une fonction ou un appel est exécuté avec succès,
alphabétique de tous les membres de chaque objet de la valeur de cette erreur est définie sur zéro.
classe de Portfolio.
Utilisez les procédures de détection d’erreurs Visual
Lorsqu’une erreur se produit, vous pouvez obtenir Basic standard pour tester et gérer ces erreurs.
la valeur du code d’erreur Portfolio en lisant la (Reportez-vous à vos manuels de référence VB si vous
propriété ObjectName.LastError. Chaque fois avez des doutes quant à la gestion des erreurs dans
votre application VB.)