Minggu, 02 September 2018

Tutorial Gambas~ Memanipulasi Keluaran/Output Paste (Copy-Paste)


Memanipulasi output paste yang dibahas kali ini bukan dari hasi perintah Clioboard.Paste yang hanya berpengaruh pada sistem Gambas, namun disini membahas output yang berpengaruh secara global, artinya hasil copy teks dari luar sistem gambas (seperti copy dari aplikasi Text Editor, maupun LibreOffice Writer, dll) dapat dimanipulasi outputnya (paste) pada aplikasi Gambas.

Langsung pada contoh kasus:
Tedapat varian dengan nama TextBox1, ceritanya saya mengcopy suatu teks dari Text Editor yang isinya “aabb#cc,,g%j(kkkkk$123”. Lalu saya hendak menaruh teks tersebut ke TextBox1.Text dengan disaring teksnya saat menekan tombol CTR+v (tombol paste biasanya).
Adapun Output yang dinginkan saat mempaste sebagai berikut:
– Hanya berupa teks huruf dan angka, artinya karakter “%,,$(#“ dihilangkan
– Panjang teks dibatasi 7 karakter
– Semua huruf menjadi capital

Adapun algoritmanya:

Private Panjang As Byte

Public Sub TextBox1_Change()
   If Panjang <> 0 Then
     ‘Menghilangkan karakter %,,$(#
     TextBox1.Text = RegExp.Replace(TextBox1.Text, “[^a-zA-Z0-9]”, "")
     ‘Membatasi panjang karakter
     TextBox1.Text = Mid(TextBox1.Text, 1, Panjang)
     ‘Merubah ke huruf besar
     TextBox1.Text = UCase( TextBox1.Text)
   Endif
End

Public Sub TextBox1_KeyPress()
   Panjang = 0
   If Key.Code = Key["v"] And Key.Control Then
     'Menentukan Panjang kata
     Panjang = 7
   Endif
End

Output Paste: AABBCCG