|
정적변수 (static XXXX)를 사용하는 것이 마음에 걸리면,
TSearchRec 구조체를 이용한 FineFirst (), FindNext () 함수를 사용하여
해당 폴더 내에 존재하는 모든 파일을 검사하여 새로운 파일명을 생성할 수도 있습니다.
(물론, 현재도 정적변수 안 써도 되지만, 반복문 계속 도는 거... 그닥 안 좋으니~~)
이건 직접 해 보세요.
재미있습니다.
^^;;;;;
prism 님이 쓰신 글 :
: 원하시는 기능을 구현할려면,
: 기본적으로 파일명 생성 규칙을 만들고,
: 해당 생성규칙으로 만들어진 파일명이
: 해당 폴더에 존재하는지 유무를 확인하여 존재하면
: 다음 파일명을 생성하는 방식으로 하면 될 듯 합니다.
:
: 뭐~ 간단하게 소스코딩 예제를 만들어 보면,
: void __fastcall TForm1::Button11Click(TObject *Sender)
: {
: Memo1->Lines->SaveToFile (GetNewFileName ());
: }
:
: String __fastcall TForm1::GetNewFileName (void)
: {
: static int si_index = 0;
: String asPath;
: do
: {
: asPath = (String) "D:\\TEST" + IntToStr (si_index++) + ".TXT";
: }
: while (FileExists (asPath));
:
: return asPath;
: }
:
: 대충 이렇게 되겠네요.
:
:
:
: 안녕하세요 님이 쓰신 글 :
: : 연속적으로 저장할수있게끔 코딩을하고싶습니다.
: : 아래소스를 보면
: : 버튼을 눌렀을때 매모장안에 있는 문자들이 먼져 TEST.TXT 라는 파일로 생성이 되어서 저장이됩니다
: : 그리고 메모장을 초기화시키고 다른문자를 넣고 또한번 버튼을 누르게되면 TEST1.TXT 파일이 생성이되어서 저장이되게 되는데
: :
: : 이걸 버튼을 누를때마다 새로운 택스트파일이 자동적으로 생성되어 저장을 하게끔 하고싶습니다.
: : 예를들어
: : D:\\TEST.TXT 이 있다면 D:\\TEST1.TXT, 그리고 D:\\TEST2.TXT
: : ->D:\\TEST3.TXT ->D:\\TEST4.TXT ->D:\\TEST5.TXT
: : 이런식으로 버튼을 누를때마다 무한정 생기도록 만들고싶습니다
: : 도와주세요.
: :
: : void __fastcall TForm1::Button11Click(TObject *Sender)
: : {
: :
: : AnsiString asPath="D:\\TEST.TXT";
: : if (FileExists(asPath))
: : {
: : Memo1->Lines->SaveToFile("D:\\TEST1.TXT");
: : }
: : else
: : {
: : Memo1->Lines->SaveToFile("D:\\TEST.TXT");
: :
: : }
: : }
: :
|