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
[44458] 파일 생성관련 질문드립니다.
사랑니 [shibuara] 1072 읽음    2006-04-12 09:50
안녕하세요 많은 도움 얻고있는 초보개발자 입니다 ^^
파일 생성 관련하여 질문드리겠습니다. 많은 관심 부탁 드립니다.^^

아래 코드처럼 해당 디렉토리에 파일이없으면 파일을 만들고 파일이 있으면 오픈해서 기록하겠다는
함수중 일부입니다. 그냥 이 함수만 사용하면 별무리없이 잘 만들고 잘 열고 잘써지고 아주 잘 됩니다.
그런데 다른폼에서 StringGird의 내용을 TSaveDialog를 이용하여 저장할 경로를 받아 저장하고
ini파일 형식으로 확장자만 .pos라고 임의로 지정하여 파일을 저장한 후 아래 함수를 실행하면
아래 함수에서 파일생성이 되지 않네요...
FileHandle값이 -1로 들어오는 문제인데요...TSaveDialog로 저장할때 제가 뭘 잘못한건지 모르겠네요..

//A폼에서 파일을 생성 혹은 열어 기록하는 함수///////////////////////////////////////////////////////////////
     if(!FileExists(FullFilePath))
     {
          FileHandle = FileCreate(FullFilePath);
     }
     else
     {
         FileHandle = FileOpen(FullFilePath, fmOpenWrite);
     }
    if (FileHandle==-1)
     {
          return false;
     }
     FileSeek(FileHandle,0,2);
     FileWrite (FileHandle, FullComment.c_str() ,FullComment.Length() );
     FileClose(FileHandle);
     return true;

// TSaveDialog를 이용하여 파일을 저장하는 함수//////////////////////////////////////////////////////////////
void __fastcall TfrmMotor::btnSaveClick(TObject *Sender)
{
     String path,SaveFileName,FileType,fullpath;
     int length;

     if( savedlgMotor->Execute() )
          SaveFileName = savedlgMotor->FileName.c_str();
     else
          return;

     length = SaveFileName.Length();
     FileType = SaveFileName.SubString(length - 3,4);
     if(FileType == ".pos")
          path = SaveFileName;
     else
          path = SaveFileName + ".pos"; //SaveDialog에서 기존 파일을 선택했을때 .pos 없으면 pos붙임    
    if(FileExists(path))   //같은 이름의 파일이 있을경우 덮어쓸지 물어본다.
     {
       if(MessageBox(Application->Handle,"이미 존재하는 파일입니다. 덮어 쓰시겠습니까?","모터데이터 정 보",MB_OKCANCEL|MB_ICONINFORMATION) ==ID_OK)
          {
               for(int MotorNo = 0; MotorNo < MOTORCOUNT; MotorNo++)
               {
                    for(int PosNo = 0; PosNo < POSITION_COUNT; PosNo++)
                    {
                       //ini파일로 파일을 쓰는내용
                    }
               }
          }
     }
     else
     {
          for(int MotorNo = 0; MotorNo < MOTORCOUNT; MotorNo++)
          {
               for(int PosNo = 0; PosNo < POSITION_COUNT; PosNo++)
               {
                    //ini파일로 파일을 쓰는내용
               }
          }
     }
     //savedlgMotor->Free();



}

+ -

관련 글 리스트
44458 파일 생성관련 질문드립니다. 사랑니 1072 2006/04/12
44460     [자답]Re:파일 생성관련 질문드립니다. 사랑니 1431 2006/04/12
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.