아시는 분은 답변을 부탁드립니다.
화일 생성시 숫자 앞에 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;
szBankFile := GetCurrentDir + 'up'+formatdatetime('yyyymmdd',date)+'EA13.dat';
> szbuffer := Format('R%7d', [count_i]) + <=== 요기가 숫자앞에 0을
szbuffer := formatfloat('0000000000',123) +
이렇게 해보시져?
허접 답이었습니다....^^