编译还没法过,begin end好像都没匹配!begin也拼错!
...
else If (copy(str,j,1)=',') and (copy(str,j,1)<>';') then
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我服了你了!还有你的copy(str,j,1)可以通通用str[j]太乱了!

解决方案 »

  1.   

    iBegin, iEnd: integer;//一个串子开始和结束
    iXBDH, iXBFH: integer;//分号和引号串的数组下标 
    rec1:ARRAY[1..3] OF rec0;//存放串值
    str: string;输入串
    iLen: integer; //输入串长度
    iBegin := 1;
    iEnd := 1;
    iXBDH := 1;
    iXBFH := 1;
    iLen := length(str);
    for j := 1 to Lstr do
    begin
      if (str[j] = ',' or str[j] = ';') then
      begin
        if str[j] = ',' then
        begin
          if iXBDH < 4 then
          begin
            rec1[iXBDH].w := copy(str,iBegin, iEnd-iBegin);
            iXBDM := iXBDM + 1;
          end;
        end; 
        if str[j] = ',' then
        begin
          if iXBFH < 4 then
          begin
            rec1[iXBFH].m := copy(str,iBegin, iEnd-iBegin);
            iXBFH := iXBFH + 1;
          end;
        end; 
        iEnd := iEnd + 1;
        iBegin := iEnd;
      end
      else iEnd := iEnd + 1;
    end; 
    //程序没有经过调试,只是提供一个思路
      

  2.   

    将逗号前的(或逗号前分号后的)字符串放入rec[i].w中;分号前的(或分号前逗号后的)字符串放入rec[i].m中。