delphi 将字符串转换为C-escape转义字符串格式  
官方Delphi 学习QQ群: 682628230(三千人)
频道

delphi 将字符串转换为C-escape转义字符串格式


const
// Special symbols
  _TAB_   = #9;
  _CR_    = #13;
  _NL_    = #10;
  _DELIM_ = ' :;.,+-<>/*%^=()[]|&~@#\`{}'+_TAB_;
  _SPACE_ = ' ';

// Convert string to C-escape string format
function ConvStr(Value: String): String;
var I: Integer;
begin

  Result := '';
  for I := 1 to Length(Value) do begin
    case Value[I] of
      #34: Result := Result + '\' + #34;
      #39: Result := Result + '\' + #39;
      _TAB_: Result := Result + '\t';
      _NL_: begin end;
      _CR_: Result := Result + '\n';
      '\': Result := Result + '\\';
      else Result := Result + Value[I];
    end;
  end;
end;

// Convert string from C-escape string format
function UnconvStr(Value: String): String;
var I: Integer;
begin
  Result := '';
  I := 1;
  while I<=Length(Value) do begin
    if Value[I]='\' then begin
      if I=Length(Value) then break;
      Inc(I);
      case Value[I] of
        'n': Result := Result + _CR_;
        't': Result := Result + _TAB_
        else Result := Result + Value[I];
      end;
    end else Result := Result + Value[I];
    Inc(I);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Memo2.Text:=ConvStr(Memo1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Memo2.Text:=UnconvStr(Memo1.Text);
end;

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.034687042236328 seconds