📄 filejiemi.prg
字号:
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
* 文件名: FILEJIEMI.PRG <-- 本文件由 UnFoxAll 创建
* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
PROCEDURE Filejiemi
LPARAMETER C_SFILE , C_TFILE
LOCAL HANDLEA , HANDLEB , FILESIZE , I , TEMP
LOCAL TRANG( 5 ) , MATTER( 5 )
IF EMPTY(C_SFILE)
LOCAL TTFILE
HANDLEA = FOPEN('rsgl_00.wel')
IF HANDLEA < 0
RETURN .F.
ENDIF
TTFILE = SYS(2023) + '\' + '~' + SUBSTR(SYS(2015),4) + SUBSTR(SYS(3),1) + '.tmp'
HANDLEB = FCREATE(TTFILE)
ELSE
HANDLEA = FOPEN(C_SFILE)
IF HANDLEA < 0
RETURN .F.
ENDIF
HANDLEB = FCREATE(C_TFILE)
IF HANDLEB < 0
= FCLOSE(HANDLEA)
RETURN .F.
ENDIF
ENDIF
FILESIZE = FSEEK(HANDLEA,0,2)
= FSEEK(HANDLEA,0)
TRANG( 1 ) = ASC(FREAD(HANDLEA,1))
TRANG( 2 ) = MOD((TRANG(1) - INT(RAND(FILESIZE) * 1000)),256)
= FWRITE(HANDLEB,CHR(TRANG(2)))
FOR I = 2 TO FILESIZE
TRANG( 2 ) = ASC(FREAD(HANDLEA,1))
TRANG( 1 ) = MOD((TRANG(2) - INT(RAND(TRANG(1) + FILESIZE + I) * 1000)),256)
= FWRITE(HANDLEB,CHR(TRANG(1)))
TRANG( 1 ) = TRANG(2)
ENDFOR
= FFLUSH(HANDLEB)
= FCLOSE(HANDLEA)
FILESIZE = FILESIZE - 5
= FSEEK(HANDLEB,0)
FOR I = 1 TO 5
TRANG( I ) = VAL(FREAD(HANDLEB,1))
ENDFOR
TEMP = CEILING(FILESIZE / 5)
FOR I = 1 TO 5
IF TRANG(I) = 5
MATTER( TRANG(I) ) = FREAD(HANDLEB,FILESIZE - TEMP * 4)
ELSE
MATTER( TRANG(I) ) = FREAD(HANDLEB,TEMP)
ENDIF
ENDFOR
IF EMPTY(C_SFILE)
= FCHSIZE(HANDLEB,0)
= FCLOSE(HANDLEB)
ERASE (TTFILE)
TEMP = MATTER(1) + MATTER(2) + MATTER(3) + MATTER(4) + MATTER(5)
HANDLEA = CHR(3) + CHR(250)
IF OCCURS(HANDLEA,TEMP) < 6
RETURN .F.
ELSE
MATTER( 1 ) = SYS(2015)
CREATE CURSOR (MATTER(1)) ( LOGINNAME C ( 13 ) , PASSWORD C ( 16 ) , USEWIDE C ( 16 ) , ;
USERNAME C ( 8 ) , IDCARD C ( 18 ) , TELEPHONE C ( 15 ) )
MATTER( 2 ) = ALINES(TRANG,TEMP,HANDLEA)
FOR I = 1 TO MATTER(2) - 1 STEP 6
INSERT INTO (MATTER(1)) ( LOGINNAME , PASSWORD , USEWIDE , USERNAME , IDCARD , ;
TELEPHONE ) VALUES ( TRANG(I) , TRANG(I + 1) , TRANG(I + 2) , ;
TRANG(I + 3) , TRANG(I + 4) , TRANG(I + 5) )
ENDFOR
ENDIF
ELSE
= FSEEK(HANDLEB,0)
= FCHSIZE(HANDLEB,FILESIZE)
FOR I = 1 TO 5
= FWRITE(HANDLEB,MATTER(I))
ENDFOR
= FCLOSE(HANDLEB)
ENDIF
RETURN .T.
ENDPROC
*------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -