Arsip: pemisahan karakter pada komponen edit
more 17 years ago
adit4it
Halo Master delphi. to the point saja.
kalo kita ingin mengambil isi dari suatu edit misalnya berisi
3x+2y-2z=5
kita juga mengambil operand nya..
jadi, kita pisahkan ke edit yang laen menjadi
3 2 2
edit2 nya berisi 3
edit3 nya berisi 2
edit4 nya berisi -2 (minus 2)
edit5 nya berisi 5
gitu....
mohon bantuannya...
arigato gozaimastsu...
more 17 years ago
w4h703
cobain teknik parser generator mas.
prinsip algorithmanya gini mas :
1. lakukan perulangan sebanyak jumlah karakter yg akan diparser.
2. pada perulangan, lakukan pengecekan karakter sesuai index,
jika karakternya numerik maka tampung di array numerik dulu,
jika operator logika maka tampung di array operator.
4. tampilkan array pada komponen yang sampeyan kehendaki.
more 17 years ago
w4h703
cobain teknik parser generator mas.
prinsip algorithmanya gini mas :
1. lakukan perulangan sebanyak jumlah karakter yg akan diparser.
2. pada perulangan, lakukan pengecekan karakter sesuai index,
jika karakternya numerik maka tampung di array numerik dulu,
jika operator logika maka tampung di array operator.
4. tampilkan array pada komponen yang sampeyan kehendaki.
more 17 years ago
w4h703
cobain teknik parser generator mas.
prinsip algorithmanya gini mas :
1. lakukan perulangan sebanyak jumlah karakter yg akan diparser.
2. pada perulangan, lakukan pengecekan karakter sesuai index,
jika karakternya numerik maka tampung di array numerik dulu,
jika operator logika maka tampung di array operator.
4. tampilkan array pada komponen yang sampeyan kehendaki.
more 17 years ago
faathir
mei bi (mungkin/meureun) bisa pake yg ini.............
Function StringToStrList( Const Stringnya:String;
Const Pemisahnya: String ):TStrings;
VAR
nCounter:Integer;
Hasilnya:TStrings;
a, n, x, y:Integer;
b:String;
IsBlock:Boolean;
Begin
b := Copy(Stringnya, 1, Length(Stringnya));
b := Trim(b);
IsBlock := LeftStr(b, 1) = '"';
n := 0;
a := 1;
Hasilnya := TStringList.Create;
For x:=1 To Length(B) Do
Begin
n := n+1;
If ((b[x] = '"') and (x > 1)) Then
IsBlock := Not IsBlock;
If not IsBlock Then
If b[x] = Pemisahnya Then
Begin
Hasilnya.Add(Trim(Copy( b, a, n-1 )));
a := x+1;
n := 0;
End;
End;
If Hasilnya.Count = 0 Then
Begin
Hasilnya.Add( b );
End
Else
Begin
Hasilnya.Add( Trim(Copy( b, a, n )));
End;
StringToStrList := Hasilnya;
End;
caranya :=
ListBox1.Items.AddStrings(StringToStrList(Edit1.Text, ','));
baru nanti dari listbox kamu pindahin ke edit
atau u otak-atik sendiri sesuai kebutuhan yang dibutuhkan
mungkin.... :D
more 17 years ago
her1z_yu2n
wahh222... nambah pertanyaan lagi nih..
gini..
sayah udah berhasil mendinamiskan edit untuk input dan outputnya..
masalahnya ternyata sayah lagi2 ga bisa menampilkan hasil pemisahann nya ke aray dua dimensi itu.
padahal sayah udah gadang semalaman belom berhasil juga..
var
f,g,h:integer;
ab,b,c,d,Code,r,w: Integer;
target, target2 : string;
//target : array of string;
hasil : array of string;
label selesai;
//------------
begin
target := Edit[1].Text;
edit4.Text := Edit[1].Text ;
target := Edit4.Text ;
//target[2] := Edit[2].Text;
//target[3] := Edit[3].Text;
//target := edit4.Text;
c := 0;
for a := 0 to Length(target) do
begin
Val(target[w],b,Code);
if Code= 0 then
hasil[c] := hasil[c]+target[w];
if target[w] in ['','+','-'] then
begin
inc(c);
if target[w]='+' then
begin
edit5.text:=target[w];
if edit5.Text='+' then
edit5.Text:='';
hasil[c] := edit5.Text+hasil[c];
end
else
hasil[c]:=target[w]+hasil[c];
end;
if target[w]='=' then goto selesai;
end;
selesai:
begin
g:=strtoint(ncombo2.Text);
for f:=1 to g do
for h:=1 to g do
begin
//terubah
Edits[h][f]:=TEdit.Create(Form1);
Edits[h][f].Parent:=Form1;
Edits[h][f].Left:=form1.Width-(14-h) 58;
Edits[h][f].Top:=Form1.Height-(17-f)24-100;
Edits[h][f].Width:=49;
Edits[h][f].TabOrder:=h f+g;
//Edits[j][j*i+n].Name:='edit'+inttostr(j);
Edits[h][f].Text:=hasil[c];
end;
end;
{Edit2.Text := hasil[0];
Edit3.Text := hasil[1];
Edit4.Text := hasil[2];
Edit6.Text := hasil[3]; }
end;
//------
ncombo2 itu untuk menset banyaknya edit dinamis yang untuk input dan output..
nah masalahnya sekarang sayah bisa mengeluarkan edit untuk input tetapi pemisahan nya ga keluar di output dinamis..
more 17 years ago
her1z_yu2n
ehmmm setelahh sayahhh ulak ulikk lagi pagi ini...
ada masalahh lagi yang sayah temukan....
1. Gimana yah biar bisa menangkap variabel yang tanpa koefisien.
contohnya kalo
saya inputkan
a-b-c-d-e=5
yang akan dipisah menjadi
edit2 nya : (kosong)
edit3 nya : -
edit4nya : -
edit5 nya juga : -
harusnya kan
dia tangkap
edit2 nya : 1
edit3 nya : -1
edit4nya : -1
edit5 nya juga : -1.
2. Ehm kalo sayah inputkan
-4a-2b-3c-5d=4
permasalahan terletak pada koefisien variabel dlm persamaan pertama yaitu -4a.
pada waktu pemisahan tidak akan dikeluarkan pada
edit2nya = -4
tetapi malah bergeser ke edit3.
sehingga pemisahan yang lain juga bergeser..
mohon bantuan dan pencerahann nya...
more 17 years ago
DelphiExpert
gunakan prinsip kerja parser seperti w4h703 bilang...
lakukan testing koefisien variabel pada nextchar sebelum mengambil kesimpulan nextchar is minus (-) atau operator, sesuaikan ama kebutuhan dikau...
more 17 years ago
her1z_yu2n
wah222...
sayah ga ngerti nih mas masalah parser generator..
mungkin kalo adahh yang lebih konkret lagih..
gimana??
dimohon bantuannya....
more ...
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 4 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 5 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
- Query SQL di delphi
by divanda in Lain-lain more 17 years ago - Asking...???JPG
by latto in Multimedia & Graphic Enhancement more 13 years ago - MAU PESEN BAJU !!!
by padly in Tutorial & Community Project more 16 years ago - [tanya] ISO 8583 Primary Bitmap
by DelphiExpert in Tip n Trik Pemrograman more 18 years ago - Menentukan Peringkat
by mima in Hal umum tentang Pascal Indonesia more 17 years ago - Audio Reccorder
by w11 in Lain-lain more 14 years ago - interupt mikro dan delphi
by willbrig in Enginering more 16 years ago - odbc konection
by eni_ria in Hal umum tentang Pascal Indonesia more 18 years ago - Masih soal pengecekan karakter bkn dikeypress???
by titi3 in Tip n Trik Pemrograman more 15 years ago - error insert.... in Ms Acces
by grounders in Hal umum tentang Pascal Indonesia more 19 years ago