|
항상 김태선님께서 저에게 도움을 주시는군요^^ 노력해서 저도 고수가 되겠습니다^^
김태선 님이 쓰신 글 :
: DeleteFile(ListBox1->Items->Strings[i]);
: 로 파일 삭제하는데 있어
: ListBox1->Items->Strings[i]에 원하는 파일의 full path 가 저장되어 있으면
: 당연히 잘지워집니다.
: 물론 \n 같은 문자가 끼어 있으면 지워지지 않으나,
: FindFirstFile 로 찾아낸
: 파일명에 \n 이 끼어 있을리가 없을텐데...
:
: 잘 지워지지 않으면
: 해당하는 줄에 브레이크 포인트를 걸고
: 변수의 내용을 직접 검사해 보세요.
:
: String 중에 \n 문자를 없애려면
: String abc = "abcd\n";
: abc = StringReplace(abc, "\n", "", TReplaceFlags() << rfReplaceAll);
: 식으로 하면 됩니다.
:
: 그럼..
:
: Destinyz 님이 쓰신 글 :
: : 제가 원하던 답이 아닌 것 같습니다^^;;
: :
: : 제가 질문을 잘못드렸나 하는 생각도 드는... ㅇㅂ ㅇ;;
: :
: : 전 원래
: :
: : DeleteFile(ListBox1->Items->Strings[i]);
: :
: : 이렇게 바로 쓰려고 했는데요, 그게 안되더라구요^^;;
: :
: : 그러니까 '삭제'가 안된다는 거죠.
: :
: : 그래서 온갖 방법을 생각해서 AnsiString buff; 를 쓰게 되었고요.
: :
: : 거기서 sprintf까지 쓰게 되어버렸습니다.
: :
: : 전 아직도 \n을 의심하고 있습니다. 그래서 제가 한동안 열심히 substring으로 "\n"을 찾아서 그 앞에다가 "\0"을
: :
: : 넣으려고 했습니다.
: :
: : 일단 확실히 말씀드리자면,
: :
: : 검색 결과로 인해서 제 C드라이브에 있는 aaa.txt 파일을 두개 찾았습니다.
: :
: : 그래서 ListBox1->Items->Strings[0]과 [1]에 각각
: :
: : "C:\\Documents and Settings\\Destinyz\\바탕 화면\\aaa.txt" 와 "C:\\aaa.txt"가
: :
: : 들어있죠. 그런데 이 것들을 꺼내서 DeleteFile안에다가 넣으려니 안되고, 따로 변수 만들어서 해도 안되고..
: :
: : 다시 참신한 답변 기다리고 있겠습니다^^
: :
: :
: :
: : 김태선 님이 쓰신 글 :
: : : 질문하시는 분 정성이 대단하군요.
: : : 대부분 사람들이 무성의한 질문으로 대답을 기대하는 경향이 있는데....
: : :
: : : ListBox1->Items->Strings[i];
: : : 이 넘은 AnsiString 으로 전혀 문제 없습니다.
: : : AnsiString은 님이 하신 방법대로 값을 할당 하시면 절대 안됩니다.
: : : ListBox1->Items->Strings[i] = "문자열...."; 식으로 할당해야 합니다.
: : :
: : : String filename = "C:\Destinyz\aaa.txt";
: : : ListBox1->Items->Strings[i] = filename;
: : :
: : : 또는
: : :
: : : char filename[MAX_PATH];
: : : sprintf(filename, "%send", "C:\Destinyz\aaa.txt");
: : : ListBox1->Items->Strings[i] = filename;
: : :
: : : 이런 식으로 해야 합니다.
: : :
: : :
: : : 그럼..
: : :
: : :
: : : Destinyz 님이 쓰신 글 :
: : : : 저번에 저의 질문에 소중한 답변 주신 분 정말 감사합니다^^ 덕분에 일이 잘 풀러가고 있던 찰나였는데...
: : : :
: : : : 제가 어제 말한 그 검색 프로그램에서 좀더 도약하여서 검색하고자 하는 파일의 경로명과 파일명을 합한
: : : :
: : : : (예를 들어 "C:\Destinyz\aaa.txt") 것을 ListBox1->Items->Add(경로명파일명) 하였습니다.
: : : :
: : : : 그다음에 나중에 ListBox의 아이템들의 목록에 있는 실제 파일들을 지우려고 했습니다.
: : : :
: : : : 지우는 함수가 DeleteFile이라는 함수더군요. 사용법도 쉬워서 저도 쉽게 될 줄 알았는데;
: : : :
: : : : 분명히 경로명과 다 맞는데 지워지질 않는 것입니다.
: : : :
: : : : 그래서 온갖 추측을 했죠("\\"를 검색해서 "\\"를 하나 더 붙이는 둥...)
: : : :
: : : : 하지만 나중에 보니까 ListBox1->Items->Strings[i]; 이넘이 좀 문제가 있는 것 같았습니다.
: : : :
: : : : ShowMessage로 보니까 한칸이 개행이 되더군요 ㄱ-
: : : :
: : : : 개행문자가 \n 인거 다들 아시죠? 그런데 이러한 것들, 어떻게 지우는지 모르겠습니다.
: : : :
: : : : 제가 제시한 방법이 틀리다면 (개행문자 지우는 일) 다른 방법 올려주셔도 ㄳ 하겠습니다^^
|