bool FileCopy( const stringsrc_file_name, // Name of a source file intcommon_flag, // Location const stringdst_file_name, // Name of the destination file intmode_flags// Access mode );
//— display the window of input parameters when launching the script #propertyscript_show_inputs //— input parameters inputstringInpSrc=“source.txt”; // source inputstringInpDst=“destination.txt”; // copy inputintInpEncodingType=FILE_ANSI; // ANSI=32 or UNICODE=64 //+——————————————————————+ //| Script program start function | //+——————————————————————+ voidOnStart() { //— display the source contents (it must exist) if(!FileDisplay(InpSrc)) return; //— check if the copy file already exists (may not be created) if(!FileDisplay(InpDst)) { //— the copy file does not exist, copying without FILE_REWRITE flag (correct copying) if(FileCopy(InpSrc,0,InpDst,0)) Print(“File is copied!”); else Print(“File is not copied!”); } else { //— the copy file already exists, try to copy without FILE_REWRITE flag (incorrect copying) if(FileCopy(InpSrc,0,InpDst,0)) Print(“File is copied!”); else Print(“File is not copied!”); //— InpDst file’s contents remains the same FileDisplay(InpDst); //— copy once more with FILE_REWRITE flag (correct copying if the file exists) if(FileCopy(InpSrc,0,InpDst,FILE_REWRITE)) Print(“File is copied!”); else Print(“File is not copied!”); } //— receive InpSrc file copy FileDisplay(InpDst); } //+——————————————————————+ //| Read the file contents | //+——————————————————————+ bool FileDisplay(conststring file_name) { //— reset the error value ResetLastError(); //— open the file int file_handle=FileOpen(file_name,FILE_READ|FILE_TXT|InpEncodingType); if(file_handle!=INVALID_HANDLE) { //— display the file contents in the loop Print(“+———————+”); PrintFormat(“File name = %s”,file_name); while(!FileIsEnding(file_handle)) Print(FileReadString(file_handle)); Print(“+———————+”); //— close the file FileClose(file_handle); return(true); } //— failed to open the file PrintFormat(“%s is not opened, error = %d”,file_name,GetLastError()); return(false); }