編譯後的執行檔可以改參數嗎?

我現在碰到的問題是要將vi編譯成exe(要給別人用的)

其中有些數據要設為預設值,但日後別人可以修改.儲存

我本來是用labsql讀mdb,

但是對方希望只有一個執行檔就好,比較方便

labview裡的control(numeric or string)可以改嗎?

改一下目標 rz

用labsql還要先去ODBC設定,如果程式要發出去給別人用

這樣不太方便,有別的方法建立資料庫嗎,還是"資料庫"的定義就是這樣

還是不要用access,直接用excel?

(資料可能要在M$的軟體裡面設定密碼,不能任意修改)

我的目標是一開程式上網檢查是否有新的資料庫

若有,下載更新

若無,則用現有數據運算

(本來是要用VB寫,可是發現我忘了怎麼用VB拉)

labsql可以讀取網路上的access嗎?

 

1338763.7930092593

[QUOTE=13]

用labsql還要先去ODBC設定,如果程式要發出去給別人用

這樣不太方便,有別的方法建立資料庫嗎,還是"資料庫"的定義就是這樣[/QUOTE]

SQL語法中,有建立Table的語法,你可以參考這裡:http://www.1keydata.com/tw/sql/sql.html

[QUOTE=13]還是不要用access,直接用excel?

(資料可能要在M$的軟體裡面設定密碼,不能任意修改)[/QUOTE]

基本上,access跟excel都可以設定密碼。但是網路上有破解access跟excel密碼的軟體。所以遇到有心人士,還是沒有用的。

到Google輸入關鍵字:「access password」,就會找到一堆可以破解Access密碼的軟體。

[QUOTE=13]我的目標是一開程式上網檢查是否有新的資料庫

若有,下載更新

若無,則用現有數據運算[/QUOTE]

你有沒有NI的internet toolkit,如果有的話,裡面有一些現成的工具可以幫你連線到網路。如果你要做類似"Update"的功能的話,你必須先要架設一個Server,web server或FTP Server都可以。

[QUOTE=13]labsql可以讀取網路上的access嗎?[/QUOTE]

不行,因為Access本來就是設定為本機使用的,如果要直接連線到資料庫的話,可以使用MS SQL或MySQL。但是雖然Access無法直些連線到網路,你仍然可以透過Web Service來作為Access與LabVIEW程式的媒介。

=====================
==Access<-->Web Server==  <------->  使用者的LabVIEW程式
=====================

<span =bold>這是我第一次碰到資料庫,完全沒有基礎,<span =bold>謝謝Benjami.

[QUOTE=Benjamin][QUOTE=13]

用labsql還要先去ODBC設定,如果程式要發出去給別人用

這樣不太方便,有別的方法建立資料庫嗎,還是"資料庫"的定義就是這樣[/QUOTE]

SQL語法中,有建立Table的語法,你可以參考這裡:http://www.1keydata.com/tw/sql/sql.html

[/QUOTE]

如果不想使用windows內的ODBC設定可以直接採用字串的方式開啟資料庫~~

各位參考囉!!

LabSQL的使用方式

![](upload://ztZJ422RlhqirEw5oHU8aP22CJm.jpeg)

使用labview Database的icon範例

![](upload://qfJ1gQlzVcmEzvxmQgxXlX1U6XW.jpeg)

 

如果不想背連線的語法,有個方式可以比較輕鬆取得語法。

就是「新增>Microsoft資料連結」

![](upload://rEd5UjKdqIRqCNEWIFCYQHZno5l.jpeg)

 

然後就會產生一個附檔名為UDL的檔案,點兩下點進去編輯,然後儲存。設定好了以後,再用「記事簿」開啟,就樣就可以看到連線的語法了。不過記得,括號[]內以及分號;後的文字是被備註的,不是語法的一部分,不要將這些備註文字輸入LabVIEW,不然會有錯誤產生。

![](upload://xfMWmBsGEq32ikN1SPtXnGxuOdH.jpeg)

因為程式是要給別人執行的,所以用ODBC有點麻煩,不過我剛剛換了另一種方式

還沒在別台電腦測試過,不過我這邊應該ok了

我是將我的登入編輯程式中HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\XXXX匯出

XXXX表示資料來源的名稱,以版上教的labsql為例XXXX=>myDB

我的測試方法是將odbc內的myDB刪除,這時候labview執行時就會出現錯誤

然後我在點兩下匯出的機碼,再執行labview(不確定要不要重新開機)就ok了

 

但有一個小問題,就是在剛匯入的東西並不會在odbc中出現

我猜是HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Source忘了匯出

晚一點在試試看

如果這個也要匯出給別人用的話

可能要用文字編輯程式修改一下內容,只要保留需要的資料庫來源給別人就好了

不需要將所有的資料來源都給別人匯入

我把內容複製下來給大家參考一下

其中『』是我自己加上去的說明,實際上是不會有

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\myDB]
"Driver"="C:\\WINDOWS\\system32\\odbcjt32.dll"
"DBQ"="C:\\Documents and Settings\\Administrator\\桌面\\LabSQL\\Examples\\SampleDatabase.mdb"
"Description"="test"  『這一行是ODBC內的描述,版上的範例好像沒輸入,故匯出機碼是不會有這一行』
"DriverId"=dword:00000019
"FIL"="MS Access;"
"PWD"=""
"SafeTransactions"=dword:00000000
"UID"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\myDB\Engines]

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\myDB\Engines\Jet]
"ImplicitCommitSync"=""
"MaxBufferSize"=dword:00000800
"PageTimeout"=dword:00000005
"Threads"=dword:00000003
"UserCommitSync"="Yes"

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"myDB"="Driver do Microsoft Access (*.mdb)"

最後兩行就是剛才我說的"匯入的東西並不會在odbc中出現"

我是將兩個匯出的機碼貼在一起,所以自己匯出時可以分別匯出這兩項

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\XXXX

HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Source

然後將第二個匯出檔中需要的部分:

[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources]
"myDB"="Driver do Microsoft Access (*.mdb)"

貼在第一個匯出檔內

這樣ODBC內就完全ok囉

 

ps.***.mdb一定要放在"DBQ"=後面描述的位置歐

如果要給別人用的話可能要把所有東西壓成一個安裝檔比較好

能確保檔案位置正確

 

 

1338766.5663773148