IBM Doors DXL: OLE Objekte als Bild exportieren

Problem

Alle OLE Objekte eines Moduls sollen als Bild exportiert werden

Ansatz

Verwenden der exportPicture Funktion

Lösung

Module m = current;
Object o;
string attributeName="Object Text";
string baseFileName ="";

EmbeddedOleObject ole

for o in m do
{
    int i = 1 
    string errmess = null
    RichText rtf
    string s = richTextWithOle o.attributeName    
    i = 1
    for rtf in s do
    {
       if (rtf.isOle)
       {
	     baseFileName = identifier(o) "";
           ole = rtf.getEmbeddedOle
           string filename = baseFileName "-rtfloop-" i ".png"
           print "Exporting " filename "\n" 
           errmess = exportPicture(ole,filename  , formatPNG)  
           if (!null errmess)
           {
               print "ERROR: " errmess "\n"   
           }  
        i++
       }   
    }
}

Bei Verwendung dieses Patterns können die Objekte auch wieder so importiert werden:

#include "\\\\bbmag2k\\exchange\\doors\\dxl\\strings.inc";       

Module m = current;
Object o;

string x = "h:\\pics" 
string file 
for file in directory x do { 
   if(matches("IDS-", file))
   {
      string objectIdentifier=file[0:indexOfFrom(file,"-",2)-1] "";
      string aufkommen=replace(file[lastIndexOf(file,"-")+1:length(file)], ".png", "") "";
      print objectIdentifier " " aufkommen "\n";
      // oleInsert
   }
} 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.