202005201413foxpro命令

 

 

壓縮程式參數

如果你一定要用 zip 格式, 請安裝 7-zip , 並參考說明檔

 7z a -tzip archive.zip driver:\patch\filename.ext

或是

7z a -tzip archive.zip @listfile.txt

 listgile.txt 是一個清單

 

 

 

 

 

http://www.chiayi.gov.tw/downloads/(BIG-5)補充字集

http://community.nat.gov.tw/ballot/msg_detail.php

http://www.rdec.gov.tw/big-5e/bigindex1.htm

 

 

雙位元字串

?lenc('土火口廿卜 abcde' )

?leftc('土火口廿卜 abcde' ,1)=

?len('hgfhgfgh廿hyz')

STRCONV(a6,2) 雙位元變單位元 全形變半形

STRCONV(a6,1) 單位元變雙位元 半形變全形

把字串變數值排列

NDEX on BINTOC(VAL(product_id),1) TAG product_id

顯示及左右加字元

PADR,PADL,     PADC(ABC, 40, '=') ==========ABC==========

 

Ole1.doverb(-1)

屬性 mouseicon=*.ani

mousepoint=自訂(99)

APPEND gener gener(欄位) from &pic1(檔名) class bitmap

APPEND gener gener(欄位) from &pic1(檔名) class pbrush(不加pbrush 會把檔名一併加進去)

APPEND GENERAL gen class WordDoc FROM d:\doc2.docx

Myform.release

Release windows mrform

thisform.grid1.setall("width", 80, "Column")

thisform.SetAll("enabled",.t., "commandbutton")

thisform.SetAll("BackColor", RGB(0,255,255), "textbox")

開起檔案儲存檔案編輯檔案

gcTableName = GETFILE('DBF', 'Open Table:')

USE (gcTableName)

gcDelimName = ALIAS( ) + '.DLM'

gcDelimFile = PUTFILE('Delimited file:', gcDelimName, 'DLM')

IF EMPTY(gcDelimFile) && Esc pressed

           CANCEL

ENDIF

COPY TO (gcDelimFile) DELIMITED && Create delimited file

MODIFY FILE (gcDelimFile) NOEDIT

#DEFINE ALLCOUNTRY_LOC "(All)"

this.clear清除item

this.additem(ALLCOUNTRY_LOC)

 

 

欄位數欄位名欄位值

 

SELE kutp1d各筆

N=fcount('kutp1d各筆')

GO top

FOR i=1 to n

           ci=field(i)

           n1=allt(str(i))

           c&n1=&ci

ENDF

FOR i=3 to n

           ci=field(i)

           n1=allt(str(i))

           IF !'整筆'$'&ci'

                     REPL &ci with c&n1 all

           ENDIF

ENDF

 

this.clear

欄位入combo1 additem ***************

fieldcount=afield(nfield) &&欄位數

FOR i=1 to fieldcount

           thisform.combo1.additem(nfield(i,1))

ENDFOR

thisform.combo1.clear 清除item

********

sele count(*) from f:\pcjcap\pcjctype into array bb where name='KCKU'

驗証資料是否重複用

****本來值加上key 進去的值 放在losetfocus

kk=this.DISPLAYVALUE

this.additem(this.rowsource+kk)

com=kk

&com執行命令

******

this.additem(All)

DIMENSION auser[1]

SELECT distinct userid FROM pcall INTO array auser

加入combo1

FOR EACH cuser IN auser

           IF !EMPTY(cuser)

                                this.additem(cuser)

           ENDIF

ENDFOR

SELECT distinct 日期(欄位) FROM 吃飯(檔案名稱) INTO array dat1(陣列名稱)

FOR EACH c_dat1(每個dat1的值) IN dat1

IF !EMPTY(c_dat1)

           ?c_dat1

ENDIF

ENDFOR

THIS.VALUE = ALLCOUNTRY_LOC

Alen(array) &&array 長度、數量

SELECT   fgno,mrpno,psw from c:\tmp where psw='L' INTO array auser

Appen from array auser

Copy to array aaa

Appen from array aaa 欄位名稱不一定,但是欄位順序要一樣

(1) 可以在該GRID之欄位內之textlostfocus的程序內加入下列程式碼: 跳下一筆

           此方式,必需按<enter>鍵或欄位滿時,才會進入下一筆資料之同一

             欄位

               keyboard('{dnarrow}')

               keyboard('{leftarrow}')

KEYB '{DNARROW}'

(2) 此方式是當使用者輸入滿二位數時,則會動移至下一筆同一欄位

             之位置

             grid中之分數欄位內中之interactivchange lostfocus event 加入下

               列程式碼

interactivechange

mtmp=alltrim(str(this.value))

fchar=left(mtmp,1)

schar=substr(mtmp,2,1)

if mtmp="100"

keyboard('{dnarrow}')

endif

if fchar !="1" .and. len(mtmp)=2

keyboard('{dnarrow}')

endif

 

lostfocus 中加入:

if lastkey()=13

keyboard('{dnarrow}')

keyboard('{leftarrow}')

endif

此方法如有低於19分者,則必需按<Enter>鍵才可跳至下一筆資料

顯示目前作用之檔名

?dbf()   **c:\roll\pcall.dbf

?alias()   ** PCALL

aa=alias()

sele &aa

SELE kutp1d各筆

N=fcount('kutp1d各筆')&& 欄位數

GO top

FOR i=1 to n

           ci=field(i)&& 欄位名

           n1=allt(str(i))

           c&n1=&ci&&欄位值

ENDF

FOR i=3 to n

           ci=field(i)

           n1=allt(str(i))

           REPL &ci with c&n1 all

ENDF

 

 

?fcount('cspc1') 欄位數

?fsize(dept)欄位長度

?field(1)欄位名稱

?afields(aa) array 若欄位總數 =20 aa=20

?aa[1,1]     名稱 欄位1 T90

?aa[1,2]     type

?aa[1,3]     長度

?aa[2,1]     欄位2 Ts1

?aa[3,1]     欄位3  T50

?afields(aa) 總欄位數

?alen(aa,1)   總筆數=(欄位數x16) aa(20,16)   16固定值

?alen(aa,2)   =16

gnFieldcount = AFIELDS(gaMyArray) && Create array

CLEAR

FOR nCount = 1 TO gnFieldcount

           ? gaMyArray(nCount,1) && Display field names

ENDFOR

_tally總筆數 aa=_tally

=MESSAGEBOX("已至第一筆!",48,"訊息視窗")

1. Grid 新增的 AllowAddNew = .T.

2. Thisform.grid1.column1.text1.SetFocus() 改成 KEYB "{DNARROW}"

<![if !supportLists]>1.        <![endif]>Client for Microsoft Networks

<![if !supportLists]>2.        <![endif]>D-Link DFE-500TX PCI Fast Ethernet Adapter(Rev B/C)

<![if !supportLists]>3.        <![endif]>撥號配接卡

<![if !supportLists]>4.        <![endif]>TCP/IP ->D-Link DFE-500TX PCI Fast Ethernet Adapter(Rev B/C)

<![if !supportLists]>5.        <![endif]>TCP/IP ->撥號配接

網路組態

           當筆記錄顏色

2. form.refresh 加入下列程式碼 initial 加入 public recno

           recno=RECNO()

           this.grid1.SetAll("DynamicBackColor","IIF(RECNO()=recno,;

           RGB(0,255,255),RGB(255,255,255))","Column")

this.Columns(1).DynamicBackcolor="IIF(tot<=5,RGB(255,0,0),IIF(tot>=11,RGB(0,255,0),RGB(255,255,0)))"

FOR i=1 to 42

           cI=allt(str(i))

           da='b'+cI

           db='this.Column'+cI+'.DynamicBackColor = "IIF(&da>=50,iif(&da>50,RGB(255,0,0), RGB(255,255,0)) , RGB(255,255,255))"'

           &db

ENDFOR

this.Column40.DynamicBackColor = "IIF(b40>=50,iif(b40>50,RGB(255,0,0), RGB(255,255,0)) , RGB(180,254,254))"

this.Column5.DynamicBackColor = "IIF(b5>=50,iif(b5>50,RGB(255,0,0), RGB(255,255,0)) , RGB(252,213,253))"

3. Grid AfterRowColChange event 加入下列程式碼 : thisform.refresh      

2 蔡偉爾 回覆請按-->回覆--陳明志您好:如何更改表單的資料環境的檔案中的 CursorSource 的屬性呢 2000/2/24 PM 05:58:53

使用 CursorSetProp()

'a' $ 'aaa'=.t.

if a $ary(1,&ka)

Inlist (1,1,2,3)=.t.

Inlist (1,123)=.f.

A) 寫個 Form New Procedure... e.g. JobTitle

<![if !supportLists]>l  <![endif]>Thisform.JobTitle()

<![if !supportLists]>l  <![endif]>do casecase person.title = 1

<![if !supportLists]>l  <![endif]> return 管理員...

<![if !supportLists]>l  <![endif]>.endcase

<![if !supportLists]>l  <![endif]>B) IIF(person.title=1, "管理員", iif(person.title=2, "....", ",,,"))

Aa =inkey()   inkey(H)   H=cursor hiden

Asc(A)=65

Chr(65)=A

aa=getcolor()

if aa#-1

_screen.backcolor=aa

endif

aa=getfile('dbf')

use &aa

GETFILE("JPG")

 

cFilename = GETFILE("BMP")

IF !EMPTY(cFilename) THEN

           THIS.Picture = cFilename

ENDIF

Aa=REPLICATE('HELLO ',4) && Displays HELLO HELLO HELLO HELLO

REPLACE FROM ARRAY ArrayName        

APPEND MEMO MemoFieldName FROM FileName OVERWRITE

At(#,1234#67#) =5

Rat(#,1234#67#) 由右邊找 =8

Caption 換行 屬性 word wrap .t.

無條件進位

CEILING(1.0001)=2

CEILING(1.000)=1

CMESS=CNO1+'確定刪除'

           CBOX=MESSAGEBOX(CMESS,4+32+256,'資訊部')

           IF CBOX=6

                     Delete FOR no=CNO1

   Endif

MESSAGEBOX(CMESS,4+32+256,'資訊部')

Combobox value=1 this.value=1,2,3

           Value= this.value=所選之值

Combox initial

This.additem(高速走行)

THIS.AddItem(".F.")

THIS.AddItem(".T.")

THIS.AddItem(".NULL.")

THIS.AddItem("0")

THIS.AddItem("1")

THIS.AddItem("2")

THIS.ListIndex = 3

 

Listbox 用來選資料 像查字典

publ rec

aa=allt(this.value)

bb=len(aa)

locat for subs(allt(bedskc),1,bb)=aa

rec=recn()

thisform.list1.Selected(rec+11)=.t. && list1 可顯示 11

thisform.list1.Selected(rec)=.t.   && 先去 11 再回來,表示最上面一筆

執行 exe 時記憶体不足時

Config.sys

SET CLIPPER=E0

= CAPSLOCK(!CAPSLOCK( ))

= CAPSLOCK(.t.)

COPY TO c:\a11.xls TYPE XL5

欄位結構

Copy to name type delimit

Copy structure extend to c:\a123

creat c:\123 from c:\a123

Append from name.txt type sdf

Modify file name.txt

append from c:\aa.txt DELIMITED WITH ,  

As400下載資料有亂碼 0e0f問題

先下載至 BASIC Sequential 檔案格式 再APPEFROM appe from c:\123.txt   DELIMITED WITH "

appe from c:\tnhb.txt deli WITH tab

creat table c:\123(a1 n(9),a2 c(3) ,a3 g,a4 n(1))

Debug   解系統密碼

_0   70 10

_0   71 10

_Q

dele file c:\1.dbf

erase c:\2.dbf

Field=0 To

Blank Field MyNumber For MyNumber = 0

表單重複執行表單是否開啟

ku查詢的nameform41

IF WEXIST('form41')

           ku查詢.release

ENDIF

 

public demo

DO FORM d:\ku\代書\demo.scx

demo.hide

demo.show

demo.release

 

thisform.cmds.cmd1.enabled=!wexist("form1") &&

if wexist(pcjc’) && form 屬性 name 要改 pcjc

pcjc.release

endif

 

 

Form1.show

Form1.hide

Pcno 表單名稱要 public

if type(pcno)=O

pcno.release 表單.Release

endif

表單 unload event 要把表單 pcno=’’ 變回來然後

因表單雖然 release 但是 type 仍然為 O

Form do form

嘗試在FORM DATA SESSION SET PRIVATE DATA SESSION

Formscrollbars設定為 3 圖片用 image

       IF !USED('CSFZ')

                                SELE csfzw3

                                COPY to c:\csfz for (ALLT(w3cstn)<>'OM112010' and ALLT(w3cstn)<>'OM112101')

                     ELSE

                                SELE csfz

                                USE

                                SELE csfzw3

                                COPY to c:\csfz for (ALLT(w3cstn)<>'OM112010' and ALLT(w3cstn)<>'OM112101')

                     ENDIF

If fiel(abc.dbf)

If nkeycode=13

IMESTATUS([nExpression])

Valid(離開前)     =imestatus(0) &&英文

When(動作前)   =imestatus(1) &&中文 中文

Interchange   thisform.cmdstats(1) 新增方法

Cmdstats 方法

LParameter cmd(參數)

If cmd=1

Timer   屬性 timer 設如下:

IF thisform.label1.caption !=time()

           thisform.label1.caption =time()

ENDIF

Timer init This.Interval = 5000   呼叫 timer 間隔時(毫秒)

       Timer wait window 測試中…’ timeout 0.5

DO case

CASE step=1

           this.PARENT.IMAGE1.LEFT=THIS.PARENT.IMAGE1.LEFT-1

           IF THIS.PARENT.IMAGE1.LEFT=0-THIS.PARENT.IMAGE1.WIDTH

                     STEP=2

           ENDIF

CASE step=2

           this.PARENT.IMAGE1.LEFT=this.PARENT.IMAGE1.LEFT+1

           IF THIS.PARENT.IMAGE1.LEFT=thisform.WIDTH

                     STEP=1

           ENDIF

ENDCASE

 

 

*!*     IF THIS.PARENT.IMAGE1.LEFT>0-THIS.PARENT.IMAGE1.WIDTH

*!*                THIS.PARENT.IMAGE1.LEFT=THIS.PARENT.IMAGE1.LEFT-1

*!*     ELSE

*!*                THIS.PARENT.IMAGE1.LEFT=THISFORM.WIDTH

*!*     ENDIF

Isdigit(a1)   是否為數值

Kckusql資料來源名稱 kcku登錄識別 cseb資料表 temp 暫存資料表

STORE SQLCONNECT('kckusql', 'kcku') TO kckusql &&登入sql視窗

SQLCONNECT('sqlkcku', 'kcku')

STORE SQLSTRINGCONNECT('dsn=kckusql;uid=kcku;pwd=kcku') to kckusql

SQLEXEC(kckusql, 'SELECT * FROM cseb','temp')

= SQLDISCONNECT(kckusql)

IF kckusql < 0

           = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error') &&不成功

ELSE

           = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')

           = SQLDISCONNECT(gnConnHandle)

ENDIF

 

keyboard chr(32)

Keyboard'{PrtScrn}'

oWordRef = CREATEOBJECT(' Word.Apllication')

oWordRef.Documents.Add("normal.dot")

oWordRef.Paste

oWordRef.ActivateDocument.Close

oWordRef = .NULL.

*------保留原資料夾 郵寄二檔
vvPATH=sys(5)+sys(2003)
*------------------------------
oMAPISession = create("MSMAPI.MAPISession")
oMAPIMessages= create("MSMAPI.MAPIMessages")
with oMAPISession
.logonui=.T.
.DownloadMail = .F.
.signon()
if .SessionID <= 0
messagebox('
登入郵件程式失敗')
return .f.
endif
endwith
maddress = "matrixhk@ms34.hinet.net"
msubject = "
測試主旨22"
mNoteText = "xx
客戶您好:0522" +chr(13)+chr(10)
*-- Create an array holding the attachment file names.
DIMENSION lcAttachment(2)
lcAttachment(1) = vvPATH+ "\FILE_1.TXT"
lcAttachment(2) = vvPATH+ "\FILE_2.TXT"
with oMAPIMessages
.sessionid = oMAPISession.sessionid
*
清除緩衝區
.compose()
.recipIndex = .recipCount
.recipDisplayname= alltrim(maddress)
.recipaddress = alltrim(maddress)
.reciptype=1 &&--1=
收件者(內定值)
.ResolveName()
*
郵件主旨
.msgsubject= msubject
*
內容
.msgNoteText = mNoteText
*-- Attach the files.
FOR lnCount = 1 TO ALEN(lcAttachment)
.AttachmentIndex = lnCount - 1
.AttachmentPathName = lcAttachment(lnCount)
.AttachmentName = lcAttachment(lnCount)
.send(0)
ENDFOR
endwith
SET DEFA TO &vvPATH

奇怪的是:如果程式的arrey及附件改為1個又可以過!

 

應該改成這樣
FOR lnCount = 1 TO ALEN(lcAttachment)
*.AttachmentIndex = lnCount - 1
.AttachmentIndex = .AttachmentCount
*
.AttachmentPosition = lnCount-1
.AttachmentPathName = lcAttachment(lnCount)
*.AttachmentName = lcAttachment(lnCount)
.AttachmentName = justfname(lcAttachment(lnCount))
*.send(0)
ENDFOR
.send(0)

 

Mail to other

郵寄資料

set proc to c:\proc

MM = CREATEOBJECT("MSMAPI.MAPIMESSAGES.1")

MS = CREATEOBJECT("MSMAPI.MAPISESSION.1")

*MS.DownloadMail = .F.

MS.DownloadMail = .t.

MS.SIGNON()

MM.SESSIONID = MS.SESSIONID

MM.COMPOSE()

tt='cstmis@mail.cst.com.tw'

MM.RECIPDISPLAYNAME =tt

MM.MSGSUBJECT = 'use vfp mail to other '

aa= '   :   '+id+chr(13)+chr(13)+ ;

'                                 '+chr(13)+;    

'--------------------------------------'+chr(13) +;

'正工金額'+space(20)+'20,000   '+chr(13)+;

'特  假'+space(20)+'   400   '+chr(13)+;

'合  計'+space(20)+'20,400    '

aa='內容試試看......'

MM.MSGNOTETEXT =aa

mm.attachmentpathname='c:\test.txt' &&附加檔案

ON ERROR DO errhand WITH ;

           ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

MM.SEND(1) &&(1)人工send (0) 自動send

on error

MS.SIGNOFF()

教育訓練程式實例 mail to

MM = CREATEOBJECT("MSMAPI.MAPIMESSAGES.1")

MS = CREATEOBJECT("MSMAPI.MAPISESSION.1")

*MS.DownloadMail = .F.

MS.DownloadMail = .t.

MS.SIGNON()

MM.SESSIONID = MS.SESSIONID

MM.COMPOSE()

tt='cstmis@mail.cst.com.tw'

MM.RECIPDISPLAYNAME =tt

MM.MSGSUBJECT = 'use vfp mail to other '

aa='內容試試看......'

MM.MSGNOTETEXT =aa &&&此行沒有不會寄 可以    不可’’

mm.attachmentpathname='c:\tptnhp.txt' &&附加檔案

ON ERROR DO errhand WITH ;

           ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

MM.SEND(1) &&(1)人工send (0) 自動send

on error

*******************

PROCEDURE errhand

PARAMETER merror, mess, mess1, mprog, mlineno

CLEAR

err=merror

er1= '錯誤編號:' + LTRIM(STR(merror))

er2= '錯誤訊息:' + mess

er3= '程式碼:' + mess1

er4= '程式行數:' + LTRIM(STR(mlineno))

er5= '程式名稱:' + mprog

=messagebox('操作錯誤....!     '+chr(13)+chr(13)+chr(13)+er1+chr(13)+er2+chr(13)+er3+chr(13)+er4+chr(13)+er5,'CST資訊部')

return

 

 

PROCEDURE errhand

PARAMETER merror, mess, mess1, mprog, mlineno

CLEAR

er1= '錯誤編號:' + LTRIM(STR(merror))

er2= '錯誤訊息:' + mess

er3= '程式碼:' + mess1

er4= '程式行數:' + LTRIM(STR(mlineno))

er5= '程式名稱:' + mprog

=messagebox(er1+chr(13)+er2+chr(13)+er3+chr(13)+er4+chr(13)+er5,'KCKU')

My coding

_total_page = 0

report form PRNORDER NOCONSOLE for ORDER_ID = T_ORDER_ID

_total_page = _pageno

report form f:\tnsrc\tnrp1 to PRINT PROMPT NOCONSOLE for ORDER_ID = T_ORDER_ID

but _total_page return wrong result

please, how can I get the right total page number

***Ghostbat檔執行備份 to image

echo   Buckup hard disk c (data--bk0.gho)

pause

GHOST -clone,mode=pdump,dst=d:\ghost\bk0.GHO,src=1:1 -sure

qq

cls

***Ghostbat檔執行restore from image

echo   Restore hard disk c (data--bk0.gho)

pause

GHOST -clone,mode=pload,src=d:\ghost\bk0.GHO:1,dst=1:1 -sure

qq

cls

NET USE D: \\CSTS11\QA

NET USE O: \\CST.C.C314\ORINT

NET USE D: /DELETE

NET USE /DOMAIN:QA.CST.COM.TW

NET USE /? |MORE

! NET USE o: \\csts03\cst -y DOS詢問視窗回 YES

 

Ole .bmp name=c:\dbf\cspc.pict+.bmp 欄位放 .bmp 檔名

OleApp = CreateObject("excel.application")

OleApp.WorkBooks.open("業績1.xls")

OleApp.visible=.T.

開啟excel檔案

Exl_file = GETFILE('XLS', '選擇或取消', '選擇', 0, '請選擇要開啟的Excel')

DO CASE

CASE EMPTY(Exl_file)

Messagebox("並未選擇要開啟的Excel",1+32,"訊息視窗")

QUIT

OTHERWISE

? "你選擇要開啟的Excel檔是 "+Exl_file

ENDCASE

oExl=CREATEOBJECT("Excel.application")

if VARTYPE(oExl) <> "O"

= MESSAGEBOX("EXCEL沒有安裝或損壞或因為記憶體不足而無法使用!",64,"提示")

return

endif

oExl.SheetsInNewWorkbook=1

oExl.Visible=.T.

oExl.workbooks.Open('&Exl_file')

oExl.activesheet.rows(1).insert

oExl.activecell.formular1c1 = "表頭"

with oExl.SELECTION.font

.name = "細明體"

.fontstyle = "normal"

.size = 20

.strikethrough = .f.

.superscript = .f.

.subscript = .f.

.outlinefont = .f.

.shadow = .f.

endwith

 

 

 

 

on error只能攔截VFP自己的錯誤,無法攔截SQL的錯誤訊息

SQL錯誤要用aerror()這個函數去抓

例如

if sqlexec(sqlhand,"select * fro test") < 0 &&這個select句子明顯有錯

aerror(err) &&將錯誤訊息傳至err這個陣列

messageb(err(2))

endif

詳情請參考MSDN aerror()這個函數

                     ON ERROR DO errorfile WITH ;

                                ERROR( ), MESSAGE( ), MESSAGE(1), PROGRAM( ), LINENO( )

                     REPORT form \\csts03\cst\public\print-pcjc\frtfrx\&TYP1 prev for !dele()

                     ON error

on key label F9 _screen.backcolor=GETCOLOR()

on key label F9 on key 取消 ON KEY

on key label esc loform.release

ON KEY LABEL f1 ubuf2.pgfm1.activepage=1

ON KEY LABEL f2 ubuf2.pgfm1.activepage=2

Print form

Keyboard'{PrtScrn}'

oWordRef = CREATEOBJECT(' Word.Apllication')

public array aa[1,11]

dimension ary(1,4)

Rand() 亂數

REPORT form pcall to print prom noco

REPORT form pcall to prev 設定印表機

?sys(1037) 就是sys(1037) 選擇印表機及紙張大小,可否內定,不用使用者再選一次.

SUBSTR(SYS(2015), 3, 10) 單一字碼組合

Run "Rundll user.exe,exitwindows" && 關機

Run "Rundll user.exe,exitwindowsexec" && Reboot重新開機

亦可用 ExitWindowsEx() API ;p

利用APIExitWindowsExVisual Foxpro 中宣告方式:

*API 宣告式:

 

Declare integer ExitWindowsEx in user32;

integer uFlags , integer dwReserved

 

 

 

scan for你的條件

exit

endscan

Select * from pcall into curs a123 order by no

Select no,type,dept from pcall where no=0102 into table c:\temp.dbf

多選一 篩選相同唯一

SELECT distinct userid(欄位) FROM pcall INTO array auser(變數名稱) where ma='15A'

SELECT distinct userid FROM pcall INTO array auser

SELECT distinct userid FROM pcall INTO table auser

DISPLAY  MEMORY LIKE auser   顯示array

sele * from c:\1\newroll\pcall into array aa where !empty(clp1)

SELE * from \\Csts03\cst\public\print-pcjc\pcjdfield into cursor pcjd;

                     where !empty(ldfield) and ldtype=typ order by ldxy

SELE * from pcjc into curs pcjdur where subs(b1,1,2)=TYP1 And !dele()

sele * from \\Csts03\cst\public\print-pcjc\pcjdfield into table c:\pcjdfield where !empty(ldtype)

Select &tname 不能有路徑及.dbf

Tname=pctype

Tfield=pctype.wkspec

   Grid.recordsource=tname

   Grid.column1.recordsource=tfield

thisform.grid1.recordsource='吃飯'

thisform.grid1.column1.controlsource='吃飯.刷卡機' 一定要用 ‘   ‘

thisform.grid1.column2.controlsource='吃飯.員工編號'

select cno,ppdc,max(date) ...... group by ppdc

select cno,ppdc,max(field) ...... group by ppdc

Select Sex, Count(*) AS 總數 From Student Group By Sex

結果:

Sex 總數

##9

##9

set filt to allt(userid)=allt(buserid)

Set rela to recno() into tel b-> telno

 

 

 

close tabl all

SELE 0

USE f:\dbf\prbe alias a03

SET filt to bekey1='03'

set order to bekey2 &&&第一次要先exclindex on bekey2 tag bekey2   .CDX

SELE 0                              &&要用index on bekey2 tag bekey2 增加 tag

USE f:\dbf\prbe alias a09 again

SET filt to bekey1='09'

set order to bekey2

SELE 0

USE f:\dbf\prbe alias a52 again

SET filt to bekey1='52'

set order to bekey2

SELE 0

USE f:\dbf\prrb

set order to rbsrno

SET rela to rbdept into a09,rbposc into a52

SELE 0

USE f:\dbf\mspp

set order to snsrno

SELE 0

USE f:\dbf\prra

set order to rasrno

SET rela to raschl into a03,rasrno into prrb,rasrno into mspp

kk=0

Clea

DO while !eof()

           ?raepno+racnam+a03.bedskc+a09.bedskc+a52.bedskc

           Skip

           IF kk=28

                     WAIT

                     kk=0

                     Clea

           ENDIF

           kk=kk+1

ENDDO

被關聯之檔案之欄位必須是排序之key

 

Setall

thisForm.SetAll("BackColor", RGB(255,255,0), "textbox")

thisform.refresh

thisform.SetAll("Enabled", .f., "commandbutton")

this.setall("dynamicbackcolor","IIF(dept<'9', RGB(255,0,0), RGB(255,255,128))", "Column")

this.Column1.DynamicBackColor = "IIF(dept<'9', RGB(255,0,0), RGB(255,255,128))"

this.Column1.DynamicBackColor = "IIF(b1>=50,iif(b1>50,RGB(255,0,0), RGB(255,255,0)) , RGB(255,255,255))"

STORE SQLCONNECT('kckusql', 'sa') TO gnConnHandle

IF gnConnHandle < 0

           = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')

ELSE

           = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')

           STORE SQLTABLES(gnConnHandle, 'TABLES', 'cseb') TO nTables

           IF nTables = 1

                     SELECT cseb

                     LIST

           ENDIF

ENDIF

Substr(aa,1,5) 1 to 5

Substr(aa,5) 5 to end

sum 1,ddbias,ddradi to no,bias,radia

PUBLIC ARRAY datary[8,12]

SUM 1,ddbias,ddradi,ddtota to datary(1,i), datary(2,i), datary(3,i) , datary(3,i) for month(dddate)=i

Sys(0) pc電腦名稱及使用者名稱user

Thisform.box(50,300,70,100)

Thisform.fillcolor=rgb(255,255,0)

THISFORM.olbolegraph.applycustomtype(65)直條圖

thisform.text1.resettodefault('value')回存屬性

 

Type(ka欄位)=C N,U,y,d,t,l,m,o,g

Used(name).t.   used(name.dbf) .f. 不可有.dbf

Use var 可有.dbf

 

Visual Foxpro中的ListboxCombo box這兩個物件,都有一個Sorted 的屬性,您可以在設計時期把這個屬性設為 .T.

另外一個方法是把Combo box的資料來源(RowSourceType)設成SQL Statement

THISFORM.Combobox1.RowSourceType = 3

THISFORM.Combobox1.RowSource = "SELECT * FORM mytable ORDER BY key_fld INTO CURSOR TEMP"

Wait windows 請稍待 at 8,30 timeout 1 nowait

WEXIST('表單名稱')

Form 定義為變數 檢查是否為 O

WINDOWS 開機在 DOS 之下

C:\MSDOS.SYS這個隱藏檔裏修改即可

BootMulti=1

上面寫錯了名稱, _MFI_PRINT 應為 _MFI_SYSPRINT.后面附一段測試程式,供有有興趣之狐友研判.

 

*****************

* TEST.PRG

*****************

set sysmenu to

set sysmenu automatic

define pad _RK612P7MG of _MSYSMENU prompt "\<測試"

 

on pad _RK612P7MG of _MSYSMENU activate popup XXX

define popup XXX margin relative shadow color scheme 4

define bar 1 of XXX prompt "開檔"

define bar _MFI_SYSPRINT of XXX prompt "列印" key CTRL+P,"ctrl+P"

define bar 3 of XXX prompt "結束"

 

 

on selection bar 1 of XXX modify file ?

on selection bar 3 of XXX quit

* END OF TEST

上面寫錯了名稱, _MFI_PRINT 應為 _MFI_SYSPRINT.后面附一段測試程式,供有有興趣之狐友研判.

 

*****************

* TEST.PRG

*****************

set sysmenu to

set sysmenu automatic

define pad _RK612P7MG of _MSYSMENU prompt "\<測試"

 

on pad _RK612P7MG of _MSYSMENU activate popup XXX

define popup XXX margin relative shadow color scheme 4

define bar 1 of XXX prompt "開檔"

define bar _MFI_SYSPRINT of XXX prompt "列印" key CTRL+P,"ctrl+P"

define bar 3 of XXX prompt "結束"

DIMENSION aV(3)
aV(1) = "Sheet1"
aV(2) = "Sheet2"
aV(3) = "Sheet3"
oleApp=CREATEOBJECT("Excel.Application")
oleApp.Workbooks.Add
oleI=oleApp.Workbooks.Item(1)
oleI.Sheets.Item(1).Cells(1,1).Value = 83
oleI.Sheets(@aV).;
 FillAcrossSheets(oleI.Worksheets("Sheet1").Cells(1,1))
 
oleApp.Visible = .T.

反過來,下面的程式碼向 Visual FoxPro 傳回一個陣列,然後顯示陣列中的內容︰

oleApp = CREATEOBJECT("Excel.Application")
aOleArray = oleApp.GetCustomListContents(3)
FOR nIndex = 1 to ALEN(aOleArray)
   ? aOleArray(nIndex)
ENDFOR

 

 

已在之excel 開檔案

OleApp = CreateObject("excel.application")

OleApp.WorkBooks.open(ini_path+"test.xls")

OleApp.visible=.T.

已在之word 開檔案

oWord = Getobject("","word.basic")

oWord.FileOpen(ini_path+"test.doc")

oWord.appshow()

tmpsheet = GetObject('','excel.sheet')

不在之excel

XLApp = tmpsheet.application

XLApp.Visible = .t.

XLApp.WorkBooks.Add()

XLSheet = XLApp.ActiveSheet

不在之word

objWDdoc=crea("word.basic")

objwddoc.appshow()

objwddoc.filenewdefault()

不能刪除 textbox keypress 中輸入

IF NKEYCODE=7

NODEFAULT

ENDIF

以下這段程式可在桌面上建立捷徑,

但須在Windows 98上且安裝Windows Scripting Host(預設值已內建,除非你故意不裝)

Win95,請先安裝DCOM95 再 安裝 Windows Script Host

詳情請參考

 

 

loShell = createobject('wscript.shell')

lcDesktopFolder = loShell.SpecialFolders('Desktop')

lcLinkFileName = lcDesktopFolder + '\test.lnk'

loShortCut = loShell.CreateShortcut(m.lcLinkFileName)

loShortCut.TargetPath = 'c:\autoexec.bat'

loShortCut.save()

 

 

 

 

 

 

 

 

如何在Grid中加入和刪除控件

 

在這裡介紹在Grid中加入ComboBox,

首先選定Grid,按一下鼠標右鍵,選擇編輯(如下圖1)

在表單控制項中選取Combox控件,

在你所需要加入ComboxColumn處點一下鼠標左鍵就Ok,

如果要使用Combox作為Column的控制項,

可在屬性中選擇該ColumnCurrentControl屬性

,在該屬性中選擇Combox1就可以了.

若要把加入的控件刪除,只需在屬性中選擇該控件,

然後激活Form.接著按Delete鍵就可以刪除該控件.

也就是在表單控制項的箭頭上點選再按del

執行結果如下圖2

如何得知某一 Table 中有幾筆 Rows

==>SELECT COUNT(*) FROM TABLE(NAME) 即可

安裝製作 setup compilier

命令列 %s\print.exe

 

你可以利用低階檔案函數將table的檔頭編碼,當使用者輸入密碼時,再將其解碼,

函數如:fopen,fread,fwrite

 

你可以參考access有關條碼物件的說明,裡面有所有你想要的資料,

可以在vfpformreport中應用.

[說明]->[索引]->輸入 條碼 即可

利用API播放wav之音效檔之範例

home.todo.com.tw/cool/libra2000_tw

改欄位名ALTER TABLE [TableName] RENAME COLUMN [OldFieldName] TO [NewFieldName]

沈文和 回覆請按-->如何撰寫備份程式,xcopy,rar......? 2000/2/20 PM 02:50:23

各位先進好,請問如何撰寫備份程式,xcopy,rar......?謝謝!

2 蔣錦華 回覆請按-->回覆--沈文和您好:如何撰寫備份程式,xcopy,rar......? 2000/2/21 PM 01:23:28

我建議用

use table

copy to backuup_table with cdx

那樣比較好

3 簡榮貴 回覆請按-->回覆--沈文和您好:如何撰寫備份程式,xcopy,rar......? 2000/2/21 PM 07:47:38

任何使用DOS COMMAND勢必出現一個"一閃而過"的視窗,不夠流暢與美觀。

如果呼叫WINAPI又會面臨無法釋放MEMORY每執行一次便佔用記憶體一次,按下CTRL+ALT+DEL便可了解,所以請自行撰寫備份程式。

建議研究以下函數應該可以完成:

FOPEN() && F開頭的相關函數

FWRITE()

Set defa to d:\kcku

ee= adir(cc,'*.frx')   ee=檔數量 aa(1) 6,11,16 檔名

ADIR()

FILE()

FSEEK()

FCREATE()

4 廖顯堂 回覆請按-->回覆--沈文和您好:如何撰寫備份程式,xcopy,rar......? 2000/2/22 AM 10:28:31

SET LIBRARY TO foxtools.fll

backup = '\backup' + alltrim(str(dow(date())-1))

=MKDIR(backup)

m.dir = CURDIR()

SET DEFAULT TO \xxx

CLOSE DATABASES

=ADIR(array, "*.dbf")

FOR i = 1 to ALEN(DbfFiles) / 5 1,6,11為檔名

m.filename = DbfFiles(i, 1)

IF m.filename = "FOXUSER.DBF"

LOOP

ENDIF

 

COPY FILE (m.filename) TO (backup +'\'+ m.filename)

m.filename = LEFT(m.filename, LEN(m.filename) - 3) + 'CDX'

IF FILE(m.filename)

COPY FILE (m.filename) TO (backup +'\'+ m.filename)

ENDIF

m.filename = LEFT(m.filename, LEN(m.filename) - 3) + 'FPT'

IF FILE(m.filename)

COPY FILE (m.filename) TO (backup +'\'+ m.filename)

ENDIF

ENDFOR

5 簡榮貴 回覆請按-->回覆--沈文和您好:如何撰寫備份程式,xcopy,rar......? 2000/2/23 AM 11:07:48

如果是備份到硬式磁碟機,採取上述狐有建議即可,但是如果要備份至3.5吋磁碟片則還是要採用fopen(),fcreate(),fseek(),adir(),fwrite()....等等F開頭的檔案輸出/輸入函數,較能完整解決。例如備份資料量大於1張磁碟片時,如何提示放入另一張新的磁碟片,及如果放入的不是新的磁碟片該如何處理,又如何做磁碟片編號才不會使檔案被破壞或回存備份資料時的磁碟片順序等相關問題。

系統會自動產生foxuser.dbf foxuser.fpt 於桌面,不知原因為何,

跟大家請教,謝謝!!

2 鄧淙義 回覆請按-->回覆--楊運您好:about foxuser.dbf 2000/2/19 PM 05:42:58

建立一個文字檔config.fpw內容為Resource=off , 含入專案中就可解決。

答案:將下行文字加入 Config.fpw 組態檔案中:

           SCREEN=OFF

附註:如果您不需要將 Config.fpw 檔作為一個單獨的檔案 - 也就是說,在您建立好 .exe 檔之後,並不需要對這個檔案作任何變更 - 您可以將 Config.fpw 檔加入專案中,確定它是標示為已納入,則它就會被建立為 .exe 檔的一部份。Visual FoxPro 將不會隱藏桌面,除非有一個使用中的最頂層表單。您也可以使用編寫程式的方式來將桌面隱藏,所用指令如下所示 (假設最頂層表單已啟用)

           _VFP.Visible = .F.

 

使用getobject()

例子 :-

oWord = Getobject("","word.basic")

oWord.FileOpen("訂單1.doc")

取得可用的磁碟機代號,在實務開發上非常實用,VFP能夠讓我們彈性來使用Windows的資源,您可以利用Win32 API來查詢這些資料,以下便是利用 GetLogicalDrives() 這個API來取得這些資訊。

GetLogicalDrives()函式,會傳回一個數值,數值中的每一個bit其值若為 1,則表示該磁碟機為已用,其值為0則表示磁碟機為可用。在這個技巧中筆者還使用了VFP中的BitLshift()函式,來執行bit的運算。

請看以下程式碼:

Declare integer GetLogicalDrives in kernel32.dll AS Is_Driver_Ready

nReslut = Is_Driver_Ready()

cUsed_Driver = "已被用的磁碟機代號有: "

cAvail_Driver = "可用的磁碟機代號有: "

nMask = 1

FOR i = 1 TO 26

IF BITAND( nReslut, nMask) != 0

cUsed_Driver = cUsed_Driver + CHR(64+i) + ","

ELSE

cAvail_Driver = cAvail_Driver + CHR(64+i) + ","

ENDIF

nMask = BITLSHIFT(nMask,1)

NEXT

WAIT cUsed_Driver + chr(13) + cAvail_Driver WINDOW

或許有些人認為,我在這個FORM上直接鍵入公司名稱不就行了嗎? 沒錯,這是可行的,但是如果這支程式是要賣給許多客戶的,難道我必需為每一家客戶在每 一個FORMCAPTION 先鍵入公司名稱,然後再編譯,再賣給客戶嗎?太累了吧!這裏有一個小 小的技巧供你參考。 首先,我們必需用到下面的一小段程式,這個程式可以幫我們在FORM名稱後加入公司名稱。 FUNCTION FORM_NAME LPARAMETER cFORMNAME LOCAL cNAME cNAME = cFORMNAME+SPACE(10)+X_cNAME+SPACE(2)+'作業年度:'+ X_cDATE RETURN Cname 在這程式中,作者用到了兩整體變數,X_cNAME-記錄公司用稱,X_cDATE-記錄作業年度,這 兩個變數請自行定義。 再來我們只需在這個FORMCAPTION的屬性中寫入 =FORM_NAME('進貨單登錄') 即可。

直方圖方法

Thisform.Boxcircle

Drow style(實虛線) width(粗細) mode(劃筆)

thisform.backcolor=rgb(255,255,255)

thisform.drawmode=13

thisform.box(10,10,20,200)

thisform.fillstyle=0

thisform.drawwidth=2

thisform.currentx=200

thisform.currenty=300

thisform.print ('4344')

thisform.fontsize=20

thisform.print ('11')

thisform.cls

*******資料             表單上顯示資料、線條

SET filt to subs(w1data,1,1)=' '

i=9

GO top

 

DO while !eof()

           IF allt(w1data)<>'JUMP'

                     cw=val(subs(w1data,2,1))

                     x1=val(subs(w1data,7,4))

                     y1=val(subs(w1data,11,4))-2400

                     ch=allt(subs(w1data,15))

                     thisform.currentx=x1/4

                     thisform.currenty=y1/i*2

                     thisform.fontsize=cw*4.5

                     thisform.print (ch)

           ELSE

                     EXIT

           ENDIF

           Skip

ENDDO

 

******劃線

SET filt to subs(w1data,1,4)='LINE'

i=9

GO top

 

DO while !eof()

           x1=val(subs(w1data,5,4))

           y1=val(subs(w1data,9,4))-2400

           x2=val(subs(w1data,13,4))

           y2=val(subs(w1data,17,4))-2400

           thisform.line(x1/4,y1/i*2,x2/4,y2/i*2)

skip

ENDDO

建議:抓目錄檔案 型態及名稱,大小

1. Create cursor cCursor ....(for reading file name date)

2. ADIR(aFile)

3. Insert into cCursor From Array aFile

4. Read Cursor Data - Select FileName_field from cCursor Order By FileNAme_Field Order by...

3 廖顯堂 回覆請按-->回覆--獨孤求解您好:如何知道目錄中有哪些檔案 2000/2/22 AM 10:09:38

=ADIR(DbfFiles, "*.txt")

FOR i = 1 to ALEN(DbfFiles) / 5

m.filename = DbfFiles(i, 1)

. && 針對檔名所要處理的程式

.

.

ENDFOR

是否執行中

?WVISIBLE('form1') 等於 .t. 執行中 ; .f.未執行

重複執行   試試以下程序

主程式chkdup(screen title)

 

** chkdup.prg

para screen_caption

declare integer FindWindow in Win32API string class_name, string window_title

 

if FindWindow(NULL,screen_caption)>0

wait window ' Program Already In Use ; Press Any Key To Exit.........'   at 12,25

***createobject('msgbox','程式巳被執行, 不可以重覆執行')

quit

endif

首先必需安裝之傳真軟体,再利用下列程式

oWinFax = CreateObject("WinFax.SDKSend")

oWinFax.SetSubject("Test Fax")

oWinFax.SetNumber(fax_num)===>傳真號碼

oWinFax.SetAreaCode("")

oWinFax.SetCompany(stk_name)===>傳真公司名稱

oWinFax.AddRecipient() && Required

oWinFax.SetPrintFromApp(1)

oWinFax.AddAttachmentFile("")

oWinFax.Send(1)

SET PRINTER TO name winfax

REPORT FORM your_form TO PRINTNOCONSOLe

RELEASE oWinFax

set printer to default

參考以下副程式然后在您的form- Queryunload and unload event

中加入 do S_sysEXit   或按X離開

在主程式中加入 ON SHUTDOWN DO S_SysEXIT

即可,試試看吧!!

* 副程式 : S_SysEXIT

* 結束系統工作確定副程式 ...

PROCEDURE S_SysEXIT

local c

for c = 1 to _Screen.FormCount

if type("_Screen.ActiveForm") = "O"

_Screen.ActiveForm.Release()

endif

endfor

clear events

_screen.visible=.T.

Release all

quit

您的使用者名稱:208992

郵件遞送(SMTP)伺服器:ms8.tomail.com.tw

郵件接收(POP3)伺服器:ms8.tomail.com.tw

208992@ ms8.tomail.com.tw

郵件接收方式:POP3

接線 白 白 白 白                                

     橙橙綠藍藍綠棕棕

跳線

白 白 白

綠綠橙藍藍橙    

第一次放入欄內要class "msgraph.chart"

append general mhgraph class "msgraph.chart" data lcData

 

#DEFINE CRLF chr(13)+chr(10)

#DEFINE tab chr(9)

*****************

GO top

lcData ='期間'+tab

cno=1

DO while cno<25 and !eof()

           lcData = lcData + allt(moda)

           lcData = lcData + tab

           cno=cno+1

           Skip

ENDDO

 

cno=1

lcData = lcData+ CRLF+'mv'+tab

GO top

DO while cno<25

           IF eof()

                     lcData = lcData +'   '

                     lcData = lcData + tab

           ELSE

                     lcData = lcData + allt(str(ts1))

                     lcData = lcData + tab

           ENDIF

           IF !eof()

                     Skip

           ENDIF

           cno=cno+1

ENDDO

USE c:\cmgraph

APPEND general ts1graph(欄位)   data lcData

thisform.oleboundcontrol1.controlsource='cmgraph.ts1graph'

APPEND gener gener(欄位) from &pic1(檔名) class bitmap

CREATE TABLE oletable (name c(24), worddoc g)
CD GETDIR()
 
nFiles = ADIR(aWordFiles, "*.doc")
IF nFiles > 0
   FOR i = 1 to nFiles
     APPEND BLANK
     REPLACE Oletable.Name WITH aWordFiles(i,1)
     APPEND GENERAL WordDoc FROM aWordFiles(i,1)
   ENDFOR
ELSE
   MESSAGEBOX("No Word files found.")
ENDIF

APPEND GENERAL gen class WordDoc FROM d:\doc2.docx

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

開新檔[快顯功能表] Menu 功能表列7.mpr mpx 建立完成後要執行才會產生

新增時欄位變色

apped blank

thisform.grid1.column1.setfocus

暫不知道,但我相信, GETPRINTER(),APRINTERS(),SETPRINTER TO NAME PrinterName結合起來也能達到目的.試一試.

請問有那位高手知道如何在程式中取得硬碟序號的方法 ?

以下sample不知為何無法執行

 

**************************

pc_hd_root='c:\'

pc_hd_label='lee'

LPVOLUMESERIALNUMBER= 0

DECLARE INTEGER GETVOLUMEINFORMATION IN WIN32API, ;

STRING LPROOTPATHNAME,;

STRING LPVOLUMENAMEBUFFER,;

INTEGER NVOLUMENAMESIZE,;

INTEGER@LPVOLUMESERIALNUMBER,;

INTEGER@LPMAXIMUMCOMPONENTLENGTH,;

INTEGER@LPFILESYSTEMFLAGS,;

STRING LPFILESYSTEMNAMEBUFFER,;

INTEGER NFILESYSTEMNAMESIZE

 

 

 

 

 

 

 

= GetVolumeInformation (PC_HD_ROOT , PC_HD_LABEL , 255 ,@LPVOLUMESERIALNUMBER , 255 , 3 , "FAT" , 255)

 

thisform.text1.value =ALLTRIM(STR(LPVOLUMESERIALNUMBER))

 

2 鄧淙義 回覆請按-->回覆--李宏仁您好:硬碟序號的問題 2000/3/18 PM 10:57:06

GETVOLUMEINFORMATION應該為"GetVolumeInformation"大小寫有分

 

請試:統一系統時間

! NET TIME \\csts03 /SET /YES

蕭文俊 回覆請按-->回覆--劉萬宏您好:vfp,如何切換到已經打開的user.exe的窗口 2000/2/18 下午 08:55:59

DECLARE LONG SetForegroundWindow IN user32.DLL AS SetForegroundWindow LONG

謝清茹 回覆請按--> SQL Server 7.0有那幾種資料類型? 1999/7/1 PM 02:15:52

1.Integersbitintsmallinttinyint

2.Decimaldecimalnumeric

3.Money and small moneyMoneysmall money

4.Datetime and smalldatetimeDatetimesmalldatetime

5.Numericscursortimestampuniqueidentifier

6.Unicode Character Stringsncharnvarcharntext

7.Binary Stringsbinaryvarbinaryimage

VFP 飛狐俱樂部

http://vfp.gtic.com.tw/vfp/vfp_home.asp

http://home.todo.com.tw/cool/libra2000_tw中有範例download

以侵入方式即可,當然前端的odbc也是要有所設定,侵入方式請見本人網站中"駭客指令"

http://netcity3.web.hinet.net/userdata/tn999/2.htm

http://home.todo.com.tw/cool/libra2000_tw有範例(L0012)

grid插入控件

 

 

 

Vfp:2089924411 主電腦www網域hinet.net 203.75.57.1 168.95.192.1

<![if !vml]><![endif]>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

搜尋 grid插入控件
搜尋 GridCombo的結合
就有類似的答案我的作法是先在grid所在的from先建立一個command button,然後呢把這個command button剪下來(快速鍵)
,
編輯grid,點選你要把command button放入的欄位標頭,按下貼上(快速鍵),即在該column即會增加一個button,
在至grid.column內設使用屬性把text改成command即可

Column SPARsE 屬性設為 .F.(應該是這樣設才對吧)

Currentcomntrol 要改插入的物件

 

Currentcomntrol text1check1

沒有上一則|日誌首頁|沒有下一則
回應

使用顧代書軟體的地政士真的很幸福,只要滑鼠點一點就能完成案件。
為了讓顧客滿意,下半輩子大部分的時間都用在代書軟體上,真的是時時在改善,天天在進步。99%的客戶打電話過來都會說<感謝提供如此好用軟体!>真的覺得非常窩心,我們會更努力的。免費升級網站:http://www.kcku.idv.tw/

關鍵字
    沒有新回應!