線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1656
推到 Plurk!
推到 Facebook!

引號的問題!

答題得分者是:hagar
a6475
高階會員


發表:67
回覆:230
積分:154
註冊:2002-09-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-15 20:41:19 IP:61.229.xxx.xxx 未訂閱
各位大大: 小弟想把變數裡的分號去掉請問要如果做? 我用下面的寫法,不能執行,請各位大大看一下! LenTxt := Length(FGetText); for i := 1 to LenTxt do begin if FGetText[i] = '''' Then FGetText := ''; end; 月夜 光明 藍更愁
------
月夜 光明 藍更愁
andersonhsieh
版主


發表:33
回覆:531
積分:439
註冊:2002-06-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-15 21:07:27 IP:211.23.xxx.xxx 未訂閱
引言: 各位大大: 小弟想把變數裡的分號去掉請問要如果做? 我用下面的寫法,不能執行,請各位大大看一下! LenTxt := Length(FGetText); for i := 1 to LenTxt do begin if FGetText[i] = '''' Then FGetText := ''; if FGetText[i] = QuotedStr('') Then FGetText := ''; end; 月夜 光明 藍更愁
@@~~飛翔在天際的精靈~~@@
------
@@~~飛翔在天際的精靈~~@@
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-16 07:49:45 IP:61.219.xxx.xxx 未訂閱
1. 直接取代 AnsiReplaceStr(FGetText, '''', '');    2.原程式整個都被清成空白了 LenTxt := Length(FGetText); for i := 1 to LenTxt do begin if FGetText[i] = '''' Then FGetText := ''; end;
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-09-16 07:55:59 IP:211.22.xxx.xxx 未訂閱
if FGetText[i] = '''' Then FGetText := ''; 上面這行錯了, 改成:
begin
  if FGetText[i] = '''' Then FGetText[i] := '';
end;
另外一種, 就是 andersonhsieh 兄提供的做法了。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-09-16 09:37:27 IP:211.22.xxx.xxx 未訂閱
引言: 1. 直接取代 AnsiReplaceStr(FGetText, '''', '');
請問一下 AnsiReplaceStr function 是 Delphi 6 以後才有的嗎? 小弟在 Delphi 5 找不到這個 function 說。
zycagod
一般會員


發表:0
回覆:14
積分:12
註冊:2002-07-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-09-19 17:24:22 IP:61.220.xxx.xxx 未訂閱
引言:
引言: 1. 直接取代 AnsiReplaceStr(FGetText, '''', '');
請問一下 AnsiReplaceStr function 是 Delphi 6 以後才有的嗎? 小弟在 Delphi 5 找不到這個 function 說。 Delphi 有StringReplace
anderslee
初階會員


發表:2
回覆:32
積分:26
註冊:2002-06-03

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-09-27 10:09:07 IP:202.64.xxx.xxx 未訂閱
FGetText[i] 是個 Char, 不可能設定是 Empty String !!!!!!    
引言: if FGetText[i] = '''' Then FGetText := ''; 上面這行錯了, 改成:
begin
  if FGetText[i] = '''' Then FGetText[i] := '';
end;
另外一種, 就是 andersonhsieh 兄提供的做法了。
anderslee
初階會員


發表:2
回覆:32
積分:26
註冊:2002-06-03

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-09-27 10:15:17 IP:202.64.xxx.xxx 未訂閱
原句把全個 string 清空!!  (FGetText:='') 網友提議改成  FGetText[i]:=''; 也不對, Char 不可設定為 empty string    小弟的作法是   I := Length(FGetText);   While (I>=1) do     begin       if FGetText[i] = '''' Then Delete(FGetText,I,1);       Dec(I);      end; 由尾開始,可以避開相連時的混亂,和delete前移時會快一點點        
引言: 各位大大: 小弟想把變數裡的分號去掉請問要如果做? 我用下面的寫法,不能執行,請各位大大看一下! LenTxt := Length(FGetText); for i := 1 to LenTxt do begin if FGetText[i] = '''' Then FGetText := ''; end; 月夜 光明 藍更愁
adonis
高階會員


發表:140
回覆:258
積分:159
註冊:2002-04-15

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-09-27 12:14:04 IP:163.15.xxx.xxx 未訂閱
試試用下列的方法 S1 := 'I ;am ;a ;student!'; J := Length(S1); S2 := ''; While Pos(';', S1)<>0 do //去除 ; 該符號 begin I1 := Pos(';', S1); S2 := S2 Copy(S1, 0, I1-1); S1 := Copy(S1, I1 1, J); end; S1 := S2 S1; showmessage(S1);
------
我也在努力學習中,若有錯謬請見諒。
john
一般會員


發表:1
回覆:12
積分:2
註冊:2002-03-13

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-09-27 18:00:19 IP:210.243.xxx.xxx 未訂閱
另一種方法~ procedure TForm1.Button1Click(Sender: TObject); var FGetText:PChar; i,Index,LenTxt:Integer; begin LenTxt := Length(Edit1.Text); GetMem(FGetText,LenTxt); try Index:=0; for i := 1 to LenTxt do begin if Edit1.Text[i] <> '''' then begin FGetText[Index] := Edit1.Text[i]; inc(index); end; end; FGetText[Index]:=#0; Edit2.Text:=FGetText; finally FreeMem(FGetText); end; end;
zycagod
一般會員


發表:0
回覆:14
積分:12
註冊:2002-07-08

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-10-03 10:33:42 IP:61.220.xxx.xxx 未訂閱
為何大家都不用 S1:= 'I ;am ;a ;student!'; S1:=StringReplace(S1,';','',[rfReplaceAll]);
系統時間:2024-04-30 9:13:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!