Arsip: Regex string dari file di Delphi sukses, tapi berat?
more 15 years ago
dels
kk terhormat,
salam kenal dari anak baru, saya adalah programmer setia Delphi (sebelumnya Pascal) dari tahun 2004, biasanya sih saya nangkring di newsserver-nya borland untuk diskusi masalah2 programming di Delphi.
kebetulan saya ada sedikit masalah mengenai Regular Expression (Regex) di Delphi (dan di newsserver borland belum ada tanggapan). saya membuat sebuah kode program yang diharapkan mampu mengambil string (ekstraksi data) dari file raw. kode yang sekarang ada sudah mampu melakukan ekstraksi dengan sempurna, hanya saja ada 1 masalah yaitu penggunaan memory yang cukup besar ketika membuka file di atas 100 MB (karena file-nya dan stringlistnya diload ke memory).
yang diharapkan sih penggunaan memori-nya bisa lebih ringan tapi tidak mengorbankan kecepatan aplikasi. ya kalo bisa sih operasinya di bawah 1 menit kaya klo ngeregex pake RegexBuddy (http://www.regexbuddy.com/, kebetulan yg bikin aplikasi sama dgn yg buat komponen)
saya menggunakan komponen TPerlRegExp : http://www.regular-expressions.info/delphi.html
terima kasih,
Dels
kode programnya sederhana, mohon jgn ketawa :D soalnya saya masih baru dalam urusan Regex :
var
FS : TFileStream;
BUFF : string;
Size : integer;
MatchStr : TStringList;
begin
//anggap pattern sudah ditentukan sebelumnya
if OpenDialog1.Execute then
begin
FS := TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
MatchStr := TStringList.Create;
Size := FS.Size;
SetLength(BUFF, Size);
FS.Read(BUFF[1], Size);
PRE.Subject := BUFF; //TPerlRegExp, http://www.regular-expressions.info/delphi.html
try
if PRE.Match then
begin
MatchStr.Add(PRE.MatchedExpression);
repeat
MatchStr.Add(PRE.MatchedExpression);
until not PRE.MatchAgain;
end;
finally
MatchStr.Free;
FS.Free;
end;
ShowMessage('Done'); // kasih tau klo udah beres
end;
end;
more 15 years ago
DelphiExpert
anda harus ganti library, cari yg support direct-process dari stream...
more 15 years ago
DelphiExpert
TRegExpr juga tidak support direct process from stream, see: then input string type was RegExprString = AnsiString;
more 15 years ago
_aa_
iya sori, saya gak bilang dari stream koq. itu cuma alternatif.
yang saya tangkep librarinya bung @dels kan pake tstrings,
kalo tregexp pake string biasa, bisa dibuffer sama tstringstream.
(tapi saya sendiri gak pernah coba pake intermediary seperti itu sih)
more 15 years ago
dels
saya dgr sih ada komponen yg bisa baca dari stream langsung yaitu DIRegEx, sayangnya ga gratis :
http://www.yunqa.de/delphi/doku.php/products/regex/index
more 15 years ago
DelphiExpert
yup... benar sekali... yah... ngga' apa2 bayar utk jerih payah orang lain, kecuali anda bikin sendiri ngga' perlu bayar :lol:
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 3 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 3 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 11 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 11 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 11 years ago
Random Topic
- S1 or kerja???
by n3o_cybertech in Hal umum tentang Pascal Indonesia more 16 years ago - cara baca string per karakter
by yoppie in Hal umum tentang Pascal Indonesia more 15 years ago - Help
by oktavianus783 in Tip n Trik Pemrograman more 14 years ago - cara disable cd-rom/dvd-rom?
by not_programmer in Network, Files, I/O & System more 17 years ago - eksekusi paradox dgn sql tanpa install delphi
by elecnok in Paradox more 17 years ago - Form Geser
by nda1312 in Hal umum tentang Pascal Indonesia more 17 years ago - Virus Atau Bukan...Yg Gue Bantai.....xixixixixi
by saysansay in Bedah Kasus more 16 years ago - Report menyamping
by mambamaestro in Hal umum tentang Pascal Indonesia more 14 years ago - bertanya tentang akses excel dan stringgrid
by muharmen in Tip n Trik Pemrograman more 14 years ago - bravo delphi-id
by dngpro in OOT more 14 years ago