Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Export a cursor / table to pptx format (MsOffice 2007+) without automation

Usefull Functions & Procedures

Export a cursor / table to pptx format (MsOffice 2007+) without automation

by  vgulielmus  Posted    (Edited  )
The copytopptx procedure export an opened cursor / table to pptx format.
No automation is used and no need for Ms Office or other Office package to be installed.

[code Foxpro]* demo *
CLOSE DATABASES ALL
CLEAR ALL

USE (HOME(2)+'data\customer')
DO copytopptx WITH 'customer','3',.T.,"company,contact,MAXORDAMT"
USE IN customer

**********************************************************************************
**********************************************************************************
* PROCEDURE copytopptx *
* Version 1.2 *
* export a cursor / table to pptx format *
* no need for MsOffice to be installed *
* *
* Parameters *
* cCur name of the table / cursor *
* lcFileName optional, name of the docx *
* llHead optional, .T. first row of exported table contain column names *
* lcFFields optional, list (subset) of fields to be outputed *
**********************************************************************************
**********************************************************************************
PROCEDURE copytopptx
* Version 1.2
# DEFINE theLanguage "ro-RO"
# DEFINE theNoOfRows 12 && nbumber of rows / slide
# DEFINE theSildeTitle "Page" && tile of the slides

LPARAMETERS cCur,lcFileName,llHead,lcFFields

DECLARE INTEGER ShellExecute IN SHELL32.DLL INTEGER nWinHandle,STRING cOperation,STRING cFileName,STRING cParameters,STRING cDirectory,INTEGER nShowWindow
DECLARE Sleep IN kernel32 INTEGER

LOCAL lcMyPath,lcDir,loerr as Exception
LOCAL lnRowsNo,lnColsNo,laFields[1,5],lnCurRow,lnCurCol,lnTime,ltTime,lcSetDec,lnColsNoAll,laFieldsAll[1],lnII,lSetTalk,lnFFields,laFFields[1]
LOCAL lcValue,lcType,lnDec,cMax,ldValue
LOCAL lcCurr,llLeftCurr,llBelow7
LOCAL lnFHSh,lcLenStr,lcLenIdx,lnCountbefore,lcField,lcCurRow,ofile,lcSource,lcZipFileName,oShell,oFolder,lcColWidth,lnSlideNo,lntheNoOfRows,lnCurSlide

IF PCOUNT() < 1
MESSAGEBOX("Nothing to export",48,"No pptx generated")
RETURN
ELSE
IF VARTYPE(m.cCur) $ "CV"
IF !USED(m.cCur)
USE (m.cCur)
ENDIF
ELSE
MESSAGEBOX("Not a cursor/table name",48,"No pptx generated")
RETURN
ENDIF
ENDIF
IF PCOUNT() < 2
lcFileName = FORCEEXT(SYS(2015),"pptx")
ELSE
IF VARTYPE(m.lcFileName) $ "CV"
lcFileName = FORCEEXT(m.lcFileName,"pptx")
ELSE
lcFileName = FORCEEXT(SYS(2015),"pptx")
ENDIF
ENDIF
IF PCOUNT() < 3
llHead = .F.
ELSE
IF VARTYPE(m.llHead) <> "L"
llHead = .F.
ENDIF
ENDIF

IF FILE(FORCEEXT(m.lcFileName,"pptx"))
IF MESSAGEBOX(FORCEEXT(m.lcFileName,"pptx")+" already exist."+CHR(13)+"Overwrite?",4+48) = 7
RETURN
ELSE
ERASE (FORCEEXT(m.lcFileName,"pptx")) RECYCLE
ENDIF
ENDIF
IF PCOUNT()<4
lcFFields = ""
ELSE
IF VARTYPE(m.lcFFields) <> "C"
lcFFields = ""
ELSE
lnFFields = ALINES(laFFields,m.lcFFields,1+4,",")
ENDIF
ENDIF

lSetTalk = SET("Talk")
SET TALK OFF
lnColsNoAll=AFIELDS(m.laFieldsAll,m.cCur)
lnColsNo = 0

FOR lnCurCol = 1 TO m.lnColsNoAll
IF m.laFieldsAll[m.lnCurCol,2] $ "NFYBIDTLCVM"
IF !EMPTY(m.lcFFields)
IF ASCAN(m.laFFields,laFieldsAll[m.lnCurCol,1],1,-1,-1,1+2+4)=0
LOOP
ENDIF
ENDIF
lnColsNo = m.lnColsNo + 1
DIMENSION laFields[m.lnColsNo,5]
laFields[m.lnColsNo,1] = laFieldsAll[m.lnCurCol,1]
laFields[m.lnColsNo,2] = laFieldsAll[m.lnCurCol,2]
laFields[m.lnColsNo,3] = laFieldsAll[m.lnCurCol,3]
laFields[m.lnColsNo,4] = laFieldsAll[m.lnCurCol,4]
laFields[m.lnColsNo,5] = IIF(m.lnColsNo<=26,[],CHR(64+FLOOR((m.lnColsNo-1)/26)))+CHR(65+MOD(m.lnColsNo-1,26))
ELSE
LOOP
ENDIF
NEXT
lcColWidth = LTRIM(STR(FLOOR(8229600 / m.lnColsNo)))

SELECT (m.cCur)
COUNT TO m.lnRowsNo
lnRowsNo = m.lnRowsNo + IIF(m.llHead,1,0)
lntheNoOfRows = theNoOfRows + IIF(m.llHead,0,1) && number of rows / slide
lnSlideNo = CEILING(m.lnRowsNo / m.lntheNoOfRows)


lcCurr = CHRTRAN(ALLTRIM(TRANSFORM(0,"@$")),"0"+IIF(SET("Decimals")>0,SET("Point")+REPLICATE("0",SET("Decimals")),""),"")
llLeftCurr = SET("Currency")=="LEFT"

lcMyPath=''
IF !EMPTY(JUSTPATH(m.lcFileName))
lcMyPath=ADDBS(JUSTPATH(m.lcFileName))
SET DEFAULT TO (m.lcMyPath)
ELSE
lcMyPath = ADDBS(JUSTPATH(FULLPATH(m.lcFileName)))
ENDIF

lcDir=gen_dirs()
gen_Content_Types(m.lcDir,m.lnSlideNo)
gen_rels(ADDBS(m.lcDir+[_rels]))
gen_app(ADDBS(m.lcDir+[docProps]),m.lnSlideNo)
gen_core(ADDBS(m.lcDir+[docProps]))
gen_presentation(ADDBS(m.lcDir+[ppt]),m.lnSlideNo)
gen_presProps(ADDBS(m.lcDir+[ppt]))
gen_tableStyles(ADDBS(m.lcDir+[ppt]))
gen_viewProps(ADDBS(m.lcDir+[ppt]))
gen_pptrels(ADDBS(ADDBS(m.lcDir+[ppt])+[_rels]),m.lnSlideNo)
gen_slideLayoutsrels(ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts])+[_rels]))
gen_slideLayouts(ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts]))
gen_slideMastersrels(ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters])+[_rels]))
gen_slideMasters(ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters]))
gen_slidesrels(ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slides])+[_rels]),m.lnSlideNo)
gen_theme(ADDBS(ADDBS(m.lcDir+[ppt])+[theme]))

SELECT (m.cCur)
GO TOP

FOR lnCurSlide = 1 TO m.lnSlideNo
* Begin document
lnFHSh = FCREATE(ADDBS(ADDBS(m.lcDir+[ppt])+[slides]) + [slide] + LTRIM(STR(m.lnCurSlide)) + [.xml])
IF m.lnFHSh < 0
MESSAGEBOX([Cannot create slide] + LTRIM(STR(m.lnCurSlide)) + [.xml],16,'Abort')
RETURN
ENDIF
FWRITE(m.lnFHSh,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnFHSh,[<p:sld xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnFHSh,[xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">])
FWRITE(m.lnFHSh,[<p:cSld>])
FWRITE(m.lnFHSh,[<p:spTree>])
FWRITE(m.lnFHSh,[<p:nvGrpSpPr>])
FWRITE(m.lnFHSh,[<p:cNvPr id="1" name=""/>])
FWRITE(m.lnFHSh,[<p:cNvGrpSpPr/>])
FWRITE(m.lnFHSh,[<p:nvPr/>])
FWRITE(m.lnFHSh,[</p:nvGrpSpPr>])
FWRITE(m.lnFHSh,[<p:grpSpPr>])
FWRITE(m.lnFHSh,[<a:xfrm>])
FWRITE(m.lnFHSh,[<a:eek:ff x="0" y="0"/>])
FWRITE(m.lnFHSh,[<a:ext cx="0" cy="0"/>])
FWRITE(m.lnFHSh,[<a:chOff x="0" y="0"/>])
FWRITE(m.lnFHSh,[<a:chExt cx="0" cy="0"/>])
FWRITE(m.lnFHSh,[</a:xfrm>])
FWRITE(m.lnFHSh,[</p:grpSpPr>])
FWRITE(m.lnFHSh,[<p:sp>])
FWRITE(m.lnFHSh,[<p:nvSpPr>])
FWRITE(m.lnFHSh,[<p:cNvPr id="] + LTRIM(STR(m.lnCurSlide * 2)) + [" name="Title ] + LTRIM(STR(m.lnCurSlide * 2 - 1)) + ["/>])
FWRITE(m.lnFHSh,[<p:cNvSpPr>])
FWRITE(m.lnFHSh,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnFHSh,[</p:cNvSpPr>])
FWRITE(m.lnFHSh,[<p:nvPr>])
FWRITE(m.lnFHSh,[<p:ph type="title"/>])
FWRITE(m.lnFHSh,[</p:nvPr>])
FWRITE(m.lnFHSh,[</p:nvSpPr>])
FWRITE(m.lnFHSh,[<p:spPr/>])
FWRITE(m.lnFHSh,[<p:txBody>])
FWRITE(m.lnFHSh,[<a:bodyPr/>])
FWRITE(m.lnFHSh,[<a:lstStyle/>])
FWRITE(m.lnFHSh,[<a:p>])
FWRITE(m.lnFHSh,[<a:r>])
FWRITE(m.lnFHSh,[<a:rPr lang="] + theLanguage + [" dirty="0" smtClean="0"/>])
FWRITE(m.lnFHSh,[<a:t>] + theSildeTitle + LTRIM(STR(m.lnCurSlide)) + [</a:t>])
FWRITE(m.lnFHSh,[</a:r>])
FWRITE(m.lnFHSh,[<a:endParaRPr lang="] + theLanguage + [" dirty="0"/>])
FWRITE(m.lnFHSh,[</a:p>])
FWRITE(m.lnFHSh,[</p:txBody>])
FWRITE(m.lnFHSh,[</p:sp>])


FWRITE(m.lnFHSh,[<p:graphicFrame>])
FWRITE(m.lnFHSh,[<p:nvGraphicFramePr>])
FWRITE(m.lnFHSh,[<p:cNvPr id="] + IIF(m.lnCurSlide = 3,"2","6") + [" name="Content Placeholder 5"/>])
FWRITE(m.lnFHSh,[<p:cNvGraphicFramePr>])
FWRITE(m.lnFHSh,[<a:graphicFrameLocks noGrp="1"/>])
FWRITE(m.lnFHSh,[</p:cNvGraphicFramePr>])
FWRITE(m.lnFHSh,[<p:nvPr>])
FWRITE(m.lnFHSh,[<p:ph idx="1"/>])
FWRITE(m.lnFHSh,[</p:nvPr>])
FWRITE(m.lnFHSh,[</p:nvGraphicFramePr>])
FWRITE(m.lnFHSh,[<p:xfrm>])
FWRITE(m.lnFHSh,[<a:eek:ff x="457200" y="1600200"/>])
FWRITE(m.lnFHSh,[<a:ext cx="8229600" cy="5359400"/>])
FWRITE(m.lnFHSh,[</p:xfrm>])
FWRITE(m.lnFHSh,[<a:graphic>])
FWRITE(m.lnFHSh,[<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table">])
FWRITE(m.lnFHSh,[<a:tbl>])
FWRITE(m.lnFHSh,[<a:tblPr firstRow="1" bandRow="1">])
FWRITE(m.lnFHSh,[<a:tableStyleId>{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}</a:tableStyleId>])
FWRITE(m.lnFHSh,[</a:tblPr>])
FWRITE(m.lnFHSh,[<a:tblGrid>])
FOR lnCurCol = 1 TO m.lnColsNo
FWRITE(m.lnFHSh,[<a:gridCol w="] + m.lcColWidth + ["/>])
NEXT
FWRITE(m.lnFHSh,[</a:tblGrid>])

IF m.llHead
FWRITE(m.lnFHSh,[<a:tr h="370840">])
FOR lnCurCol = 1 TO m.lnColsNo
FWRITE(m.lnFHSh,[<a:tc>])
FWRITE(m.lnFHSh,[<a:txBody>])
FWRITE(m.lnFHSh,[<a:bodyPr/>])
FWRITE(m.lnFHSh,[<a:lstStyle/>])
FWRITE(m.lnFHSh,[<a:p>])
FWRITE(m.lnFHSh,[<a:r>])
FWRITE(m.lnFHSh,[<a:rPr lang="] + theLanguage + [" dirty="0" smtClean="0"/>])
FWRITE(m.lnFHSh,[<a:t>] + m.laFields[m.lnCurCol,1] + [</a:t>])
FWRITE(m.lnFHSh,[</a:r>])
FWRITE(m.lnFHSh,[<a:endParaRPr lang="] + theLanguage + [" dirty="0"/>])
FWRITE(m.lnFHSh,[</a:p>])
FWRITE(m.lnFHSh,[</a:txBody>])
FWRITE(m.lnFHSh,[<a:tcPr/>])
FWRITE(m.lnFHSh,[</a:tc>])
NEXT
FWRITE(m.lnFHSh,[</a:tr>])
ENDIF

lcSetDec = SET("Decimals")
SET DECIMALS TO 13
SELECT (m.cCur)
SCAN NEXT m.lntheNoOfRows
FWRITE(m.lnFHSh,[<a:tr h="370840">])
FOR lnCurCol = 1 TO m.lnColsNo
lcValue = EVALUATE(m.laFields[m.lnCurCol,1])
lcType = m.laFields[m.lnCurCol,2]
lnDec = m.laFields[m.lnCurCol,4]
IF ISNULL(m.lcValue)
lcValue = ''
lcType = 'C'
ENDIF
DO CASE
CASE m.lcType $ "CV" && character
lcValue = htmspec(RTRIM(m.lcValue))
CASE m.lcType == "I" && integer
lcValue = LTRIM(STR(m.lcValue))
CASE m.lcType $ "NF" && number, float
lcValue = LTRIM(STR(m.lcValue,m.laFields[m.lnCurCol,3],m.lnDec))
CASE m.lcType == "D" && date
lcValue = DTOC(m.lcValue)
CASE m.lcType == "T" && time
lcValue = TTOC(m.lcValue)
CASE m.lcType == "L" && boolean
lcValue = IIF(m.lcValue ,'True','False')
CASE m.lcType == "Y" && currency
IF m.llLeftCurr
lcValue = m.lcCurr + LTRIM(STR(m.lcValue,21,4))
ELSE
lcValue = LTRIM(STR(m.lcValue,21,4)) + ' ' + m.lcCurr
ENDIF
CASE m.lcType == "B" && double
lcValue = LTRIM(STR(m.lcValue,21,m.lnDec))
CASE m.lcType == "M" && memo
lcValue = htmspec(RTRIM(m.lcValue))
ENDCASE
FWRITE(m.lnFHSh,[<a:tc>])
FWRITE(m.lnFHSh,[<a:txBody>])
FWRITE(m.lnFHSh,[<a:bodyPr/>])
FWRITE(m.lnFHSh,[<a:lstStyle/>])
FWRITE(m.lnFHSh,[<a:p>])
FWRITE(m.lnFHSh,[<a:r>])
FWRITE(m.lnFHSh,[<a:rPr lang="] + theLanguage + [" dirty="0" smtClean="0"/>])
FWRITE(m.lnFHSh,[<a:t>] + m.lcValue + [</a:t>])
FWRITE(m.lnFHSh,[</a:r>])
FWRITE(m.lnFHSh,[<a:endParaRPr lang="] + theLanguage + [" dirty="0"/>])
FWRITE(m.lnFHSh,[</a:p>])
FWRITE(m.lnFHSh,[</a:txBody>])
FWRITE(m.lnFHSh,[<a:tcPr/>])
FWRITE(m.lnFHSh,[</a:tc>])
NEXT
FWRITE(m.lnFHSh,[</a:tr>])
ENDSCAN
IF !EOF()
SKIP
ENDIF

* End document
FWRITE(m.lnFHSh,[</a:tbl>])
FWRITE(m.lnFHSh,[</a:graphicData>])
FWRITE(m.lnFHSh,[</a:graphic>])
FWRITE(m.lnFHSh,[</p:graphicFrame>])
FWRITE(m.lnFHSh,[</p:spTree>])
FWRITE(m.lnFHSh,[</p:cSld>])
FWRITE(m.lnFHSh,[<p:clrMapOvr>])
FWRITE(m.lnFHSh,[<a:masterClrMapping/>])
FWRITE(m.lnFHSh,[</p:clrMapOvr>])
FWRITE(m.lnFHSh,[</p:sld>])
FCLOSE(m.lnFHSh)
NEXT
*****

SET DECIMALS TO &lcSetDec

lcSource = m.lcMyPath + m.lcDir &&"<< fully qualified path name to some folder >>"
lcZipFileName = m.lcMyPath + FORCEEXT(m.lcFileName,'zip') &&"<< fully qualified path name to some zip file >>"

TRY
IF FILE(m.lcZipFileName)
ERASE (m.lcZipFileName)
ENDIF
CATCH TO m.loerr
ENDTRY

TRY
IF FILE(m.lcFileName)
ERASE (m.lcFileName)
ENDIF
CATCH TO m.loerr
ENDTRY

STRTOFILE(CHR( 80 )+CHR( 75 )+CHR( 5 )+CHR( 6 )+REPLICATE( CHR(0), 18 ), m.lcZipFileName)
oShell = CREATEOBJECT("shell.application")
oFolder = m.oShell.NameSpace( m.lcSource ).items

llBelow7 = OS(3)<'6' OR OS(3)='6' AND OS(4)<'1'
IF m.llBelow7 && Win XP
TRY
FOR EACH ofile IN m.oFolder
lnCountbefore = m.oShell.NameSpace( m.lcSource ).items.count
oShell.NameSpace( m.lcZipFileName ).movehere( m.ofile )
sleep(100)
ENDFOR
CATCH TO loErr
ENDTRY

llErr = .T.
DO WHILE llErr
TRY
llErr = .F.
RENAME (m.lcZipFileName) TO (FORCEEXT(m.lcZipFileName,"pptx"))
CATCH
llErr = .T.
sleep(100)
ENDTRY
ENDDO
DO cleanup WITH m.lcDir
ELSE && WIN 7
TRY
FOR EACH ofile IN m.oFolder
lnCountbefore = m.oShell.NameSpace( m.lcSource ).items.count
oShell.NameSpace( m.lcZipFileName ).movehere( m.ofile )
sleep(100)
DO WHILE m.lnCountbefore = m.oShell.NameSpace( m.lcSource ).items.count
sleep(100)
ENDDO
ENDFOR
CATCH TO loErr
ENDTRY

TRY
RD (m.lcDir)
CATCH TO m.loErr
ENDTRY

RENAME (m.lcZipFileName) TO (FORCEEXT(m.lcZipFileName,"pptx"))
ENDIF

ShellExecute(0,"Open",FORCEEXT(m.lcZipFileName,"pptx"),"","",1)

SET TALK &lSetTalk

**********************
* Special characters *
**********************
FUNCTION htmspec
LPARAMETERS cStr
LOCAL lni,lcStrF,lcChar,lnChar,lcStrF2
lcStrF = m.cStr
IF AT(CHR(38),m.lcStrF)>0
lcStrF = STRTRAN(m.lcStrF,CHR(38),'&amp;')
ENDIF
IF AT('>',m.lcStrF)>0
lcStrF = STRTRAN(m.lcStrF,'>','&gt;')
ENDIF
IF AT('<',m.lcStrF)>0
lcStrF = STRTRAN(m.lcStrF,'<','&lt;')
ENDIF

lcStrF2 = ''
FOR lni=1 TO LEN(m.lcStrF)
lcChar = SUBSTR(m.lcStrF,m.lni,1)
lnChar = ASC(m.lcChar)
lcStrF2 = m.lcStrF2 + IIF(m.lnChar < 128 , m.lcChar , [&#]+STR(m.lnChar,3)+[;])
NEXT
RETURN m.lcStrF2
ENDFUNC

**********************
* For OS below Win 7 *
**********************
PROCEDURE cleanup
LPARAMETERS lcDir
LOCAL lSetSafety
lSetSafety = SET("Safety")
SET SAFETY OFF
ERASE (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slides])+[_rels]) + "*.*")
RD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slides])+[_rels]))
ERASE (ADDBS(ADDBS(m.lcDir+[ppt])+[slides]) + "*.*")
RD (ADDBS(ADDBS(m.lcDir+[ppt])+[slides]))
ERASE (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters])+[_rels]) + "*.*")
RD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters])+[_rels]))
ERASE (ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters]) + "*.*")
RD (ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters]))
ERASE (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts])+[_rels]) + "*.*")
RD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts])+[_rels]))
ERASE (ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts]) + "*.*")
RD (ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts]))
ERASE (ADDBS(ADDBS(m.lcDir+[ppt])+[theme]) + "*.*")
RD (ADDBS(ADDBS(m.lcDir+[ppt])+[theme]))
ERASE (ADDBS(ADDBS(m.lcDir+[ppt])+[_rels]) + "*.*")
RD (ADDBS(ADDBS(m.lcDir+[ppt])+[_rels]))
ERASE (ADDBS(m.lcDir+[ppt]) + "*.*")
RD (ADDBS(m.lcDir+[ppt]))
ERASE (ADDBS(m.lcDir+[docProps]) + "*.*")
RD (ADDBS(m.lcDir+[docProps]))
ERASE (ADDBS(m.lcDir+[_rels]) + "*.*")
RD (ADDBS(m.lcDir+[_rels]))
ERASE (m.lcDir + "*.*")
RD (m.lcDir)
SET SAFETY &lSetSafety
ENDPROC

**********************
* Generate temp dirs *
**********************
FUNCTION gen_dirs
LOCAL lcDir
lcDir=ADDBS(SYS(2015))
MD (m.lcDir)
MD (ADDBS(m.lcDir+[_rels]))
MD (ADDBS(m.lcDir+[docProps]))
MD (ADDBS(m.lcDir+[ppt]))
MD (ADDBS(ADDBS(m.lcDir+[ppt])+[_rels]))
MD (ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts]))
MD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideLayouts])+[_rels]))
MD (ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters]))
MD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slideMasters])+[_rels]))
MD (ADDBS(ADDBS(m.lcDir+[ppt])+[slides]))
MD (ADDBS(ADDBS(ADDBS(m.lcDir+[ppt])+[slides])+[_rels]))
MD (ADDBS(ADDBS(m.lcDir+[ppt])+[theme]))
RETURN m.lcDir

********************************
* Generate [Content_Types].xml *
********************************
PROCEDURE gen_Content_Types
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"[Content_Types].xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create [Content_Types].xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>])
FWRITE(m.lnF,[<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">])
FWRITE(m.lnF,[<Default ContentType="application/xml" Extension="xml"/>])
FWRITE(m.lnF,[<Default ContentType="application/vnd.openxmlformats-package.relationships+xml" Extension="rels"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml" PartName="/docProps/app.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-package.core-properties+xml" PartName="/docProps/core.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.theme+xml" PartName="/ppt/theme/theme1.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" PartName="/ppt/slideMasters/slideMaster1.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" PartName="/ppt/slideLayouts/slideLayout1.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" PartName="/ppt/presentation.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" PartName="/ppt/tableStyles.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.viewProps+xml" PartName="/ppt/viewProps.xml"/>])
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.presProps+xml" PartName="/ppt/presProps.xml"/>])
FOR lni = 1 TO m.lnSlideNo
FWRITE(m.lnF,[<Override ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml" PartName="/ppt/slides/slide] + LTRIM(STR(m.lni)) + [.xml"/>])
NEXT
FWRITE(m.lnF,[</Types>])
FCLOSE(m.lnF)
ENDPROC

************************
* Generate _rels\.rels *
************************
PROCEDURE gen_rels
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+".rels")
IF m.lnF < 0
MESSAGEBOX('Cannot create .rels',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">])
FWRITE(m.lnF,[<Relationship Target="docProps/core.xml" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Id="rId3"/>])
FWRITE(m.lnF,[<Relationship Target="ppt/presentation.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Id="rId1"/>])
FWRITE(m.lnF,[<Relationship Target="docProps/app.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Id="rId4"/>]+CHR(10))
FWRITE(m.lnF,[</Relationships>])
FCLOSE(m.lnF)
ENDPROC

*****************************
* Generate docProps\app.xml *
*****************************
PROCEDURE gen_app
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"app.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create app.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">])
FWRITE(m.lnF,[<TotalTime>0</TotalTime>])
FWRITE(m.lnF,[<Application>copytopptx</Application>])
FWRITE(m.lnF,[<PresentationFormat>On-screen Show (4:3)</PresentationFormat>])
FWRITE(m.lnF,[<Slides>] + LTRIM(STR(m.lnSlideNo)) + [</Slides>])
FWRITE(m.lnF,[<Notes>0</Notes>])
FWRITE(m.lnF,[<HiddenSlides>0</HiddenSlides>])
FWRITE(m.lnF,[<MMClips>0</MMClips>])
FWRITE(m.lnF,[<ScaleCrop>false</ScaleCrop>])
FWRITE(m.lnF,[<HeadingPairs>])
FWRITE(m.lnF,[<vt:vector baseType="variant" size="4">])
FWRITE(m.lnF,[<vt:variant>])
FWRITE(m.lnF,[<vt:lpstr>Theme</vt:lpstr>])
FWRITE(m.lnF,[</vt:variant>])
FWRITE(m.lnF,[<vt:variant>])
FWRITE(m.lnF,[<vt:i4>1</vt:i4>])
FWRITE(m.lnF,[</vt:variant>])
FWRITE(m.lnF,[<vt:variant>])
FWRITE(m.lnF,[<vt:lpstr>Slide Titles</vt:lpstr>])
FWRITE(m.lnF,[</vt:variant>])
FWRITE(m.lnF,[<vt:variant>])
FWRITE(m.lnF,[<vt:i4>] + LTRIM(STR(m.lnSlideNo)) + [</vt:i4>])
FWRITE(m.lnF,[</vt:variant>])
FWRITE(m.lnF,[</vt:vector>])
FWRITE(m.lnF,[</HeadingPairs>])
FWRITE(m.lnF,[<TitlesOfParts>])
FWRITE(m.lnF,[<vt:vector baseType="lpstr" size="] + LTRIM(STR(m.lnSlideNo +1)) + [">])
FWRITE(m.lnF,[<vt:lpstr>Office Theme</vt:lpstr>])
FOR lni = 1 TO m.lnSlideNo
FWRITE(m.lnF,[<vt:lpstr>] + theSildeTitle + LTRIM(STR(m.lni)) + [</vt:lpstr>])
NEXT
FWRITE(m.lnF,[</vt:vector>])
FWRITE(m.lnF,[</TitlesOfParts>])
FWRITE(m.lnF,[<AppVersion>1.0000</AppVersion>])
FWRITE(m.lnF,[</Properties>])
FCLOSE(m.lnF)
ENDPROC

******************************
* Generate docProps\core.xml *
******************************
PROCEDURE gen_core
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"core.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create core.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" ])
FWRITE(m.lnF,[xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">])
FWRITE(m.lnF,[<dc:title>] + theSildeTitle + [1</dc:title>])
FWRITE(m.lnF,[<dcterms:created xsi:type="dcterms:W3CDTF">]+TTOC(DATETIME(),3)+[</dcterms:created>])
FWRITE(m.lnF,[</cp:coreProperties>])
FCLOSE(m.lnF)
ENDPROC

********************************************
* Generate ppt\_rels\presentation.xml.rels *
********************************************
PROCEDURE gen_pptrels
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"presentation.xml.rels")
IF m.lnF < 0
MESSAGEBOX('Cannot create presentation.xml.rels',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">])

FWRITE(m.lnF,[<Relationship Target="tableStyles.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/tableStyles" Id="rId4"/>])
FWRITE(m.lnF,[<Relationship Target="slideMasters/slideMaster1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Id="rId1"/>])
FWRITE(m.lnF,[<Relationship Target="theme/theme1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Id="rId5"/>])
FWRITE(m.lnF,[<Relationship Target="viewProps.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/viewProps" Id="rId3"/>])
FWRITE(m.lnF,[<Relationship Target="presProps.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/presProps" Id="rId2"/>])
FOR lni = 1 TO m.lnSlideNo
FWRITE(m.lnF,[<Relationship Target="slides/slide] + LTRIM(STR(m.lni)) + [.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Id="rId] + LTRIM(STR(5 + m.lni)) + ["/>])
NEXT
FWRITE(m.lnF,[</Relationships>])
FCLOSE(m.lnF)
ENDPROC

************************************************************
* Generate ppt\slideLayouts\_rels\slideLayout1.xml.rels *
************************************************************
PROCEDURE gen_slideLayoutsrels
LPARAMETERS lcDir
LOCAL lnF,lcStr,lcFName
lcStr = [<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10)
lcStr = m.lcStr + [<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">]
lcStr = m.lcStr + [<Relationship Target="../slideMasters/slideMaster1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Id="rId1"/>]
lcStr = m.lcStr + [</Relationships>]
lcFName = [slideLayout1.xml.rels]
lnF = FCREATE(m.lcDir + m.lcFName)
IF m.lnF < 0
MESSAGEBOX('Cannot create ' + m.lcFName,16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,m.lcStr)
FCLOSE(m.lnF)
ENDPROC

*************************************************
* Generate ppt\slideLayouts\slideLayout1.xml *
*************************************************
PROCEDURE gen_slideLayouts
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"slideLayout1.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create slideLayout1.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<p:sldLayout xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnF,[xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" type="obj" preserve="1">])
FWRITE(m.lnF,[<p:cSld name="Title and Content">])
FWRITE(m.lnF,[<p:spTree>])
FWRITE(m.lnF,[<p:nvGrpSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="1" name=""/>])
FWRITE(m.lnF,[<p:cNvGrpSpPr/>])
FWRITE(m.lnF,[<p:nvPr/>])
FWRITE(m.lnF,[</p:nvGrpSpPr>])
FWRITE(m.lnF,[<p:grpSpPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="0" y="0"/>])
FWRITE(m.lnF,[<a:ext cx="0" cy="0"/>])
FWRITE(m.lnF,[<a:chOff x="0" y="0"/>])
FWRITE(m.lnF,[<a:chExt cx="0" cy="0"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[</p:grpSpPr>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="2" name="Title 1"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="title"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr/>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr/>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Click to edit Master title style</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="3" name="Content Placeholder 2"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph idx="1"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr/>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr/>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="0"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Click to edit Master text styles</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="1"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Second level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="2"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Third level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="3"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Fourth level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="4"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Fifth level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="4" name="Date Placeholder 3"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="dt" sz="half" idx="10"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr/>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr/>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:fld id="{888700A0-746F-48E1-B630-3A18FF380FD8}" type="datetimeFigureOut">])
FWRITE(m.lnF,[<a:rPr lang="] + theLanguage + [" smtClean="0"/>])
FWRITE(m.lnF,[<a:pPr/>])
FWRITE(m.lnF,[<a:t>] + DTOC(DATE()) + [</a:t>])
FWRITE(m.lnF,[</a:fld>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="5" name="Footer Placeholder 4"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="ftr" sz="quarter" idx="11"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr/>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr/>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="6" name="Slide Number Placeholder 5"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="sldNum" sz="quarter" idx="12"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr/>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr/>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:fld id="{66096AA0-6251-4D6F-A73C-3C0CDA5D0380}" type="slidenum">])
FWRITE(m.lnF,[<a:rPr lang="] + theLanguage + [" smtClean="0"/>])
FWRITE(m.lnF,[<a:pPr/>])
FWRITE(m.lnF,[<a:t>&#8249;#&#8250;</a:t>])
FWRITE(m.lnF,[</a:fld>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[</p:spTree>])
FWRITE(m.lnF,[</p:cSld>])
FWRITE(m.lnF,[<p:clrMapOvr>])
FWRITE(m.lnF,[<a:masterClrMapping/>])
FWRITE(m.lnF,[</p:clrMapOvr>])
FWRITE(m.lnF,[</p:sldLayout>])
FCLOSE(m.lnF)
ENDPROC

*********************************************************
* Generate ppt\slideMasters\_rels\slideMaster1.xml.rels *
*********************************************************
PROCEDURE gen_slideMastersrels
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"slideMaster1.xml.rels")
IF m.lnF < 0
MESSAGEBOX('Cannot create slideMaster1.xml.rels',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">])
FWRITE(m.lnF,[<Relationship Target="../theme/theme1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme" Id="rId12"/>])
FWRITE(m.lnF,[<Relationship Target="../slideLayouts/slideLayout1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Id="rId1"/>])
FWRITE(m.lnF,[</Relationships>])
FCLOSE(m.lnF)
ENDPROC


**********************************************
* Generate ppt\slideMasters\slideMaster1.xml *
**********************************************
PROCEDURE gen_slideMasters
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"slideMaster1.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create slideMaster1.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<p:sldMaster xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnF,[xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">])
FWRITE(m.lnF,[<p:cSld>])
FWRITE(m.lnF,[<p:bg>])
FWRITE(m.lnF,[<p:bgRef idx="1001">])
FWRITE(m.lnF,[<a:schemeClr val="bg1"/>])
FWRITE(m.lnF,[</p:bgRef>])
FWRITE(m.lnF,[</p:bg>])
FWRITE(m.lnF,[<p:spTree>])
FWRITE(m.lnF,[<p:nvGrpSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="1" name=""/>])
FWRITE(m.lnF,[<p:cNvGrpSpPr/>])
FWRITE(m.lnF,[<p:nvPr/>])
FWRITE(m.lnF,[</p:nvGrpSpPr>])
FWRITE(m.lnF,[<p:grpSpPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="0" y="0"/>])
FWRITE(m.lnF,[<a:ext cx="0" cy="0"/>])
FWRITE(m.lnF,[<a:chOff x="0" y="0"/>])
FWRITE(m.lnF,[<a:chExt cx="0" cy="0"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[</p:grpSpPr>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="2" name="Title Placeholder 1"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="title"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="457200" y="274638"/>])
FWRITE(m.lnF,[<a:ext cx="8229600" cy="1143000"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[<a:prstGeom prst="rect">])
FWRITE(m.lnF,[<a:avLst/>])
FWRITE(m.lnF,[</a:prstGeom>])
FWRITE(m.lnF,[</p:spPr>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr">])
FWRITE(m.lnF,[<a:normAutofit/>])
FWRITE(m.lnF,[</a:bodyPr>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Click to edit Master title style</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="3" name="Text Placeholder 2"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="body" idx="1"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="457200" y="1600200"/>])
FWRITE(m.lnF,[<a:ext cx="8229600" cy="4525963"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[<a:prstGeom prst="rect">])
FWRITE(m.lnF,[<a:avLst/>])
FWRITE(m.lnF,[</a:prstGeom>])
FWRITE(m.lnF,[</p:spPr>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0">])
FWRITE(m.lnF,[<a:normAutofit/>])
FWRITE(m.lnF,[</a:bodyPr>])
FWRITE(m.lnF,[<a:lstStyle/>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="0"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Click to edit Master text styles</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="1"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Second level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="2"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Third level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="3"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Fourth level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:pPr lvl="4"/>])
FWRITE(m.lnF,[<a:r>])
FWRITE(m.lnF,[<a:rPr lang="en-US" smtClean="0"/>])
FWRITE(m.lnF,[<a:t>Fifth level</a:t>])
FWRITE(m.lnF,[</a:r>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="4" name="Date Placeholder 3"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="dt" sz="half" idx="2"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="457200" y="6356350"/>])
FWRITE(m.lnF,[<a:ext cx="2133600" cy="365125"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[<a:prstGeom prst="rect">])
FWRITE(m.lnF,[<a:avLst/>])
FWRITE(m.lnF,[</a:prstGeom>])
FWRITE(m.lnF,[</p:spPr>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/>])
FWRITE(m.lnF,[<a:lstStyle>])
FWRITE(m.lnF,[<a:lvl1pPr algn="l">])
FWRITE(m.lnF,[<a:defRPr sz="1200">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="tx1">])
FWRITE(m.lnF,[<a:tint val="75000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:defRPr>])
FWRITE(m.lnF,[</a:lvl1pPr>])
FWRITE(m.lnF,[</a:lstStyle>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:fld id="{888700A0-746F-48E1-B630-3A18FF380FD8}" type="datetimeFigureOut">])
FWRITE(m.lnF,[<a:rPr lang="] + theLanguage + [" smtClean="0"/>])
FWRITE(m.lnF,[<a:pPr/>])
FWRITE(m.lnF,[<a:t>] + DTOC(DATE()) + [</a:t>])
FWRITE(m.lnF,[</a:fld>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="5" name="Footer Placeholder 4"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="ftr" sz="quarter" idx="3"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="3124200" y="6356350"/>])
FWRITE(m.lnF,[<a:ext cx="2895600" cy="365125"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[<a:prstGeom prst="rect">])
FWRITE(m.lnF,[<a:avLst/>])
FWRITE(m.lnF,[</a:prstGeom>])
FWRITE(m.lnF,[</p:spPr>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/>])
FWRITE(m.lnF,[<a:lstStyle>])
FWRITE(m.lnF,[<a:lvl1pPr algn="ctr">])
FWRITE(m.lnF,[<a:defRPr sz="1200">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="tx1">])
FWRITE(m.lnF,[<a:tint val="75000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:defRPr>])
FWRITE(m.lnF,[</a:lvl1pPr>])
FWRITE(m.lnF,[</a:lstStyle>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[<p:sp>])
FWRITE(m.lnF,[<p:nvSpPr>])
FWRITE(m.lnF,[<p:cNvPr id="6" name="Slide Number Placeholder 5"/>])
FWRITE(m.lnF,[<p:cNvSpPr>])
FWRITE(m.lnF,[<a:spLocks noGrp="1"/>])
FWRITE(m.lnF,[</p:cNvSpPr>])
FWRITE(m.lnF,[<p:nvPr>])
FWRITE(m.lnF,[<p:ph type="sldNum" sz="quarter" idx="4"/>])
FWRITE(m.lnF,[</p:nvPr>])
FWRITE(m.lnF,[</p:nvSpPr>])
FWRITE(m.lnF,[<p:spPr>])
FWRITE(m.lnF,[<a:xfrm>])
FWRITE(m.lnF,[<a:eek:ff x="6553200" y="6356350"/>])
FWRITE(m.lnF,[<a:ext cx="2133600" cy="365125"/>])
FWRITE(m.lnF,[</a:xfrm>])
FWRITE(m.lnF,[<a:prstGeom prst="rect">])
FWRITE(m.lnF,[<a:avLst/>])
FWRITE(m.lnF,[</a:prstGeom>])
FWRITE(m.lnF,[</p:spPr>])
FWRITE(m.lnF,[<p:txBody>])
FWRITE(m.lnF,[<a:bodyPr vert="horz" lIns="91440" tIns="45720" rIns="91440" bIns="45720" rtlCol="0" anchor="ctr"/>])
FWRITE(m.lnF,[<a:lstStyle>])
FWRITE(m.lnF,[<a:lvl1pPr algn="r">])
FWRITE(m.lnF,[<a:defRPr sz="1200">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="tx1">])
FWRITE(m.lnF,[<a:tint val="75000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:defRPr>])
FWRITE(m.lnF,[</a:lvl1pPr>])
FWRITE(m.lnF,[</a:lstStyle>])
FWRITE(m.lnF,[<a:p>])
FWRITE(m.lnF,[<a:fld id="{66096AA0-6251-4D6F-A73C-3C0CDA5D0380}" type="slidenum">])
FWRITE(m.lnF,[<a:rPr lang="] + theLanguage + [" smtClean="0"/>])
FWRITE(m.lnF,[<a:pPr/>])
FWRITE(m.lnF,[<a:t>&#8249;#&#8250;</a:t>])
FWRITE(m.lnF,[</a:fld>])
FWRITE(m.lnF,[<a:endParaRPr lang="] + theLanguage + ["/>])
FWRITE(m.lnF,[</a:p>])
FWRITE(m.lnF,[</p:txBody>])
FWRITE(m.lnF,[</p:sp>])
FWRITE(m.lnF,[</p:spTree>])
FWRITE(m.lnF,[</p:cSld>])
FWRITE(m.lnF,[<p:clrMap bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>])
FWRITE(m.lnF,[<p:sldLayoutIdLst>])
FWRITE(m.lnF,[<p:sldLayoutId id="2147483649" r:id="rId1"/>])
FWRITE(m.lnF,[</p:sldLayoutIdLst>])
FWRITE(m.lnF,[<p:txStyles>])
FWRITE(m.lnF,[<p:titleStyle/>])
FWRITE(m.lnF,[<p:bodyStyle/>])
FWRITE(m.lnF,[<p:eek:therStyle/>])
FWRITE(m.lnF,[</p:txStyles>])
FWRITE(m.lnF,[</p:sldMaster>])
FCLOSE(m.lnF)
ENDPROC

*********************************
* Generate ppt\presentation.xml *
*********************************
PROCEDURE gen_presentation
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni
lnF = FCREATE(m.lcDir+"presentation.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create .presentation.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<p:presentation xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnF,[xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" saveSubsetFonts="1">])
FWRITE(m.lnF,[<p:sldMasterIdLst>])
FWRITE(m.lnF,[<p:sldMasterId id="2147483648" r:id="rId1"/>])
FWRITE(m.lnF,[</p:sldMasterIdLst>])
FWRITE(m.lnF,[<p:sldIdLst>])
FOR lni = 1 TO m.lnSlideNo
FWRITE(m.lnF,[<p:sldId id="] + LTRIM(STR(255 + m.lni)) + [" r:id="rId] + LTRIM(STR(5 + m.lni)) + ["/>])
NEXT
FWRITE(m.lnF,[</p:sldIdLst>])
FWRITE(m.lnF,[<p:sldSz cx="9144000" cy="6858000" type="screen4x3"/>])
FWRITE(m.lnF,[<p:notesSz cx="6858000" cy="9144000"/>])
FWRITE(m.lnF,[</p:presentation>])
FCLOSE(m.lnF)
ENDPROC

******************************
* Generate ppt\presProps.xml *
******************************
PROCEDURE gen_presProps
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"presProps.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create presProps.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<p:presentationPr xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnF,[xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>])
FCLOSE(m.lnF)
ENDPROC

********************************
* Generate ppt\tableStyles.xml *
********************************
PROCEDURE gen_tableStyles
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"tableStyles.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create tableStyles.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<a:tblStyleLst xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" def="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}">])
FWRITE(m.lnF,[<a:tblStyle styleId="{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}" styleName="Medium Style 2 - Accent 1">])
FWRITE(m.lnF,[<a:wholeTbl>])
FWRITE(m.lnF,[<a:tcTxStyle>])
FWRITE(m.lnF,[<a:fontRef idx="minor">])
FWRITE(m.lnF,[<a:prstClr val="black"/>])
FWRITE(m.lnF,[</a:fontRef>])
FWRITE(m.lnF,[<a:schemeClr val="dk1"/>])
FWRITE(m.lnF,[</a:tcTxStyle>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr>])
FWRITE(m.lnF,[<a:left>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:left>])
FWRITE(m.lnF,[<a:right>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:right>])
FWRITE(m.lnF,[<a:top>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:top>])
FWRITE(m.lnF,[<a:bottom>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:bottom>])
FWRITE(m.lnF,[<a:insideH>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:insideH>])
FWRITE(m.lnF,[<a:insideV>])
FWRITE(m.lnF,[<a:ln w="12700" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:insideV>])
FWRITE(m.lnF,[</a:tcBdr>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1">])
FWRITE(m.lnF,[<a:tint val="20000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:wholeTbl>])
FWRITE(m.lnF,[<a:band1H>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1">])
FWRITE(m.lnF,[<a:tint val="40000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:band1H>])
FWRITE(m.lnF,[<a:band2H>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:band2H>])
FWRITE(m.lnF,[<a:band1V>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1">])
FWRITE(m.lnF,[<a:tint val="40000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:band1V>])
FWRITE(m.lnF,[<a:band2V>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:band2V>])
FWRITE(m.lnF,[<a:lastCol>])
FWRITE(m.lnF,[<a:tcTxStyle b="on">])
FWRITE(m.lnF,[<a:fontRef idx="minor">])
FWRITE(m.lnF,[<a:prstClr val="black"/>])
FWRITE(m.lnF,[</a:fontRef>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:tcTxStyle>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:lastCol>])
FWRITE(m.lnF,[<a:firstCol>])
FWRITE(m.lnF,[<a:tcTxStyle b="on">])
FWRITE(m.lnF,[<a:fontRef idx="minor">])
FWRITE(m.lnF,[<a:prstClr val="black"/>])
FWRITE(m.lnF,[</a:fontRef>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:tcTxStyle>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr/>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:firstCol>])
FWRITE(m.lnF,[<a:lastRow>])
FWRITE(m.lnF,[<a:tcTxStyle b="on">])
FWRITE(m.lnF,[<a:fontRef idx="minor">])
FWRITE(m.lnF,[<a:prstClr val="black"/>])
FWRITE(m.lnF,[</a:fontRef>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:tcTxStyle>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr>])
FWRITE(m.lnF,[<a:top>])
FWRITE(m.lnF,[<a:ln w="38100" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:top>])
FWRITE(m.lnF,[</a:tcBdr>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:lastRow>])
FWRITE(m.lnF,[<a:firstRow>])
FWRITE(m.lnF,[<a:tcTxStyle b="on">])
FWRITE(m.lnF,[<a:fontRef idx="minor">])
FWRITE(m.lnF,[<a:prstClr val="black"/>])
FWRITE(m.lnF,[</a:fontRef>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:tcTxStyle>])
FWRITE(m.lnF,[<a:tcStyle>])
FWRITE(m.lnF,[<a:tcBdr>])
FWRITE(m.lnF,[<a:bottom>])
FWRITE(m.lnF,[<a:ln w="38100" cmpd="sng">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="lt1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:bottom>])
FWRITE(m.lnF,[</a:tcBdr>])
FWRITE(m.lnF,[<a:fill>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="accent1"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[</a:fill>])
FWRITE(m.lnF,[</a:tcStyle>])
FWRITE(m.lnF,[</a:firstRow>])
FWRITE(m.lnF,[</a:tblStyle>])
FWRITE(m.lnF,[</a:tblStyleLst>])
FCLOSE(m.lnF)
ENDPROC

******************************
* Generate ppt\viewProps.xml *
******************************
PROCEDURE gen_viewProps
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"viewProps.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create viewProps.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<p:viewPr xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" ])
FWRITE(m.lnF,[xmlns:p="http://schemas.openxmlformats.org/presentationml/2006/main">])
FWRITE(m.lnF,[<p:normalViewPr showOutlineIcons="0">])
FWRITE(m.lnF,[<p:restoredLeft sz="15620"/>])
FWRITE(m.lnF,[<p:restoredTop sz="94660"/>])
FWRITE(m.lnF,[</p:normalViewPr>])
FWRITE(m.lnF,[<p:slideViewPr>])
FWRITE(m.lnF,[<p:cSldViewPr>])
FWRITE(m.lnF,[<p:cViewPr varScale="1">])
FWRITE(m.lnF,[<p:scale>])
FWRITE(m.lnF,[<a:sx n="157" d="100"/>])
FWRITE(m.lnF,[<a:sy n="157" d="100"/>])
FWRITE(m.lnF,[</p:scale>])
FWRITE(m.lnF,[<p:eek:rigin x="-342" y="-96"/>])
FWRITE(m.lnF,[</p:cViewPr>])
FWRITE(m.lnF,[<p:guideLst>])
FWRITE(m.lnF,[<p:guide orient="horz" pos="2160"/>])
FWRITE(m.lnF,[<p:guide pos="2880"/>])
FWRITE(m.lnF,[</p:guideLst>])
FWRITE(m.lnF,[</p:cSldViewPr>])
FWRITE(m.lnF,[</p:slideViewPr>])
FWRITE(m.lnF,[<p:notesTextViewPr>])
FWRITE(m.lnF,[<p:cViewPr>])
FWRITE(m.lnF,[<p:scale>])
FWRITE(m.lnF,[<a:sx n="100" d="100"/>])
FWRITE(m.lnF,[<a:sy n="100" d="100"/>])
FWRITE(m.lnF,[</p:scale>])
FWRITE(m.lnF,[<p:eek:rigin x="0" y="0"/>])
FWRITE(m.lnF,[</p:cViewPr>])
FWRITE(m.lnF,[</p:notesTextViewPr>])
FWRITE(m.lnF,[<p:gridSpacing cx="73736200" cy="73736200"/>])
FWRITE(m.lnF,[</p:viewPr>])
FCLOSE(m.lnF)
ENDPROC


**************************************************
* Generate ppt\slides\_rels\slide1,2....xml.rels *
**************************************************
PROCEDURE gen_slidesrels
LPARAMETERS lcDir,lnSlideNo
LOCAL lnF,lni,lcName,lcS
lcS = [<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10)
lcS = m.lcS + [<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">]
lcS = m.lcS + [<Relationship Target="../slideLayouts/slideLayout1.xml" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Id="rId1"/>]
lcS = m.lcS + [</Relationships>]
FOR lni = 1 TO m.lnSlideNo
lcName = [slide] + LTRIM(STR(m.lni)) + [.xml.rels]
lnF = FCREATE(m.lcDir + m.lcName)
IF m.lnF < 0
MESSAGEBOX('Cannot create ' + m.lcName,16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,m.lcS)
FCLOSE(m.lnF)
NEXT
ENDPROC

*********************************
* Generate ppt\theme\theme1.xml *
*********************************
PROCEDURE gen_theme
LPARAMETERS lcDir
LOCAL lnF
lnF = FCREATE(m.lcDir+"theme1.xml")
IF m.lnF < 0
MESSAGEBOX('Cannot create theme1.xml',16,'Abort')
RETURN TO MASTER
ENDIF
FWRITE(m.lnF,[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>]+CHR(10))
FWRITE(m.lnF,[<a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">])
FWRITE(m.lnF,[<a:themeElements>])
FWRITE(m.lnF,[<a:clrScheme name="Office">])
FWRITE(m.lnF,[<a:dk1>])
FWRITE(m.lnF,[<a:sysClr val="windowText" lastClr="000000"/>])
FWRITE(m.lnF,[</a:dk1>])
FWRITE(m.lnF,[<a:lt1>])
FWRITE(m.lnF,[<a:sysClr val="window" lastClr="FFFFFF"/>])
FWRITE(m.lnF,[</a:lt1>])
FWRITE(m.lnF,[<a:dk2>])
FWRITE(m.lnF,[<a:srgbClr val="1F497D"/>])
FWRITE(m.lnF,[</a:dk2>])
FWRITE(m.lnF,[<a:lt2>])
FWRITE(m.lnF,[<a:srgbClr val="EEECE1"/>])
FWRITE(m.lnF,[</a:lt2>])
FWRITE(m.lnF,[<a:accent1>])
FWRITE(m.lnF,[<a:srgbClr val="4F81BD"/>])
FWRITE(m.lnF,[</a:accent1>])
FWRITE(m.lnF,[<a:accent2>])
FWRITE(m.lnF,[<a:srgbClr val="C0504D"/>])
FWRITE(m.lnF,[</a:accent2>])
FWRITE(m.lnF,[<a:accent3>])
FWRITE(m.lnF,[<a:srgbClr val="9BBB59"/>])
FWRITE(m.lnF,[</a:accent3>])
FWRITE(m.lnF,[<a:accent4>])
FWRITE(m.lnF,[<a:srgbClr val="8064A2"/>])
FWRITE(m.lnF,[</a:accent4>])
FWRITE(m.lnF,[<a:accent5>])
FWRITE(m.lnF,[<a:srgbClr val="4BACC6"/>])
FWRITE(m.lnF,[</a:accent5>])
FWRITE(m.lnF,[<a:accent6>])
FWRITE(m.lnF,[<a:srgbClr val="F79646"/>])
FWRITE(m.lnF,[</a:accent6>])
FWRITE(m.lnF,[<a:hlink>])
FWRITE(m.lnF,[<a:srgbClr val="0000FF"/>])
FWRITE(m.lnF,[</a:hlink>])
FWRITE(m.lnF,[<a:folHlink>])
FWRITE(m.lnF,[<a:srgbClr val="800080"/>])
FWRITE(m.lnF,[</a:folHlink>])
FWRITE(m.lnF,[</a:clrScheme>])
FWRITE(m.lnF,[<a:fontScheme name="Office">])
FWRITE(m.lnF,[<a:majorFont>])
FWRITE(m.lnF,[<a:latin typeface="Calibri"/>])
FWRITE(m.lnF,[<a:ea typeface=""/>])
FWRITE(m.lnF,[<a:cs typeface=""/>])
*!* FWRITE(m.lnF,[<a:font script="Jpan" typeface="MS Pゴシック"/>])
*!* FWRITE(m.lnF,[<a:font script="Hang" typeface="ë§'ì?€ ê³ ë"o"/>])
*!* FWRITE(m.lnF,[<a:font script="Hans" typeface="宋ä½""/>])
*!* FWRITE(m.lnF,[<a:font script="Hant" typeface="æ-°ç´°æ˜Žé"""/>])
FWRITE(m.lnF,[<a:font script="Arab" typeface="Times New Roman"/>])
FWRITE(m.lnF,[<a:font script="Hebr" typeface="Times New Roman"/>])
FWRITE(m.lnF,[<a:font script="Thai" typeface="Angsana New"/>])
FWRITE(m.lnF,[<a:font script="Ethi" typeface="Nyala"/>])
FWRITE(m.lnF,[<a:font script="Beng" typeface="Vrinda"/>])
FWRITE(m.lnF,[<a:font script="Gujr" typeface="Shruti"/>])
FWRITE(m.lnF,[<a:font script="Khmr" typeface="MoolBoran"/>])
FWRITE(m.lnF,[<a:font script="Knda" typeface="Tunga"/>])
FWRITE(m.lnF,[<a:font script="Guru" typeface="Raavi"/>])
FWRITE(m.lnF,[<a:font script="Cans" typeface="Euphemia"/>])
FWRITE(m.lnF,[<a:font script="Cher" typeface="Plantagenet Cherokee"/>])
FWRITE(m.lnF,[<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>])
FWRITE(m.lnF,[<a:font script="Tibt" typeface="Microsoft Himalaya"/>])
FWRITE(m.lnF,[<a:font script="Thaa" typeface="MV Boli"/>])
FWRITE(m.lnF,[<a:font script="Deva" typeface="Mangal"/>])
FWRITE(m.lnF,[<a:font script="Telu" typeface="Gautami"/>])
FWRITE(m.lnF,[<a:font script="Taml" typeface="Latha"/>])
FWRITE(m.lnF,[<a:font script="Syrc" typeface="Estrangelo Edessa"/>])
FWRITE(m.lnF,[<a:font script="Orya" typeface="Kalinga"/>])
FWRITE(m.lnF,[<a:font script="Mlym" typeface="Kartika"/>])
FWRITE(m.lnF,[<a:font script="Laoo" typeface="DokChampa"/>])
FWRITE(m.lnF,[<a:font script="Sinh" typeface="Iskoola Pota"/>])
FWRITE(m.lnF,[<a:font script="Mong" typeface="Mongolian Baiti"/>])
FWRITE(m.lnF,[<a:font script="Viet" typeface="Times New Roman"/>])
FWRITE(m.lnF,[<a:font script="Uigh" typeface="Microsoft Uighur"/>])
FWRITE(m.lnF,[</a:majorFont>])
FWRITE(m.lnF,[<a:minorFont>])
FWRITE(m.lnF,[<a:latin typeface="Calibri"/>])
FWRITE(m.lnF,[<a:ea typeface=""/>])
FWRITE(m.lnF,[<a:cs typeface=""/>])
*!* FWRITE(m.lnF,[<a:font script="Jpan" typeface="MS Pゴシック"/>])
*!* FWRITE(m.lnF,[<a:font script="Hang" typeface="ë§'ì?€ ê³ ë"o"/>])
*!* FWRITE(m.lnF,[<a:font script="Hans" typeface="宋ä½""/>])
*!* FWRITE(m.lnF,[<a:font script="Hant" typeface="æ-°ç´°æ˜Žé"""/>])
FWRITE(m.lnF,[<a:font script="Arab" typeface="Arial"/>])
FWRITE(m.lnF,[<a:font script="Hebr" typeface="Arial"/>])
FWRITE(m.lnF,[<a:font script="Thai" typeface="Cordia New"/>])
FWRITE(m.lnF,[<a:font script="Ethi" typeface="Nyala"/>])
FWRITE(m.lnF,[<a:font script="Beng" typeface="Vrinda"/>])
FWRITE(m.lnF,[<a:font script="Gujr" typeface="Shruti"/>])
FWRITE(m.lnF,[<a:font script="Khmr" typeface="DaunPenh"/>])
FWRITE(m.lnF,[<a:font script="Knda" typeface="Tunga"/>])
FWRITE(m.lnF,[<a:font script="Guru" typeface="Raavi"/>])
FWRITE(m.lnF,[<a:font script="Cans" typeface="Euphemia"/>])
FWRITE(m.lnF,[<a:font script="Cher" typeface="Plantagenet Cherokee"/>])
FWRITE(m.lnF,[<a:font script="Yiii" typeface="Microsoft Yi Baiti"/>])
FWRITE(m.lnF,[<a:font script="Tibt" typeface="Microsoft Himalaya"/>])
FWRITE(m.lnF,[<a:font script="Thaa" typeface="MV Boli"/>])
FWRITE(m.lnF,[<a:font script="Deva" typeface="Mangal"/>])
FWRITE(m.lnF,[<a:font script="Telu" typeface="Gautami"/>])
FWRITE(m.lnF,[<a:font script="Taml" typeface="Latha"/>])
FWRITE(m.lnF,[<a:font script="Syrc" typeface="Estrangelo Edessa"/>])
FWRITE(m.lnF,[<a:font script="Orya" typeface="Kalinga"/>])
FWRITE(m.lnF,[<a:font script="Mlym" typeface="Kartika"/>])
FWRITE(m.lnF,[<a:font script="Laoo" typeface="DokChampa"/>])
FWRITE(m.lnF,[<a:font script="Sinh" typeface="Iskoola Pota"/>])
FWRITE(m.lnF,[<a:font script="Mong" typeface="Mongolian Baiti"/>])
FWRITE(m.lnF,[<a:font script="Viet" typeface="Arial"/>])
FWRITE(m.lnF,[<a:font script="Uigh" typeface="Microsoft Uighur"/>])
FWRITE(m.lnF,[</a:minorFont>])
FWRITE(m.lnF,[</a:fontScheme>])
FWRITE(m.lnF,[<a:fmtScheme name="Office">])
FWRITE(m.lnF,[<a:fillStyleLst>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="phClr"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[<a:gradFill rotWithShape="1">])
FWRITE(m.lnF,[<a:gsLst>])
FWRITE(m.lnF,[<a:gs pos="0">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="50000"/>])
FWRITE(m.lnF,[<a:satMod val="300000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="35000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="37000"/>])
FWRITE(m.lnF,[<a:satMod val="300000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="100000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="15000"/>])
FWRITE(m.lnF,[<a:satMod val="350000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[</a:gsLst>])
FWRITE(m.lnF,[<a:lin ang="16200000" scaled="1"/>])
FWRITE(m.lnF,[</a:gradFill>])
FWRITE(m.lnF,[<a:gradFill rotWithShape="1">])
FWRITE(m.lnF,[<a:gsLst>])
FWRITE(m.lnF,[<a:gs pos="0">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="51000"/>])
FWRITE(m.lnF,[<a:satMod val="130000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="80000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="93000"/>])
FWRITE(m.lnF,[<a:satMod val="130000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="100000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="94000"/>])
FWRITE(m.lnF,[<a:satMod val="135000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[</a:gsLst>])
FWRITE(m.lnF,[<a:lin ang="16200000" scaled="0"/>])
FWRITE(m.lnF,[</a:gradFill>])
FWRITE(m.lnF,[</a:fillStyleLst>])
FWRITE(m.lnF,[<a:lnStyleLst>])
FWRITE(m.lnF,[<a:ln w="9525" cap="flat" cmpd="sng" algn="ctr">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="95000"/>])
FWRITE(m.lnF,[<a:satMod val="105000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[<a:prstDash val="solid"/>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[<a:ln w="25400" cap="flat" cmpd="sng" algn="ctr">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="phClr"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[<a:prstDash val="solid"/>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[<a:ln w="38100" cap="flat" cmpd="sng" algn="ctr">])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="phClr"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[<a:prstDash val="solid"/>])
FWRITE(m.lnF,[</a:ln>])
FWRITE(m.lnF,[</a:lnStyleLst>])
FWRITE(m.lnF,[<a:effectStyleLst>])
FWRITE(m.lnF,[<a:effectStyle>])
FWRITE(m.lnF,[<a:effectLst>])
FWRITE(m.lnF,[<a:eek:uterShdw blurRad="40000" dist="20000" dir="5400000" rotWithShape="0">])
FWRITE(m.lnF,[<a:srgbClr val="000000">])
FWRITE(m.lnF,[<a:alpha val="38000"/>])
FWRITE(m.lnF,[</a:srgbClr>])
FWRITE(m.lnF,[</a:eek:uterShdw>])
FWRITE(m.lnF,[</a:effectLst>])
FWRITE(m.lnF,[</a:effectStyle>])
FWRITE(m.lnF,[<a:effectStyle>])
FWRITE(m.lnF,[<a:effectLst>])
FWRITE(m.lnF,[<a:eek:uterShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">])
FWRITE(m.lnF,[<a:srgbClr val="000000">])
FWRITE(m.lnF,[<a:alpha val="35000"/>])
FWRITE(m.lnF,[</a:srgbClr>])
FWRITE(m.lnF,[</a:eek:uterShdw>])
FWRITE(m.lnF,[</a:effectLst>])
FWRITE(m.lnF,[</a:effectStyle>])
FWRITE(m.lnF,[<a:effectStyle>])
FWRITE(m.lnF,[<a:effectLst>])
FWRITE(m.lnF,[<a:eek:uterShdw blurRad="40000" dist="23000" dir="5400000" rotWithShape="0">])
FWRITE(m.lnF,[<a:srgbClr val="000000">])
FWRITE(m.lnF,[<a:alpha val="35000"/>])
FWRITE(m.lnF,[</a:srgbClr>])
FWRITE(m.lnF,[</a:eek:uterShdw>])
FWRITE(m.lnF,[</a:effectLst>])
FWRITE(m.lnF,[<a:scene3d>])
FWRITE(m.lnF,[<a:camera prst="orthographicFront">])
FWRITE(m.lnF,[<a:rot lat="0" lon="0" rev="0"/>])
FWRITE(m.lnF,[</a:camera>])
FWRITE(m.lnF,[<a:lightRig rig="threePt" dir="t">])
FWRITE(m.lnF,[<a:rot lat="0" lon="0" rev="1200000"/>])
FWRITE(m.lnF,[</a:lightRig>])
FWRITE(m.lnF,[</a:scene3d>])
FWRITE(m.lnF,[<a:sp3d>])
FWRITE(m.lnF,[<a:bevelT w="63500" h="25400"/>])
FWRITE(m.lnF,[</a:sp3d>])
FWRITE(m.lnF,[</a:effectStyle>])
FWRITE(m.lnF,[</a:effectStyleLst>])
FWRITE(m.lnF,[<a:bgFillStyleLst>])
FWRITE(m.lnF,[<a:solidFill>])
FWRITE(m.lnF,[<a:schemeClr val="phClr"/>])
FWRITE(m.lnF,[</a:solidFill>])
FWRITE(m.lnF,[<a:gradFill rotWithShape="1">])
FWRITE(m.lnF,[<a:gsLst>])
FWRITE(m.lnF,[<a:gs pos="0">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="40000"/>])
FWRITE(m.lnF,[<a:satMod val="350000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="40000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="45000"/>])
FWRITE(m.lnF,[<a:shade val="99000"/>])
FWRITE(m.lnF,[<a:satMod val="350000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="100000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="20000"/>])
FWRITE(m.lnF,[<a:satMod val="255000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[</a:gsLst>])
FWRITE(m.lnF,[<a:path path="circle">])
FWRITE(m.lnF,[<a:fillToRect l="50000" t="-80000" r="50000" b="180000"/>])
FWRITE(m.lnF,[</a:path>])
FWRITE(m.lnF,[</a:gradFill>])
FWRITE(m.lnF,[<a:gradFill rotWithShape="1">])
FWRITE(m.lnF,[<a:gsLst>])
FWRITE(m.lnF,[<a:gs pos="0">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:tint val="80000"/>])
FWRITE(m.lnF,[<a:satMod val="300000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[<a:gs pos="100000">])
FWRITE(m.lnF,[<a:schemeClr val="phClr">])
FWRITE(m.lnF,[<a:shade val="30000"/>])
FWRITE(m.lnF,[<a:satMod val="200000"/>])
FWRITE(m.lnF,[</a:schemeClr>])
FWRITE(m.lnF,[</a:gs>])
FWRITE(m.lnF,[</a:gsLst>])
FWRITE(m.lnF,[<a:path path="circle">])
FWRITE(m.lnF,[<a:fillToRect l="50000" t="50000" r="50000" b="50000"/>])
FWRITE(m.lnF,[</a:path>])
FWRITE(m.lnF,[</a:gradFill>])
FWRITE(m.lnF,[</a:bgFillStyleLst>])
FWRITE(m.lnF,[</a:fmtScheme>])
FWRITE(m.lnF,[</a:themeElements>])
FWRITE(m.lnF,[<a:eek:bjectDefaults/>])
FWRITE(m.lnF,[<a:extraClrSchemeLst/>])
FWRITE(m.lnF,[</a:theme>])
FCLOSE(m.lnF)
ENDPROC[/code]

Vilhelm-Ion Praisach
Register to rate this FAQ  : BAD 1 2 3 4 5 6 7 8 9 10 GOOD
Please Note: 1 is Bad, 10 is Good :-)

Part and Inventory Search

Back
Top