C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[74386] Re:파일 저장 관련해서 문의합니다.
정성훈.해미 [sage5nor] 3640 읽음    2017-06-01 15:54
타이머에서 cnt를 증가 시킨 이유가 있나요?
말씀하신대로
채널별로 값을 무조건 3개씩 일정하게 출력되게 할려면

타이머에서 cnt 를 증가 시키지 말고
3으로 고정하세요.

반복문을 아래와 같이 수정하면
고정으로 채널당 3개씩 출력할 겁니다.

    for(int i=0; i<3; ++i){
        ocv = "CH" + IntToStr(i+1);
        ir2 = "CH" + IntToStr(i+1);
        for(int j = 0; j<3; j++){      // 수정부분
            try{
                ocv = ocv + "," + "~" + volt[j];
                ir2 = ir2 + "," + "-" + curr[j];
            }catch(...){}

            ir2 = ir2 + "\n";
            ocv = ocv + "\n";
            WriteDataFile(file_reward, ir2);
            WriteDataFile(file_ocv, ocv);
        }
    }


백지상태 님이 쓰신 글 :
: .csv파일로 데이터를 저장합니다.
: 그리고 .csv파일에 저장되는 값이
: CH1 값 값 값
: CH2 값 값 값
: CH3 값 값 값
: 이런식으로 저장이 되어야하는데 현재 제 소스에서는
: CH1 값
: CH2 값
: CH3 값
: CH1 값
: CH2 값
: CH3 값
: 이런식으로 저장이 되는 상황입니다.
: 데이터는 타이머가 실행될때마다 저장이되구요.
: 해결방법이 있을까요?
: 아래는 제 소스입니다.
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:     if(cnt != 0) cnt = 0;
:     Timer1->Enabled = true;
:
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:     Timer1->Enabled = false;
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Timer1Timer(TObject *Sender)
: {
:
:     cnt += 1;
:     Edit1->Text = cnt;
:     DataResult();
:
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::DataResult()
: {
:     AnsiString ir, ocv, ir2;
:     AnsiString file_ir, file_reward, file_ocv, name, dir;
:
:     //0 -> date -> trayid
:
:     name = "C:\\TEST\\";
:     if(!DirectoryExists(name))MkDir(name);
:     name = name + "1" + "\\";
:     if(!DirectoryExists(name))MkDir(name);
:     name = name + Now().FormatString("yymmdd") + "//";
:     if(!DirectoryExists(name))MkDir(name);
:
:     file_ocv = name + Now().FormatString("mmdd_hhnn") + "curr.csv";
:     file_reward = name + Now().FormatString("mmdd_hhnn") + "volt.csv";
:
:     for(int i=0; i<3; ++i){
:             ocv = "CH" + IntToStr(i+1);
:             ir2 = "CH" + IntToStr(i+1);
:             for(int j = 0; j<=cnt; j++){
:             try{
:                 ocv = ocv + "," + "~" + volt[j];
:                 ir2 = ir2 + "," + "-" + curr[j];
:             }catch(...){}
:
:             ir2 = ir2 + "\n";
:             ocv = ocv + "\n";
:             WriteDataFile(file_reward, ir2);
:             WriteDataFile(file_ocv, ocv);
:             }
:     }
: }
:
: void __fastcall TForm1::WriteDataFile(AnsiString FileName, AnsiString Data)
: {
:
:     AnsiString str;
:     int file_handle;
:
:     if(FileExists(FileName) == false){
:         file_handle = FileCreate(FileName);
:     }
:     else{
:         file_handle = FileOpen(FileName, fmOpenWrite);
:     }
:     FileSeek(file_handle, 0, 2);
:
:     FileWrite(file_handle, Data.c_str(), Data.Length());
:     FileClose(file_handle);
: }
:
:

+ -

관련 글 리스트
74380 파일 저장 관련해서 문의합니다. 백지상태 3668 2017/06/01
74386     Re:파일 저장 관련해서 문의합니다. 정성훈.해미 3640 2017/06/01
74381     Re:파일 저장 관련해서 문의합니다. 3503 2017/06/01
74382         Re:Re:파일 저장 관련해서 문의합니다. 백지상태 3654 2017/06/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.