Q&A

  • 텍스트화일로 저장할때요...
아래처럼 txt화일을 만들려고 하는데요...각 필드마다 정해진 길이로 만들고 싶거든요..
그러니까 예를 들어서 member_id는 14자리로 앞쪽에는 공백이나 0으로 채워지구요..., korean_name은 20자리로 뒷쪽이 공백이나 0으로 채워지구요...그러게 하려면 어떻게 해야 하는지...
가르쳐 주세요....

procedure TForm1.Button1Click(Sender: TObject);
var
  Str       : String;
  sResult   : String;
  File_List : TStringList;

begin
  File_List := TStringList.Create;

  Str   := 'select c.member_id, m.korean_name, b.bank_name, c.account_no, c.start_date, ';
  Str   := Str + 'c.end_date, c.pay_amount ';
  Str   := Str + 'from cms_main c,member m,cd_bank b ';
  Str   := Str + 'where c.member_id=m.member_id and c.bank_cd=b.bank_cd' ;

  try
      ADOQuery_SQL.Close;
      ADOQuery_SQL.SQL.Clear;
      ADOQuery_SQL.SQL.Add(Str);
      ADOQuery_SQL.Open;
      ADOQuery_SQL.First;
  except
      showmessage(' 쿼리문이 검사해 보새요' + #13#10 + Str);
  end;

  if ADOQuery_SQL.RecordCount <> 0 then
  begin
    while ADOQuery_SQL.EOF = false do
    begin
          str := Trim(ADOQuery_SQL.FieldByName('member_id').AsString);
          sResult := Str;

          str := Trim(ADOQuery_SQL.FieldByName('korean_name').AsString);
          sResult := sResult + Str;

          str := Trim(ADOQuery_SQL.FieldByName('bank_name').AsString);
          sResult := sResult + Str;

          File_List.Add(sResult);

          ADOQuery_SQL.Next;

    end;
  end;

  File_List.SaveToFile('ddd.txt');
  File_list.Destroy;
end;
1  COMMENTS
  • Profile
    KDDG_hyun 2003.02.05 03:45
    Copy(str + '00000000',1,14)

    이런식으로 0을 붙인다음에 짤라주세요;;

    아니면

    FormatFloat('00000000000000',필드)
    해주셔두 되구염;;

    도움이 되셨기를..