Suivez et participez au développement du nouvel OpenCellar : PLOC.co
Home Page
 
Français  English  
Open Cellar Home Edition - 1.2 - Windows 98, Me, 2000, XP and Vista. The free Windows wine cellar management software. Open Cellar Mobile Edition - Beta 2 (French version) - Pocket PC. The free Pocket PC wine cellar management software. Open Cellar Cross Platform - Beta 1 (French version) - Mac OSX and Linux. The free MacOS/Linux wine cellar management software. My Open Cellar Open Cellar Forums Place des vins
Search: Welcome (connect - create an account )
Page settings

Nuage de tags
Dupliquer un emplacement
Le script suivant vous permet de dupliquer un emplacement.
Pour l'éxécuter allez dans le menu "Préférences" -> "Editeurs de scripts"
Modifiez la ligne string sourceRackName = "Cave climadiff"; par le nom de l'emplacement à dupliquer

// DuplicateRack 
// Mai 2007 
// Ce script duplique l'emplacement spécifié 

// Paramétrage 
string sourceRackName = "Cave climadiff"; 

if(App.ActiveCellar == null) 
{ 
    MessageBox.Show("Aucune cave ouverte"); 
    return; 
} 

// Récupere l'emplacement source. 
Rack theRack = null; 

ObjectCollection racks = App.ActiveCellar.GetCollection((ushort)ObjectType.Rack); 

for (int i = 0; i < racks.Count; i++) 
{ 
   Rack rk = (Rack)racks[i]; 
   if(rk.Name.Trim().ToLower() == sourceRackName.ToLower()) 
   { 
      theRack = rk; 
      break; 
   } 
} 

// Verifie que le rack a été trouvé 

if(theRack == null) 
{ 
   MessageBox.Show("Impossible de continuer : \nL'emplacement \"" + sourceRackName + "\" est introuvable."); 
   return; 
} 

// OK -> création de l'emplacement 
RackBuilder rb = new RackBuilder(App.ActiveCellar); 

rb.SetColumnsSize(theRack.Columns); 
rb.SetRowsSize(theRack.Rows); 
rb.SetRackType(theRack.RackType); 
rb.SetNamingType(theRack.NamingType); 
rb.SetSpace(theRack.RowSpace, theRack.ColumnSpace); 
rb.SetRackName(theRack.Name); 
rb.Save(); 
rb.NotifyChange(); 

// Elements 
for(byte col = 0; col < theRack.Columns; col++) 
{ 
  for(byte row = 0; row < theRack.Rows; row++) 
  { 
        if(theRack.Exist(col, row)) 
   { 
      // Création 
      RackItem item = rb.CreateRackItem(row, col); 
      item.Save(); 
   } 
  } 
} 

// ouverture fenetre 
MessageBox.Show("Copie terminée."); 

IWindow rackWindow = App.GetWindow(WindowType.Rack, rb.Rack); 
rackWindow.Show(); 

© 2006-2014 Matthieu DUCROCQ  Open Cellar official blog - All rights reserved - Last update: january 2014 | twitter