Arsip: membuat simulasi library menggunakan DLL
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..
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.
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 ;)
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..
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..
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.
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..
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
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?
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
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 4 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- Membuat Text "MARQUEE"
by i_hasibuan in Form Enhancement & Graphical Controls more 17 years ago - Join Table
by de27de in MySQL more 16 years ago - Pengumuman . . (Billing)
by tox2wow in OOT more 16 years ago - label pake timer
by delphi_tikuzz in Multimedia & Graphic Enhancement more 17 years ago - heLp mE pLease ?
by jajang in Tip n Trik Pemrograman more 15 years ago - HELP: gimana cara ganti isi data dari suatu filed pada table
by putukaca in MySQL more 14 years ago - ketik huruf di dbgrid seperti menekan tombol ???
by imunk in Hal umum tentang Pascal Indonesia more 17 years ago - FreePascal dan Lazarus
by simba in onLinux more 18 years ago - programq kok gak jalan di komputer laen??
by shovachevic in Hal umum tentang Pascal Indonesia more 15 years ago - Query penjumlahan data and sort Date
by ekopranoto in Lain-lain more 14 years ago