continuous scrolling graph using lazarus/delphi

ceritanya pas muda dulu aku pernah bikin program buat ngebaca data dari serial port trus data itu ditampilin dalam bentuk grafik pake delphi.

berhubung udah sadar nggak pake software bajakan lagi.

aku coba bikin contoh yang sederhana pake lazarus yang free

secara prinsip kode di lazarus dapat ditulis ulang di delphi atau sebaliknya dengan sedikit penyesuaian.

contoh disini data masukan bukan berasal dari serial port tapi aku pakai data random 0-10prinsip kerjanya aku buat array data sebanyak 20 data

y[0] sampai y[19]

setiap data yang masuk dimasukan ke y[0] kemudian data tersebut di geser

intinya ada pada prosedur dibawah :

procedure TForm1.plot(data:double);
var i: integer;
begin
  Application.ProcessMessages;
  series1.Clear;
  i:=0;
  x:=p_size;
  y[0]:=data;                              // Data masuk
  for i:=0 to (p_size-1) do
    begin
      y[x]:=y[x-1];                        // geser data ke kiri
      Series1.AddXY(i,y[x], '', clgreen);  // plot data
      x:=x-1;
    end;
end;

komponen yang dibutuhkan:

  • TChart untuk grafiknya
  • bitbutton untuk start/stop
  • timer untuk menggenerate data (setiap 100ms)

semua komponen diatas udah ada di lazarus

contoh source code bisa diambil disini,  habis di donlod direname dulu dari.odt ke .zip

binarynya disini, habis di donlod direname dari .odt ke .exe

screenshootnya sederhana cuma gini :

chart

happy coding…!

This entry was posted in Komputer. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s