Arsip: find karakter in array

more 17 years ago
viq_01
dear delphi master, newbie butuh bantuan nih. mungkin konyol, mohon dimaklumi.
apa ada fungsi untuk mencari banyaknya suatu karakter dalam array. mis : array isinya {'1','2','2','1','3','4','4'}. kalo di mysql kan ada fungsi FIND_IN_SET, utk data '3' berarti hasilnya 1. piye kalo find_in_set utk array?
Terimakasih sebelumnya

more 17 years ago
_lmz
@viq_01: dear delphi master, newbie butuh bantuan nih. mungkin konyol, mohon dimaklumi. apa ada fungsi untuk mencari banyaknya suatu karakter dalam array. mis : array isinya {'1','2','2','1','3','4','4'}. kalo di mysql kan ada fungsi FIND_IN_SET, utk data '3' berarti hasilnya 1. piye kalo find_in_set utk array? Terimakasih sebelumnyaWow. Set apakah yang di dalamnya bisa duplikat? Ini fungsinya (untested). tidak tahu ada yang builtin tidak.
function find_in_set(the_set : array of char; char_to_find : char) : integer;
var i : integer;
begin
Result := 0;
for i := low(the_set) to high(the_set) do
if the_set[i] = char_to_find then Inc(Result);
end;

more 17 years ago
viq_01
sorry mas, sy salah. FIND_IN_SET, FIELD, dan INSTR tuh untuk posisi suatu string dalam daftar string, set string, atau string lainnya. bukan jumlahnya.
btw, fungsinya sepertinya IW (It works) :)
Thx yah..

more 17 years ago
cikumiyu
Mungkin akan jadi lebih tepat kalau dimodifikasi begini:function find_in_set(the_set : array of char; char_to_find : char) : integer; var i : integer; begin Result := 0; for i := low(the_set) to high(the_set) do if the_set[i] = char_to_find then Inc(Result); end;
function find_in_set(the_set : array of char; char_to_find : char) : integer;
var i : integer;
begin
Result := -1;
for i := low(the_set) to high(the_set) do
if the_set[i] = char_to_find then
begin
Result := i;
Exit;
end;
end;
Inisialisasi Result dibuat -1 agar jika nilai fungsi find_in_set ada kembaliannya jika tidak chat yang dicari tidak ditemukan. Kalau diinisialisasi dengan 0, bisa berarti tidak ditemukan atau ditemukan pada index ke-0.
Penambahan procedure Exit dimaksudkan agar fungsi find_in_set segera keluar setelah chat ditemukan. Prinsipnya, pencarian tidak perlu dilanjutkan jika yang dicari telah ditemukan. :)
Yang ke tiga, saran saya, biasakan untuk tidak menggunakan garis bawah sebagai konvensi untuk menamakan apapun, kecuali untuk konstanta. Walaupun borland tidak pernah secara resmi mengeluarkan Naming Convention yang standar, tapi beberapa text book delphi yang pengarangnya adalah juga developer senior di delphi menyarankan beberapa konvensi untuk penamaan yang mungkin bisa kita jadikan standar.
Sehingga jika mengikuti konvensi tersebut, fungsi find_in_set akan menjadi:
function FindInSet(ACharSet: array of char; ACharToFind: Char): Integer;
var
i: Integer;
begin
Result := -1;
for i := Low(ACharSet) to High(ACharSet) do
if ACharSet[i] = ACharToFind then
begin
Result := i;
Exit;
end;
end;
Semoga ada manfaatnya. :)
more 17 years ago
_lmz
@viq_01: dear delphi master, newbie butuh bantuan nih. mungkin konyol, mohon dimaklumi. apa ada fungsi untuk mencari banyaknya suatu karakter dalam array. ...Katanya dia mencari banyaknya karakter, bukan posisi. Lihat juga contohnya. Bagaimana bisa hasilnya 1 kalau yang dicari indexnya :). Nama fungsi yang menipu, atau mungkin salah tulis saja, mengingat find_in_set yang asli mengembalikan index dari string yang dicari :).

more 17 years ago
cikumiyu
ck ck ck ... Bener-bener menipu. Yang seperti ini nih yang ngga boleh. Ngasih nama segala sesuatu, baik itu nama operasi atau nama variable harus mencerminkan maksud dari variable/operasi itu sendiri. Kalo dilihat dari argument funsinya kan ada char_to_find. Berarti itu artinyakan mau cari karakternya kan? :D

more 17 years ago
viq_01
@viq_01: sorry mas, sy salah. FIND_IN_SET, FIELD, dan INSTR tuh untuk posisi suatu string dalam daftar string, set string, atau string lainnya. bukan jumlahnya. btw, fungsinya sepertinya IW (It works) :) Thx yah..awalnya memang kesalahan sy yg menggunakan FIND_IN_SET padahal maksudnya bukan itu. mas _lmz sudah berbaik hati memberikan solusi dengan membuat function yg sy maksud. barangkali nama fungsinya aja yg diganti biar pas. thx 4 all
more ...
- Pages:
- 1
reply |
Report Obsolete
AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now:
https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD
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
- Nilai Sukses Bagi Programmer
by n3o_cybertech in OOT more 16 years ago - mo tanya fungsi return
by NggotMan in Hal umum tentang Pascal Indonesia more 17 years ago - tanggal lahir tidak mau disimpan dalam database
by ricky_seldjatem in Tip n Trik Pemrograman more 17 years ago - Connect lazarus ke mysql , tanya.
by mambamaestro in MySQL more 16 years ago - tanya Fast Report [Lagi...]
by irmains in Reporting more 15 years ago - TServerSocket
by cikumiyu in Bedah Kasus more 17 years ago - looping bulan(pusing bgt)..............
by or4n3 in Hal umum tentang Pascal Indonesia more 17 years ago - Saran: Tambah Sub Regional
by cyber_hecker in Kritik & Saran more 16 years ago - Fungsi Aritmatika Untuk waktu
by die_yarn in Tip n Trik Pemrograman more 18 years ago - Query SQL (UDAH BUNTU NIH...)
by $tring in MySQL more 15 years ago