Q&A

  • 아주긴 문자열에 대해서..
텍스트 파일을 읽어서..한줄을 DB에 Insert를 해야 합니다..
근데.. 그 한줄이 엄청나게 길어여....
그걸.. Copy 로 끊으면..넘 @.@복잡할 거 같아여..
어떻게 하면 좋을까여.. 무슨 방법이 없을까여..??
예를들면..
a:=sdfsdfsadfggfgkfjhofgijreiteorjgroegjepowjgopewgoewrhgpoegpwergewrgrgpergpergpweirghpwrgpwrg
이게 한줄로 되어 있다면..
copy로 끈는 다면..
copy(a,1,2)
copy(a,3,4)
copy(a,7,4)..... 이렇게 끈어야 하나여...
좋은 방법 있으시면 도와 주세염..
2  COMMENTS
  • Profile
    김도형 2002.05.18 22:18
    구조체를 사용하심이 어떤지여

    type
      TData = packed record
      Field       : array[ 0..20 ] of char;
      start , Len : array[ 0..2 ] of char;
    end;

    var
      aDataSet   : array of TData;
      f          : TextFile;
      sOut ,cSend       : string;
      nKind      : integer;
      nI, nJ, nK : integer;
      nCare      : integer;
    begin

       AssignFile(f, 파일명 );
       Reset(f);

       while not Eof(f) do begin
         ReadLn(f,sOut);
         move(sOut[ 1 ], aDataSet , length(sOut));
      end;
      closeFile(F);
       showmessage( aDataSet.Field + #13 +
                              aDataSet.Start + #13 +
                              aDataSet.Len );

    이렇게 하믄.... 한번에 읽어온 넘을.... 위 구조체서 바루 넣거든여..

    그럼 당연히... Copy나 이런식으루 않해두 되겠져,....

    원하는 형식으루 바루 자를수두 있구염~~~ ^^

    그럼 즐프 하세염~~~



  • Profile
    박경록 2002.05.22 20:55


    답변에 감사합니다..

        ReadLn(f,sOut);
        move(sOut[ 1 ], aDataSet , length(sOut));

    이렇게 하니깐..while 문이 처음 돌때는 괜찬은데..
    다음을 읽어올 때 메모리 Error 가 나는데..
    어떻게 해야 하나여..??
    글구 원하는 형식으로 자르게는 어떻게 해야 하나여....
    답변좀 다시 부탁드리겠습니다..

    ^^;;;