全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:858
推到 Plurk!
推到 Facebook!

如何写这么一个功能函数?

缺席
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-10 19:04:01 IP:218.90.xxx.xxx 未訂閱
这个函数可以传4个值进去 第一个是定义一个STRING变量 第二个是定义我要在第一个变量中匹配的值,也就是说我如果第二个值传进去‘IN’或‘ABCD’,则要在第一个STRING变量中找‘IN’或‘ABCD’ 如果我在第一个变量中找到很多‘IN’或‘ABCD’,第三个参数是让我指定第几个’IN‘或‘ABCD’ 第四个是我要在前面指定的IN后插入我需要的字符或变量,请教这个函数应该怎么做?
Zard
尊榮會員


發表:24
回覆:396
積分:539
註冊:2003-11-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-10 20:39:11 IP:61.64.xxx.xxx 未訂閱
引言: 这个函数可以传4个值进去 第一个是定义一个STRING变量 第二个是定义我要在第一个变量中匹配的值,也就是说我如果第二个值传进去‘IN’或‘ABCD’,则要在第一个STRING变量中找‘IN’或‘ABCD’ 如果我在第一个变量中找到很多‘IN’或‘ABCD’,第三个参数是让我指定第几个’IN‘或‘ABCD’ 第四个是我要在前面指定的IN后插入我需要的字符或变量,请教这个函数应该怎么做?
// szOrg: 原始字串
// szSub: 要找尋的字串
// iPos: 要插入找到的第幾個結果, iPos至少要為1
// szInsert: 要插入的新字串
Function InsertStr(szOrg: String; szSub: String;
                   iPos: Integer; szInsert: String): String;
var
  slTmp: TStringList;
  i: Integer;    begin
  Result := szOrg;
  if iPos < 1 then Exit;      slTmp := TStringList.Create;
  try
    szOrg := ' '   szOrg   ' ';
    slTmp.Text := StringReplace(szOrg, szSub, #13, [rfReplaceAll]);
    if (slTmp.Count > 1) and (iPos < slTmp.Count) then
    begin
      Result := '';
      for i := 0 to slTmp.Count - 2 do
      begin
        Result := Result   slTmp.Strings[i]   szSub;
        if i = (iPos - 1) then Result := Result   szInsert;
      end;
      Result := Result   slTmp.Strings[slTmp.Count - 1];
      Result := Trim(Result);
    end;
  finally
    slTmp.Free;
  end;
end;    procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(InsertStr('INABINEFG HIJKLIN BBCINdtjrklsdIN', 'IN', 2, '@@'));
end;
系統時間:2024-05-22 4:36:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!