string 类型长度不够怎么办?也就是说存不下我给出的字符串的长度, 
代码如下:
var
   ls_condition:String;
begin  ls_condition := '
@  C/L@70075 ; @  C/L@70076 ; @ CHA/T@001 ; @ CHA/T@002 ; @@1 ; @@20001 ; @@20002 ; @CMF@70061 ; @CMF@70062 ; @COC@70057 ; @COC@70058 ; AmoldHeiko@@00214 ; BarlManfred@@00213 ; BenMander@@33001 ; ChristianHunkler@@30073 ; DaanVan Hoyweghen@@30005 ; DamianCummins@@00121 ; DieterSack@@33004 ; DominicVanoppen@@01589 ; DriesMichael@@00255 ; FelskeAndreas@@00110 ; Hans-ChristianMarxen@@01634 ; JoergSchlecht@@00269 ; LiebischRainer-Andreas@@00117 ; LucGuns@ @00212 ; ManfredJilg@@33003 ; MoonBeumSheen@@0368 ; NeilBrodie@@33002 ; PeterMichael Lorz@@340001 ; Rodriguez-PerezFrancisco@@00604 ; RolandKrokosinki@@00216 ; SchulikMichael@@00171 ; Van DeMaele Filip@@00913 ; Van HoyweghenPaul@@00097 ; YBS²ÆÎñ¿ØÖƲ¿SF@SF@70069 ; YBS²ÆÎñ¿ØÖƲ¿SF@SF@70070 ; YBSÉú²ú²¿ST@ST@70065 ; YBSÉú²ú²¿ST@ST@70066 ; YBSÊг¡ÏúÊÛ²¿SM@SM@70067 ; YBSÊг¡ÏúÊÛ²¿SM@SM@70068 ; YBS×ܾ­Àí°ì¹«ÊÒSG@SG@70063 ; YBS×ܾ­Àí°ì¹«ÊÒSG@SG@70064 ; °²·å@An Feng@00379 ; °²Á¢»³@An Lihuai@00576 ; °²È«¡¢»·±£¡¢¹¤³Ì¡¢Î¬ÐÞ²¿@CT@70020 ; °²È«¡¢»·±£¡¢½¡¿µ²¿@CTS@70025 ; °²È«¡
';提示信息:
One or more lines were too long and having been truncated各位帮我想想办法, 有没有比string 型更长的类型呢,我这个也不能拆开来, 
谢谢大家,是不是编译器有个什么设置要设定一下呢?

解决方案 »

  1.   

    var   
          s1:ansistring;   //   4GB   
          s2:string;//根据编译开关可能是   ansistring,可能是   shortstring
      

  2.   

    我改成过 widestring了, 但是还是不行的啊, 编译开关是怎么设置的呢?
    楼上的朋友, 您遇到这种问题是怎么解决的呢 ?
      

  3.   

    string 长度是 4gb, 跟 ansistring 一样, ansistring delphi 中就是 string原因是常量你不能写那么长, 改用 + 号, 就应该可以了
      

  4.   

    comanche(太可怕), 你说的非常对啊, 但是这种用 + 号加出来的字符还不是要赋值给一个 string 型的变量么? 那这样的问题还是解决不了啊, 
    你遇到这种问题是怎么解决的呢 ?
      

  5.   

    string 4gb 界限, 你还不够用的啊, 我从没大于过 4gb -_-
      

  6.   

    强调一下, 你不行的原因是 delphi 编译器不让写那么长的常量, 而不是 string 长度问题
    另外检查一下 project->options->compiler huge strings 是否选上, 这个是为向前兼容用, 去掉string 就用的是 shortstring, 默认是 AnsiString
      

  7.   

    基本的语法问题。
    LZ的写法不正确, 按comanche(太可怕)的方法, 每换一行用+号连接起来。  ls_condition := '@  C/L@70075 ; @  C/L@70076 ; @ CHA/T@001 ; @ CHA/T@002 ; @@1 ; ' +
    '@@20001 ; @@20002 ; @CMF@70061 ; @CMF@70062 ; @COC@70057 ; @COC@70058 ; ‘ +
    'AmoldHeiko@@00214 ; BarlManfred@@00213 ; BenMander@@33001 ; ' +
    'ChristianHunkler@@30073 ; DaanVan Hoyweghen@@30005 ; DamianCummins@@00121 ; ' +
    'DieterSack@@33004 ; DominicVanoppen@@01589 ; DriesMichael@@00255 ; ' +......'²È«¡';
      

  8.   

    就是 jadeluo(秀峰) ( ) 信誉:100  说的。
      

  9.   

    我是要把这个字符串作为参数传给后台的一个存储过程的,你说不写到一个字符串里面, 怎么办啊? 
    每换一行用+号连接起来,最后再提取参与运算的时候,还会自动把截断字符串的啊, delphi 编译器不让写那么长的常量 这个存储过程的参数也不接手数组的啊  该怎么办呢 ? 
    呜呜。
      

  10.   

    LZ肯定是想偷懒。
    从其他地方复制来的这段字符串想直接粘贴到Delphi源程序中了事。
    结果当然是否定的,这样干是行不通的。如果不想处理这段字符串,可以考虑将经放在资源文件中,程序运行后从资源中读出来而不是固定写在源代码中。
      

  11.   

    我最后直接在程序中这样:
     ls_condition :=
       ' (''70075'',''70076'',''001'',''002'',''1'',''20001'',''20002'',''70061'',''70062'',''70057'',''70058'',''00214'',''00213'',''33001'',  ' +
       ' ''30073'',''30005'',''00121'',''33004'',''01589'',''00255'',''00110'',''01634'',''00269'',''00117'',''00212'',''33003'',''0368'', ' +
       ' ''33002'',''340001'',''00604'',''00216'',''00171'',''00913'',''00097'',''70069'',''70070'',''70065'',''70066'',''70067'', ' +
       ' ''70068'',''70063'',''70064'',''00379'',''00576'',''70020'',''70025'',''70026'',''70071'',''70072'',''00368'',''00793'',''00983'', ' +
       ' ''01769'',''01080'',''01221'',''01737'',''00673'',''01326'',''01054'',''00852'',''01538'',''01073'',''01510'',''01331'',''01676'', ' +
       ' ''00765'',''01102'',''00094'',''01062'',''01024'',''01181'',''01248'',''00890'',''70039'',''70040'',''70037'',''70038'',''70059'',  ' +
       ' ''70060'',''70085'',''70086'',''01349'',''00016'',''01530'',''70003'',''70004'',''70005'',''70006'',''70009'',''70010'',''00405'',  ' +
       ' ''01502'',''00532'',''0218'',''01311'',''00615'',''01417'',''01509'',''00475'',''00883'',''00961'',''00261'',''00568'',''00095'', ' +
       ' ''00730'',''01007'',''00699'',''0288'',''01482'',''00698'',''0163'',''0290'',''01239'',''01765'',''01032'',''0291'',''01212'',''01650'', ' +
       ' ''01660'',''00434'',''10'',''0344'',''00682'',''01442'',''0282'',''00849'',''01174'',''0206'',''01399'',''00172'',''00933'',''0138'', ' +
       ' ''00633'',''01309'',''01005'',''01459'',''1459'',''0225'',''01357'',''00939'',''00881'',''01726'',''01513'',''00577'',''00782'',''0132'',  ' +
       ' ''00598'',''00602'',''00804'',''01031'',''00734'',''0271'',''00181'',''01524'',''01770'',''01160'',''00766'',''0095'',''01754'',''00871'', ' +
       ' ''01725'',''00955'',''01758'',''00134'',''01265'',''01089'',''00433'',''01708'',''01639'',''01544'',''01134'',''00522'',''00617'',''00775'', ' +
       ' ''01570'',''00527'',''00737'',''01365'',''1011383'',''00282'',''00664'',''01310'',''00265'',''00543'',''01308'',''01460'',''01059'',''0080'', ' +
       ' ''01197'',''00853'',''00702'',''01117'',''00757'',''00049'',''01789'',''00440'',''01606'',''00947'',''01565'',''00228'',''01285'',''00614'', ' +
       ' ''01541'',''00603'',''0365'',''01222'',''01656'',''00959'',''01563'',''01192'',''00483'',''01246'',''00646'',''01303'',''00050'',''01353'', ' +
       ' ''00029'',''0054'',''3033'',''01730'',''00274'',''01787'',''00557'',''0091'',''00865'',''01483'',''00281'',''01774'',''01141'',''00487'', ' +
       ' ''00925'',''00550'',''00670'',''01196'',''01484'',''01671'',''01330'',''3013'',''01562'',''01232'',''00656'',''00872'',''01658'',''01451'',  ' +
       ' ''00479'',''00008'',''01390'',''3001'',''00671'',''0353'',''00191'',''01550'',''01194'',''00909'',''00569'',''01038'',''0213'',''01464'',''00083'', ' +
       ' ''01636'',''01784'',''01039'',''01207'',''01474'',''01352'',''00887'',''3007'',''01573'',''00193'',''00701'',''01714'',''01058'',''01605'',''01149'', ' +
       ' ''00870'',''01227'',''01036'',''01075'',''01476'',''01567'',''70082'',''01642'',''00506'',''01379'',''00485'',''01044'',''01696'',''01242'',''00958'', ' +
       ' ''01525'',''0307'',''01293'',''70043'',''70044'',''70045'',''70046'',''70047'',''70048'',''70041'',''70042'',''70055'',''70056'',''70053'',''70054'', ' +
       ' ''01072'',''01412'',''0255'',''01040'',''00570'',''00222'',''01603'',''00723'',''0097'',''01688'',''01319'',''00756'',''00851'',''00838'',''01009'', ' +
       ' ''00760'',''01184'',''01422'',''01559'',''01341'',''01022'',''01761'',''00414'',''30004'',''00441'',''01290'',''00106'',''00531'',''00085'',''0215'', ' +
       ' ''01767'',''01307'',''01115'',''01546'',''00712'',''00064'',''0219'',''01576'',''01507'',''00331'',''00948'',''01323'',''00762'',''0251'',''0119'', ' +
       ' ''01200'',''00463'',''00857'',''00736'',''01607'',''01277'',''00975'',''3019'',''01325'',''0184'',''00996'',''01333'',''00138'',''01640'',''00854'', ' +
       ' ''00392'',''01060'',''3023'',''01132'',''00015'',''00818'',''00659'',''00784'',''00936'',''00830'',''0297'',''00356'',''0128'',''00862'',''01287'', ' +
       ' ''00897'',''01780'',''00394'',''00586'',''00413'',''00057'',''00326'',''00425'',''01597'',''01128'',''00492'',''01438'',''01329'',''00624'',''00610'', ' +
       ' ''3002'',''00945'',''00609'',''00652'',''01654'',''01745'',''70021'',''70022'',''70084'',''70081'',''01503'',''0277'',''01602'',''01713'',''0079'',  ' +
       ' ''01463'',''00874'',''00477'',''00104'',''30020'',''01740'',''00779'',''01542'',''01096'',''01376'',''01182'',''00842'',''00904'',''00992'',''00155'',  ' +
       ' ''30034'',''00937'',''00260'',''00635'',''01295'',''0318'',''01699'',''30100'',''01267'',''00991'',''00812'',''00665'',''01574'',''00209'',''01131'', ' +
       ' ''3032'',''01771'',''01033'',''00827'',''00749'',''01140'',''106002'',''0330'',''00367'',''01733'',''01154'',''01624'',''00781'',''01487'',''0317'', ' +
       ' ''01731'',''01601'',''00330'',''00855'',''00343'',''01692'',''01651'',''01046'',''01155'',''00687'',''01001'',''01299'',''0256'',''00601'',''00846'',  ' +
       ' ''01517'',''00426'',''01588'',''01340'',''01668'',''00894'',''30019'',''01615'',''01252'',''0147'',''00389'',''70031'',''70032'',''01018'',''0235'',  ' +
       ' ''00690'',''01235'',''01599'',''00683'',''00654'',''00835'',''00739'',''0195'',''0175'',''00098'',''00733'',''01724'',''00680'',''0367'',''00466'',  ' +
       ' ''01153'',''00534'',''01427'',''01426'',''70077'',''70007'',''70008'',''01'',''02'',''00986'',''70029'',''70030'',''70073'',''70074'',''01078'', ' +
       ' ''00802'',''01481'',''01635'',''01675'',''00481'',''01636'',''01637'',''01638'',''01639'',''01640'') ' ;赋值的时候没有错误,但是当我想用 ls_condition 来参与运算的时候就发现,付给ls_condition的内容后面很长一段没有了, 
    我的程序代码如下:
       1: //  员工姓名  从 emp表中取得 len(emp.ssno) < 9 的胸卡号
         begin
          if (combo_czf.Text='In') or (combo_czf.Text='Not In') then
             begin
               check_rowcount:=0;
               for i:=0 to (chkb_val.Items.Count-1) do
               begin
                 if chkb_val.Checked[i] then
                 begin
                   if check_rowcount=0 then
                   begin
                     show_val:=chkb_val.Items.Strings[i];
                     vararray:=getsplit(chkb_val.Items.Strings[i],'@',1);
                     temp_val:='''' + vararray[2] + '''';
                     Inc(check_rowcount);
                   end
                   else
                   begin
                     show_val:=show_val+' ; '+chkb_val.Items.Strings[i];
                     vararray:=getsplit(chkb_val.Items.Strings[i],'@',1);
                     temp_val:=temp_val+','''+vararray[2] + '''';
                   end;
                 end;           end;           temp_val:=' ('+temp_val+') ';
               temp_field:='badgeview.ssno';
             end也就是我这个地方赋给 temp_val 的值,是一段一段的加起来的啊,
    本人是delphi新手,用的不熟,请多多包涵,问题很急的啊,后天就要给用户上线了, 我头都大了, 哪位大哥知道怎么解决一定告诉我啊!
    解决了另开帖子给分都行, 小弟泣血求助! 
    msn:  [email protected]