>>>>>DECLARE INTEGER MoveFile IN Win32API ; >>>>> STRING @lpExistingFileName, ; >>>>> STRING @lpNewFileName >>>>> >>>>>oldName = "FILE$$$" >>>>>newName = "FILEnew$$$" >>>>>STRTOFILE("x",m.oldName) >>>>>? FILE(m.oldName),FILE(m.newName) >>>>> >>>>>IF MoveFile(@m.oldName,@m.newName) > 0 >>>>> ? "ok" >>>>>ELSE >>>>> ? "error" >>>>>ENDIF >>>>>? FILE(m.oldName),FILE(m.newName) >>>>>>>>>>
>&& "_1HelloЗемля.jpg" >binaryUnicode=0H5F003100480065006C006C006F00170435043C043B044F042E006A0070006700 >? STRCONV(binaryUnicode,6) >>
>#DEFINE CREATE_ALWAYS 2 >#DEFINE FILE_ATTRIBUTE_NORMAL 128 > >* look the W suffix for Wide > DECLARE INTEGER MoveFileW IN kernel32; > STRING lpExistingFileName,; > STRING lpNewFileName > > DECLARE INTEGER CreateFileW IN kernel32; > STRING lpFileName,; > INTEGER dwDesiredAccess,; > INTEGER dwShareMode,; > INTEGER lpSecurityAttributes,; > INTEGER dwCreationDisposition,; > INTEGER dwFlagsAndAttributes,; > INTEGER hTemplateFile > > DECLARE INTEGER CloseHandle IN kernel32 INTEGER hObject > >CLEAR >dbyteFileName = 0h+STRCONV(STRCONV("\\?\"+ADDBS(_VFP.DefaultFilePath),1),5); > +0H5F003100480065006C006C006F00170435043C043B044F042E006A0070006700 > >hFile = CreateFileW(m.dbyteFileName+0H0, 0, 0, 0, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0) > >? "File handle returned:", hFile >= CloseHandle (hFile) > >? GETFILE("JPG") >* RENAME TO ...name123.jpg >=MoveFileW(m.dbyteFileName+ 0h0 ; > ,STUFF(m.dbyteFileName,LEN(dbyteFileName)+1-4*2,0,STRCONV(STRCONV("123",1),5))+0h0) >? GETFILE("JPG") >>