Konu: bu kod hardiskin seri numarasını aldıktan sonra ne
**
FUNCTION bin2hex
LPARAMETERS CBIN
PRIVATE NBINLEN, NZEROLEN, CHEXVALUE, NLOOPX, CBIT, CHEX
NBINLEN = LEN(CBIN)
NZEROLAG = ROUND((NBINLEN/4)+0.49 , 0)*4-NBINLEN
CBIN = REPLICATE("0", NZEROLAG)+CBIN
CHEXVALUE = ""
FOR NLOOPX = 1 TO LEN(CBIN) STEP 4
CBIT = SUBSTR(CBIN, NLOOPX, 4)
DO CASE
CASE CBIT="0000"
CHEX = "0"
CASE CBIT="0001"
CHEX = "1"
CASE CBIT="0010"
CHEX = "2"
CASE CBIT="0011"
CHEX = "3"
CASE CBIT="0100"
CHEX = "4"
CASE CBIT="0101"
CHEX = "5"
CASE CBIT="0110"
CHEX = "6"
CASE CBIT="0111"
CHEX = "7"
CASE CBIT="1000"
CHEX = "8"
CASE CBIT="1001"
CHEX = "9"
CASE CBIT="1010"
CHEX = "A"
CASE CBIT="1011"
CHEX = "B"
CASE CBIT="1100"
CHEX = "C"
CASE CBIT="1101"
CHEX = "D"
CASE CBIT="1110"
CHEX = "E"
CASE CBIT="1111"
CHEX = "F"
ENDCASE
CHEXVALUE = CHEXVALUE+CHEX
ENDFOR
RETURN CHEXVALUE
ENDFUNC
**
FUNCTION dec2bin
LPARAMETERS NVALUE
PRIVATE NVALUE, CBINSTR, NREST
CBINSTR = ""
DO WHILE .T.
NREST = MOD(NVALUE, 2)
NVALUE = INT(NVALUE/2)
CBINSTR = STR(NREST, 1)+CBINSTR
IF NVALUE=0
EXIT
ENDIF
ENDDO
RETURN CBINSTR
ENDFUNC
**
FUNCTION serino
LOCAL I
LOCAL LNDRVTYPE
LOCAL LCDRIVE
LOCAL LNDRIVE
LOCAL LPROOTPATHNAME, LPVOLUMENAMEBUFFER, LPVOLUMESERIALNUMBER, LPMAXIMUMCOMPONENTLENGTH, LPFILESYSTEMFLAGS, LPFILESYSTEMNAMEBUFFER, NVOLUMENAMESIZE, NFILESYSTEMNAMESIZE
DECLARE INTEGER GetDriveType IN WIN32API STRING
DECLARE INTEGER GetLogicalDrives IN win32api
DECLARE SHORT GetVolumeInformation IN Win32API STRING, STRING, INTEGER, STRING, STRING, STRING, STRING, INTEGER
LNDRIVE = GETLOGICALDRIVES()
LCDRIVE = CHR(ASC("A")+2)+":\"
LPVOLUMENAMEBUFFER = ""
LNDRIVETYPE = 2
STORE SPACE(255) TO LPROOTPATHNAME, LPVOLUMENAMEBUFFER, LPVOLUMESERIALNUMBER, LPMAXIMUMCOMPONENTLENGTH, LPFILESYSTEMFLAGS, LPFILESYSTEMNAMEBUFFER
STORE 255 TO NVOLUMENAMESIZE, NFILESYSTEMNAMESIZE
= GETVOLUMEINFORMATION(LCDRIVE, @LPVOLUMENAMEBUFFER, @NVOLUMENAMESIZE, @LPVOLUMESERIALNUMBER, @LPMAXIMUMCOMPONENTLENGTH, @LPFILESYSTEMFLAGS, @LPFILESYSTEMNAMEBUFFER, @NFILESYSTEMNAMESIZE)
LPVOLUMENAMEBUFFER = LEFT(LPVOLUMENAMEBUFFER, AT(CHR(0), LPVOLUMENAMEBUFFER)-1)
LNDRIVETYPE = GETDRIVETYPE(LCDRIVE)
CRETURNHEX = ""
FOR Y = 1 TO LEN(ALLTRIM(LPVOLUMESERIALNUMBER))
CSTRENG = SUBSTR(LPVOLUMESERIALNUMBER, Y, 1)
CBIN = THIS.DEC2BIN(ASC(CSTRENG))
CHEX = THIS.BIN2HEX(CBIN)
IF LEN(CHEX)=1
CHEX = "0"+CHEX
ENDIF
CRETURNHEX = CHEX+CRETURNHEX
ENDFOR
RETURN CRETURNHEX
ENDFUNC
**
FUNCTION hex2dec
LPARAMETERS INSTR
PRIVATE ALL LIKE j*
INSTR = ALLTRIM(INSTR)
JLEN = LEN(INSTR)
NSUM = 0
RPTR = 0
FOR NCTR = 1 TO JLEN
CPTR = UPPER(SUBSTR(INSTR, JLEN-RPTR, 1))
DO CASE
CASE CPTR='A'
CPTR = '10'
CASE CPTR='B'
CPTR = '11'
CASE CPTR='C'
CPTR = '12'
CASE CPTR='D'
CPTR = '13'
CASE CPTR='E'
CPTR = '14'
CASE CPTR='F'
CPTR = '15'
ENDCASE
NSUM = NSUM+(VAL(CPTR)*16**(NCTR-1))
RPTR = RPTR+1
ENDFOR
RETURN NSUM
ENDFUNC
**
FUNCTION findhex
LPARAMETERS INVAL
PRIVATE ALL LIKE j*
DO CASE
CASE INVAL=10
JOUTSTR = 'A'
CASE INVAL=11
JOUTSTR = 'B'
CASE INVAL=12
JOUTSTR = 'C'
CASE INVAL=13
JOUTSTR = 'D'
CASE INVAL=14
JOUTSTR = 'E'
CASE INVAL=15
JOUTSTR = 'F'
OTHERWISE
JOUTSTR = STR(INVAL, 1, 0)
ENDCASE
RETURN (JOUTSTR)
ENDFUNC
**
FUNCTION dec2hex
LPARAMETERS INNUM
OUTSTR = SPACE(0)
DO WHILE INNUM>0
OUTSTR = THIS.FINDHEX(MOD(INNUM, 16))+OUTSTR
INNUM = INT(INNUM/16)
ENDDO
RETURN (OUTSTR)
ENDFUNC
**
<EOF>
FUNCTION serino
bi bakarmısınız bu kod hardiskin seri numarasını aldıktan sonra ne yapıyor veyada nasıl kullanırım bunu.fox pro bilmiyorumda.bir butona atayıp text box ta yazdıramazmıyım.