Pa čekao sam da mi kažeš da li želiš da pratiš clipboard OS-a ili direktno iz aplikacije.
Ako je iz aplikacije recimo odradi u eventu odmah gde radiš kopiranje u Clipboard da izvučeš to u string a zatim formatiraj string. To bi ovako izgledalo otprilike :
1. Gde izvršavaš kod koji kopira brojeve u clipboard odmah posle komande prebaciš taj sadržaj u string
2. Formatiraš string po ovoj šemi : preskoči prva dva karaktera, dodaj karakter "-" između
3. Kada formatiraš string kako želiš, vratiš ga u clipboard prepisujući staru vrednost.
4. Nalepi sadržaj clipboarda negde.
Ujedno nije loše, ako nisi siguran šta će korisnik uzeti u clipboard, napisati proveru tj. filter da li su u clipboardu brojevi ili ne, to isto možeš da uradiš tako što uvučeš sadržaj clipboarda u string ako je moguće i proveriš da li su brojevi u pitanju.
Ako hoćeš da pratiš clipboard iz OS-a, kad recimo neko uzme iz text dokumenta 1234 a taj text dokument nije povezan sa tvojom aplikacijom te nemaš kontrolu nad njim, imaš par opcija :
1. Napišeš keyboard hook koji će pratiti da li je u bilo kom trenutku pritisnut ctrl+c ili
2. Stalno proveravaš clipboard za podatke (što i nije najpametnije jer će bez potrebe opterećivati OS)
1. Za keyboard hook pogledaj ovo :
http://www.supportforums.net/showthread.php?tid=916
U suštini ideja je da pratiš stalno tastere i u trenutku kada korisnik pritisne dva određena tastera koji šalju nešto u clipboard, ti izvršiš format i vratiš sadržaj nazad u novom obliku, u tvom slučaju ako su brojevi onda vratiš xx-xxx (x = broj).
Takođe izvršiš provere, prvo proveriš da li su oba tastera pritisnuta, zatim da li je sadržaj clipboarda numerički a potom izvršiš formatiranje i nalepiš nazad u Clipboard.
2. Obična provera clipboarda, stalno vrtiš proveru i odradiš sve kao i u prvom koraku posle provere tastera.
Samo, pitanje, pošto je ova tema u Visual Basic potforumu, da li si mislio na VB6 ili na VB.NET? Jer ja znam da je moguće ovo odraditi u VB.NET-u, radio sam ali nisam siguran za vb6, zaboravio sam da te pitam odmah pri prvom odgovoru.
Za sve gore navedeno će ti trebati :
Kako formatirati string :
http://vb.net-informations.com/string/vb.net_String_Format.htm
Clipboard i VB.NET
http://forum.codecall.net/visual-basic-tutorials/2.....post219618
Keyboard hooking :
http://www.daniweb.com/software-development/vbnet/threads/381858
|