📄 filejiami.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: FILEJIAMI.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROCEDURE Filejiami
LPARAMETER C_SFILE , C_TFILE
LOCAL TFILE , FILESIZE , HANDLEA , HANDLEB , I , TEMP
LOCAL FILEMATTER( 5 ) , TMATTER( 5 )
TFILE = SYS(2023) + '\' + '~' + SUBSTR(SYS(2015),4) + SUBSTR(SYS(3),1) + '.tmp'
IF EMPTY(C_SFILE)
DO BACKUPFILE WITH 'Rsgl_00.wel'
I = ''
TEMP = CHR(3) + CHR(250)
SCAN
I = ;
I + LOGINNAME + TEMP + PASSWORD + TEMP + USEWIDE + TEMP + USERNAME + TEMP + IDCARD + ;
TEMP + TELEPHONE + TEMP
ENDSCAN
FILESIZE = LEN(I)
HANDLEA = FCREATE(TFILE)
= FWRITE(HANDLEA,I)
= FFLUSH(HANDLEA)
= FSEEK(HANDLEA,0)
HANDLEB = FCREATE('Rsgl_00.wel')
IF HANDLEB < 0
= FCLOSE(HANDLEA)
ERASE (TFILE)
RETURN .F.
ENDIF
ELSE
COPY File (C_SFILE) TO (TFILE)
HANDLEA = FOPEN(TFILE,2)
FILESIZE = FSEEK(HANDLEA,0,2)
= FSEEK(HANDLEA,0)
HANDLEB = FCREATE(C_TFILE)
ENDIF
IF HANDLEB < 0
= FCLOSE(HANDLEA)
ERASE (TFILE)
RETURN .F.
ENDIF
FOR I = 1 TO 5
DO WHILE .T.
TEMP = MOD(INT((RAND(0) * 100)),6)
IF TEMP <> 0 AND ASCAN(FILEMATTER,TEMP) = 0
FILEMATTER( I ) = TEMP
EXIT
ENDIF
ENDDO
ENDFOR
TEMP = CEILING(FILESIZE / 5)
FOR I = 1 TO 4
TMATTER( I ) = FREAD(HANDLEA,TEMP)
ENDFOR
TEMP = FILESIZE - TEMP * 4
TMATTER( 5 ) = FREAD(HANDLEA,TEMP)
TEMP = ;
STR(FILEMATTER(1),1) + STR(FILEMATTER(2),1) + STR(FILEMATTER(3),1) + ;
STR(FILEMATTER(4),1) + STR(FILEMATTER(5),1)
FOR I = 1 TO 5
FILEMATTER( I ) = TMATTER(FILEMATTER(I))
ENDFOR
= FSEEK(HANDLEA,0)
= FWRITE(HANDLEA,TEMP + FILEMATTER(1) + FILEMATTER(2) + FILEMATTER(3) + FILEMATTER(4) + ;
FILEMATTER(5))
= FFLUSH(HANDLEA)
FILESIZE = FILESIZE + 5
= FSEEK(HANDLEA,0)
TMATTER( 1 ) = MOD((ASC(FREAD(HANDLEA,1)) + INT(RAND(FILESIZE) * 1000)),256)
= FWRITE(HANDLEB,CHR(TMATTER(1)))
FOR I = 2 TO FILESIZE
TMATTER( 2 ) = ASC(FREAD(HANDLEA,1))
TMATTER( 1 ) = ;
MOD((TMATTER(2) + INT(RAND(TMATTER(1) + FILESIZE + I) * 1000)),256)
= FWRITE(HANDLEB,CHR(TMATTER(1)))
ENDFOR
= FCLOSE(HANDLEA)
ERASE (TFILE)
= FCLOSE(HANDLEB)
RETURN .T.
ENDPROC
*------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -