掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
改行付きCSVファイルの取り込み (ID:22015)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
むかし、どっかでレスしたけど思い出せないし、みつからない。 たぶん、これで改行コード入りが読み込める。 TStringListEx =class(TStringList) protected procedure SetTextStr(const aValue: String); override; end; implementation procedure TStringListEx.SetTextStr(const aValue: String); var pChrs, rowStart: PChar; rowString: String; breakChar: Boolean; begin {更新開始} BeginUpdate; try Clear; pChrs := Pointer(aValue); if pChrs <> nil then begin while pChrs^ <> #0 do begin {行開始} rowStart := pChrs; breakChar := not (pChrs^ in [#0, #$0A, #$0D]); while breakChar do begin if pChrs^ = '"' then begin {引用符付き文字列を引用符なし文字列に変換して取得(pChrsのアドレスを進める)} AnsiExtractQuotedStr(pChrs, '"'); end else begin Inc(pChrs); end; breakChar := not (pChrs^ in [#0, #$0A, #$0D]); end; SetString(rowString, rowStart, pChrs - rowStart); {追加} Add(rowString); if pChrs^ = #$0D then Inc(pChrs); if pChrs^ = #$0A then Inc(pChrs); end; end; finally {更新終了} EndUpdate; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.