VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

密碼檔之內容編碼 及 Grid 之資料顯示方式

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
蕭瑤



註冊時間: 2005-04-09
文章: 4


第 1 樓

發表發表於: 星期二 四月 12, 2005 10:14 pm    文章主題: 密碼檔之內容編碼 及 Grid 之資料顯示方式 引言回覆

請問各位 '賢拜' 1.如何將輸入之密碼內容編碼後再寫入資料檔,及如何讀出比對 ?!
2.如何於Grid內邊輸入查詢條件,記錄資料跟著顯示到最接近之記錄.例如:客戶代號有如下:
A101, A103, B101, B102, B201, C200, C201 ......等等,當 輸入B 時記錄游標便指到 B101 處
又 於B之後輸入 2 時(此時已輸入兩字 B2) 則 游標便指到 B201 處.
以上兩點 請求協助. 謝謝 !
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 476


第 2 樓

發表發表於: 星期三 四月 13, 2005 10:05 am    文章主題: 引言回覆

2.如何於Grid內邊輸入查詢條件.....


請問如何於同一Grid輸入資料又要求Grid移動指標 ?
您是有二個Grid還是輸入到其他物件如TextBox, ComBox .....等 ?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
joyjoy



註冊時間: 2003-09-29
文章: 24


第 3 樓

發表發表於: 星期三 四月 13, 2005 12:27 pm    文章主題: 引言回覆

第一點:
可用編碼方式有很多種,可用XOR、...或用MD5.DLL,
以MD5.DLL為例(站內有前輩貼過文,可找找),MD5(輸入的password)可得到加密過的編碼1,
將其寫入資料檔。
要比對時,再將使用者輸入的密碼以MD5()取得編碼2,比對編碼2與資料檔中的編碼1,若相同則為通過。
(MD5為不可逆編碼,所以用此方式比對)

第二點:
我也不會,但我應該能明白您的意思,我也有看過市面的軟體有此好用的操作介面。
"小賴"的疑問是:如何於同一Grid輸入資料又要求Grid移動指標 ?
我想該GRID不是用於輸入(存入)資料的,在上面按的按鍵是用來移動指標(相對於索引鍵值)

我本想用KEYPRESS事件去做,可是還未試出來,所以.....
如果您找到方法了,也教我一下吧(貼到這個討論區會更好)。
回頂端
檢視會員個人資料 發送私人訊息
小桑•無痕



註冊時間: 2003-07-08
文章: 304
來自: Tainan, Taiwan

第 4 樓

發表發表於: 星期三 四月 13, 2005 1:52 pm    文章主題: 引言回覆

joyjoy 寫到:
第一點:
可用編碼方式有很多種,可用XOR、...或用MD5.DLL,
以MD5.DLL為例(站內有前輩貼過文,可找找),MD5(輸入的password)可得到加密過的編碼1,
將其寫入資料檔。
要比對時,再將使用者輸入的密碼以MD5()取得編碼2,比對編碼2與資料檔中的編碼1,若相同則為通過。
(MD5為不可逆編碼,所以用此方式比對)

第二點:
我也不會,但我應該能明白您的意思,我也有看過市面的軟體有此好用的操作介面。
"小賴"的疑問是:如何於同一Grid輸入資料又要求Grid移動指標 ?
我想該GRID不是用於輸入(存入)資料的,在上面按的按鍵是用來移動指標(相對於索引鍵值)

我本想用KEYPRESS事件去做,可是還未試出來,所以.....
如果您找到方法了,也教我一下吧(貼到這個討論區會更好)。


我有不同的想法,大家參考看看:
1不建議使用MD5,因為MD5為不可逆編碼,如果密碼忘記,連管理者或密碼查詢機制也無法告知使用者原來的密碼。
 建議使用3DES,我覺得對一般的資料而言,他的強度已經夠了,而且可解回原來的資料(我自己則是使用自己的編法方式,沒使用DES Laughing )。
2建議使用text輸入,配合text.KeyPress移動Grid內的資料指標。

_________________
用力 Try 一下...可以發現很多好玩的事....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
bin1x



註冊時間: 2004-08-27
文章: 462


第 5 樓

發表發表於: 星期三 四月 13, 2005 2:03 pm    文章主題: 引言回覆

[2.如何於Grid內邊輸入查詢條件,記錄資料跟著顯示到最接近之記錄.例如:客戶代號有如下:
A101, A103, B101, B102, B201, C200, C201 ......等等,當 輸入B 時記錄游標便指到 B101 處
又 於B之後輸入 2 時(此時已輸入兩字 B2) 則 游標便指到 B201 處. ]

假設以combobox來做v5.0
好像無法達到要求
但vb combobox可以,何故?
曾有個天才想法,把vb物件,拉到foxpro來做!!!!
不曉得怎麼做,所以多好幾個!
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
小桑•無痕



註冊時間: 2003-07-08
文章: 304
來自: Tainan, Taiwan

第 6 樓

發表發表於: 星期三 四月 13, 2005 2:11 pm    文章主題: 引言回覆

參考看看吧
代碼:

Text.KeyPress:


LPARAMETERS nKeyCode, nShiftAltCtrl
SET   NEAR   ON   &&   習慣設成 Near Off,所以這裡要設成on
DODEFAULT()
WITH   This
*!*         ?   ALLTRIM(.Value) + "*" + SPACE(40)   &&   檢視輸入資料
      SEEK ALLTRIM(.Value)  ORDER TagName  IN  cTableAlias
      WITH   .Parent.Grid
            .SetFocus()
            .Refresh()
      ENDWITH
      .SetFocus()
ENDWITH
SET   NEAR   OFF   &&   習慣設成 Near Off,所以這裡要設回去
NODEFAULT



SEEK Command
Searches a table for the first occurrence of a record whose index key matches a general expression, then moves the record pointer to the matching record.

SEEK eExpression [ORDER nIndexNumber | IDXIndexFileName
| [TAG] TagName [OF CDXFileName] [ASCENDING | DESCENDING]]
[IN nWorkArea | cTableAlias]



SET NEAR Command
Determines where the record pointer is positioned after FIND or SEEK unsuccessfully searches for a record.

SET NEAR ON | OFF
Parameters
ON
Positions the record pointer on the closest matching record if a record search using FIND or SEEK is unsuccessful. With this setting, RECNO( ) returns the record number of the closest matching record, FOUND( ) returns false (.F.), and EOF( ) returns false (.F.).
OFF
(Default) Positions the record pointer at the end of the table if a record search using FIND or SEEK is unsuccessful. With this setting, RECNO( ) returns the number of records in the table plus 1, FOUND( ) returns false (.F.), and EOF( ) returns true (.T.).

_________________
用力 Try 一下...可以發現很多好玩的事....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
小桑•無痕



註冊時間: 2003-07-08
文章: 304
來自: Tainan, Taiwan

第 7 樓

發表發表於: 星期三 四月 13, 2005 2:14 pm    文章主題: 引言回覆

bin1x 寫到:
[2.如何於Grid內邊輸入查詢條件,記錄資料跟著顯示到最接近之記錄.例如:客戶代號有如下:
A101, A103, B101, B102, B201, C200, C201 ......等等,當 輸入B 時記錄游標便指到 B101 處
又 於B之後輸入 2 時(此時已輸入兩字 B2) 則 游標便指到 B201 處. ]

假設以combobox來做v5.0
好像無法達到要求
但vb combobox可以,何故?
曾有個天才想法,把vb物件,拉到foxpro來做!!!!
不曉得怎麼做,所以多好幾個!


VFP 的 combobox也可以,不過我不喜歡用。

_________________
用力 Try 一下...可以發現很多好玩的事....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
bin1x



註冊時間: 2004-08-27
文章: 462


第 8 樓

發表發表於: 星期三 四月 13, 2005 2:47 pm    文章主題: 引言回覆

那註點停住時,自動展開呢?
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 參觀發表人的個人網站 MSN Messenger
joyjoy



註冊時間: 2003-09-29
文章: 24


第 9 樓

發表發表於: 星期四 四月 14, 2005 4:32 pm    文章主題: 引言回覆

關於第二點:我曾在別的軟體看過該功能,也一直想要,但不會做。今天再度嘗試,結果可以了。
這是初版(拙作),已可運作,剩下的有空再加強它,您試試看吧。
關鍵內容如下:

THISFORM.INIT()中加入
THISFORM.KeyPreview=.T.
PUBLIC MY_SEEK
MY_SEEK=""


THISFORM.KEYPRESS()中加入下列
If THISFORM.GRDM1.VISIBLE=.T. &&先確認該GRID是焦點所在,再分按鍵作用,以作索引。
If CHR(nKeyCode)$"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
MY_RECNO=RECNO()
MY_SEEK=MY_SEEK+CHR(nKeyCode)
Seek MY_SEEK
If !FOUND()
WAIT WINDOWS "找不到符合者"
Go MY_RECNO &&停在最後找到紀錄的
Endif
Else
MY_SEEK="" &&重設搜索鍵
Endif
Endif
回頂端
檢視會員個人資料 發送私人訊息
小桑•無痕



註冊時間: 2003-07-08
文章: 304
來自: Tainan, Taiwan

第 10 樓

發表發表於: 星期六 四月 16, 2005 12:08 am    文章主題: 引言回覆

sanchi 寫到:
偶都是用一個grid外面的textbox之
interactivechange event來 Mr. Green 處理
xpar=alltrim(this.value)
if len(xpar)>0
select xxxxx from yyy...
..
..
endif



to sanchi:我覺得用Select應該是無法移動Grid的指標。 Wink

不過...我跟你一樣...都是用一個grid外面的textbox來當輸入介面 Rolling Eyes

_________________
用力 Try 一下...可以發現很多好玩的事....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
小桑•無痕



註冊時間: 2003-07-08
文章: 304
來自: Tainan, Taiwan

第 11 樓

發表發表於: 星期六 四月 16, 2005 12:43 am    文章主題: 引言回覆

TO 蕭瑤:下載範例試試看。 Rolling Eyes
_________________
用力 Try 一下...可以發現很多好玩的事....
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作