Suivez et participez au développement du nouvel OpenCellar : PLOC.co
> Open Cellar pour Windows
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Ressources pour les développeurs
> Open Cellar pour Windows Mobile
> Open Cellar pour iPhone
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Open Cellar pour Mac/Linux
> Centre d'aide et de support
> Questions fréquentes
> Centre de téléchargement
> Accéder à la communauté
> Historique des versions
> Ressources pour les développeurs
> Mon compte
> Mes services live
> Mes pages
> Ma bibliothèque
> Mes vins publiés
> Mes étiquettes
> Mes messages sur la communauté
> Ecrire une page
> Accéder à la liste des forums
> Communauté Windows
> Communauté Mac/Linux
> Communauté Mobile
> Rechercher et importer des vins
> Rechercher des étiquettes
> Comparer les prix (Sniffer)
Rechercher :
> Rechercher dans tous les moteurs
> Rechercher dans la communauté
> Rechercher dans les pages persos
> Rechercher sur le site open-cellar.com
> Rechercher dans les fiches vins
> Rechercher dans les étiquettes
> Rechercher sur le comparateur de prix (Sniffer)
Bienvenue (
se connecter
-
créer un compte
)
Accueil
»
La communauté
»
Open Cellar Home Edition (Windows)
Facebook
Nuage de tags
Open Cellar
Scripts
Etiquette
PPP
iPhone
Livre de cave
Mac
Vista
Synchronisation
Export Excel
vinoXml
usb
sniffer
sauvegarde
importation
impression
chardonnet
palm
statistiques
Linux
Injection de données
17/08/2009
Répondre
Injection de données
raynauph
65 posts
Bonjour,
j'ai créé une cave vide et aujourd'hui j'aurais souhaité rajouter les appellations qui sont présentes dans les bases par défaut quand on ne les crée pas à vide.
Y a-t'il un moyen d'injecter ces informations dans une base existante ?
17/08/2009
Répondre
Re : Injection de données
Administrateur
3099 posts
Bonjour bonjour,
Oui c'est possible en passant par le script suivant (menu Préférences -> Editeur de scripts)
if(App.ActiveCellar == null) { MessageBox.Show("Aucune cave n'est ouverte"); return; } // Emplacement de la cave cible string target = @"c:\template.oc"; OpenCellar.Framework.Core.Application tapp = new OpenCellar.Framework.Core.Application(); tapp.Open(target); if(tapp.ActiveCellar == null) { MessageBox.Show("Cave cible invalide..."); return; } ObjectCollection names = App.ActiveCellar.GetCollection((ushort)ObjectType.Name); ObjectCollection names2 = tapp.ActiveCellar.GetCollection((ushort)ObjectType.Name); for (int i = 0; i < names.Count; i++) { bool find = false; Name o = (Name) names[i]; for (int j = 0; j < names2.Count; j++) { Name p = (Name)names2[j]; if(o.Name.Trim() == p.Name.Trim()) { find = true; break; } } if(!find) { // Creation de l'élément Name newItem = (Name)tapp.ActiveCellar.CreateItem(ObjectType.Name); newItem.Name = o.Name; // Enregistrement newItem.Save(); } } MessageBox.Show("Traitement terminé
");
Avant de l'exécuter, ouvrez le répertoire d'Open Cellar (c:\program files\matthieu ducrocq\open cellar ou c:\program files\open cellar) et copiez le fichier template.oc à la racine de votre disque c:\
Matthieu
17/08/2009
Répondre
Re : Injection de données
raynauph
65 posts
Matthieu,
le script a du mal à s'exécuter, en modifiant la dernière ligne pour supprimer l'affichage de l'icone, cela passe. Mais, les données ne se retrouvent pas ma base, même après avoir relancé OC.
17/08/2009
Répondre
Re : Injection de données
Administrateur
3099 posts
Et bien j'ai du mal le lundi, voici la version corrigée :
if(App.ActiveCellar == null) { MessageBox.Show("Aucune cave n'est ouverte"); return; } // Emplacement de la cave cible string target = @"c:\Template.oc"; OpenCellar.Framework.Core.Application tapp = new OpenCellar.Framework.Core.Application(); tapp.Open(target); if(tapp.ActiveCellar == null) { MessageBox.Show("Cave cible invalide..."); return; } ObjectCollection names = tapp.ActiveCellar.GetCollection((ushort)ObjectType.Name); ObjectCollection names2 = App.ActiveCellar.GetCollection((ushort)ObjectType.Name); for (int i = 0; i < names.Count; i++) { bool find = false; Name o = (Name) names[i]; for (int j = 0; j < names2.Count; j++) { Name p = (Name)names2[j]; if(o.Name.Trim() == p.Name.Trim()) { find = true; break; } } if(!find) { // Creation de l'élément Name newItem = (Name)App.ActiveCellar.CreateItem(ObjectType.Name); newItem.Name = o.Name; // Enregistrement newItem.Save(); } } MessageBox.Show("Traitement terminé");
18/08/2009
Répondre
Re : Injection de données
raynauph
65 posts
Merci beaucoup, cela fonctionne parfaitement.
Pour le lundi, je pense que tout le monde a du mal ...
Philippe
© 2006-2014
Matthieu DUCROCQ
- Tous droits réservés - Dernière mise à jour : janvier 2014 |
|
|
Soutenir Open Cellar
|
Contact
|
Crédits