字串問題 |
尚未結案
|
kate0921
一般會員 發表:14 回覆:19 積分:6 註冊:2004-07-07 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
試試這樣子:
procedure TForm1.Button1Click(Sender: TObject); var i,j: integer; sl: TStringList; sTmp: string; begin sl := TStringList.Create; try for i := 0 to Memo1.Lines.Count - 1 do begin sl.DelimitedText := Memo1.Lines[i]; sTmp := ''; for j := 0 to sl.Count - 1 do begin sl.Strings[j] := ':' sl.Strings[j] ','; sTmp := sTmp sl.Strings[j]; end; Memo1.Lines[i] := sTmp; end; finally sl.Free; end; end; |
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
|
chinghwan
一般會員 發表:1 回覆:4 積分:1 註冊:2003-07-04 發送簡訊給我 |
likush 大大你少判斷了是否為空字串
所以可能導致第一個字串多一個,
我所我以大大的程式改良成下列了程式
var
i:integer;
a:string;
begin
var
i:integer;
a:string;
begin
for I := 0 to memo2.lines.count - 1 do
begin
if a = EmptyStr then
begin
a := ':' memo2.Lines.Strings[I];
end else begin
a := a ',:' memo2.lines.Strings[I];
end;
end; ShowMessage(A);
ShowMessage(A);
|
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
抱歉,沒注意,多謝chinghwan兄提醒,謝謝。
for I :=0 to memo2.lines.count -1 do
begin
//--作法1-----
if trim(a) = '' Then
a:= memo2.lines.string[I]
else
//-----
a := a ', :' memo2.lines.string[I];
end;
或取值完後再直接截取所需字串如下
a:= Copy(a, 3,length(a)); //作法2 a:=
showmessage(a); =========================
讀萬卷書~不如來K.TOP走一遭
=========================
|
kate0921
一般會員 發表:14 回覆:19 積分:6 註冊:2004-07-07 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |