Arsip: Tanya tenteng Copy String

more 18 years ago
krishy
saya lg bikin TA, punya masalah pada pembacaan text dari SMS nya.
Namapeternak_namabakul_NoSPPA_Ekor_Kg ==> (format penulisan SMS yang dikirim ke server)
text tersebut saya simpan dlm var string dgn perintah copy string.
yg jadi masalah nama peternak dan nama bakul kan gak selalu sama. misal SMS 1 = ngadiono wagimin 0001 50 10
SMS 2 = ngadino wagesam 0002 30 15
gimana caranya bisa membaca nama peternak dan nama bakul yg akan disimpan dlm var string agar nama peternak dan nama bakul dpt tersimpan dlm var string. dengan perintah / prosedur seperti apa.
mohon bantuan rekan - rekan
saya ucapkan terima kasih .....

more 18 years ago
_lmz
@krishy: gimana caranya bisa membaca nama peternak dan nama bakul yg akan disimpan dlm var string agar nama peternak dan nama bakul dpt tersimpan dlm var string. dengan perintah / prosedur seperti apa.Cara yang susah dan membosankan ya dengan mencari dulu lokasi spasi sebagai pemisah (dengan fungsi Pos), lalu ambil teks dari awal string sampai spasi itu (dengan fungsi Copy). cari lokasi spasi berikutnya lalu potong lagi dan seterusnya... Sebagai alternatif (sekalian kesempatan saya belajar :wink:) ini ada potongan program menggunakan library/komponen TRegExpr.
implementation
uses RegExpr;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var re : TRegExpr;
begin
re := TRegExpr.Create;
re.Expression := '^(\S+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)';
if re.Exec(Edit1.Text) then begin
ShowMessage(Format('Namapeternak: %s namabakul: %s NoSPPA: %s Ekor: %s Kg: %s',
, re.Match[2], re.Match[3], re.Match[4], re.Match[5]]));
end
else begin
ShowMessage('Format salah');
end;
re.Free;
end;
Dengan regular expression di atas maka dapat menangani lebih dari satu spasi di antara field, dan dapat memastikan bahwa NoSPPA, Ekor, dan Kg berupa angka :D asyik juga...
more 18 years ago
kaka-delphi
OOT :
@_lmz
thx bro for your info's about TRegExpr, sumpeh diriku baru kenal sama nich lib .... :lol: cause diriku masih pake cara primitf ..... :D
rupanya diriku kurang googling nich ..... :D

more 18 years ago
_lmz
@kaka-delphi:
Yah, memang biasanya yang pakai regular expression adalah programmer PHP, Javascript, Perl atau bahasa scripting lainnya, tapi konsepnya memang powerful dan cocok untuk memproses teks. Kalau ingin mendalami, buku referensi yang umumnya disarankan adalah Mastering Regular Expressions karya Jeffrey Friedl. Saya belajar dari buku itu (kebetulan ada di perpustakaan).

more 18 years ago
krishy
Thank's Bro atas infonya. aku dah download. aku coba dech smoga aja bisa. skli lagi thank infonya...

more 18 years ago
krishy
Bro, gimana kalo mo misah string yg dibatasi dengan karakter#.
misal formatnya nama_peternak#nama
_bakul#No_SPPA#Ekor#Kg
Isi Stringnya
karjo#Paimin#0001#25#250#
tolong bantuan dari rekan rekan ...

more 18 years ago
kaka-delphi
Bisa memkai cara klasik seperti berikut :
var
st: array of string;
sKata, sHasil: string;
i,j: integer;
begin
sKata:= 'karjo#Paimin#0001#25#250#';
sHasil:= '';
j:= 0;
// Lakukan looping untuk mengkopi karakter
for i:=1 to Length(sKata) do
begin
// jika tidak ketemu karakter '#'
if sKata[i] <> '#' then
sHasil:= sHasil + sKata[i]
else
// jika ketemu karakter '#' kopikan string
// yg telah terkumpul ke array string
begin
j:= j+1;
// Alokasikan untuk indeks array baru
SetLength(st,j);
st[j-1]:= sHasil;
sHasil:= '';
end;
end;
end;
Dari hasil rutin di atas, maka string sumber(sKata) tersimpan dalam array dinamis seperti berikut :
st[0] -> 'karjo'
st[1] -> 'Paimin'
st[2] -> '0001'
st[3] -> '25'
st[4] -> '250'
Untuk referensi array dinamis, bisa ke thread berikut : http://pascal-id.org/thread/unknown/1250/view-old-thread/
Mungkin bisa membantu ...
more 18 years ago
krishy
:wink:
bro smua dah aku coba cara diatas 'n berhasil.thanks .....
aku juga coba pake prosedure sperti ini :
procedure TForm1.Button1Click(Sender: TObject) ;
var
A: TStringList;
begin
A := TStringList.Create;
try
Split(' ', 'karjo Paimin 0001 25 250', A) ;
ShowMessage(a[0]) ; //karjo
ShowMessage(a[1]) ; //paimin
ShowMessage(a[2]) ; //0001
ShowMessage(a[3]) ; //25
ShowMessage(a[2]) ; //250
finally
A.Free;
end;
end;
procedure Split
(const Delimiter: Char;
Input: string;
const Strings: TStrings) ;
begin
Assert(Assigned(Strings)) ;
Strings.Clear;
Strings.Delimiter := Delimiter;
Strings.DelimitedText := Input;
end;
aku coba 'n Alhamdulillah berhasil ....
thank bantuannya ......
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
- Preview Quick Report
by vikraa in Reporting more 17 years ago - bagaimana cara reset tanpa menutup aplikasi ???
by trisfani in Hal umum tentang Pascal Indonesia more 14 years ago - error di macOS
by dannyong1999 in Tip n Trik Pemrograman more 18 years ago - mejumlahkan record terbanyak dari yg trbanyak
by nurez in MySQL more 17 years ago - Create DLL Database Application
by rtl_gitulho in Lain-lain more 17 years ago - Buat In dan Out dengan Port Parallel
by shehoxs in Enginering more 18 years ago - contoh akses web cam
by diah_intan in Multimedia & Graphic Enhancement more 17 years ago - [OOT] ucapan syukur dari para pendekar delphi-id.org
by ImanD in OOT more 14 years ago - Detect Caps lock On ?
by debby in Hal umum tentang Pascal Indonesia more 17 years ago - [ask]menampilkan table kategori kedalam treeview??
by gedoyman in MsSQL more 16 years ago