Index: TECH/MailUtils.cls.xml =================================================================== diff -u -r1994 -r2441 --- TECH/MailUtils.cls.xml (.../MailUtils.cls.xml) (revision 1994) +++ TECH/MailUtils.cls.xml (.../MailUtils.cls.xml) (revision 2441) @@ -143,15 +143,15 @@ NsLookUp:%String,MailDomainPart:%String,HandleMethod:%String %Status c:\"_FileName s Ok=$ZF(-1,Exec) Set %NsLookUp=0 - Set FileName=$$READ^vhDEV("c:\",FileName,"D`##class("_..%ClassName(1)_")."_HandleMethod_"","M") + Set FileName=$$READ^vhLib.Files("c:\",FileName,"D`##class("_..%ClassName(1)_")."_HandleMethod_"","M") Set Status = %NsLookUp Set:'Status Status = $$$ERROR($$$GeneralError,"Niet bestaand domein.") - Do DELFILE^vhDEV("c:\",FileName) + Do DELFILE^vhLib.Files("c:\",FileName) Kill %NsLookUp Set %NsLookUps(MailDomainPart) = Status Quit Status Index: vhLib/Files.mac.rou =================================================================== diff -u --- vhLib/Files.mac.rou (revision 0) +++ vhLib/Files.mac.rou (revision 2441) @@ -0,0 +1,68 @@ +DELFILE(Dir,Nm) + ;Dir kan het ganse pad bevatten, Nm moet dan leeg of undefined zijn. + New File,X + Set Nm=$G(Nm) + Set File=$$FULLPAD(Dir,Nm) + S X=$ZF(-1,"del /Q """_File_"""") + Quit X + +FULLPAD(Dir,Nm) + Quit Dir_$S($E(Dir,$L(Dir))="\"!($E(Nm)="\")!(Nm=""):"",1:"\")_Nm + +READ(Dir,Nm,Exec,Optie,DevTyp,LijnTerminator) + ; Optie bevat A : Er wordt naar de filenaam gevraagd + ; D : Nm is WildCard, filenaam selectie via DISPDIR + ; T : Vertaling van Tab naar standaard delimiter D + ; B : Retry bij blanko lijn + ; K : Karakter per karakter ipv lijn per lijn, de karakters worden verzameld tot ��n record door de lijnterminator + ; E : Exclusieve toegang + ; M : No terminal I/O (MUET) + ; DevTyp : M = Macintosh, P = PC, A = FlatAscii + ; Exec : TypeExec`Execcode (bij Do wordt (Rec) als paramter meegegeven) + New stream,Rec,Vertaal + Set LijnTerminator=$G(LijnTerminator,$C(13)) + Set Vertaal=0 + Set Optie=$G(Optie) + Quit:"-."[Nm "" + Write:Optie'["M" !,Nm,! + Set stream=##class(%FileCharacterStream).%New() + Set stream.Filename=$$FULLPAD(Dir,Nm) + For Quit:stream.AtEnd Do + . Set Rec=$S(Optie["K":$$READLINE(stream,LijnTerminator),1:stream.ReadLine()) + . If Optie["B",Rec="" Quit ; retry bij blanko + . Set:Optie["T" Rec=$TR(Rec,$C(9),D) + . Set:Vertaal Rec=$TR(Rec,FNAAR,FVAN) ; Omgekeerd want het is import + . Do EXECS(Exec,"","(Rec)") + Quit Nm ; Return Filenaam zonder pad + +READLINE(stream,terminator) + New Inp,K + Set Inp="" + For Quit:stream.AtEnd Do Quit:K=terminator + . Set K=stream.Read(1) + . Quit:K=$C(10) ; Skip LF + . Set Inp=Inp_K + Quit Inp + + +EXECS(sTyp,sRet,sParList) + New sExecTxt + Set sExecTxt="" + Goto EXEC2 +EXEC(sTyp,sExecTxt,sRet,sParList,RtnErrHandler) +EXEC2 Set:sExecTxt="" sExecTxt=$P(sTyp,"`",2,999),sTyp=$P(sTyp,"`") + Set $ZTRAP=$S($D(RtnErrHandler):RtnErrHandler, 1:"ExecTrap^"_$ZN) + If sTyp="" Set:$L(sRet) @sRet="" Quit + If sTyp="T" Set:$L(sRet) @sRet=sExecTxt Quit + If sTyp="@" X "S "_sRet_"="_sExecTxt Quit + If sTyp="X" X sExecTxt Quit + If sTyp="M" New sLoop For sLoop=1:1:$O(@sExecTxt@(""),-1) X @sExecTxt@(sLoop) + If sTyp="D" Do @(sExecTxt_sParList) + If sTyp="F" X "S "_sRet_"=$$"_sExecTxt_sParList + If sTyp="R" Do @sExecTxt + If sTyp="CD" Do @("$zobjclassmethod("""_$P(sExecTxt,"`",1)_""","""_$P(sExecTxt,"`",2)_""","_$S(sParList="":")",1:$E(sParList,2,999))) + ;d WL^vhDBG("S "_sRet_"=$zobjclassmethod("""_$P(sExecTxt,"`",1)_""","""_$P(sExecTxt,"`",2)_","_$S(sParList="":")",1:$E(sParList,2,999))) + If sTyp="CF" X "S "_sRet_"=$zobjclassmethod("""_$P(sExecTxt,"`",1)_""","""_$P(sExecTxt,"`",2)_""","_$S(sParList="":")",1:$E(sParList,2,999)) + Quit + +