Arsip: Membaca isi file txt/csv berdasarkan baris dan pemisah koma

 
user image
more 15 years ago

bejool

mohon pencerahan.... saya punya file .txt dengan isi seperti dibawah ini :
ABC,DEF,GHI,JKL (baris 1)
................
MNO,PQR,STU,VW,XYZ (baris 5)
.................
ABC,DEF,GHI,JKL (baris 8)
misalnya saya mau menampilkan teks diantara koma setelah koma yg ke-2, cth :
GHI JKL
VW XYZ
GHI JKL
Masih bingung bagaimana cara membaca isi file dan mendapatkan teks berdasarkan baris dan delimiter koma nya.... :oops: bisa dibantu...... ?
user image
more 15 years ago

herux

paling gampang sih pake TStringList
user image
more 15 years ago

n3o_cybertech

contoh pake TStringList untuk misah string dengan delimiter

var
 function PisahString(strSource,Delimiter: string ; _index: integer): string;
  var
   slTemp: TStringList;
 begin
  slTemp := TStringList.Create;
  try 
   slTemp.Text := StringReplace(strSource,',',#13,[rfReplaceAll]);
   result := slTemp[_index];
  finally
   slTemp.Free; 
  end;
 end;
user image
more 15 years ago

bejool

Saya coba-coba coding spt ini :

......
        Lines := TStringList.Create;
        filename:=ExtractFilePath(Application.ExeName)+'report.txt';
        Lines.LoadFromFile(filename);
        Table1.Edit;
        Table1.Append;
        S  := Lines[1]; //misal baris 1
        P  := Pos(',',S);
        S2 := Copy(S, 1 ,P - 1);
        Table1.FieldByName('data_satu').Value:=S2;
        S  := Lines[3]; //misal baris 3
        P  := Pos(',',S);
        S2 := Copy(S, 1 ,P - 1);
        Table1.FieldByName('data_dua').Value:=S2;
        Table1.Post;
.......
tapi hasil yg didapat : field_satu field_dua ABC ABC masih gelap nih ....
user image
more 15 years ago

bejool

membaca barisnya (hanya pada baris: 1,3,8,dst..), kemudian ambil data pada posisi koma yang ke 2.. ??
user image
more 15 years ago

DelphiExpert

lha iya itu joool... @n3o_cybertech udah kasih solusinya... mbok ya dicoba dulu sebelum bercandaaa...
user image
more 15 years ago

bejool

@DelphiExpert udah bos... masih blm ketemu, maap ya bos... @n3o_cybertech mas bisa dijelasin gak logika functionnya ? saya dodol sih...
user image
more 15 years ago

eksant

function cRemoveStringWithByte(aString, aSepChar: string; aTokenNum: Byte):
    string;
var
  Token: string;
  StrLen,Num,EndofToken: Integer;
begin
  StrLen := Length(aString);
  Num := 1;
  EndofToken := StrLen;
  while ((Num <= aTokenNum) and (EndofToken <> 0)) do
  begin
    EndofToken := Pos(aSepChar, aString);
    if EndofToken <> 0 then
    begin
      Token := Copy(aString, 1, EndofToken - 1);
      Delete(aString, 1, EndofToken);
      Inc(Num);
    end else
      Token := aString;
  end;
  if Num >= aTokenNum then
    Result := Token
  else
    Result := '';
end;
pemakaiannya dari contoh kasus:
cRemoveStringWithByte('ABC,DEF,GHI,JKL', ',', 2);
monggo...dikembangkan lagi biar mekar bunganya
user image
more 15 years ago

bejool

@eksant makasih... coba dulu ya
more ...
  • Pages:
  • 1
Share to
Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com