Arsip: Tanya tenteng Copy String

more 16 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 16 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 16 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 16 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 16 years ago
krishy
Thank's Bro atas infonya. aku dah download. aku coba dech smoga aja bisa. skli lagi thank infonya...

more 16 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 16 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 16 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
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
- Tanya, cara untuk mencari data?
by denih in Hal umum tentang Pascal Indonesia more 16 years ago - Buat Chanel di Dalnet
by DeulleDo-X in Hal umum tentang Pascal Indonesia more 17 years ago - pixel
by lela in Hal umum tentang Pascal Indonesia more 16 years ago - Permasalahan dengan gammu
by gita in Tip n Trik Pemrograman more 14 years ago - Cukup Sudah. Kekejaman mesti dimulai (kembali)
by LuriDarmawan in OOT more 15 years ago - TIP: Meningkatkan Proses Startup IDE Delphi 2005
by deLogic in Tip n Trik Pemrograman more 17 years ago - STringGrid kr edit box
by bogem in Tip n Trik Pemrograman more 16 years ago - Mengambil Nilai datetime dari sebuah folder / direktori
by johny in MsSQL more 15 years ago - Instant messenger untuk sistem informasi tersebar
by astika in Tip n Trik Pemrograman more 12 years ago - program GCD pake GUI.. tolongin..
by mssetyawati in Hal umum tentang Pascal Indonesia more 16 years ago