Function SendKeys dapat digantikan dengan syntak bawaan Visual Foxpro yaitu KEYBOARD. Dimana format dari function KEYBOARD adalah sebagai berikut :
KEYBOARD cKeyboardValue
Contoh :
KEYBOARD "{CTRL+LEFTARROW}"
KEYBOARD "{CTRL+A}"
Daftar dari parameter untuk cKeyboardValue adalah sebagai berikut :
LEFTARROW = LEFTARROW
RIGHTARROW = RIGHTARROW
UPARROW = UPARROW
DOWNARROW = DNARROW
HOME = HOME
END = END
PAGE UP = PGUP
PAGE DOWN = PGDN
DEL = DEL
BACKSPACE = BACKSPACE
SPACEBAR = SPACEBAR
INS = INS
TAB = TAB
SHIFT+TAB = BACKTAB
Left Brace = LBRACE
Right Brace = RBRACE
ENTER = ENTER
F1 to F12 = F1, F2, F3 ...
CTRL+F1 to CTRL+F12 = CTRL+F1, CTRL+F2 ...
SHIFT+F1 to SHIFT+F12 = SHIFT+F1, SHIFT+F2 ...
ALT+F1 to ALT+F12 = ALT+F1, ALT+F2, ALT+F3 ...
ALT+0 to ALT+9 = ALT+0, ALT+1, ALT+2 ...
ALT+A to ALT+Z = ALT+A, ALT+B, ALT+C ...
CTRL+LEFT ARROW = CTRL+LEFTARROW
CTRL+RIGHT ARROW = CTRL+RIGHTARROW
CTRL+HOME = CTRL+HOME
CTRL+END = CTRL+END
CTRL+PAGE UP = CTRL+PGUP
CTRL+PAGE DOWN = CTRL+PGDN
CTRL+A TO CTRL+Z = CTRL+A, CTRL+B, CTRL+C ...
CTRL+0 = CTRL+0
RIGHT MOUSE BUTTON = RIGHTMOUSE
LEFT MOUSE BUTTON = LEFTMOUSE
MOUSE BUTTON = MOUSE
ESC = ESC
Meskipun sebenarnya function Keyboard bawaan Visual Foxpro telah lengkap dan bisa menggantikan function SendKeys, akan tetapi untuk menjalankan Start Menu yang memerlukan kombinasi tombol CTRL+ESC hanya bisa dilakukan oleh function SendKeys sedangkan function Keyboard tidak diijinkan untuk melakukan perintah dengan kedua kombinasi tombol tersebut.
Untuk melakukan ini kita menggunakan function sendkeys untuk mengirimkan kombinasi tombol CTRL + ESC sehingga start menu dapat ditampilkan. Berikut ini source codenya :
objShell = CreateObject("WScript.Shell")
objShell.SendKeys("^{esc}")
Tampilkan postingan dengan label Tip dan Trik. Tampilkan semua postingan
Tampilkan postingan dengan label Tip dan Trik. Tampilkan semua postingan
Senin, September 23, 2013
Minggu, Juni 01, 2008
Default Path Direktory.
Tiba tiba saya tergelitik untuk membahas perbedaan antara command Sys(5)+Sys(2003) dengan Sys(16) untuk menentukan Direktori dimana Program kita berada.
Banyak rekan-rekan sesama Foxers menyarankan untuk menggunakan yang pertama. Alasannya paling simple, cukup dengan membuat command tersebut, maka default Path Direktory dimana Program kita berada sudah Ok. Praktis dan mudah.
Tapi tahukan anda jika tidak hati2 maka penggunaan command pertama tsb bisa bermasalah.
Berdasarkan Help VFP sendiri:
Sys(5) = Default drive or volume.
Sys(2003) = Current directory.
Jadi dengan menjalan command tsb, system akan menempatkan default direktori secara otomatis ketempat mana dia diexecutin. Ketika kita menjalankan program dari direktori asal program tsb, maka secara otomatis default direktory juga terset ketempat itu.
Tapi apa jadinya jika kita tidak meng executing program dari tempat tersebut ?
Misal, pertama kali membuka program Microsfoft Visual Foxpro 9 yang mana defaultnya adalah HOME()="C:\Program Files\Microsoft Visual Foxpro 9\". Nah, tentu saja Perintah Sys(5)+Sys(2003) justru akan mengacaukan alamat default direktori program yang sudah kita rancang. Karena default tidak berada ditempat semestinya tapi justru di HOME() dari VFP itu sendiri.
Bagaimana dengan command Sys(16) yang menurut Help Vfp sendiri berarti 'Executing program file name'.
Justru menurut saya ini adalah langkah paling aman yang mesti gunakan. Walau dalam penggunaan command ini sedikit lebih ribet dan panjang dari langkah pertama, tapi default program kita lebih terjamin berada ditempat yang seharusnya.
Berikut adalah modifikasi prosedur yang selama ini saya mamfaatkan selama ini untuk membuat sebuah program awal (main procedur), barangkali bisa bermamfaat bagi rekan2 sesama fox mania.
Banyak rekan-rekan sesama Foxers menyarankan untuk menggunakan yang pertama
Tapi tahukan anda jika tidak hati2 maka penggunaan command pertama tsb bisa bermasalah.
Berdasarkan Help VFP sendiri:
Sys(5) = Default drive or volume.
Sys(2003) = Current directory.
Jadi dengan menjalan command tsb, system akan menempatkan default direktori secara otomatis ketempat mana dia diexecutin. Ketika kita menjalankan program dari direktori asal program tsb, maka secara otomatis default direktory juga terset ketempat itu.
Tapi apa jadinya jika kita tidak meng executing program dari tempat tersebut ?
Misal, pertama kali membuka program Microsfoft Visual Foxpro 9 yang mana defaultnya adalah HOME()="C:\Program Files\Microsoft Visual Foxpro 9\". Nah, tentu saja Perintah Sys(5)+Sys(2003) justru akan mengacaukan alamat default direktori program yang sudah kita rancang. Karena default tidak berada ditempat semestinya tapi justru di HOME() dari VFP itu sendiri.
Bagaimana dengan command Sys(16) yang menurut Help Vfp sendiri berarti 'Executing program file name'.
Justru menurut saya ini adalah langkah paling aman yang mesti gunakan. Walau dalam penggunaan command ini sedikit lebih ribet dan panjang dari langkah pertama
Berikut adalah modifikasi prosedur yang selama ini saya mamfaatkan selama ini untuk membuat sebuah program awal (main procedur), barangkali bisa bermamfaat bagi rekan2 sesama fox mania.
Public PbPathJauh lebih panjang dari cuma membuat command Sys(5)+Sys(2003), akan tetapi kita lebih terjamin berada di default direktory yang sebenarnya.
cCurr= Sys(16,1)
nPath= At(":",cCurr)-1
If nPath<1 npath="1">&&& Fungsi ini boleh diabaikan karena hanya bermamfaat untuk menghilangkan error yang tidak perlu, jika Program kita executing dari jaringan Network.
Endif
lPath = Rat("\", cCurr) -
(nPath)
PbPath=Alltrim(Substr(cCurr, nPath, lPath))
* Publis Global Variable bermamfaat saat suatu ketika kita memindahkan default ke tempat lain
dan untuk mereset ke Direktory awal cukup dengan merecallnya kembali. Anda Boleh juga mengabaikan untuk mempublis fungsi ini untuk memperpendek pengetikan prosedure.
Set Default To (PbPath)
Kamis, Mei 29, 2008
virus KSPOOLD dan Langkah untuk merecovey
Langkah untuk merecover file DBF yang rusak oleh virus KSPOOLD
Kerusakan data yang disebabkan oleh virus KSPOOLD adalah mengganti header dari file yang berextension DBF (Kalau file data dbf yg sudah diganti extensionnya, tidak diserang). Karena header setiap file dbf tidak sama ukurannya, ini tergantung dari jumlah field, maka untuk file yang jumlah fieldnya sedikit, virus bisa menyerang record. Hal ini diperhatikan karena disengaja oleh pembuatnya agar ukuran file tidak berubah. Untuk memperbaiki header file dbf yang rusak bisa dilakukan dengan bantuan utility UltraEdit yang dapat di download versi trial nya di :
http://www.tucows.com/preview/194610
Langkah perbaikan :
1. Buka file dbf yang rusak
2. Buka file yang masih baik dgn struktur yang sama dengan file yang rusak, atau buat file baru yang strukturnya sama dgn file yang rusak

http://www.4freeimagehost.com/resized/661e423da80b.jpg
3. Blok header data yang clean mulai dari batas header dgn record sampai ke awal file, klik
kanan pilih copy
http://www.4freeimagehost.com/resized/356df9b42c02.jpg
4. Blok header data yang rusak mulai dari batas antara header dgn record sampai awal file, klik kanan pilih paste

http://www.4freeimagehost.com/resized/b505b91753db.jpg

8. Klik Tombol Ganti Pada baris jumlah Recor
9. Klik Tombol Ganti Pada baris ukuran file
10. Bila File yg Anda Recover mempunyai Field Memo sedangkan file memonya tidak tersedia, ubah Table Flag menjadi Has CDX File, kemudian klik Ganti.
11. Klik Buka File ...untuk membuka file yang sudah di recover, pada bagian bawah terdapat record sampah, buang saja .. !
Data yang rusak sudah bisa diselamatkan.
Semoga dapat membantu.
Salam Fox Mania.
(Kutipan dari PaissiaP al. Ismuddin mailto:ismuddin@yahoo.com)
Kerusakan data yang disebabkan oleh virus KSPOOLD adalah mengganti header dari file yang berextension DBF (Kalau file data dbf yg sudah diganti extensionnya, tidak diserang). Karena header setiap file dbf tidak sama ukurannya, ini tergantung dari jumlah field, maka untuk file yang jumlah fieldnya sedikit, virus bisa menyerang record. Hal ini diperhatikan karena disengaja oleh pembuatnya agar ukuran file tidak berubah. Untuk memperbaiki header file dbf yang rusak bisa dilakukan dengan bantuan utility UltraEdit yang dapat di download versi trial nya di :
http://www.tucows.com/preview/194610
Langkah perbaikan :
1. Buka file dbf yang rusak
2. Buka file yang masih baik dgn struktur yang sama dengan file yang rusak, atau buat file baru yang strukturnya sama dgn file yang rusak
http://www.4freeimagehost.com/resized/661e423da80b.jpg
3. Blok header data yang clean mulai dari batas header dgn record sampai ke awal file, klik
kanan pilih copy
http://www.4freeimagehost.com/resized/356df9b42c02.jpg
4. Blok header data yang rusak mulai dari batas antara header dgn record sampai awal file, klik kanan pilih paste
http://www.4freeimagehost.com/resized/b505b91753db.jpg
5. Simpan data yang rusak dgn cara masuk ke Menu, Pilih File lalu Save. Perbaikan data tahap pertama sudah selesai, hasilnya masih belum bisa dibaca oleh VFP, karena jumlah record yang tercatat pada data yang rusak tidak sama dengan yang di kopikan.
6. Perbaikan selanjutnya saya menggunakan tool yang berfungsi untuk memperbaiki header file dbf yg kerusakannya tidak parah dgn Tabel Repair Utility (Program Terlampir)
7. Klik Pilih File, cari file yang disimpan melalui UltraEdit, ini tampilannya
6. Perbaikan selanjutnya saya menggunakan tool yang berfungsi untuk memperbaiki header file dbf yg kerusakannya tidak parah dgn Tabel Repair Utility (Program Terlampir)
7. Klik Pilih File, cari file yang disimpan melalui UltraEdit, ini tampilannya
8. Klik Tombol Ganti Pada baris jumlah Recor
9. Klik Tombol Ganti Pada baris ukuran file
10. Bila File yg Anda Recover mempunyai Field Memo sedangkan file memonya tidak tersedia, ubah Table Flag menjadi Has CDX File, kemudian klik Ganti.
11. Klik Buka File ...untuk membuka file yang sudah di recover, pada bagian bawah terdapat record sampah, buang saja .. !
Data yang rusak sudah bisa diselamatkan.
Semoga dapat membantu.
Salam Fox Mania.
(Kutipan dari PaissiaP al. Ismuddin mailto:ismuddin@yahoo.com)
Kill Virus KSPOOLD
Buat File BAT dengan menggunakan Notepad serta berilah namanya sesuai keinganan anda (mis. kspoold_killer.bat) dan simpan kedalam ext bat.
Copy pastekan command dibawah ini kedalam file tsb. Jangan lupa untuk menyimpannya balik.
Copy pastekan command dibawah ini kedalam file tsb. Jangan lupa untuk menyimpannya balik.
echo off
cls
REM — ubah warnacolor a
REM — ubah judultitle KSPOOLD KILLER * by M. Husni Adil
REM — masuk ke
direktori sistem%SYSTEMDRIVE%cd %SYSTEMROOT%\system32
echo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo KSPOOLD KILLER * by M. Husni
Adilecho ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo After you press any
keys on your keyboard, I doecho - removing related registryecho - stopping
kspoold processecho - deleting kspoold file in the system directoryecho
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo.
pause
echo.REM —
hapus registry yang dibuat sebagai service virusreg delete
“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\kspooldaemon” /freg delete
“HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\kspooldaemon” /freg delete
“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\kspooldaemon” /f
REM —
hentikan proses virustaskkill /IM kspoold.exe /F /T
REM — set atribut file
virus menjadi normalattrib -s -h -r kspoold.exe
REM — hapus file virusdel
kspoold.exe
cls
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo
KSPOOLD KILLER * by M. Husni Adilecho
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo After you press any keys on
your keyboard, I doecho - removing related registryecho - stopping kspoold
processecho - deleting kspoold file in the system directoryecho
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~echo.echo Press any key to
continue . . .echo.
echo Well done - The “kspoold” was completely
removedecho.
pause
Langganan:
Postingan (Atom)