자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

'지난번 IDftp에서 한글깨짐 방법없나요'로 질문 한 것입니다. 질의  답변은 받았으나 그걸로 해결 되지 않아 올린 것이 었습니다
이번에는 질의 내용을 자세히 말씀드리는 것이 좋을 것 같네요
(질의 전에 기술 개발 차료를 검색하여 참조 하시라고 한 자료는 이미  검토 했던 것입니다 - 그 내용은 아래에 있습니다.

 그 내용이 2012 년도 였고 그때 그 대응방법을 제시 한 분 결론도 향후 Indy에서  수정 보완 할 필요가 있는 건이고 수정 Version이

 나오면 그 방법은 불 필요하고 삭제 해야 하는 방법이라고 했습니다.
 그래서 이미 2 년이 지나 그후 여러번의 Version Up (Indy도 마찬가지로 Version Up)  이 있어서 이  Burg 가 수정되었는데  내가

  알지 못하고 다른 방법으로 해야 하는데 내가 몰라서 그런 건지 잘 몰라  질의 한 것입니다.
  관리자 분도 이건 DELPHI Burg 가 아니고개발 기술 문제라고 하고  제품 Burg Q&A / 설치 오류 Q&A 에서 변경 하셔으니 무언가

  이 건이 보완 수정되어 (2년전에도 똑 같은 질의 답변들이 있었으니 그 내용을 알고 있었을 거고 그래서 이건 관련 Burg는

  보완 수정 된 것을 알고 있어서)  그렇게 말씀 하신 거 아닌 가요 ?  그럼 좀 가르켜 주세요. (관리자분이 DElPHi  잘 모르는  사람은

   아닐테니까요)
 
. 질문 내용을 상세히 설명하고 질의  합니다

  질의건은 idFTP.List 에 관한 것이고 Source는 지난번과 동일하게 다음과 같습니다 (Full로 전부 다 COPY 합니다)


procedure TFMYFTP.dataItem_list;
var
    c, file_fsize : Integer;
    file_Tdate : TdateTime;
    str_fsize, wk_header, file_name, file_date : String;
begin

     memo1.clear;
     DataList.Items.Clear;
     idFTP1.List(DataList.Items, '', false);
     For  c :=  0 to DataList.Items.Count -1 Do begin
            file_name := DataList.Items[c]; 
            file_size  := idFTP1.size(file_name);

            if   f_size = -1 Then file_type = '폴더(DIR)'    else file_type = '일반File ';    
            if file_size = -1 Then begin                       // -1 은 Folder
                 str_fsize  := '';

            end else begin

                   s tr_fsize  := IntToStr(file_size);
                   str_fsize  := formatFloat('###,##0',strToCurr(str_fsize));
              end;          
            file_Tdate := idFTP1.filedate(DataList.Items[c]);    
            file_date  := FormatDateTime('YYYY-MM-DD hh:nn:ss',file_tdate);
            wk_header := file_type + ' ' + file_name +  '    '  + str_fsize + '  ' + file_date;
            memo1.lines.Add(wk_header);
   end;
   (※ DataList 는 TListBox 입니다)


 질의사항)
   ① idFtp.List 의 문제점 (idFTP1.List(DataList.Items, '', false);
         file_name = DataList.Items(c)  에 한글이 깨져 들어 옵니다 (DataList 의 ListBox에도    Memo1 의 file_name 에도 다 깨져 들어 옵니다

             (※  idFTP1.size(file_name).는 정상입니다)   
   ② idFtp.Filedate 의 문제점idFTP1.filedate(DataList.Items[c]);     
       file_date 도 folder에서는 전부 못가져오고, file 중에서도 어떤 File은    가져오고 어떤 file은 못가져옵니다 - 못가져온 것은

       그 이유도 알수 없고요


 ◑ ① idFtp.List 의 file_name 문제점과 관련
    ☞ 이전에 알려준 참조자료 적용시: 알려 주신 참조 자료 중 다른 것은 다 적용   해도 안되고 저자가 말하길 임시변통으로 만들었다고

       하는   참조:http://couping.blogspot.com/2011/02/2009-indy-ftp-http-or.html    의 것을 적용하면 일부 적용되고 일부 안됩니다.

.      즉         (▶ Funtion OutDataToAnsi(indata : String) String;이   한글 깨짐을 복구 하는 Function 으로 참조 하라는 것입니다 )

      즉 상기 Souce에서 file_name 에 대해
            file_name := DataList.Items[c];
             hangul_fname := OutDataToAnsi(file_name); 을 해주고
            .....
              wk_header := file_type + ' ' + file_name +   ' + hangul_fname +  '    '  + str_fsize + '  ' + file_date;
             memo1.lines.Add(wk_header);
        하면
        - File Type 난에  Main Folder (접속한 FTP의  FTP server 의 root Dir) 은 전부  한글 깨진채 이고
                                      (※ FTP root Dir 은 실제 그 Hard ware의 root Dir 일 수 있습니다. 아닌 경우도 있지만...)  

                                  그외 Directoty 에서는 전부 한글이 정상으로 되어 나옵니다
           (즉 root Dir 의 Folder 의 저장 Information 구조는 기타 Directory 의 것과 약간 다른 점은 이해 하는데 영문은 제대로 읽어 오면서

               한글은  안된다는 점음  잘 이해 안됩니다. root Dir의 구조때문이라면 영문의 글자 하나도 날라가야지 정상인데...

               file Type은  idFTP.Size 를 가지고 분류해서 내가 붙인것이고)

  ◑ file_Tdate : 어떤 것은 정상적으로 읽어 오고 어떤 것은 못 가져 옵니다. 또 가져온 것도 맞지 않는데 ....

                          (idFtp.FileDate(filename)이 해당 file의 생성일시 아닌가요 (DirInfo의 file 작성일자) 
                  이것도 root directory 것은  전부 못 가져 옵니다. 그외는 제멋대로  어떤 것은 가져오고 어떤 것은 못 가져 옵니다.
                가져온 일자도 좀 그렇고요
  ★ 참고: f_size = -1 은 폴더로 분류 했는데 이는 실제 해당 Server 의 실제자료 내용과 일치합니다
           그리고 Filedate 는 해당 FTP Server의 실자료에는 다 있습니다


 ♧자세히 내용을 설명하다 보니 이렇게 길어 졌습니다. 그래서 간단히 그렇게 질의 했는데 내용이 잘 전달 되지 못 했네요
   내 생각에는 IDFTP의 Burg 같은데 (아직 기능이 완성되지 못한 Burg) 내가 잘못 알고 있는 거 겠지요 무려 이기능이
   나오고 최소 수년이상 지났고 국내에서도 많은 사람이 사용 했을 걸로 생각 되는데
   더우기 File_date 문제는 전세계적인 문제인데....

   해결 법 제안 꼭 좀 부탁드립니다. 이를 해결 못하면 FTP 이용부분은 계속 DELPHI4.0 을 사용 할 수 있도록 program 구조
   를 변경하여 사용해야 하는데 이 또한 여러 어려운 문제가 있습니다.
   예를 들어 계약서등 file 자료 는  FTP Server 에 올려두고 이를 조회하여 가져다 첨부 자료로 사용하거나 보내는 경우
   에 적용하는등 상당히 많이 사용되는데....

 ♣Tool 에서 제공 하는 기능이 원래 그 기능 하는데 수행된 결과가 틀릴때는 ① 사용자가 Usage 대로 안했거나 ② 해당 System
   (Tool 또는 기능등)의 Burg 입니다. 이 경우는 usage 대로 한것 같은데 결과가 이상하니 개발자용 Q&A 사항이아니라 여기
   (공급자(제작사)에 Q&A )올린 것입니다.
   상기 질의사항 둘다 Burg로 아직 답이 없고 방법이 없어 정 필요하다면 참조 할 수 있도록 관계되는 다른 사람들의 경험을
   제공하여 지원해 주어 일부나마 쓸 수 있도록 하는 것인지 (그리고 Burg 수정 게획은 없는지도) 아니면 사용자가 무었을
   어떻게 잘못했는지(그래서 어떻게 하는 것이 바로 사용하는 건지)를 알고 싶기 때문 입니다  


   참고: 첨부는 INDY10 - IDFTP 관련 INDY 에서 Down 받은 DEMO 프로그램인데 마찬가지 입니다. 
              원하는 분은 Down 받아 사용 해보세요

               File name 이 깨지는데  여기서도 File Name 부분을 Source를 고쳐  Test 해 보실 수 있을 겁니다 .

                  (한글깨짐 복구 Function 은 참조 하라고 한 :http://couping.blogspot.com/2011/02/2009-indy-ftp-http-or.html 의

                    Function Source 를 그대로 복사해서 쓰시고요

           첨부1 :Indy_10_FTPClient.zip  :  Indy site 에서 Down 받은 DEMO Program Source

                   2. Indy10한글깨짐복구Function.txt :참조하라는 :http://couping.blogspot.com/2011/02/2009-indy-ftp-http-or.html    의

                       한글 깨짐 복구 Function     Source 입니다


 질의 ① , ② 좋은 해결 방안 부탁드립니다. Indy10을 안쓰면 FTP에 대해 다른 방안이 없고 ......

 

 

            

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 20051
공지 유용한 관련 사이트 관리자2 2014.03.20 58960
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102577
3279 rad studio xe2 설치 프로그램 실행시 설치프로그램 강제 종료 secret 마구 2013.04.30 0
3278 paserver오류 [1] secret 최종호 2013.05.02 1
3277 DB 관련 질문 입니다! [1] secret 탄돌이 2013.06.17 1
3276 JVL이라는 라이브러리 관련에러 [1] secret 관리자 2015.02.25 1
3275 제품관련 질문입니다. [1] secret 우와 2014.07.17 2
3274 델파이 프로그래밍언어 책 구입했는데요 [1] secret 나본좌 2012.04.10 2
3273 책 19쪽에 맨처음 하는 예제에서요 secret 나본좌 2012.04.11 2
3272 DB Query 문의 드립니다. [1] secret memc 2012.05.16 2
3271 html5 buider 문의 드립니다. secret 2012.12.14 2
3270 Component들이 보이지 않습니다. secret 변보언 2013.01.22 2
3269 기본 bpl (rtl160.bpl등) 배포시 jdbg파일도 같이 배포해야 하나요? [1] secret 한림대의료원정보기술센터 2013.06.11 2
3268 string.format 함수의 한글 자리수 문제 secret kidb 2014.03.04 2
3267 비콘 안드로이스 샘플소스로 실행했는데 안됩니다. [2] secret kim 2015.12.04 2
3266 비콘신호 수신간격 조정을 어디서 해야하나요? [2] secret kim 2015.12.04 2
3265 MessageDlg 관련 질문입니다. [1] secret 신산 2013.06.20 3
3264 [한미반도체] 64BIT PACKGE관련문의 secret 키루루 2014.08.20 3
3263 위험감지앱이 감지를 했을때만 화면표시를 할 수 있나요? [2] secret kim 2015.12.02 3
3262 ChannelManager을 이용한 콜백 문의 secret lespaul06 2015.02.04 3
3261 WebBrowser1 익스플로러 버젼 secret fanta 2015.01.31 3
3260 아래 질문에 대한 스크린샷 첨부입니다. [2] secret 조우상 2012.05.02 4