سلام
من یه پروژه دارم توی فاکس هست حالا میخوام بیارمش توی ویژوال همشو ایمپورت کردم دیتا بیسهام رو هم بوسیله این کانورت کردم
*ÈÑäÇãå ÊÈÏíá ÝÇíáåÇí ÝÇßÓ æÇÑÇÏÇßÓ ÇÒ ãÍíØ ÏÇÓ Èå ãÍíØ æíäÏæÒ
CLEAR
SET TALK OFF
ON ERROR wait window nowait MESSAGE()
do while .t.
_INPUT = GETFILE('DBF;DB','')
IF EMPTY(_INPUT)
exit
ENDIF
type_ = MESSAGEBOX(' ÂíÇ ÇØáÇÚÇÊ ãæÑÏäÙÑ ÔãÇ ÇÒ äæÚ ßÏí ÇíÑÇä ÓíÓÊã ãí ÈÇÔÏ ¿'+CHR(13)+ 'Yes: ÇíÑÇä ÓíÓÊã , No: ÓÇíå, Cancel: ÇäÕÑÇÝ',3+32,'ÊÚííä äæÚ ÌÏæá')
IF type_= 2
WAIT WINDOW NOWAIT 'ÕÑÝäÙÑ ÔÏ'
RETURN
ENDIF
_EXT = EXT_FILE(_INPUT)
IF (_EXT == 'DB' )
IMPORT FROM &_input TYPE PDOX
_output = dbf()
ELSE
use &_input
_output = strt(UPPER(DBF()),'.DBF','.OLD')
COPY TO &_output
ENDIF
IF !USED()
ok2 = MESSAGEBOX('ÓíÓÊã ÞÇÏÑ Èå ÈÇÒßÑÏä ÝÇíá ãÈÏÇ ÌåÊ ÊÈÏíá äãí ÈÇÔÏ',0+16,'ÇÎØÇÑ')
RETURN
ENDIF
VAR1 = 'REPLACE '
FOR IZ = 1 TO FCOUNT()
IF INLIST(TYPE(FIELD[IZ]),'M','C')
IF type_=6
VAR1 = VAR1 + FIELD(IZ) + ' WITH prs2win(' + FIELD(IZ) + '),'
ELSE
VAR1 = VAR1 + FIELD(IZ) + ' WITH prs2win(fsis(SA2PR(' + FIELD(IZ) + '))),'
ENDIF
ENDIF
ENDFOR
IF RIGHT(VAR1,1)=','
VAR1 = STUFF(VAR1, LEN(VAR1),1,' ALL ')
ENDIF
*? VAR1
*? LEN(VAR1)
*susp
wait window nowait 'ÓíÓÊã ÏÑ ÍÇá ÇäÊÞÇá ÇØáÇÚÇÊ áØÝÇ ÈÑÇí áÍÙÇÊí ÕÈÑ ßäíÏ'
&VAR1
wait window nowait 'ÚãáíÇÊ ÇäÊÞÇá ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ'
OK_=MESSAGEBOX('ÂíÇ ãÇíá Èå ÏíÏä ÇØáÇÚÇÊ ÊÈÏíá ÔÏå åÓÊíÏ¿ ',4+32,'ÓæÇá')
IF OK_=6
BROWSE FONT 'tahoma'
ENDIF
OK_=MESSAGEBOX('ÂíÇ ãÇíá Èå ÑÝÊä ÎÑæÌí ÇÒ ÇØáÇÚÇÊ ÊÈÏíá ÔÏå åÓÊíÏ¿ ',4+32,'ÓæÇá')
IF OK_= 6
TXT_FILE = STRT(UPPER(DBF()),'.DBF','.TXT')
COPY TO &TXT_FILE DELIMITED
OK_=MESSAGEBOX(' ÇäÌÇã ÚãáíÇÊ ÎÑæÌí ÈÇ ãæÝÞíÊ ÇäÌÇã ÔÏ' + CHR(13) + 'ÔãÇ ÞÇÏÑ Èå ÎæÇäÏä ÝÇíá ÊßÓÊ ãæÑÏäÙÑ ÑÇ ÏÑ åÑ ãÍíØí (ÇßÓá¡ ÇßÓÓ¡ ...) ÈÎæÇäíÏ',0+64,'ÇÚáÇã')
ENDIF
enddo
*---------------------------
FUNCTION prs2win
PARAMETER TMP_NEW
*-ÈÑÇí ÇÚÏÇÏ ÞÇÈá ÇÓÊÝÇÏå ãí ÈÇÔÏ
IF VAL(tmp_new)<>0
tmp_new2 = CHRTRAN(tmp_new,' /','')
IF LEN(tmp_new2) = num_add(VAL(tmp_new2))
RETURN tmp_new
ENDIF
ENDIF
ramz1 = '0123456789¡Ü¿ÂÆÁÇÇÈÈÊÊËËÌÌ ÍÍÎÎÏÐÑÒŽÓÓÔÔÕÕÖÖØÄÉÙÚÚÚ ÛÛÛÛÝÝÞÞßßá$áããääæåååíí í'
ramz2 = '€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’ ”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬®¯¾Æàáâãäåæç éêëìíîïðñòóôõö÷øùúûüýþÿ'
ST3 = "üýô᧩öí’žšñé–ùï« ù”ëœåâæ˜Æ"
FOR ZZZ = 1 TO LEN(ST3)
TMP_NEW = STRT(TMP_NEW, SUBSTR(ST3,ZZZ,1), ' ' + SUBSTR(ST3,ZZZ,1))
ENDFOR
*SET STEP ON
IF ASC(RIGHT(ALLT(TMP_NEW),1)) = 255
TMP_NEW = TMP_NEW + '‹' &&'Œ'
ENDIF
ADAD = ''
FOR ZZZ = 1 TO LEN(TMP_NEW)
HARF = SUBSTR(TMP_NEW,ZZZ,1)
IF INLIST(HARF, '€', '', '‚', 'ƒ', '„', '…', '†', '‡', 'ˆ', '‰' , '0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
ADAD = HARF + ADAD
ELSE
IF !EMPTY(ADAD)
SH = LEN(ADAD)
IF SH > 1
TMP_NEW = STUFF(TMP_NEW, ZZZ - SH, SH, ADAD)
ENDIF
ADAD = ''
ENDIF
ENDIF
ENDFOR
AD = .F.
IF !EMPTY(ADAD)
*SET STEP ON
SH = LEN(ADAD)
*TMP_NEW = STUFF(TMP_NEW, ZZZ - SH, SH, '(' + ADAD+' )')
TMP_NEW = STUFF(TMP_NEW, ZZZ - SH, SH, ADAD)
AD = .T.
ENDIF
DO WHILE (' ' $ TMP_NEW)
TMP_NEW = STRT(TMP_NEW, ' ', ' ')
ENDDO
tmp_new = Chrtran(tmp_new, ramz2, ramz1)
TMP_NEW = STRT(TMP_NEW,'$','Çá')
TMP_NEW = Chrtran(TMP_NEW, ')(][', '&@#$')
TMP_NEW = Chrtran(TMP_NEW, '@&$#', ')(][')
IF INLIST(LEFT(ALLT(TMP_NEW),1), ')', '"', '!', '.')
MAL = LEN(TMP_NEW) - LEN(ALLT(TMP_NEW))
TMP_NEW = STUFF(TMP_NEW, MAL, IIF(MAL=0,0,1),'0')
* TMP_NEW = STRTran(TMP_NEW, ')', '0)')
ENDIF
*set step on
TMP1 = fsis(TMP_NEW)
TMP2 = ''
OLD = 0
OK_ = .T.
DO WHILE OK_
A1 = AT(' ', TMP1)
IF A1 = 0
OK_ = .F.
A1 = LEN(TMP1)
ENDIF
WORD_ = ''
IF A1#OLD
WORD_ = SUBSTR(TMP1,OLD+1, A1-OLD)
ENDIF
TMP1 = STUFF(TMP1,A1, 1,'$')
* SET STEP ON
AB_ = ASC(RIGHT(ALLT(WORD_),1))
chh = .f.
IF AB_ < 128 .AND. !BETWEEN(AB_, 40, 61) .AND. !INLIST(AB_, 34, 91, 93) && ()=+0..9:;<=> "[]
if len(word_) > 1
chh = .t.
endif
WORD_ = FSIS(WORD_)
ENDIF
* WAIT WINDOW WORD_
OLD = A1
if chh
TMP2 = WORD_ + TMP2
else
TMP2 = TMP2 + WORD_
endif
ENDDO
*TMP_NEW = FSIS(TMP_NEW)
TMP_NEW = TMP2
RETURN TMP_NEW
************************
Function fsis
Parameter fsis1
fsis2 = ''
For igh = Len(fsis1) TO 1 STEP -1
fsis2 = fsis2+Substr(fsis1, igh, 1)
Endfor
Return fsis2
*
*-----------
FUNCTION num_add
PARAMETERS number1
FOR iz = 1 TO 100
num1 = INT(VAL('1'+REPLICATE('0',iz)))
IF INT(number1/num1) = 0
RETURN iz
ENDIF
ENDFOR
*---------------------------
function sa2pr
parameter TM1
TM1 = STRT(TM1, 'ê','!')
TM1 = STRT(TM1, 'î','"')
TM1 = STRT(TM1, 'í','#')
ramz1 = '€‚ƒ„…†‡ˆ‰‹ŠŒŽ‘’“ ”•–—˜™š›œžŸ¡¢£¤¥¦§¨©ª «¬®¯àáâãäåæçèéêëìíîïðñòó õö÷øùúûüýþ!"# '
ramz2 = 'µ!"*-%:ŒŠ/‘‘Ž’“”•–—˜™š›œž Ÿ ¡¢£¤¥¦§¨©ª«¬®¯àáâãäåæçèê ìîðñòóôõö÷øùùúûýüþþéíï '
TM1 = CHRT(TM1, RAMZ1, RAMZ2)
RETURN TM1
*--------------
FUNCTION EXT_FILE
PARAMETERS _FILE
AB1 = AT('.',_FILE)
AB2 = ALLTRIM(SUBSTR(_FILE,AB1,100))
RETURN AB2
حالا موندم چرا این صفحاتی که نوشتم یه جوری باز میشه چجوری میتونم اونا رو توی یه فرم دیزاین کنم من با ویژوال بیسیک فرم میتونم درست کنم ولی با این هرکار کردم گیج شدم
و سوال بعدی اینکه ریپورتهایی که با فاکس نوشتم رو چطور توی ویژوال بیارم