Q&A

  • [레코드값 -> TXT파일]에서 '오후 4:20:30' 말고 '16:20:30'로 하려면 어떻게 해야 하나요?

안녕하세요.
어려운 점이 많아서 또 글을 올립니다.

현재 파이어버드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파일로 저장도 많이 헤맸는데, 이것도 어렵네요;;
하면 할수록 모르는 게 생긴다죠;;


2  COMMENTS
  • Profile
    오경용 2009.07.30 10:26
    LongDateFormat := 'yyyy-MM-dd';
    LongTimeFormat := 'hh:mm:ss';
    ...
    ...
    if Fields[i].FieldName = 'dtDate1' then
    Write(F, DateTimeToStr(FieldByName('dtDate1').AsDateTime))
    else
    Write(F, Fields[i].AsString);
    Write(F, '|');
    ...
    ...
  • Profile
    윤영훈 2009.08.09 22:15
    오오- 감사합니다.
    TStringList로 자르고 오후가 나오면 +12하는 등으로 해서 복잡하게 만들었던 부분이 깔끔하게 해결되는군요~
    • 하늘사랑
      2009.08.11 01:57
      문제 해결했습니다 모두 감사드립니다 ^^
    • 김동원
    • 2009.08.10 18:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_Apine
      2009.08.12 04:04
      정확히 이해가 가지 않습니다. 프로시져는 반복문으로 처리 하기 위해 만드는 것이고 같은 것이라면 ...
    • 김동원
      2009.08.14 18:13
      답변 감사드립니다. 추후에 자세히 올리도록 하겠습니다.꾸벅
    • 백록화
      2009.08.11 01:13
      보기 를 할경우엔 줄바꿈이 그대로 보여지고... 검색해서 보여줄땐 줄바꿈이 없이 보여준다는 말씀이신...
    • 구창민
      2009.08.11 02:25
      안녕하세요.. 엄밀히 말하면 이미지를 넣는것이 아니고.. 포인터를 기억하는 것이겠지요.. 추가시는 ...
    • 이은주
      2009.08.11 19:38
      ^ 사용하지 않은 이런 형태로도 포인터를 기억하게 하는 것인가 보군요. 감사합니다.
    • 장용석
    • 2009.08.07 20:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2009.08.07 21:03
      2007 입니다~ www.devtools.co.kr 로 문의 해보세요 ㅋ
    • 이정욱
      2009.08.07 21:03
      혹시나 새로 프로젝트를 하는거라면 당연히 2009 를 추천하구요... 2010도 좋다는 소문이 있습니다.
    • 바람
      2009.08.07 23:43
      Serial Component를 잘 사용해 보지 않아서 에러 이유는 모르겠지만 제가 기억하고 있는 MS-Dos S...
    • 타마마
      2009.08.12 00:36
      간단한 문제가 아니라 설명드리기 난해하긴 한데.. 해당 컴포넌트가 CreateFile을 사용했는가, DeviceIo...
    • 이경원
    • 2009.08.07 19:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.08.07 23:14
      except 구문속을 아래처럼 수정하시고, 에러 내용을 로그로 남겨 확인해보세요.. except on E : Ex...
    • 하늘사랑
      2009.08.07 03:31
      글올리고 하나보니.. 다시질문드릴께요 ㅠㅠ;; <p0 AVG="0.28"> 이부분에서 0.28 이란 값이없...
    • 하늘사랑
      2009.08.07 19:20
      에구.. 답글이 없내요 ㅠㅠ;; 그냥 except처리해버렸는뎅.. ㅠㅠ;; 또한가지 <p0 AVG="0.28"> ...
    • 구창민
      2009.08.07 23:21
      안녕하세요.. XMLDocument 를 사용하셨다 가정하구 말씀드릴께요~ p0 노드까지 구해내셨다면, 아래...
    • 하늘사랑
      2009.08.10 20:11
      답변 감사드립니다 ^^ 가져오는거 하고 수정하는것도 다 처리했습니다 ^^;;; 글을 늦게 봤내요 ㅠㅠ;;;...
    • 구창민
      2009.08.11 00:25
      안녕하세요.. 노드까지 찾으셨다면.. for 문은 사용하실 필요없고요.. 단순히 아래 문장을 호출 하시...
    • 하늘사랑
      2009.08.11 01:56
      답변감사합니다 ^^ 문제해결했습니다 정말 감사드립니다 ^^
    • 최용일
      2009.08.04 20:12
      WM_USER + 100로 검색해서 메세지핸들러를 찾으시고 디버깅을 해보세요. 쩝~ 질문하신것을 보니 책한권...
    • 초보자
      2009.08.04 22:09
      책을 보라면 API관련책을 말씀하시는건지요? 가르쳐주는 사람없이 혼자 해나가려니 힘이드네요~
    • 최용일
      2009.08.03 22:12
      기존 연결을 끊고 해보세요.
    • 델델
      2009.08.12 02:43
      myDB.Database1.KeepConnection :=false; 이 부분이 기존 연결을 끊는거 아닌가요? ㅠㅠ
    • 최용일
      2009.08.12 17:51
      전혀 아닌데요... Database1.Connected := False;
    • 윤영훈
    • 2009.07.30 04:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 오경용
      2009.07.30 10:26
      LongDateFormat := 'yyyy-MM-dd'; LongTimeFormat := 'hh:mm:ss'; ... ... if Fields[i].F...
    • 윤영훈
      2009.08.09 22:15
      오오- 감사합니다. TStringList로 자르고 오후가 나오면 +12하는 등으로 해서 복잡하게 만들었던 부분이...
    • 유경민
    • 2009.07.30 03:54
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:40
      확인눌렀을때 위의 if문을 전부 확인할수 있게 하고 싶습니다. <-- 의미파악 불명 뭘 확인을 누...
    • 유경민
      2009.08.26 06:25
      ㅎㅎ 죄송해요 답변이 늦었죠 어떻게 쪼물딱 거리니 되더라고요 답변 감사합니다^^
    • 여운병
      2009.07.31 00:24
      어떤 오류인지 알아야 답변 가능할 것 같은데요? 소스코드라도...
    • 박찬석
      2009.07.31 00:55
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Men...
    • 여운병
      2009.07.31 01:42
      uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, M...
    • 소울해커
      2009.08.05 18:47
      델파이에서 필드를 불러올때 인덱스 값으로 불러오시면서 Suju 테이블의 필드 수를 초과해서 지정하신...
    • 유경민
    • 2009.07.29 11:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2009.08.05 18:42
      전역 키보드 후킹에 대하여 공부하셔야 될 겁니다. 그런데 뭘 만드시기 위해 고런 형태가 필요하신지....
    • 유경민
      2009.08.07 01:26
      출결 프로그램 만들고 있습니다. 컴퓨터가 2대면 상관없는대 출결프로그램 구동시 다른작업을 할수 없기...
    • 임대순
      2009.07.27 23:37
      흠...레코드카운더면 될꺼 같은데요...이상 초보의 답변있었습니다.
    • 백록화
      2009.07.28 20:45
      A로 시작하는거 Select 회원코드필드 from tbl_name where 회원코드필드 like 'A%'; max 함수로 ...
    • 정락문
      2009.07.28 22:22
      백록화님이 하신 것 처럼... 모방을 하면 조건절에 이렇게 들어가도 될 듯 해요. Select 회원코드필드 ...
    • phono
      2009.07.29 07:30
      일단 파이어버드는 인터베이스랑 거의 같은 sql을 쓸텐데.. , 일단 지금 제가 사용하고 있는 db가 ms-...
    • 윤영훈
      2009.07.29 19:02
      사실은 방법을 못찾다가 A, B, C를 구분하는 새로운 필드를 하나 더 만들어서 검색하고 있었는데, 좋은 ...
    • 얼씨구
    • 2009.07.25 19:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 정락문
      2009.07.28 22:29
      델파이 코딩으로 하려면, 제일 단순한 방법은 2개의 DB에 접근해서 처리하는 거죵. 1. 10분 주기로 프...