Arsip: (ask) mengatur posisi teks di delphi

more 16 years ago
gembel_retro
Dear rekan-rekan pecinta Delphi
Perkenalkan saya penduduk baru disini :) saya baru belajar Delphi (Delphi 7) dan ingin bertanya kepada rekan-rekan.
Begini ceritanya,
Saya sudah membuat teks file (create new text file) dari Delphi, dan saya ingin menulis data ke teks file tersebut dengan data yang ada di database
(ms Access 2003). Namun posisi di teks filenya bisa di setting.
contoh: nama tabel : Mahasiswa,
fieldnya adalah: NIM (number), Nama (text), Nilai (Number)
Pertanyaanya adalah: Bagaimana caranya agar di teks filenya bisa kita atur seperti ini ? :
kolom 1 s/d 3 untuk NIM
kolom 4 untuk spasi
kolom 5 s/d 15 untuk Nama
kolom 16 untuk spasi
kolom 17 s/d 19
jadi maksimum panjang 1 baris didalam teks file ada 19 karakter untuk 1 record
saya menggunakan AdoConnection untuk connect ke ms accesnya, TMemo untuk menampung datanya
contoh source codenya :
var
x:integer;
NIM:integer;
Nama:string;
Nilai:integer;
begin
{AdoDataset Name= DS1, TMemo Name=mm}
DS1.Active:=False;
DS1.CommandText:='select * from Mahasiswa order by NIM';
DS1.Active:=True;
if DS1.Recordcount >0 then
begin
DS1.First;
for x:=1 to DS1.RecordCount do
begin
NIM:=DS1.FieldByName('NIM').AsInteger;
Nama:=DS1.FieldByName('Nama').AsString;
Nilai:=DS1.FieldByName('Nilai').AsInteger;
{tulis ke memo}
mm.Lines.Add('........'); { yang ini saya masih bingung untuk mengatur posisi yang sudah ditentukan}
DS1.Next;
end;
{kalau sudah di memo semua tinggal export isinya ke teks file}
end;
end;
Demikian pertanyaanya, maklum agak panjang mudah-mudahan bisa dimengerti maksudnya ^_^
Mohon maaf jika hal ini sudah pernah ada yg bertanya sebelumnya, sudi kiranya untuk memberikan linknya jika para suhu tak keberatan
Terima kasih :)
more 16 years ago
mas_kofa
function TForm1.FitString(str: string; x: integer): string;
begin
result := copy(str + DupeString(' ', x), 1, x);
end;
function TForm1.CombineField(Nim, Nama, Nilai: string): string;
begin
result := FitString(Nim, 3) + ' ' + FitString(Nama, 11) + ' ' + FitString(Nilia, 3);
end;
procedure TForm1.Button1Click(sender: TObject);
var
x:integer;
NIM:integer;
Nama:string;
Nilai:integer;
begin
{AdoDataset Name= DS1, TMemo Name=mm}
DS1.Active:=False;
DS1.CommandText:='select * from Mahasiswa order by NIM';
DS1.Active:=True;
if DS1.Recordcount >0 then
begin
DS1.First;
for x:=1 to DS1.RecordCount do
begin
NIM:=DS1.FieldByName('NIM').AsInteger;
Nama:=DS1.FieldByName('Nama').AsString;
Nilai:=DS1.FieldByName('Nilai').AsInteger;
{tulis ke memo}
mm.Lines.Add(CombineField(Nim, Nama, Nilai));
DS1.Next;
end;
{kalau sudah di memo semua tinggal export isinya ke teks file}
end;
end;
Smoga bermanfaat........
more 16 years ago
gembel_retro
Alhamdulillah terima kasih atas solusinya, semoga doa dan cita-cita mas_kofa dikabulkan oleh yang Maha Kuasa Amiinn :)
btw, tadi sempet bingung juga dengan error pada fungsi DupeString ternyata nyari di forum ini ada solusinya yaitu di tambahkan dulu StrUtils di bagian Uses-nya.
Saya mo tanya lagi ya (bolehkan,ya, ya,ya :D ) Berapa maksimum record yg bisa ditampung oleh TMemo? saya asumsikan record di database berjumlah 700 ribu record apakah nanti bermasalah atau tidak?
sekali lagi Jazakallah khairan katsiro,terima kasih banyak, matur nuwun

more 16 years ago
mas_kofa
1. Alhamdulillah, Amien atas Do'anya...dan Terima Kasih..
2. TMemo berisi TStrings, TStrings adalah kumpulan dari string, dimana sebuah string mampu menampung data hingga 1 GB..., saya kira cukup untuk menyimpan data 700 ribu record..., tp resikonya aplikasi jd lambat...
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
- rave : dtmemo dan dtstring
by strijaya in Reporting more 15 years ago - Mainmenu & toolbar
by sandy in Hal umum tentang Pascal Indonesia more 14 years ago - Refresh semua aplikasi apabila ada perubahan di database
by irfan_nh in Network, Files, I/O & System more 15 years ago - HELP
by purwa in Hal umum tentang Pascal Indonesia more 17 years ago - software FastFood
by am4tiranDelphian in Bedah Kasus more 16 years ago - blajar ZQuery
by luq_h in MySQL more 13 years ago - Bagaimana Login dengan User Dari MySQL
by jainul in MySQL more 13 years ago - Login password dgn ADO
by camp_sire in Tip n Trik Pemrograman more 17 years ago - Menutup Aplikasi
by deLogic in Enginering more 19 years ago - Delphi-id masuk koran
by ip4nk in Hal umum tentang Pascal Indonesia more 18 years ago