Arsip: strto...

more 15 years ago
brodien
halo pak
gimana ya caranya buat string jadi operator math
misal
var
tambah:string
tambah:='+';
5 tambah 5 = 10;
==============
gimana ya caranya
:lol: :oops: :oops: :oops:
makasih

more 15 years ago
Manz
mungkin saya rasa gak bisa dech ... kecuali fortran yang bisa nyimpen operator di variable dan dikenali sebagai operator.
Kalo yang di-inginkan sama brodien itu 5 tambah 5 = 10; itu mungkin harus diparsing menggunakan metode teknik kompilasi kali ya ... :mrgreen:

more 15 years ago
w4h703
wah mas apa malah gak capek tuch, mo operasi tambah aja arus nulis
5 tambah 5 =klo dari pengalamanku nyobain seperti itu mah paling cukup nulis 5+5 trus dienter keluar 10, ato 5+59-2 trus dienter, keluar dech 48. itupun caranya betul kata kang @manz_delphi, arus menggunakan teknik parser. Tapi prinsipnya bisa banget. sampeyan tinggal deteksi inputstring aja dibandingin ama karakter2 khusus kaya +,-, ,/ dsb tapi jg tidak menutup kemungkinan klo mo pake tambah, kurang, bagi, kali, dsb. kalo ketemu simpan sebagai operator, klo yg ditemuin angka simpen sebagai operand. dst...dst... Tergantung kreatifitas lach.... tip: belajar dulu nich yang namanya parser generator.

more 15 years ago
ichan29
@brodien: gimana ya caranya buat string jadi operator math
ato mungkin km bisa buat function "MATHKU" yg terdiri dari yg km mau, misal:
function xxAdd(S1: string; S2: string) : string;
var X1,X2,z1,z2,X : string;
dl1,dl2,p1,ls : byte;
Sisa : extended;
function zAdd : string;
var X : string;
begin
X := floatToStr(strToFloat(z1) + strToFloat(z2) + Sisa);
if length(X) > length(z1) then begin
Sisa := strToFloat(copy(X, 1, length(X) - length(z1)));
delete(X, 1, length(X) - length(z1));
end else Sisa := 0;
while length(X) < length(z1) do
X := '0' + X;
ZAdd := X;
end;
begin
X1 := DelBotBla(S1);
X1 := DelAllChar(ThousandSeparator, X1);
X2 := DelBotBla(S2);
X2 := DelAllChar(ThousandSeparator, X2);
dl1 := DecimalPoint(X1);
dl2 := DecimalPoint(X2);
if dl1 > dl2 then
X2 := InsTraZero(X2, length(X2)+dl1-dl2)
else if dl1 < dl2 then begin
X1 := InsTraZero(X1, length(X1)+dl2-dl1);
dl1 := dl2;
end;
if length(X1) < length(X2) then
X1 := InsLeaZero(X1, length(X2))
else if length(X1) > length(X2) then
X2 := InsLeaZero(X2, length(X1));
Sisa := 0; X := '';
ls := length(X1);
while ls > 0 do begin
if ls > 10 then p1 := 10
else p1 := ls;
z1 := copy(X1, ls-p1+1, p1);
z2 := copy(X2, ls-p1+1, p1);
X := zAdd + X;
dec(ls, p1);
end;
if Sisa > 0 then X := floatToStr(Sisa) + X;
if dl1 > 0 then insert(DecimalSeparator, X, length(X)-dl1+1);
while (length(X) > 1) and (pos('0', X) = 1) do
delete(X, 1, 1);
if pos('.', X) = 1 then
X := '0' + X;
xxAdd := X;
end;
smoga membantu.
more ...
- Pages:
- 1
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 2 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 2 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 2 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 3 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 10 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 10 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 10 years ago
Random Topic
- Menjumlahkah coloum ?
by debby in Hal umum tentang Pascal Indonesia more 15 years ago - Menampilkan data di AdvStringrid (komponen TMS)
by percyl in Hal umum tentang Pascal Indonesia more 13 years ago - Case Sensitive
by galih in Tip n Trik Pemrograman more 15 years ago - Minta saran buku
by AIIA in Tip n Trik Pemrograman more 16 years ago - [ask] tombol, mikrokontroller, assembler dgn Delphi
by cimprodot05 in Network, Files, I/O & System more 11 years ago - membalik font(dari kanan ke kiri, kayak p berubah jadi q)
by mbahdien in Tip n Trik Pemrograman more 15 years ago - Bagaimana buat Database local
by oloan_ac in Hal umum tentang Pascal Indonesia more 15 years ago - Tentang Array
by telkom_1 in Tip n Trik Pemrograman more 15 years ago - SP di MSSQL
by Delphi_Mania in MsSQL more 16 years ago - update tanggal otomatis menggunakan MSAccess
by divanda in MySQL more 15 years ago