cKon = SQLSTRINGCONNECT(”Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydata.mdb;Uid=Admin;Pwd=;”)
IF ckon <= 0
MESSAGEBOX(”Database Conection Failed”,0+16,”Error”)
CLEAR EVENTS
QUIT
ELSE
MESSAGEBOX(”Database Conection Succeed”,0+16,”Succeed”)
ENDIF
No Comments »
Here is some code to terminate active windows application with visual foxpro :
oWMI = GETOBJECT(’winmgmts://’)
cQuery = “select * from win32_process where name=’calc.exe’”
oResult = oWMI.ExecQuery(cQuery)
? oResult.Count
FOR EACH oProcess IN oResult
? oProcess.Name
oProcess.Terminate(0)
NEXT
source
4 Comments »
Ada beberapa hal yang sebaiknya dilakukan dan tidak dilakukan dalam pemrograman Visual Foxpro.
- Jangan gunakan variable PUBLIC. Variabel public sulit dilAcak dan bukan design yang baik.
- Tidak menggunakan Formsets.
- Jangan sering (overload) Form.Refresh. Terlalu banayak form.refresh bisa memperlambat aplikasi
- Gunakan awalan (prefix) untuk jenis & obyek. Misalnya cName,nPrice
- Hindari SET FILTER karena bisa memperlambat kinerja aplikasi kecuali disaat Rushmore tidak dapat digunakan.
- Jangan lupa SETs anda. Ingat SETs anda saat BeforeOpenTables event pada DataEnvironment saat form menggunakan Private DataSession. Atau bisa juga SETs pada Form.Load()
- Setiap tabel harus memiliki Primary Key
- Hindari pengulangan penulisan code (code repition) yang sama
- Gunakan default Window Close button
- Jangan menggunakan garis bawah dalam penamaan variabel dan field
- Jika memungkinkan, ikuti Panduan Standar MS Windows Design
- Komentar. Tidak hanya komentar dalam code, tapi juga dalam properti dan metode dalam Form, class designer, tables & fields dalam table designer dan modul-modul dalam project manager. Anda akan mendapatkan bahwa komentar anda sangat membantu anda.
- Gunakan SEEK PADR(field_name,field_len) jika ingin melakukan pencarian secara exact match
- Gunakan local table jika memungkinkan
Selengkapnya bisa dibaca dari sini
3 Comments »
Dalam pemrograman Visual Foxpro, kadang kita memerlukan sesuatu kontrol agar bisa lebih memudahkan user menjalankan program / aplikasi. Pada contoh ini saya mencoba ilustrasikan penggunaan kontrol combo box dalam Grid.
Buatlah sebuah form dan letakkan grid control ke dalam form. Dalam contoh ini, grid memiliki 3 kolom (header).

Letakkan sebuah kontrol combo box dan klik kanan -> Cut

Klik pada obyek grid -> Edit. Pilih dan klik kolom mana yang akan diisi control combobox. Misalnya kolom 1 (header1). Paste control combobox yang telah di Cut tadi ke grid tersebut.

Atur Properties pada grid kolom 1, CurrentControl->Combo1

Simpan dan combobox sudah bisa digunakan dalam Grid.
3 Comments »
Here is a Visual Foxpro example that create an OO calc spreadsheet.
VfpOOoCalcExample()
PROCEDURE VfpOOoCalcExample()
* Create a spreadsheet.
LOCAL oDoc
oDoc = OOoOpenURL( “private:factory/scalc” )
* Get first sheet
LOCAL oSheet
oSheet = oDoc.getSheets().getByIndex( 0 )
Read the rest of this entry »
1 Comment »
Declaration :
DECLARE INTEGER GetUserName IN advapi32;
STRING @ lpBuffer,;
INTEGER @ nSize
Usage :
nSize = 250
cBuffer = REPLICATE(Chr(0), nSize)
= GetUserName(@cBuffer, @nSize)
cBuffer = STRTRAN(cBuffer, CHR(0), “”)
? cBuffer
? GETENV(”USERNAME”)
No Comments »
In an application program (visual foxpro) is common if the first time the program is run for a user login form will appear. One method is to run the login form first and then the main form. There is also the method still run form the main form at the same time raise login first before the user can access other programs. Here are some tips for both methods:
- Set properties Form login
windowstype = Modal
ShowWindow = 1 - InTopLevelForm
- Declare variables to accommodate the public the results of the login form on the main form
FormUtama.Load:
Public n_login
n_login = 0
- Run the login form on the main form activate
FormUtama.Activate :
IF n_Login = 0
DO FORM formlogin.scx
ENDIF
in the form log added:
cmdOK.click:
n_Login = 1

Have a nice try…
2 Comments »
Visual Basic - Non ODBC
Set db = New Connection
db.CursorLocation = adUseClient
db.Open “PROVIDER=MSDataShape;Data PROVIDER=” & _
“Microsoft.Jet.OLEDB.4.0;Data Source=” _
& App.Path & “\fpdata.mdb;Jet OLEDB:” & _
“Database Password=”;”
Read the rest of this entry »
2 Comments »
FUNCTION SayRupiah(par)
LOCAL nTot,nRp,cRp,cRupiah
ntot = 0
cRupiah=”"
lExit = .F.
nTot = par
cTotal= ALLTRIM(STR(nTot))
FOR i=1 TO LEN(cTotal)
nRp= (LEN(SUBSTR(cTotal,i)))
cRp= SUBSTR(cTotal,i,1)
DO CASE
CASE nRp > 0
GetDetailRupiah(nRp,cRp,@cRupiah)
CASE nRp < 0
nRp= nRp + 3
GetDetailRupiah(nRp,cRp,@cRupiah)
CASE nRp = 0
cRupiah = cRupiah
ENDCASE
NEXT
IF nTot - INT(nTot) > 0
cRupiah = cRupiah
ENDIF
RETURN cRupiah + “RUPIAH
Read the rest of this entry »
No Comments »
Within a timer, this function can be running periodically to reduce memory usage vfp application.
I have already try and work with well.
Function ReduceMemory()
Declare Integer SetProcessWorkingSetSize In kernel32 As SetProcessWorkingSetSize ;
Integer hProcess , ;
Integer dwMinimumWorkingSetSize , ;
Integer dwMaximumWorkingSetSize
Declare Integer GetCurrentProcess In kernel32 As GetCurrentProcess
nProc = GetCurrentProcess()
bb = SetProcessWorkingSetSize(nProc,-1,-1)
*EOFunct ReduceMemory()
this function created by Bernard BoutReduce
No Comments »