Q&A

  • text화일 생성시 숫자 앞에 0을 붙이는 방법
아시는 분은 답변을 부탁드립니다.



화일 생성시 숫자 앞에 0을 붙이려고 하는데 잘 않되네요...

예를 들어 0000013 이런식으로 할려고 하는데

방법을 모르겟네요..

그리고 화일 생성시 화일명에 월일을 입력하는 방법도 설명해 주시면

감사에 감사하겠습니다.

고수님들의 많은 부탁 드립니다.



아래는 프로그램 구분입니다.





procedure TE_1Form.BitBtn2Click(Sender: TObject);

var

i : integer;

s_num : String;

count_i : integer;

new_count : integer;

term_count : integer;

szBankFile : String;

fpfile : TextFile;

szBuffer : String;

szHdBuffer : String;

szFtbuffer : String;

BBank : String;

yydate : string;

dddate : String;

Bspay : String;



begin

// sPaperDate := FormatDateTime('yyyymmdd', now);

Screen.Cursor := crHourglass;

if (BankQuery.RecordCount = 0) then begin

ShowMessage('조회를 먼저 하신 다음 계좌생성을 하세요.');

Screen.Cursor := crDefault;

exit;

end;

Bspay := '';

S_num := '1';

szHdBuffer := '';

BBank := '9972210089';

yydate := FormatDateTime('yymmdd', now);

dddate := FormatDateTime('mmdd', now);

szBankFile := GetCurrentDir + 'upEA13.dat'; <==== 요기가 화일명 생성

Assignfile(fpfile, szBankFile);

Rewrite(fpfile);

szHdBuffer := format('H0000000%10s', [BBank]) + format('EA13%4s', [dddate]) + format('%6s', [yydate]) + format('%68s', [Bspay]);

Write(fpfile, szHdBuffer);

Write(fpfile, #13 + #10);



BankQuery.DisableControls;

BankQuery.First;



new_count := 0;

term_count := 0;

count_i := 0;



for i := 1 to bankquery.RecordCount do begin

szbuffer := '';

count_i := count_i + 1 ;

if trim(BankQuery.FieldByName('user_payway').AsString) = '1' then begin

new_count := new_count + 1;

end else begin

term_count := term_count + 1;

end;

szbuffer := Format('R%7d', [count_i]) + <=== 요기가 숫자앞에 0을

Format('%10s', [BBank]) +

Format('%6s', [yydate]) +

Format('%1s', [trim(BankQuery.Fieldbyname('user_payway').AsString)]) +

Format('%3s', [BankQuery.FieldByName('group_code').AsString]) +

Format('%3s', [BankQuery.FieldByName('user_group').AsString]) +

Format('%-14s', [BankQuery.FieldByName('user_code').AsString]) +

Format('%-6s', [BankQuery.FieldByName('user_transbank').AsString]) +

Format('%-16s', [BankQuery.FieldByName('user_transcode').AsString]) +

Format('%-16s', [BankQuery.FieldByName('user_no2').AsString]) +

Format('%17s', [Bspay]);

Write(fpfile, szbuffer);

Write(fpfile, #13 + #10);

BankQuery.Next;

end;



szFtbuffer := format('T9999999%10s', [BBank]) +

format('EA13%4s', [dddate]) +

format('%7d', [count_i]) + <== 요기가 숫자앞에 0을

format('%7d', [new_count]) +

format('%7d', [0]) +

format('%7d', [term_count]) +

format('%46s', [Bspay]);



Write(fpfile, szFtbuffer);



CloseFile(fpfile);

Screen.Cursor := crDefault;



end;

1  COMMENTS
  • Profile
    권경미 2001.01.05 19:44
    > szBankFile := GetCurrentDir + 'upEA13.dat'; <==== 요기가 화일명 생성



    szBankFile := GetCurrentDir + 'up'+formatdatetime('yyyymmdd',date)+'EA13.dat';





    > szbuffer := Format('R%7d', [count_i]) + <=== 요기가 숫자앞에 0을

    szbuffer := formatfloat('0000000000',123) +



    이렇게 해보시져?



    허접 답이었습니다....^^