VFP ·R¥ÎªÌªÀ°Ï ­º­¶ VFP ·R¥ÎªÌªÀ°Ï
¥»°Q½×°Ï¬° Visual Foxpro ·R¥ÎªÌ¸gÅç¥æ¬yªº¦a¤è, ½Ð¦h¦h§Q¥Î"·j´M"ªº¥\¯à, ¥ý¬d¬Ý¬Ý¦³µL«e¨Ò¥i´`, ¦pªGÁÙ¦³¤£À´ªº¦Aµo°Ý. ³¡¥÷¥DÃD¦³ªþ¥[ÀÉ®×, ¶·¥ýµù¥U¦¨¬°ªÀ°Ï©~¥Á¤~¥i¥H¤U¸ü.
 
 ±`¨£°ÝÃD±`¨£°ÝÃD   ·j´M·j´M   ·|­û¦Cªí·|­û¦Cªí   ·|­û¸s²Õ·|­û¸s²Õ   ·|­ûµù¥U·|­ûµù¥U 
 ­Ó¤H¸ê®Æ­Ó¤H¸ê®Æ   µn¤JÀˬd±zªº¨p¤H°T®§µn¤JÀˬd±zªº¨p¤H°T®§   µn¤Jµn¤J

¦p¦ó¨ú±oFTP¦øªA¾¹¤W­±Àɮתº¤é´Á®É¶¡?

 
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï
¤W¤@½g¥DÃD :: ¤U¤@½g¥DÃD  
µoªí¤H ¤º®e
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 1 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 14, 2012 3:23 pm    ¤å³¹¥DÃD: ¦p¦ó¨ú±oFTP¦øªA¾¹¤W­±Àɮתº¤é´Á®É¶¡? ¤Þ¨¥¦^ÂÐ

½Ð°Ý¦U¦ì¥ý¶i,§Ú¼g¤F¤@¤ä³Æ¥÷µ{¦¡,¨C¤Ñ±Æµ{¤U¸üFTPÀÉ®×,
*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@­ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
Integer hftpsession, String lpszsearchfile,;
string @lpfindfiledata, Integer dwflags, Integer dwcontent
*** §ä¤U¤@­ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
Integer hfind, String @lpvfinddata
§Ú¥Î¤F¥H¤W¤èªk¨ú±oÀɮצWºÙ.
½Ð°Ý§Ú­n¥Î¤°»ò¤èªk¨ú±oÀɮתº¤é´Á? ÁÂÁÂ! ³o¼Ë§Ú¤~¯àª¾¹DÀɮ׬O¤£¬O³Ì·sªº.
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
ckp6250



µù¥U®É¶¡: 2004-07-30
¤å³¹: 1645


²Ä 2 ¼Ó

µoªíµoªí©ó: ¬P´Á¥| ¤Q¤@¤ë 15, 2012 3:58 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

wininet À³¸Ó¦³ ftpcommad ¥i¥Î§a
¤U ls «ü¥O , À³¸Ó¯à¶Ç¦^ÀɮײM³æ
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ °ÑÆ[µoªí¤Hªº­Ó¤Hºô¯¸
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 3 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤@¤ë 16, 2012 10:11 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¤£¦n·N«ä,§Ú½Xµ{¦¡½X¶K¥X¨Ó¤~¤ñ¸û²M·¡!!!
¥N½X:

Set Dele On         &&   ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off         &&   ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd      &&   ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24   &&   ®É¶¡¬°24¤p®É¨î
Set Century On      &&   ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-'      &&   ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70   &&   ¦V¤U¬Û®efoxpro¦­´Áª©¥»µ{¦¡»yªk

On Error *      &&   ·í¦³¥ô¦ó¿ù»~ªº®É­Ô¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ

Close Databases All   &&   Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w

*=MESSAGEBOX(SYS(5)+SYS(2003))

m_date=Date()-1   &&   «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0)))))
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1)))
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
sss=Seconds()      &&   °O¿ý¶}©l°õ¦æªº®É¶¡

Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100))   &&   ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character ,   &&   Åª¨ú backup_init.txt ÀÉ®×,¸Ì­±°O¿ý³Æ¥÷­n¥Îªº¸ê®Æ§¨

*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e­±5­Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,E:\Backup\informix¸ê®Æ®w

*=================================================================================================
*****   ·Ç³Æ FTP ³s½u
*****  «Å§i wininet.dll

***  ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
   string sAgent,;
   integer lAccessType,;
   string sProxyName,;
   string sProxyBypass,;
   string  lFlags

***  Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
   integer hInet

***  ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
   integer hInternetSession,;
   string  sServerName,;
   integer nServerPort,;
   string  sUsername,;
   string  sPassword,;
   integer lService,;
   integer lFlags,;
   integer lContext

*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
   integer hFtpSession, ;
   string  lpszRemoteFile,;
   string  lpszNewFile,;
   integer fFailIfExists,;
   integer dwFlagsAndAttributes,;
   integer dwFlags,;
   integer dwContext

*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
   Integer hftpsession, String @lpszdir, Integer @lpdwcurdir

*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@­ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
   Integer hftpsession, String lpszsearchfile,;
   string @lpfindfiledata, Integer dwflags, Integer dwcontent

*** §ä¤U¤@­ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
   Integer hfind, String @lpvfinddata


***   «Ø¥ß¥»¾÷¸ê®Æ§¨
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
   m_path=Alltrim(¸ê®Æ§¨)      &&   ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
   m_path='D:\Backup\informix¸ê®Æ®w\smz.exp'   &&   §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif

If !Directory(m_path)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path   &&   «Ø¥ß¸ê®Æ§¨
Else
   m_comm='run del '+m_path+' /q'   &&   §R°£¸ê®Æ§¨¤ºªºÀÉ®×
   &m_comm
Endif

Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
   m_path1=Alltrim(¸ê®Æ§¨)
Else
   m_path1='E:\Backup\informix¸ê®Æ®w'   &&   ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: E:\Backup\informix¸ê®Æ®w\)
Endif

If !Directory(m_path1)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path1   &&   «Ø¥ß¸ê®Æ§¨
Endif

***** ¶}©l³s½u
sagent = "vfp7"      && ¦Û­q¤@­Ó¦WºÙ(ÀH«K)
sproxyname = 0      && ¤£¨Ï¥ÎProxy server  -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0   && ¤£¦^´_°T®§
lflags = 0         && ¹w³]­È

* ¶}±Ò³sµ²  («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)

* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99'      &&  ­nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21               && ftp ªº³q°T°ð
struser = 'test'         && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test'         && ±K½X

************** ³s½u¦Ü ftp
*!*       hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)

If hftpsession = 0
   Return
Endif

***  ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
   lpfindfiledata = Repli (Chr(0), 320)     &&   lpfindfiledata = 320­Óchr(0)
   Select temp01
   Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
   If Found()
      ftpdir=Alltrim(¸ê®Æ§¨)   &&   FTP Server ªºÀɮ׸ô®|
   Else
      ftpdir='/u1/EXPORT/smz.exp/'   &&   FTP Server ªºÀɮ׸ô®|
   Endif
   lcmask=Alltrim(ftpdir)+'*.*'
   hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0)  && ¨ú±o²Ä¤@­ÓÀÉ®×
   If hfind>0   &&   §PÂ_¬O§_§ä¨ì²Ä¤@­ÓÀÉ®×
      Select 0      && ¤Á´«¦ÜªÅªº¤u§@°Ï
      Create Cursor temp00 (filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4))      &&   «Ø¥ßCursor
      m_filename=Alltrim(Substr(lpfindfiledata, 45,250))
      If At(Chr(0), m_filename) <> 0
         m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
      Endif
      Insert Into temp00 (filename) Values (m_filename)   &&   ±NÀɮצWºÙ¼g¤JCursor
      lnfound =1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@­ÓÀÉ®×
      Do While .T.   &&   ¶}©l§ä´M¤U¤@­ÓÀÉ®×
         If internetfindnextfile (hfind, @lpfindfiledata) <> 1   &&   §PÂ_¬O§_§ä¨ì¤U¤@­ÓÀÉ®×
            Exit      &&   §ä¤£¨ì, ¸õ¥X°j°é
         Else
            lnfound = lnfound + 1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
            m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
            If At(Chr(0), m_filename) <> 0
               m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
            Endif
            Insert Into temp00 (filename) Values (m_filename)   &&   ±NÀɮצWºÙ¼g¤JCursor
         Endif
      Enddo

      Select temp00   && ¤Á´«¨ìCursor
      Scan   &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
         lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename))      &&   ¨Ó·½ÀÉ
         *Wait Windows notes+'/'+lpszremotefile Nowait   &&   ±NÀɮצWºÙÅã¥Ü¦bµe­±,³o¬O­nºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@­ÓÀÉ®×
         lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename))   &&   ¥ØªºÀÉ
         lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0)      &&   ¶}©l¤U¸ü
         If lnresult>0   &&   §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
            Replace dl With '¦¨¥\' In temp00   &&   ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
         Else
            Replace dl With '¥¢±Ñ' In temp00
         Endif
      Endscan
      Copy To m_path+'\log00'   &&   °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
   Endif
Endif
= internetclosehandle (hopen)   &&   Ãö³¬FTP³s½u
*=================================================================================================


***   ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01'   &&   ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
   Case File("C:\Program Files (x86)\winrar\winrar.exe")   &&   64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
      Set Default To "C:\Program Files (x86)\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
   Case File("C:\Program Files\winrar\winrar.exe")
      Set Default To "C:\Program Files\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path   &&   ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e­±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á­±±µµÛwinrar©R¥O
&aaa   &&   ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)

Select filename,dl From temp00 Order By dl,filename  Into cursor temp88      &&   ¨Ì·Ó¤U¸ü¦¨¥\»P§_±Æ§Ç

*****   ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
   lc_sss=Alltrim(Str(Seconds()-sss,10,3))   &&   ­pºâ°õ¦æ¬í¼Æ
   ***   «÷´êHTML
   aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
   aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦b­â±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
   aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
   aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
   aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
   aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
   aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
   aaa=aaa+'<table bordercolor="black" border="1">'
   aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>¬O§_§¹¦¨</td>'
   ***   «÷´êHTMLªº¦C(Row;Record)
   Select temp88      &&   ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
   Scan   &&   °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
      If dl='¥¢±Ñ'
         aaa=aaa+'<tr BGCOLOR=red>'
      Else
         aaa=aaa+'<tr>'
      Endif
      aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
      aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
      aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
      aaa=aaa+'</tr>'      &&   ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
   Endscan
   aaa=aaa+'</table><br><br>'
   ***   ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
   =SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')")   &&   ¹ïSQL°õ¦æSQL©R¥O
   =SQLDisconnect(conn9)
Endif

½Ð°Ý,§Ú­n¦p¦ó§âCursor temp00.filetime Äæ¦ìªº­È¶ñ¥¿½T?
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 4 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤@¤ë 16, 2012 10:30 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

À³¸Ó³o¼Ë»¡,
¥H¤U¬Oµ{¦¡°õ¦æ«áµo¥Xªº«H¥ó¤º®e(¬O¥t¤@¤äµ{¦¡­t³dµo«H).
¥Ø«e¤º®e¯Ê¤Ö¤FÀɮ׳̫á¼g¤J®É¶¡,µLªk§PÂ_«e¤@¤Ñinformix³Æ¥÷¬O§_¦³°µ?
¨C¤Ñ³Æ¥÷290­ÓÀÉ®×,­n²M·¡ªº¿ëÃѤU¸ü¦¨¥\»P§_? Àɮפé´Á¬O¤£¬O³Ì·sªº?


***«H¥ó¤º®e
³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!

µ{¦¡¦WºÙ: ¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷
µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY
°õ¦æªº¹q¸£:SEAL-SRV
¥Ø«e®É¶¡: 2012-11-16 05:00:00
°õ¦æ¬í¼Æ: 509.027§Ç¸¹ ÀɮצWºÙ ¬O§_§¹¦¨
1 xxx00378.unl ¦¨¥\
2 xxx00367.unl ¦¨¥\
3 xxx00363.unl ¦¨¥\
4 xxx00317.unl ¦¨¥\
5 ...
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
elleryq



µù¥U®É¶¡: 2007-06-21
¤å³¹: 768


²Ä 5 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤@¤ë 16, 2012 2:38 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

®Ú¾Ú http://msdn.microsoft.com/en-us/library/windows/desktop/aa384146%28v=vs.85%29.aspx ¸ò http://msdn.microsoft.com/en-us/library/windows/desktop/aa384698%28v=vs.85%29.aspx ªº»¡©ú¡GFtpFindFirstFile ªº ²Ä3­Ó°Ñ¼Æ¬O out ¡F InternetFindNextFile ªº²Ä¤G­Ó°Ñ¼Æ¤]¬O out
¤GªÌ³£¬O WIN32_FIND_DATA µ²ºc¡A¦¹µ²ºc¸Ìªº¸ê°T´N¬O§A­nªº

¸Ó«ç»òÂà´« FILETIME/DWORD ¬° VFP ¥i¿ë»{ªº¸ê®Æ«¬ºA¡A´N­n³Â·Ð§A¦Û¤v¦A§ä§ä¤F¡C
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§ °ÑÆ[µoªí¤Hªº­Ó¤Hºô¯¸
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 6 ¼Ó

µoªíµoªí©ó: ¬P´Á¤­ ¤Q¤@¤ë 16, 2012 10:48 pm    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

ÁÂÁÂelleryq¦^ÂÐ,
¥H¤U¬O§Ú§ï§¹¦¨ªºµ{¦¡½X.
¥N½X:

Set Dele On         &&   ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off         &&   ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd      &&   ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24   &&   ®É¶¡¬°24¤p®É¨î
Set Century On      &&   ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-'      &&   ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70   &&   ¦V¤U¬Û®efoxpro¦­´Áª©¥»µ{¦¡»yªk

On Error *      &&   ·í¦³¥ô¦ó¿ù»~ªº®É­Ô¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ

Close Databases All   &&   Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w

*=MESSAGEBOX(SYS(5)+SYS(2003))

m_date=Date()-1   &&   «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0)))))
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1)))
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
sss=Seconds()      &&   °O¿ý¶}©l°õ¦æªº®É¶¡

Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100))   &&   ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character ,   &&   Åª¨ú backup_init.txt ÀÉ®×,¸Ì­±°O¿ý³Æ¥÷­n¥Îªº¸ê®Æ§¨

*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e­±5­Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,E:\Backup\informix¸ê®Æ®w

*=================================================================================================
*****   ·Ç³Æ FTP ³s½u
*****  «Å§i wininet.dll

***  ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
   string sAgent,;
   integer lAccessType,;
   string sProxyName,;
   string sProxyBypass,;
   string  lFlags

***  Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
   integer hInet

***  ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
   integer hInternetSession,;
   string  sServerName,;
   integer nServerPort,;
   string  sUsername,;
   string  sPassword,;
   integer lService,;
   integer lFlags,;
   integer lContext

*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
   integer hFtpSession, ;
   string  lpszRemoteFile,;
   string  lpszNewFile,;
   integer fFailIfExists,;
   integer dwFlagsAndAttributes,;
   integer dwFlags,;
   integer dwContext

*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
   Integer hftpsession, String @lpszdir, Integer @lpdwcurdir

*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@­ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
   Integer hftpsession, String lpszsearchfile,;
   string @lpfindfiledata, Integer dwflags, Integer dwcontent

*** §ä¤U¤@­ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
   Integer hfind, String @lpvfinddata

*** ¨ú±oÀɮפé´Á¸ê°T
Declare Integer FileTimeToSystemTime In kernel32.Dll;
   STRING @lpFileTime, String @lpSystemTime


***   «Ø¥ß¥»¾÷¸ê®Æ§¨
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
   m_path=Alltrim(¸ê®Æ§¨)      &&   ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
   m_path='D:\Backup\informix¸ê®Æ®w\smz.exp'   &&   §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif

If !Directory(m_path)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path   &&   «Ø¥ß¸ê®Æ§¨
Else
   m_comm='run del '+m_path+' /q'   &&   §R°£¸ê®Æ§¨¤ºªºÀÉ®×
   &m_comm
Endif

Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
   m_path1=Alltrim(¸ê®Æ§¨)
Else
   m_path1='E:\Backup\informix¸ê®Æ®w'   &&   ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: E:\Backup\informix¸ê®Æ®w\)
Endif

If !Directory(m_path1)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path1   &&   «Ø¥ß¸ê®Æ§¨
Endif

***** ¶}©l³s½u
sagent = "vfp7"      && ¦Û­q¤@­Ó¦WºÙ(ÀH«K)
sproxyname = 0      && ¤£¨Ï¥ÎProxy server  -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0   && ¤£¦^´_°T®§
lflags = 0         && ¹w³]­È

* ¶}±Ò³sµ²  («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)

* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99'      &&  ­nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21               && ftp ªº³q°T°ð
struser = 'test'         && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test'         && ±K½X

************** ³s½u¦Ü ftp
*!*       hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)

If hftpsession = 0
   Return
Endif

***  ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
   lpfindfiledata = Repli (Chr(0), 320)     &&   lpfindfiledata = 320­Óchr(0)
   Select temp01
   Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
   If Found()
      ftpdir=Alltrim(¸ê®Æ§¨)   &&   FTP Server ªºÀɮ׸ô®|
   Else
      ftpdir='/u1/EXPORT/smz.exp/'   &&   FTP Server ªºÀɮ׸ô®|
   Endif
   lcmask=Alltrim(ftpdir)+'*.*'
   hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0)  && ¨ú±o²Ä¤@­ÓÀÉ®×
   If hfind>0   &&   §PÂ_¬O§_§ä¨ì²Ä¤@­ÓÀÉ®×
      Select 0      && ¤Á´«¦ÜªÅªº¤u§@°Ï
      Create Cursor temp00 (filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4))      &&   «Ø¥ßCursor
      If At(Chr(0), m_filename) <> 0
         m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
      Endif
      Insert Into temp00 (filename) Values (m_filename)   &&   ±NÀɮצWºÙ¼g¤JCursor
      lnfound =1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@­ÓÀÉ®×
      Do While .T.   &&   ¶}©l§ä´M¤U¤@­ÓÀÉ®×
         If internetfindnextfile (hfind, @lpfindfiledata) <> 1   &&   §PÂ_¬O§_§ä¨ì¤U¤@­ÓÀÉ®×
            Exit      &&   §ä¤£¨ì, ¸õ¥X°j°é
         Else
            lnfound = lnfound + 1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
            m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
            If At(Chr(0), m_filename) <> 0
               m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
            Endif
            *** WIN32_FIND_DATA Âà´«
            lcfiletime=Substr(lpfindfiledata, 21, 8)
            lcsystemtime = Repli (Chr(0), 16)
            = filetimetosystemtime (@lcfiletime, @lcsystemtime)
            wyear   = buf2num (lcsystemtime,  0, 2)
            wmonth  = buf2num (lcsystemtime,  2, 2)
            wday    = buf2num (lcsystemtime,  6, 2)
            whour   = buf2num (lcsystemtime,  8, 2)
            wminute = buf2num (lcsystemtime, 10, 2)
            wsecond = buf2num (lcsystemtime, 12, 2)
            Set Date To Mdy
            lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
            lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
            ltresult = Ctot (lcdate + " " + lctime)
            Set Date ymd
            *** ±NÀɮצWºÙ¼g¤JCursor
            Insert Into temp00 (filename,filetime) Values (m_filename,ltresult)
         Endif
      Enddo

      Select temp00   && ¤Á´«¨ìCursor
      Scan   &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
         lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename))      &&   ¨Ó·½ÀÉ
         *Wait Windows notes+'/'+lpszremotefile Nowait   &&   ±NÀɮצWºÙÅã¥Ü¦bµe­±,³o¬O­nºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@­ÓÀÉ®×
         lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename))   &&   ¥ØªºÀÉ
         lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0)      &&   ¶}©l¤U¸ü
         If lnresult>0   &&   §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
            Replace dl With '¦¨¥\' In temp00   &&   ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
         Else
            Replace dl With '¥¢±Ñ' In temp00
         Endif
      Endscan
      Copy To m_path+'\log00'   &&   °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
   Endif
Endif
= internetclosehandle (hopen)   &&   Ãö³¬FTP³s½u
*=================================================================================================

***   ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01'   &&   ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
   Case File("C:\Program Files (x86)\winrar\winrar.exe")   &&   64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
      Set Default To "C:\Program Files (x86)\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
   Case File("C:\Program Files\winrar\winrar.exe")
      Set Default To "C:\Program Files\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path   &&   ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e­±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á­±±µµÛwinrar©R¥O
&aaa   &&   ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)

Select filename,filetime,dl From temp00 Order By dl,filename  Into Cursor temp88      &&   ¨Ì·Ó¤U¸ü¦¨¥\»P§_±Æ§Ç

*****   ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
   lc_sss=Alltrim(Str(Seconds()-sss,10,3))   &&   ­pºâ°õ¦æ¬í¼Æ
   ***   «÷´êHTML
   aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
   aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦b­â±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
   aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
   aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
   aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
   aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
   aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
   aaa=aaa+'<table bordercolor="black" border="1">'
   aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
   ***   «÷´êHTMLªº¦C(Row;Record)
   Select temp88      &&   ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
   Scan   &&   °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
      If dl='¥¢±Ñ'
         aaa=aaa+'<tr BGCOLOR=red>'
      Else
         aaa=aaa+'<tr>'
      Endif
      aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
      aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
      aaa=aaa+'<td>'+ttoc(filetime)+'</td>'
      aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
      aaa=aaa+'</tr>'      &&   ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
   Endscan
   aaa=aaa+'</table><br><br>'
   ***   ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
   =SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')")   &&   ¹ïSQL°õ¦æSQL©R¥O
   =SQLDisconnect(conn9)
Endif

Procedure buf2num
   Lparameters lcbuffer, lnoffset, lnbytes
   * converts N bytes from the buffer into a numeric value
   lnresult = 0
   For ii=1 To lnbytes
      lnresult = lnresult +;
         BitLShift(Asc(Substr (lcbuffer, lnoffset+ii, 1)), (ii-1)*8)
   Endfor
   Return  lnresult
Endproc
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 7 ¼Ó

µoªíµoªí©ó: ¬P´Á¤» ¤Q¤@¤ë 17, 2012 8:36 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

¸É¥R­×§ï¤@¨Ç,½Ð§â¤W­±µ{¦¡½X "*** «÷´êHTML" ³o¬q´«±¼,¶¶«K¤ñ¹ï¥»¾÷¼È¦sÀÉ&À£ÁYÀɬO§_¥¿½T
¥N½X:

   ***   «÷´êHTML
   aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
   aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦b­â±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
   aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
   aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥ÍªºªÑ°È¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
   aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
   aaa=aaa+"<br>¥Ø«e®É¶¡: "+Ttoc(Datetime())
   aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
   If Fdate(m_path1+'\smz_'+Dtos(m_date)+'.rar ')<>m_date+1   && ¤ñ¹ïÀ£ÁYÀɮפé´Á¬O§_¥¿½T,­Y¤£¥¿½T´N¥H¯»¬õ¦â©³¦âªí¥Ü...m_date+1==>¦]¬°­â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
      aaa=aaa+'<font color="#cc33ff" size="7">À£ÁYÀɨS¦³¥¿½T¼g¤J,½ÐÀˬd</font>'
   Endif
   aaa=aaa+'<table bordercolor="black" border="1">'
   aaa=aaa+'<td>§Ç¸¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
   ***   «÷´êHTMLªº¦C(Row;Record)
   Select temp88      &&   ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí)
   Scan   &&   °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
      If !File(m_path+'\'+Alltrim(filename))   &&   ¤ñ¹ïÀɮ׬O§_¦s¦b¼È¦s¸ê®Æ§¨,¤£¦s¦b´Nµù°O:¥¼¦s
         Replace dl With '¥¼¦s'
      Endif
      If Fdate(m_path+'\'+Alltrim(filename))<>m_date+1   &&   ¤ñ¹ï¼È¦sÀɮפé´Á¬O§_¥¿½T,¤£¥¿½T´Nµù°O:¤é¿ù...m_date+1==>¦]¬°­â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
         Replace dl With '¿ù¤é'
      Endif
      If dl='¥¢±Ñ' Or dl='¥¼¦s' OR dl='¿ù¤é' Or Ttod(filetime)<>m_date+1    &&   ¤ñ¹ïÀɮ׬O§_¦³°ÝÃD
         aaa=aaa+'<tr BGCOLOR=red>'   && ¦³°ÝÃDªº,¥H¬õ¦â©³¦âªí¥Ü
      Else
         aaa=aaa+'<tr>'
      Endif
      aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
      aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
      aaa=aaa+'<td>'+Ttoc(filetime)+'</td>'
      aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
      aaa=aaa+'</tr>'      &&   ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
   Endscan
   aaa=aaa+'</table><br><br>'

§Ú¥Î³oµ{¦¡¨C¤Ñ³Æ¥÷UNIX&Linux¦U¦¡¸ê®Æ,¤]¥i¥H³Æ¥÷LunixªºOracleªºDBFÀÉ&ArchiveÀÉ,ÁÙ¦³Oracle¥ÎRMAN³Æ¥÷ªº¸ê®Æ,µM«á¥ÎiSCSI³]³Æ°µ²§¦a³Æ¥÷,¥þ³¡¥ÎFoxpro·d©w
²{¦b¥i¥H¤ñ¹ïÀɮפé´Á®É¶¡,¸ò«È¤á&¼t°Ó·¾³qªºÀÉ®×,µ{¦¡§ïFTP¤W¶Ç,µM«á¤ñ¹ï¬O§_¥¿½T,¤@¤Á¥þ¦Û°Ê,¥u­n¨C¤Ñ¦¬«H´N¥i¥H¥þ½L¤F¸Ñª¬ªp.
ÁÂÁÂckp6250&elleryq¬Û§U
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
Mark123



µù¥U®É¶¡: 2012-06-28
¤å³¹: 6


²Ä 8 ¼Ó

µoªíµoªí©ó: ¬P´Á¤T ¤Q¤@¤ë 21, 2012 8:37 am    ¤å³¹¥DÃD: ¤Þ¨¥¦^ÂÐ

³o´X¤Ñ±Æµ{´ú¸Õµo²{¤p¤p°ÝÃD,­×¥¿¦p¤U:
1. temp88³o­ÓCursor¥[Readwrite°Ñ¼Æ,§ï¦¨¥iŪ¼g,³o¼Ë¤~¥i¥H§ïÅÜÄæ¦ìªº­È
2. µ{¦¡¤Ö¤U¸ü²Ä¤@­Ó§ä¨ìªºÀÉ®×(ftpfindfirstfileÀɮ׳Q¿ò§Ñ¤F),¤]§Ñ°OÂà´«filetime. (snoÄæ¦ì´N¬O¦b§ì¿òº|ªºÀÉ®×firstfile)
¥N½X:

Set Dele On         &&   ¤w¸g§R°£ªº¸ê®Æ¤£Åã¥Ü
Set Safe Off         &&   ÀÉ®×IO®É¤£¸ß°Ý,ª½±µ°Ê§@
Set Date ymd      &&   ¤é´Á®æ¦¡: yyyy-mm-dd
Set Hours To 24   &&   ®É¶¡¬°24¤p®É¨î
Set Century On      &&   ¤é´Á®æ¦¡¤¤,¦~¥÷³]©w¬°¥|½X
Set Mark To '-'      &&   ¤é´Á¤À¹j²Å¸¹,¨Ò¦p 2010-11-01
Set enginebehavior 70   &&   ¦V¤U¬Û®efoxpro¦­´Áª©¥»µ{¦¡»yªk

On Error *      &&   ·í¦³¿ù»~®É¤£°µ¥ô¦ó¨Æ, *¬P¸¹¬Oµù¸Ñ,µù¸Ñ´N¥Nªí¤°»ò³£¤£°µ

Close Databases All   &&   Ãö³¬©Ò¦³¶}±Òªº¸ê®Æ®w

*=MESSAGEBOX(SYS(5)+SYS(2003)) &&ºÊ¬Ý¥Ø«eµ{¦¡°õ¦æªº¸ô®|,64¦ì¤¸ª©§@·~¨t²Î­nª`·N±Æµ{³]©w"¶}©l¦ì¸m",¦]¬°¹w³]¦bC:\WINDOWS\SYSTEM32

m_date=Date()-1   &&   «e¤@¤Ñ
m_user=Upper(Alltrim(Right(Sys(0),Len(Sys(0))-At('#',Sys(0)))))   && ¥»¾÷µn¤Jªº¨Ï¥ÎªÌ
m_pcname=Upper(Alltrim(Left(Sys(0),At('#',Sys(0))-1)))   &&   ¥»¾÷¹q¸£¦WºÙ
m_prgname='¨C¤éFTP¤U¸üinformix¸ê®Æ®w³Æ¥÷'
m_stime=Datetime()   && µ{¦¡¶}©l®É¶¡
sss=Seconds()      &&   °O¿ý¶}©l°õ¦æªº®É¶¡

Create Cursor temp01 (¥\¯à c(10),¤ÀÃþ c(4),¸ê®Æ§¨ c(100))   &&   ³Æ¥÷¸ê®Æ§¨°O¿ýÀÉ, ¥Î¨ÓÀx¦s backup_init.txt ¤º®e
*APPEND FROM Backup_init.txt DELIMITED WITH _ WITH CHARACTER ,
Append From backup_init.txt Delimited With Character ,   &&   Åª¨ú backup_init.txt ÀÉ®×,¸Ì­±°O¿ý³Æ¥÷­n¥Îªº¸ê®Æ§¨

*****backup_init.txt ¬O¥Î¨ÓÀH®É§ïÅܳƥ÷¦ì¸mªº,½Ð±Nbackup_init.txt2ÀÉ®×»P¦¹µ{¦¡©ñ¦b¦P¤@¸ê®Æ§¨
*****backup_init.txt ¤º®e¦p¤U¤T¦C(¤£§t«e­±5­Ó¬P¸¹)
*****informix,FTP,/u1/EXPORT/smz.exp/
*****informix,¼È¦s,D:\Backup\informix¸ê®Æ®w\smz.exp
*****informix,¥Øªº,F:\Backup\informix¸ê®Æ®w

*=================================================================================================
*****   ·Ç³Æ FTP ³s½u
*****  «Å§i wininet.dll

***  ¶}±Ò internet ³sµ²
Declare Integer InternetOpen In wininet;
   string sAgent,;
   integer lAccessType,;
   string sProxyName,;
   string sProxyBypass,;
   string  lFlags

***  Ãö³¬ internet ³sµ²
Declare Integer InternetCloseHandle In wininet ;
   integer hInet

***  ³sµ² ftp or http
Declare Integer InternetConnect In wininet;
   integer hInternetSession,;
   string  sServerName,;
   integer nServerPort,;
   string  sUsername,;
   string  sPassword,;
   integer lService,;
   integer lFlags,;
   integer lContext

*** ¤U¸ü ftp ÀÉ®×
Declare Integer FtpGetFile In wininet;
   integer hFtpSession, ;
   string  lpszRemoteFile,;
   string  lpszNewFile,;
   integer fFailIfExists,;
   integer dwFlagsAndAttributes,;
   integer dwFlags,;
   integer dwContext

*** ¨ú±o ftp ¥Ø¿ý¸ê®Æ
Declare Integer FtpGetCurrentDirectory In wininet;
   Integer hftpsession, String @lpszdir, Integer @lpdwcurdir

*** ¨ú±o¥Ø¿ý¤¤ªº²Ä¤@­ÓÀɮצWºÙ
Declare Integer FtpFindFirstFile In wininet;
   Integer hftpsession, String lpszsearchfile,;
   string @lpfindfiledata, Integer dwflags, Integer dwcontent

*** §ä¤U¤@­ÓÀɮצWºÙ
Declare Integer InternetFindNextFile In wininet;
   Integer hfind, String @lpvfinddata

*** ¨ú±oÀɮפé´Á¸ê°T
Declare Integer FileTimeToSystemTime In kernel32.Dll;
   STRING @lpFileTime, String @lpSystemTime


***   «Ø¥ß¥»¾÷¸ê®Æ§¨,¨Ã°O¿ý¼È¦s»P¥Øªº¸ê®Æ§¨¸ê°T
Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¼È¦s'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
If Found()
   m_path=Alltrim(¸ê®Æ§¨)      &&   ¦pªG§ä¨ì, «h¨Ï¥Î¸Ó¸ê®Æ§¨³Æ¥÷¥¼À£ÁYªºÀÉ®×
Else
   m_path='D:\Backup\informix¸ê®Æ®w\smz.exp'   &&   §ä¤£¨ì, ´N¥Î¹w³]ªº¸ê®Æ§¨ (¨Ò¦p: d:\Backup\informix¸ê®Æ®w\smz.exp)
Endif

If !Directory(m_path)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path   &&   «Ø¥ß¸ê®Æ§¨
Else
   m_comm='run del '+m_path+' /q'   &&   §R°£¸ê®Æ§¨¤ºªºÀÉ®×
   &m_comm
Endif

Select temp01
Locate For ¥\¯à='informix' And ¤ÀÃþ='¥Øªº'
If Found()
   m_path1=Alltrim(¸ê®Æ§¨)
Else
   m_path1='F:\Backup\informix¸ê®Æ®w'   &&   ³Æ¥÷Àɮ׸ô®| (¨Ò¦p: F:\Backup\informix¸ê®Æ®w\), F:ºÏºÐ¾÷¬OiSCSI»·ºÝµwºÐ
Endif

If !Directory(m_path1)   &&   Àˬd¸ê®Æ§¨¬O§_¦s¦b,¤£¦s¦b´N«Ø¥ß
   Md &m_path1   &&   «Ø¥ß¸ê®Æ§¨
Endif

***** ¶}©l³s½u
sagent = "vfp7"      && ¦Û­q¤@­Ó¦WºÙ(ÀH«K)
sproxyname = 0   && ¤£¨Ï¥ÎProxy server  -->vb ¤£¬O chr(0) ¬O¥Î null
sproxybypass = 0   && ¤£¦^´_°T®§
lflags = 0         && ¹w³]­È

* ¶}±Ò³sµ²  («Ø¥ß internet session)
hopen = internetopen (sagent, 1, sproxyname, sproxybypass, lflags)

* ³]©wµn¤Jªº¨Ï¥ÎªÌ¦WºÙ
strhost = '10.0.1.99'      &&  ­nµn¤Jªºftp¦ì§}©Î¦WºÙ
port=21               && ftp ªº³q°T°ð
struser = 'test'         && ¨Ï¥ÎªÌ¦WºÙ
strpwd = 'test'         && ±K½X

************** ³s½u¦Ü ftp
*!*       hFtpSession = InternetConnect (hOpen, strHost, port, strUser, strPwd, INTERNET_SERVICE_FTP, 0, 0)
hftpsession = internetconnect (hopen, strhost, port, struser, strpwd, 1, 0, 0)

If hftpsession = 0
   Return   &&   µLªk³s½u´N°h¥Xµ{¦¡
Endif

***  ¤U¸ü ftp ÀÉ®×
If hopen>0 And hftpsession>0
   lpfindfiledata = Repli (Chr(0), 320)     &&   lpfindfiledata = 320­Óchr(0)
   Select temp01
   Locate For ¥\¯à='informix' And ¤ÀÃþ='FTP'   &&   §ä´M backup_init.txt ¤º«ü©wªº¨Ó·½¸ê®Æ§¨
   If Found()
      ftpdir=Alltrim(¸ê®Æ§¨)   &&   FTP Server ªºÀɮ׸ô®|
   Else
      ftpdir='/u1/EXPORT/smz.exp/'   &&   FTP Server ªºÀɮ׸ô®|
   Endif

   *** ¥ý¨ú±oÀɮ׸ê°T¼g¤JCursor temp00
   lcmask=Alltrim(ftpdir)+'*.*'
   hfind = ftpfindfirstfile(hftpsession,lcmask,@lpfindfiledata,16,0)  && ¨ú±o²Ä¤@­ÓÀÉ®×
   If hfind>0   &&   §PÂ_¬O§_§ä¨ì²Ä¤@­ÓÀÉ®×
      Select 0      && ¤Á´«¦ÜªÅªº¤u§@°Ï
      Create Cursor temp00 (sno i,filename c(20),filesize i,filetime T,fileattrib c(100),dl c(4))      &&   «Ø¥ßCursor
      m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
      If At(Chr(0), m_filename) <> 0
         m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
      Endif
      *** WIN32_FIND_DATA Âà´«
      lcfiletime=Substr(lpfindfiledata, 21, 8)
      lcsystemtime = Repli (Chr(0), 16)
      = filetimetosystemtime (@lcfiletime, @lcsystemtime)
      wyear   = buf2num (lcsystemtime,  0, 2)
      wmonth  = buf2num (lcsystemtime,  2, 2)
      wday    = buf2num (lcsystemtime,  6, 2)
      whour   = buf2num (lcsystemtime,  8, 2)
      wminute = buf2num (lcsystemtime, 10, 2)
      wsecond = buf2num (lcsystemtime, 12, 2)
      Set Date To Mdy
      lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
      lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
      ltresult = Ctot (lcdate + " " + lctime)
      Set Date ymd
      Insert Into temp00 (sno,filename,filetime) Values (1,m_filename,ltresult)   &&   ±NÀɮצWºÙ¼g¤JCursor
      lnfound =1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[, ±q¤@¶}©l ,¦]¬°ftpfindfirstfile¤w¸g§ä¨ì²Ä¤@­ÓÀÉ®×
      Do While .T.   &&   ¶}©l§ä´M¤U¤@­ÓÀÉ®×
         If internetfindnextfile (hfind, @lpfindfiledata) <> 1   &&   §PÂ_¬O§_§ä¨ì¤U¤@­ÓÀÉ®×
            Exit      &&   §ä¤£¨ì, ¸õ¥X°j°é
         Else
            lnfound = lnfound + 1   && §ä¨ìªºÀÉ®×Á`¼Æ²Ö¥[
            m_filename= Alltrim(Substr(lpfindfiledata, 45,250))
            If At(Chr(0), m_filename) <> 0
               m_filename = Substr (m_filename, 1, At(Chr(0), m_filename)-1)
            Endif
            *** WIN32_FIND_DATA Âà´«
            lcfiletime=Substr(lpfindfiledata, 21, 8)
            lcsystemtime = Repli (Chr(0), 16)
            = filetimetosystemtime (@lcfiletime, @lcsystemtime)
            wyear   = buf2num (lcsystemtime,  0, 2)
            wmonth  = buf2num (lcsystemtime,  2, 2)
            wday    = buf2num (lcsystemtime,  6, 2)
            whour   = buf2num (lcsystemtime,  8, 2)
            wminute = buf2num (lcsystemtime, 10, 2)
            wsecond = buf2num (lcsystemtime, 12, 2)
            Set Date To Mdy
            lcdate = Strtran (Str(wmonth,2) + "/" + Str(wday,2) + "/" + Str(wyear,4), " ","0")
            lctime = Strtran (Str(whour,2) + ":" + Str(wminute,2) + ":" + Str(wsecond,2), " ","0")
            ltresult = Ctot (lcdate + " " + lctime)
            Set Date ymd
            *** ±NÀɮצWºÙ¼g¤JCursor
            Insert Into temp00 (sno,filename,filetime) Values (lnfound,m_filename,ltresult)   &&   ±NÀɮצWºÙ¼g¤JCursor
         Endif
      Enddo

      ***   ¶}©l¤U¸ü
      Select temp00   && ¤Á´«¨ìCursor
      Scan   &&±Ntemp00¸ê®Æªí³vµ§¶]¹L¤@¦¸
         lpszremotefile=ftpdir+Alltrim(Lower(temp00.filename))      &&   ¨Ó·½ÀÉ
         *Wait Windows notes+'/'+lpszremotefile Nowait   &&   ±NÀɮצWºÙÅã¥Ü¦bµe­±,³o¬O­nºÊ¬Ý¥Îªº,Åý§Aª¾¹D¥¿¦b¤U¸ü¨º¤@­ÓÀÉ®×
         lpsznewfile=m_path+'\'+Alltrim(Lower(temp00.filename))   &&   ¥ØªºÀÉ
         lnresult=ftpgetfile (hftpsession, lpszremotefile, lpsznewfile, 0, 128, 2, 0)      &&   ¶}©l¤U¸ü
         If lnresult>0   &&   §PÂ_¬O§_¦¨¥\, >0¦¨¥\ ,¼g¤Jtemp01
            Replace dl With '¦¨¥\' In temp00   &&   ¼g¤JdlÄæ¦ì, ¨Ñ¥H«á§PÂ_¦¨¥\»P§_
         Else
            Replace dl With '¥¢±Ñ' In temp00
         Endif
      Endscan
      Copy To m_path+'\log00'   &&   °O¿ýÀɦs©ñ¤U¸ü°O¿ý ,D:\Backup\informix¸ê®Æ®w\smz.exp\log00.dbf
   Endif
Endif
= internetclosehandle (hopen)   &&   Ãö³¬FTP³s½u
*=================================================================================================

***   ©I¥sWinRAR À£ÁYÀÉ®×
*If Os()='Windows 6.01'   &&   ¨ú±o§@·~¨t²Î¬O¤£¬O Windows2008R2 64¦ì¤¸ª©?
Do Case
   Case File("C:\Program Files (x86)\winrar\winrar.exe")   &&   64¦ì¤¸§@·~¨t²ÎWinRAR©ñ¦b¦¹¸ê®Æ§¨,¤½¥q¦øªA¾¹Windows2008R2¬O64¦ì¤¸,©Ò¥H·|¦³¦¹°ÝÃD
      Set Default To "C:\Program Files (x86)\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦Ü C:\Program Files (x86)\winrar
   Case File("C:\Program Files\winrar\winrar.exe")
      Set Default To "C:\Program Files\winrar"   &&   ¤Á´«µ{¦¡¸ô®|¦ÜC:\Program Files\winrar
Endcase
aaa='run winrar a -m5 '+m_path1+'\smz_'+Dtos(m_date)+'.rar '+m_path   &&   ±N©R¥O¥]¦¨¦r¦ê,©R¥O¤º®e¬O°õ¦æDOS¼Ò¦¡ ,«e­±ªºRUN¥Nªí©I¥sDOS¼Ò¦¡,«á­±±µµÛwinrar©R¥O
&aaa   &&   ¥¨¶°´À¥N,°õ¦æ¦r¦êªº¤º²[ (¤]´N¬O§â¦r¦êÅܦ¨©R¥O°õ¦æ)

Select filename,filetime,dl,sno From temp00 Order By dl,filetime  Into Cursor temp88 Readwrite      &&   Readwrite°Ñ¼Æ¬OÅý¦¹Cursor¥iŪ¼g

*****   ¼g¤JSQL
=SQLSetprop(0,"DispLogin",3)
conn9=Sqlstringconnect('DRIVER=SQL Server;SERVER=192.168.1.1;uid=test;PWD=test;DATABASE=test')
If conn9>0
   lc_sss=Alltrim(Str(Seconds()-sss,10,3))   &&   ­pºâ°õ¦æ¬í¼Æ
   ***   «÷´êHTML
   aaa="³o¬O¦Û°Ê«H¥ó,½Ð¤Åª½±µ¦^ÂÐ,ÁÂÁÂ!<br>"
   aaa=aaa+'<font color="#cc33ff" size="7">¥»µ{¦¡½Ð¤Å¦b­â±á01:00~02:00°õ¦æ,¦¹®Éinformix¥¿¦b¶×¥X¸ê®Æ®w</font>'
   aaa=aaa+"<br>µ{¦¡¦WºÙ: "+m_prgname
   aaa=aaa+"<br>µ{¦¡¥\¯à: ¦Û°Ê¤ÆFTP¤U¸ü1:00²£¥Íªºinformix¸ê®Æ®w³Æ¥÷ÀÉ®×,¨Ã©I¥sWinRARÀ£ÁY"
   aaa=aaa+'<br>°õ¦æªº¹q¸£:'+m_pcname
   aaa=aaa+"<br>¶}©l®É¶¡: "+Ttoc(m_stime)
   aaa=aaa+"<br>§¹¦¨®É¶¡: "+Ttoc(Datetime())
   aaa=aaa+"<br>°õ¦æ¬í¼Æ: "+lc_sss
   If !File(m_path1+'\smz_'+Dtos(m_date)+'.rar ') Or Fdate(m_path1+'\smz_'+Dtos(m_date)+'.rar ')<>m_date+1   && ¤ñ¹ïÀ£ÁYÀɮפé´Á¬O§_¥¿½T,­Y¤£¥¿½T´N¥H¯»¬õ¦â©³¦âªí¥Ü...m_date+1==>¦]¬°­â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
      aaa=aaa+'<br><font color="#cc33ff" size="7">À£ÁYÀɨS¦³¥¿½T¼g¤J,½ÐÀˬd</font>'
   Else
      aaa=aaa+'<br>¤w²£¥ÍÀ£ÁYÀÉ:'+m_path1+'\smz_'+Dtos(m_date)+'.rar '
   Endif
   aaa=aaa+"<br>µ{¦¡¶}µo¤H­û: Mark"
   aaa=aaa+'<table bordercolor="black" border="1">'
   aaa=aaa+'<td>§Ç¸¹</td><td>FTPÀɮקǸ¹</td><td>ÀɮצWºÙ</td><td>Àɮ׮ɶ¡</td><td>¬O§_§¹¦¨</td>'
   ***   «÷´êHTMLªº¦C(Row;Record)
   Select temp88      &&   ¤Á´«¤u§@°Ï(¤Á´«¦Ü°O¾ÐÅ餤ªº¸ê®Æªí) ,temp88¦³¤UReadwrite°Ñ¼Æ,¥iŪ¼g
   Scan   &&   °w¹ï¦¹¸ê®Æªí°µ¤@µ§¤@µ§ªº±½´y¤@¹M
      If !File(m_path+'\'+Alltrim(filename))   &&   ¤ñ¹ïÀɮ׬O§_¦s¦b¼È¦s¸ê®Æ§¨,¤£¦s¦b´Nµù°O:¥¼¦s
         Replace dl With '¥¼¦s'   &&   ±N'¥¼¦s'¼g¤JdlÄæ¦ì
      Endif
      If Fdate(m_path+'\'+Alltrim(filename))<>m_date+1   &&   ¤ñ¹ï¼È¦sÀɮפé´Á¬O§_¥¿½T,¤£¥¿½T´Nµù°O:¤é¿ù...m_date+1==>¦]¬°­â±á³Æ¥÷«e¤@¤Ñ¸ê®Æ,©Ò¥H³Æ¥÷Àɮפé´Á·|¬O+1
         Replace dl With '¿ù¤é'
      Endif
      If dl='¥¢±Ñ' Or dl='¥¼¦s' Or dl='¿ù¤é' Or Ttod(filetime)<>m_date+1    &&   ¤ñ¹ïÀɮ׬O§_¦³°ÝÃD
         aaa=aaa+'<tr BGCOLOR=red>'   && ¦³°ÝÃDªº,¥H¬õ¦â©³¦âªí¥Ü
      Else
         aaa=aaa+'<tr>'
      Endif
      aaa=aaa+'<td>'+Alltrim(Str(Recno()))+'</td>'
      aaa=aaa+'<td>'+Alltrim(Str(sno))+'</td>'
      aaa=aaa+'<td>'+Alltrim(filename)+'</td>'
      aaa=aaa+'<td>'+Ttoc(filetime)+'</td>'
      aaa=aaa+'<td>'+Alltrim(dl)+'</td>'
      aaa=aaa+'</tr>'      &&   ¥Î<tr></tr>°Ï¹j¤@¦C¸ê®Æ
   Endscan
   aaa=aaa+'</table><br><br>'
   ***   ¼g¤Jµo«H¾÷¨î,±Æµ{µo«H
   =SQLExec(conn9,"insert into °e«H¾ã¦X«H¥ó¤º®e (¹q¸£¦WºÙ,¤ñ¹ï¹q¸£¦WºÙ,µ{¦¡¦WºÙ,¥D¦®,¤º®e,«H¥ó®æ¦¡) values (?m_pcname,0,?m_prgname,'"+m_prgname+'_'+Dtoc(m_date)+"',?aaa,'html')")   &&   ¹ïSQL°õ¦æSQL©R¥O
   =SQLDisconnect(conn9)
Endif

Procedure buf2num
   Lparameters lcbuffer, lnoffset, lnbytes
   * converts N bytes from the buffer into a numeric value
   lnresult = 0
   For ii=1 To lnbytes
      lnresult = lnresult +;
         BitLShift(Asc(Substr (lcbuffer, lnoffset+ii, 1)), (ii-1)*8)
   Endfor
   Return  lnresult
Endproc
¦^³»ºÝ
À˵ø·|­û­Ó¤H¸ê®Æ µo°e¨p¤H°T®§
±q¤§«eªº¤å³¹¶}©lÅã¥Ü:   
µoªí·s¥DÃD   ¦^ÂÐ¥DÃD    VFP ·R¥ÎªÌªÀ°Ï ­º­¶ -> VFP °Q½×°Ï ©Ò¦³ªº®É¶¡§¡¬° ¥x¥_®É¶¡ (GMT + 8 ¤p®É)
²Ä1­¶(¦@1­¶)

 
«e©¹:  
±z µLªk ¦b³o­Óª©­±µoªí¤å³¹
±z µLªk ¦b³o­Óª©­±¦^ÂФ峹
±z µLªk ¦b³o­Óª©­±½s¿è¤å³¹
±z µLªk ¦b³o­Óª©­±§R°£¤å³¹
±z µLªk ¦b³o­Óª©­±¶i¦æ§ë²¼
±z µLªk ¦b³o­Óª©­±ªþ¥[ÀÉ®×
±z µLªk ¦b³o­Óª©­±¤U¸üÀÉ®×


Powered by phpBB © 2001, 2005 phpBB Group
¥¿Å餤¤å»y¨t¥Ñ phpbb-tw ºûÅ@»s§@