Logging activities - (not pretty!!)

ini saya buat untuk logging, di taruh di app_controller.php.. sangat buruk..tapi jalan.

function afterFilter() {


     // this is a call for logging -- not very pretty. - but it works     


     App::import('Model', 'Entry');    


     $tmpEntry = new Entry();    


     $logthis = $this->Auth->user('username').' is accessing '.$this->params['action'].' in module '.$this->params['controller'].'-'.Router::url();    


     $this->set('accessme',$tmpEntry->query("insert into actlogs values ('','$logthis',now())"));


     unset($tmpEntry); 


     }




 



ini kalau mau di setiap controller.





$logthis = $this->Auth->user('username').' is accessing '.$this->params['action'].' in module '.$this->params['controller'].'- id number:'.$id; 


$this->Log($logthis,'Activity');


Vendor stuff

direktory vendor merupakan satu cara yang baik untuk memasukkan sesuatu..

1. Cemplungin php file anda di /app/vendors

2. Panggil di cake dengan vendor('nama_file_anda');

teknik lain untuk memakai global variables... yukesss lagi

Global Variables Yikes!

Anda bisa menulis hal-hal berikut ini di bootstrap.php

   1:  global $abc, $def;


   2:  $abc = true;


   3:  $def = 'XXX';




Dan setelah itu akses dari Controller::beforeFilter() dengan cara





global $def; 


$this->set('def', $def);





banyak cara yang bisa di gunakan sebagai trick tapi ini sama sekali tidak bersih, melakukannya sebagai komponen jauh lebih baik

Teknik mengambil string dalam string

Ini sangat buruk tapi sangat flexibel buat saya terutama dalam manipulasi string pada serial transmission

Dim test, test2 As String

test = "Hellojkjk jk k bla INF1: 099920 Wassup ih deh"
If test.Contains("INF1") Then test2 = Trim(Mid(test, test.IndexOf("INF1") + 6, 10))
TextBox1.Text = TextBox1.Text + test2 + Chr(13) + Chr(10)

 

6 adalah offset depan dari string

10 adalah panjang/jumlah string yang mau di ambil

yang di gunakan untuk menemukan offset string test.IndexOf bukannya test.IndexOfAny

saya pernah juga salah, menggunakan IndexOfAny ... jadinya kaco dehh..

Trim membersihkan space

Saya yakin ada teknik lain yang lebih bagus.

Satu cara kilat ngebuffer serial dari BOE

Trik ini saya pakai untuk mengambil / membuat buffer agar bisa mengetahui input yang di berikan Boe ke PC.

Hasil dari pengambilan di masukkan ke TextBox1.Text agar dapat di baca. CR harus di konversikan menjadi CRLF agar lebih bagus tampilannya.

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim Buffer As String
    Dim temp As String
    If SerialPort1.IsOpen Then
        temp = StrConv(SerialPort1.ReadExisting, VbStrConv.ProperCase)

        Buffer = Buffer + temp

        Buffer = Replace(Buffer, Chr(13), Chr(13) + Chr(10), 1, Len(Buffer))

        TextBox1.Text = TextBox1.Text + Buffer

    End If
End Sub

Rakitan Board of Education

Project programming ke mikrokontroller yang pertama.

boe

so fun to implement, photoresistor sensor, IR detection and some sound generating.. hmm fun.

create some small Visual studio application to control the bot connecting the bot with EB500 bluetooth module, this is the result.

Memakai visual studio untuk interface ke komputer tanpa melalui serial cable. Dapat menampilkan hasil pembacaan dari mikrocontroller ke PC melalui media bluetooth EB500

inface