안녕하세요.
어려운 점이 많아서 또 글을 올립니다.
현재 파이어버드2.0이랑 델파이2007을 쓰고 있고요.
TBL_A라는 테이블 안에 dtDate1이라는 필드가 있거든요.
타입?은 timestamp이고 MS SQL에서의 datetime형식이랑 같은 걸로 알고 있습니다.
아래처럼 테이블의 레코드값을 TXT파일로 저장하는 데,
dtDate1필드의 값들이 TXT파일 안에
aaaa|12346|..|2009-07-29 오후 4:20:30|... <- 요렇게 저장되더라고요
aaaa|12346|..|2009-07-29 16:20:30|... <- 요렇게 24시간 단위?로 저장하고 싶은데 어떻게 해야하나요?
<!--CodeS-->
// txt파일에 저장하는 부분입니다.
with anyftDataModule.ZQueryA do
begin
Close;
SQL.Clear;
SQL.Add('Select * from TBL_A');
Open;
First;
while not Eof do
begin
for i:= 0 to FieldCount - 1 do
begin
Write(F, Fields[i].AsString);
Write(F, '|');
end;
WriteLn(ExportF, '');
Next;
end; // while end.
Close;
end;
<!--CodeE-->
아, TXT파일을 만들고 사용하려고 위의 코드 전에 요것 먼저 실행하고 있습니다.
<!--CodeS-->
var
F : TextFile;
begin
AssignFile(F, 'C:\Test.txt');
ReWrite(F);
CloseFile(F);
end;
<!--CodeE-->
TXT파일로 저장되는 부분은 문제없이 잘 돌아가고요.
날짜,시간이 찍히는 것에서 24시간 단위로 하고 싶은 거죠.
TXT파일로 저장도 많이 헤맸는데, 이것도 어렵네요;;
하면 할수록 모르는 게 생긴다죠;;
LongTimeFormat := 'hh:mm:ss';
...
...
if Fields[i].FieldName = 'dtDate1' then
Write(F, DateTimeToStr(FieldByName('dtDate1').AsDateTime))
else
Write(F, Fields[i].AsString);
Write(F, '|');
...
...