Arsip: membuat simulasi library menggunakan DLL

 
user image
more 17 years ago

mssetyawati

saya punya tugas ni.. tapi bingung mau mengerjakannya, karena belom ada gambaran sama skali. mohon pencerahannya donk, saya disuruh membuat program simulasi library yang mana mempunyai fungsi untuk membaca berapa banyak uang yang terdapat di dalam smart card dan bagaimana untuk mengurangi uang yang ada di dalam smart card. Tapi ini hanya simulasi program saja, belom terkoneksi langsung ke smart card nya. jadi membuat 2 fungsi ini dalam DLL trus nanti baru dijalankannya lewat test application dari form. tapi saya sama skali ga punya gambaran, masih bingung apalagi baru blajar delphi sminggu.. tolong ya.. nah formnya nanti seperti ini pada test application.. terdiri dari 2 buah label, 3 edit box dan 1 button: label 1=uang yang tersedia, label 2= jumlah tagihan, edit box 1= menampilakan jumlah uang yang ada (dalam hal ini misalnya 10.000, dideklarasi di awal), edit box2 = jumlah tagihannya (masukkan jumlah tagihan) lalu button untuk menghitung berapa sisa uang. Jika jumlah tagihan lebih banyak dari uang yang tersedia maka akan muncul pesan untuk segera mereload uang.. nah tapi programnya dibuat di DLL bukan jadi satu dengan formnya, jadi listing codenya dibaca dari DLL. nah gimana tu? ini yang membuat saya bingung.. kalo membuat codingnya jadi satu dengan form mungkin lebih mudah bagi saya yang pemula . berhubung code2nya ditulis di Library saya jadi bingung.. Tolong ya? Bagaimana membuat program ini di Library? Mohon bantuannya.. Oiya untuk memasukkan gambar dalam postingan ini gimana ya? Saya coba klik Image trus saya copy paste gamparnya kok ga bisa ya? Trima kasih atas bantuannya..
user image
more 17 years ago

DelphiExpert

Tulis aja work-flow program anda jadi satu ama form biasa. Setelah ok, kasih tau kita2. temen2 banyak koq yg bisa bantu kasih gambaran cara menuliskannya dlm DLL :D Utk memasukkan gambar, anda harus menempatkan gambar tsb dipublik area / url yg bisa diakses oleh public. Setelah itu di sini tinggal tulis alamat URL image anda.
user image
more 17 years ago

DelphiExpert

Tuh http://pascal-id.org/thread/unknown/2123/view-old-thread/ paling bawah sendiri adalah contoh yg paling mudah utk dipelajari ;)
user image
more 17 years ago

mssetyawati

tolong donk.. saya membuat DLL dengan fungsi yang bernama 'content', nah disini gunanya untuk menampilkan jumlah uang yang ada. nah ini file DLL saya: library Ewallet; uses SysUtils, Classes; {$R .res} function content():Real; export; begin content := 15.1 ; end; exports content; begin end. nah lalu saya membuat form untuk memanggil file DLL ini, nah itu sudah berhasil dijalankan. nah sekarang di form ini saya harus membuat fungsi pengurangan. jadi di form ini saya memasukkan nilai di edit box misalnya saja 5,2 (tipe data real/double). trus nanti setelah klik button 'kurangi' maka akan memanggil fungsi content dan menguranginya dengan angka yang kita masukkan tadi. nah disini syntaxnya gimana? untuk membuat fungsi tersebut. saya coba2 kok error terus.. ni code program saya: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R .dfm} function content:Real; external 'Ewallet.dll' procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := FloattoStr(content()); end; procedure TForm1.Button2Click(Sender: TObject); //button untuk menghitung hasil pengurangan dari fungsi 'content' dan angka yang kita masukkan var x, y, z : Double; //apa sudah benar deklarasinya???? begin x:= FloattoStr(content()); //masih bingunggg??? y:= StrToFloat(Edit1.Text); z:= x - y; // masih bingung Edit2.Text := FloatToStr(z); //masih bingung end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; end. tolongin saya ya.. bagaimana membuat fungsi pengurangan tsb.. plisssss.... membuat file DLL dan memanggilnya dari form ini saja saya butuh waktu lama (maklum masih blajar) nah skrg menuliskan fungsi pengurangan ini membuat saya smakin pusing.. karena saya coba2 error teruss.. mohon bantuannya yah..
user image
more 17 years ago

mssetyawati

eh.. ternyata saya sudah bisa.. nah sekarang yang saya bingung niy bagaimana caranya membuat fungsi agar bisa hasil pengurangan itu nantinya secara otomatis menjadi isi dari fungsi 'content'?? jadi kan fungsi content pertamanya punya nilai 15,1 trus kalo kita masukkan angka 4,5 maka hasilnya 10,6. nah bagaimana caranya agar 10,6 nanti secara otomatis menjadi isi content (gantinya dari 15,1). jadi yang deklarasi awalnya 15,1 sekarang setelah berhasil dikurangi maka nanti muncul isi content 10,6 itu. bagaimana yak?? trus mo nya juga bagaimana listing programnya kalo kita masukkan angka yang lebih besar dari isi content maka akan secara otomatis muncul pesan bahwa proses pengurangan gagal karena nilai yang dimasukkan lebih besar dari isi content? tolong masukannya yah.. maaf saya banyak bertanya..
user image
more 17 years ago

_lmz

@mssetyawati: tolong donk.. saya membuat DLL dengan fungsi yang bernama 'content', nah disini gunanya untuk menampilkan jumlah uang yang ada. nah ini file DLL saya: library Ewallet; uses SysUtils, Classes; {$R .res} function content():Real; export; begin content := 15.1 ; end; exports content; begin end. nah lalu saya membuat form untuk memanggil file DLL ini, nah itu sudah berhasil dijalankan. nah sekarang di form ini saya harus membuat fungsi pengurangan. jadi di form ini saya memasukkan nilai di edit box misalnya saja 5,2 (tipe data real/double). trus nanti setelah klik button 'kurangi' maka akan memanggil fungsi content dan menguranginya dengan angka yang kita masukkan tadi. nah disini syntaxnya gimana? untuk membuat fungsi tersebut. saya coba2 kok error terus.. ni code program saya: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R .dfm} function content:Real; external 'Ewallet.dll' procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := FloattoStr(content()); end; procedure TForm1.Button2Click(Sender: TObject); //button untuk menghitung hasil pengurangan dari fungsi 'content' dan angka yang kita masukkan var x, y, z : Double; //apa sudah benar deklarasinya???? begin x:= FloattoStr(content()); //masih bingunggg??? y:= StrToFloat(Edit1.Text); z:= x - y; // masih bingung Edit2.Text := FloatToStr(z); //masih bingung end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; end. tolongin saya ya.. bagaimana membuat fungsi pengurangan tsb.. plisssss.... membuat file DLL dan memanggilnya dari form ini saja saya butuh waktu lama (maklum masih blajar) nah skrg menuliskan fungsi pengurangan ini membuat saya smakin pusing.. karena saya coba2 error teruss.. mohon bantuannya yah..
Perlu dipikirkan apa yang dimaksud "pengurangan" ya, apakah pengurangan ini harus persistent misal: EWalletContent() => 100 EWalletKurangi(10) EWalletContent() => 90 Jika ya, apakah persistence ini cuma dalam 1 session program atau dapat berkelanjutan antara pemanggilan program. Jika antara pemanggilan program berarti harus disimpan dalam file atau semacamnya. Jika dalam satu session rasanya bisa dengan variabel saja. Anyways:

procedure TForm1.Button2Click(Sender: TObject); //button untuk menghitung hasil pengurangan dari fungsi 'content' dan angka yang kita masukkan
var x, y, z : Double; //apa sudah benar deklarasinya????
begin
x:= FloattoStr(content()); //masih bingunggg???
y:= StrToFloat(Edit1.Text);
z:= x - y; // masih bingung
Edit2.Text := FloatToStr(z); //masih bingung
end; 
Double sama dengan Real, tapi daripada bingung mending pilih salah satu... Content() hasilnya sudah Double, tidak perlu di float to str jadi cuma x := content; saja. Lainnya kelihatannya sudah benar.
user image
more 17 years ago

mssetyawati

nah itu dya.. jadi setelah pengurangan nanti hasilnya itu disimpan. begitu klik lagi maka yang akan muncul adalah hasil pengurangan tadi.. jadi begini alurnya: content = 15,1 // sudah dideklarasi dari awal masukan angka = misalnya 5 hasil = 6,1 // nah angka ini nanti disimpan dan saya masih blom tahu bagaimana caranya nyimpan dan nantinya ketika klik content maka 6,1 ini yang muncul bukan lagi 15,1 bagaimana ya? nah trus kalo masukan angka lebih besar dari content maka akan muncul message bahwa operasi pengurangan gagal. bagaimana yah? untuk yang x:=content sudah berhasil.. terimakasih banyak.. mohon bantuannya lagi..
user image
more 17 years ago

_lmz

Gunakan variabel mungkin? (tapi ini tidak bertahan apabila program penggunanya direstart alias cuma berlaku u/ sekali jalan.)

library Ewallet;
uses
SysUtils,
Classes;
{$R *.res}
var isi : Real;
function content():Real; export;
begin
content := isi ;
end;
procedure kurangi(n : Real); export;
begin
isi := isi - n;
end;

exports content, kurangi;
begin
  isi := 15; // nilai awal
end. 
Note: untested
user image
more 17 years ago

mssetyawati

nah dari library yang anda tuliskan siy berhasil di build.. trus ngejalaninnya di form gimana?? supaya otomatis hasil pengurangannya nampak di label.. ni source code yang di form saya: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Button1: TButton; Edit2: TEdit; Button2: TButton; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function content:Real; external 'Ewallet.dll' procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := FloattoStr(content()); end; procedure TForm1.Button2Click(Sender: TObject); var x, y : Double; begin x:= StrToFloat(Edit1.Text); y:= (content()) - x; Edit2.Text := FloatToStr(y); end; procedure TForm1.Button3Click(Sender: TObject); begin Close; end; end. nambahinnya gimana?
user image
more 17 years ago

_lmz

noooo.. tidak ada otomatis. dengan asumsi procedure kurangi sudah anda tulis deklarasi external nya seperti function content:

procedure TForm1.Button2Click(Sender: TObject);
var x, y : Double;
begin
x:= StrToFloat(Edit1.Text);
kurangi(x);
Edit2.Text := FloatToStr(content);
end; 
Kalau anda anggap variabel isi, procedure kurangi, dan fungsi content berada di dalam program anda sendiri (tidak pakai DLL) bukankah penulisannya juga akan seperti ini?
more ...
  • Pages:
  • 1
  • 2
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com