Q&A

  • 긴문자열을 이진파일에 저장 문제?
예를 들어서 aa : string[100]이라고 하면 이진 파일에 저장이 됩니다. 그런데

aa : string; 이라고 하면 저장이 안됩니다. 크기 한게가 255뿐이 안되는데 더 많은

문자열을 저장해야 되는데 안되고 있습니다. 이게 델파이의 한계입니까?

약 2천자가 넘는 문자열을 저장해야 되는데 난감합니다

아시는 분은 꼭좀 가르쳐 주세요



3  COMMENTS
  • Profile
    최용일 2001.09.12 03:54
    안녕하세요. 최용일입니다.



    델파이의 한계는 2GByte까지입니다... 2000자라면 우습죠...



    아래처럼 해보세요... 100,100,000 ( 100MB )바이트짜리 파일이 생길겁니다...



    파일에 쓰는거보다 100메가짜리 스트링만드는데 시간이 더걸리는군요... 쩝~



    var

    I: Integer;

    S: string;

    F: file of Byte;

    Buf: string;

    begin

    S := '';

    for I := 0 to 10000 do

    begin

    S := S + ' 제 목 작성자 종합일반(VCL)데이타베이스마이다스파스칼윈도우API시스템네트웍/통신멀티미디어그래픽ActiveX/OLEISAPI/CGI리포트컴포넌트개발기타 1'

    + ' 53681 Re: 【【【 질문】】】Dataset의 Active? 초보 기타 '

    + ' 53663 로직이 이해가 잘 안됩니다. COMA 기타 '

    + ' 53666 Re: 로직이 이해가 잘 안됩니다. 홍성락 기타 '

    + ' 53662 스프레드3 사용시 leavecell 호출 방법 델초보 기타 '

    + ' 53661 퀵리포트가 win2000Pro에서 미리보기가 안되염....어케하죠? alpha1626 리포트 '

    + ' 53659 프린터 상태를 체크하기 위해서는? 이상탁 윈도우API '

    + ' 53656 델파이설치 가능한 최소사양은 얼만가요?? 김휘락 기타 '

    + ' 53654 [문의]Midas3 + ActvieX 이용한 db프로그램의 속도에대하여.... 太郞 ActiveX/OLE '

    + ' 53658 Re: [문의]Midas3 + ActvieX 이용한 db프로그램의 속도에대하여.... 칼리 ActiveX/OLE '

    + ' 53652 [질문]날짜문제로 미쳐가고 있읍니다... 철 데이타베이스 '

    + ' 53682 Re: [질문]날짜문제로 미쳐가고 있읍니다... 초보 데이타베이스 '

    + ' 53650 [질문] Chart 관련.. 왕초보^^ 일반(VCL) '

    + ' 53655 Re: [질문] Chart 관련.. 칼리 일반(VCL) '

    + ' 53653 ^^ 하여 넘 허접이라서리 ^^ 욕하지는 마시와엽..^^;; 사발우성 일반(VCL) '

    + ' 53687 Re: 질문이 이상했네요 왕초보^^ 일반(VCL) '

    + ' 53649 [질문] Interbase에서 Table이 생성이 안되요........ㅠㅠ 델초보...ㅡㅡ;; 데이타베이스 '

    + ' 53672 Re: [질문] Interbase에서 Table이 생성이 안되요........ㅠㅠ 명탁 데이타베이스 '

    + ' 53644 [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53647 Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53648 Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53669 Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53696 Re: Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53723 Re: Re: Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53642 [질문]CreateOleObject로 생성한 IE의 event를 잡아낼수 있는지? 이상준 ActiveX/OLE '

    + ' 53641 TVideocap 이거 델파이6.0에서도 돌아가나요.?????? 죠스고기 일반(VCL) '

    + ' 53640 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 리포터맨 기타 '

    + ' 53651 Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 칼리 기타 '

    + ' 53657 Re: Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 리포터맨 기타 '

    + ' 53660 Re: Re: Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 칼리 기타 '

    + ' 53639 [질문] 인포믹스에서 큰 따옴표,작은 따옴표는 ? 이성윤 기타 '

    + ' 53653 ^^ 하여 넘 허접이라서리 ^^ 욕하지는 마시와엽..^^;; 사발우성 일반(VCL) '

    + ' 53687 Re: 질문이 이상했네요 왕초보^^ 일반(VCL) '

    + ' 53649 [질문] Interbase에서 Table이 생성이 안되요........ㅠㅠ 델초보...ㅡㅡ;; 데이타베이스 '

    + ' 53672 Re: [질문] Interbase에서 Table이 생성이 안되요........ㅠㅠ 명탁 데이타베이스 '

    + ' 53644 [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53647 Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53648 Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53669 Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53696 Re: Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 초보자.. 기타 '

    + ' 53723 Re: Re: Re: Re: Re: [질문]StrPCopy를 사용하면 틀린값이 나오는데요.. 홍성락 기타 '

    + ' 53642 [질문]CreateOleObject로 생성한 IE의 event를 잡아낼수 있는지? 이상준 ActiveX/OLE '

    + ' 53641 TVideocap 이거 델파이6.0에서도 돌아가나요.?????? 죠스고기 일반(VCL) '

    + ' 53640 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 리포터맨 기타 '

    + ' 53651 Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 칼리 기타 '

    + ' 53657 Re: Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 리포터맨 기타 '

    + ' 53660 Re: Re: Re: 퀵리포트 인쇄시에 대한 두가지질문(가로출력, QRshape) 칼리 기타 '

    + ' 53639 [질문] 인포믹스에서 큰 따옴표,작은 따옴표는 ? 이성윤 기타 '

    + ' [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] - [Next] [1624] '

    + ' [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] - [Next] [1624] ';

    Application.ProcessMessages;

    end;



    AssignFile(F, 'c:10MBFile.txt');

    Rewrite(F);

    BlockWrite(F, S[1], Length(S));

    CloseFile(F);

    end;



    ^^ 항상 즐코하세요...



    김남주 wrote:

    > 예를 들어서 aa : string[100]이라고 하면 이진 파일에 저장이 됩니다. 그런데

    > aa : string; 이라고 하면 저장이 안됩니다. 크기 한게가 255뿐이 안되는데 더 많은

    > 문자열을 저장해야 되는데 안되고 있습니다. 이게 델파이의 한계입니까?

    > 약 2천자가 넘는 문자열을 저장해야 되는데 난감합니다

    > 아시는 분은 꼭좀 가르쳐 주세요

    >

  • Profile
    정성훈 2001.09.11 23:59
    김남주 wrote:

    > 예를 들어서 aa : string[100]이라고 하면 이진 파일에 저장이 됩니다. 그런데

    > aa : string; 이라고 하면 저장이 안됩니다. 크기 한게가 255뿐이 안되는데 더 많은

    > 문자열을 저장해야 되는데 안되고 있습니다. 이게 델파이의 한계입니까?

    > 약 2천자가 넘는 문자열을 저장해야 되는데 난감합니다

    > 아시는 분은 꼭좀 가르쳐 주세요

    >



    초명에 미안하지만

    델파이의 한계라..그런말은 안좋군요

    더군다나 델파이개발자 홈피구 님도 델파이하시면서

    델피언으로써 별루 기분이 안좋군요.

    제가 확인해봤는데 아래답변과 같네요

    2기가까지 가능요.

    델파이한계 느끼신다면 다른걸루 바꾸세요 ㅡㅡ

    멜주소도 없어서 직접 씁니다.

  • Profile
    성더기 2001.09.11 19:36
    string타입이 255자 밖에 안된다구여?

    설마..ㅡㅡ;;



    델파이 돔말에 보면...



    ShortString 255 characters 2 to 256 bytes backward compatibility

    AnsiString ~2^31 characters 4 bytes to 2GB 8-bit (ANSI) characters

    WideString ~2^30 characters 4 bytes to 2GB Unicode characters;



    multiuser servers and multi-language applications

    AnsiString, sometimes called the long string, is the preferred type for most purposes.

    String types can be mixed in assignments and expressions; the compiler automatically performs required conversions. But strings passed by reference to a function or procedure (as var and out parameters) must be of the appropriate type. Strings can be explicitly cast to a different string type (see Typecasts).

    The reserved word string functions like a generic type identifier. For example,



    var S: string;



    creates a variable S that holds a string. In the default {$H+} state, the compiler interprets string (when it appears without a bracketed number after it) as AnsiString. Use the {$H? directive to turn string into ShortString.



    라구되어 있네염..

    디폴트가 AnsiString인거 같은데..제가 잘못 본건가여?

    즉 2GB 까지 가능하다는...