|
GetText 대신 다음과 같이 쓰세요
if(flist->Count<1)return;
hFile = FindFirstFile((LPCTSTR)flist->Strings[0].c_str(), &FileInformation);
TStringList 클래스는
문자열(AnsiString)과 객체(TObject *)를 담아서 리스트로 관리하는 클래스 입니다.
GetText 하면
list에 담긴 모든 문자열을 하나의 char * 로 새로 할당해서 return해줍니다.
이경우 GetText로 return 받은 char*를 반드시 delete해줘야 하구요
그럼..
미연아사랑해 님이 쓰신 글 :
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: HANDLE hFile;
: char *pszFileName;
: char *cFileName;
: char szFileTime1[100];
: char szFileTime2[100];
: char szFileTime3[100];
: SYSTEMTIME st;
: FILETIME localTime;
: WIN32_FIND_DATA FileInformation;
:
: TStringList *flist = new TStringList;
: GetFullFilePath(flist, Edit1->Text, Edit2->Text, true ); //Edit1은 디렉토리 path구요 Edit2 는 필터입니다.
:
: pszFileName = flist->GetText();// flist 이 값이 stringlist 값입니다.
:
: hFile = FindFirstFile((LPCTSTR)pszFileName &FileInformation);
:
: memset(szFileTime1,0x00,sizeof(szFileTime1));
: memset(szFileTime2,0x00,sizeof(szFileTime2));
: memset(szFileTime3,0x00,sizeof(szFileTime3));
: // 만든 날짜
: if(FileTimeToLocalFileTime(&FileInformation.ftCreationTime,&localTime))
: FileTimeToSystemTime(&localTime,&st);
: sprintf(szFileTime1,"%04d-%02d-%02d %02d:%02d:%02d",st.wYear,st.wMonth,
: st.wDay,st.wHour,st.wMinute,st.wSecond);
: ShowMessage(szFileTime1);
: // 수정한 날짜
: if(FileTimeToLocalFileTime(&FileInformation.ftLastWriteTime,&localTime))
: FileTimeToSystemTime(&localTime,&st);
: sprintf(szFileTime2,"%04d-%02d-%02d %02d:%02d:%02d",st.wYear,st.wMonth,
: st.wDay,st.wHour,st.wMinute,st.wSecond);
: ShowMessage(szFileTime2);
: // 엑세스 날짜
: if(FileTimeToLocalFileTime(&FileInformation.ftLastAccessTime,&localTime))
: FileTimeToSystemTime(&localTime,&st);
: sprintf(szFileTime3,"%04d-%02d-%02d %02d:%02d:%02d",st.wYear,st.wMonth,
: st.wDay,st.wHour,st.wMinute,st.wSecond);
: ShowMessage(szFileTime3);
: // 파일명
: cFileName = FileInformation.cFileName;
: ShowMessage(cFileName);
:
: delete flist;
: }
:
: stringlist의 값인 flist 를 이용하여 FindFirstFile함수를 이용하려 하는데 자꾸 이상한 값이 나옵니다...
: 아마도 캐스팅의 문제같은데요...
: 초보라 정말 어렵습니다..
: 고수님들이 한번 보시고 뭐가 잘 못 되었는지 알려주세요!!^^
|