cQFILE ;File manipulation Caché ;cQFILE; [ 07/04/01 11:54 AM ] G YZ ; OR(R) ; Open file R for read S $ZT="CERR",R=$G(R),ER=0 I '$L(R) S ER=1 G ORZ O R:"R":1 I '$T S ER=2 G ORZ ORZ U 0 Q ER ; OW(R) ; Open file R for write S $ZT="CERR",R=$G(R),ER=0 I '$L(R) S ER=1 G OWZ O R:"WNS":1 I '$T S ER=2 G OWZ OWZ U 0 Q ER ; CF(R) ; Close file R S $ZT="CERR",R=$G(R),ER=0 I '$L(R) S ER=1 G CFZ C R I '$T S ER=2 G CFZ CFZ U 0 Q ER ; RF(R,K) ; Read from file R into K S $ZT="CERR",R=$G(R),ER=0 I '$L(R) S ER=1 G RFZ U R R K RFZ U 0 Q ER ; WF(R,K) ; Write to file R string K S $ZT="CERR",R=$G(R),ER=0 I '$L(R) S ER=1 G WFZ U R W K WFZ U 0 Q ER ; RD(R) ; Read and display file R S ER=0,R=$G(R) I '$L(R) S ER=1 G RDZ F S ER=$$RF(R,.K) Q:ER I 'ER W !,K RDZ Q ER ; RS(R,S,K) ; Read file R and search for S and return result in K S ER=0,R=$G(R) I '$L(R) S ER=1 G RSZ S S=$$UC($G(S)) I '$L(S) S ER=2 G RSZ F S K="",ER=$$RF(R,.K) Q:ER I 'ER,$$UC(K)[S Q RSZ Q ER ; YZ Q ; CPFD ; Display file cache.cpf S R=$$CPF,ER=$$OR(R) I ER U 0 W !,"File ",R," not found",! Q D RD(R),CF(R) Q ; KEYD ; Display file cache.key S R=$$KEY,ER=$$OR(R) I ER U 0 W !,"File ",R," not found",! Q D RD(R),CF(R) Q ; KEY() S R=$P($ZU(86),"*") Q $P(R,"\",1,$L(R,"\")-1)_"\Mgr\Cache.key" ; CPF() Q $P($ZU(86),"*") ; CP(S,T) ; Copy source file S to destination file T N I,INFO,ER,OS,W2K S S=$G(S),T=$G(T) I '$L(S) S ER=15_" = source is null string" G CPZ I '$L(T) S ER=16_" = destination is null string" G CPZ S ER=$$MD($P(T,"\",1,$L(T,"\")-1)),INFO=$$INFO^cQ14 S OS=$$OS,W2K=$$UC(OS)["WINDOWS 2000",LANG=$$LANG() S I=$S(W2K:"",1:"echo "_$S(LANG="FR":"o",LANG="NL":"j",1:"y")_"| ")_"copy """_S_""" """_T_""" /v "_$S(W2K:"/y",1:"") S ER=$ZF(-1,I_" >"_INFO) ;copy file I 'ER S ER=ER_" = no errors" CPZ Q ER ; XCP(S,T) ; XCopy source directory S to destination directory T N I,INFO,ER,OS,W2K S S=$G(S),T=$G(T) I '$L(S) S ER=15_" = source is null string" G XCPZ I '$L(T) S ER=16_" = destination is null string" G XCPZ I $E(T,$L(T))'="\" S T=T_"\" S ER=$$MD(T),INFO=$$INFO^cQ14,OS=$$OS,W2K=$$UC(OS)["WINDOWS 2000",LANG=$$LANG() S I=$S(W2K:"",1:"echo "_$S(LANG="FR":"o",LANG="NL":"j",1:"y")_"| ")_"xcopy """_S_""" """_T_""" /q /h /r /s "_$S(W2K:"/y",1:"") S ER=$ZF(-1,I_" >"_INFO) ;xcopy dir I 'ER S ER=ER_" = no errors" XCPZ Q ER ; DFID(S) ; Delete all files in directory S N I,INFO,ER,OS,W2K S S=$G(S) I '$L(S) S ER=15_" = no directory given" G DFIDZ I $E(S,$L(S))'="\" S S=S_"\" S INFO=$$INFO^cQ14,OS=$$OS,W2K=$$UC(OS)["WINDOWS 2000",LANG=$$LANG() S I=$S(W2K:"",1:"echo "_$S(LANG="FR":"o",LANG="NL":"j",1:"y")_"| ")_"del """_S_"""*.* "_$S(W2K:"/q",1:"") S ER=$ZF(-1,I_" >"_INFO) ;copy file I 'ER S ER=ER_" = no errors" DFIDZ Q ER ; FSEQ(S) ; find next available number for file S.txt001 F I=1:1:999 Q:$$OR^cQFILE(S_$E(1000+I,2,4)) S ER=$$CF^cQFILE(S_$E(1000+I,2,4)) FSEQZ Q $E(1000+I,2,4) ; MD(K) ; create directory K N I,INFO,ER S INFO=$$INFO^cQ14 F I=2:1:$L(K,"\") S ER=$ZF(-1,"md """_$P(K,"\",1,I)_""" >"_INFO) MDZ Q ER ; OS() ; Get OS version N INFO,ER S INFO=$$INFO^cQ14 S OS="",ER=$ZF(-1,"ver >"_INFO) I 'ER S ER=$$OR(INFO)+$$RS(INFO,"Windows",.OS)+$$CF(INFO) Q OS ; LANG() ; Get OS language N INFO,ER S INFO=$$INFO^cQ14 S LANG="UK",ER=$ZF(-1,"dir c:\*.* >"_INFO) I 'ER D . S ER=$$OR(INFO)+$$RS(INFO,"File(s)",.LANG)+$$CF(INFO) I $L(LANG) S LANG="UK" Q . S ER=$$OR(INFO)+$$RS(INFO,"Bestand(en)",.LANG)+$$CF(INFO) I $L(LANG) S LANG="NL" Q . S ER=$$OR(INFO)+$$RS(INFO,"Fichier(s)",.LANG)+$$CF(INFO) I $L(LANG) S LANG="FR" Q Q LANG ; CERR U 0 ;W !!,$ze,!! S ER=0 I $L(R) C R U 0 I $ZE["" S ER="11,"_$ZE I $ZE["" S ER=12_","_$ZE I $ZE["" S ER=13_","_$ZE I $ZE["" S ER=14_","_$ZE Q ER ; UC(K) Q $TR(K,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ") ; ZZ ; 24.08.01 - 9 u 19 * Cache-r3.1.8