论坛风格切换切换到宽版
  • 2792阅读
  • 2回复

inno【code】段(pascal语言)对字符串的处理(心得) [复制链接]

上一主题 下一主题
离线duchovny
 

发帖
13
金钱
130
威望
13
只看楼主 倒序阅读 0 发表于: 2014-06-15

由于工作需要 打包时需要将一个路径转换成网站配置文件中能接受的格式,即将原本的C:\Program Files\Flagele\ExpWater转换成c\:/Program Files/Flagele/ExpWater,这个处理包括以下几个方面:

1、将“\”替换成“/”

2、在字符串第二个位置插入“\”字符

3、将第一个字符由大写转换成小写

以下是相关代码:

1、这里写了一个小函数replace,供转换时调用

//转换函数,把遇到的“\”变成“/”

function replace(AStr: string): string;

var

  IP,newstr: string;

  i,k: Integer;

begin

  //此处获取要转换的字符串,保存在IP变量中

  RegQueryStringValue(HKEY_LOCAL_MACHINE,***'注册表中的位置***, 'InsPath', IP);

  k:=LENGTH(IP);

  for i := 1 to k do

  begin

    if IP = '\' then

    begin

      IP := '/';

      i:=i+1;

    end

    else

    begin

    i:=i+1;

    end;

  end;

  Result := IP;

end;

2、这个问题,pascal语言中有专门的字符串转换函数:

     INSERT('\',installpath,2);

    引用网上的解释:

插入子串。 (过程)Insert(s1,s2,I) 把s1插入到s2的第I个位置。

例:s:='abc';insert('12',s,2);结果s:='a12bc'

3、将ASCII码加32

  IP[1]:=chr(ord(IP[1])+32);

离线NotOrdinary

发帖
24
金钱
240
威望
24
只看该作者 1 发表于: 2014-06-16
有用!,正在使用你这个
离线duchovny

发帖
13
金钱
130
威望
13
只看该作者 2 发表于: 2014-06-19
回 1楼(NotOrdinary) 的帖子
NotOrdinary:[表情] [表情] 有用!,正在使用你这个 (2014-06-16 11:51) 

有用我就很开心~