|
空白の行(カンマ)→「,,,,,,,,,,,」を消したいのですが、うまく消す事が出来ません。 こういう時は、FDELLINEを使用するのはおかしいでしょうか? 宜しくお願い致します。
P空白行削除("b業者")
PROCEDURE P空白行削除(VAR 業者名) id = fopen("D:\在庫表\工事一覧\csv\工事一覧_" + 業者名 + ".csv", F_READ or F_WRITE) for i = 1 to fget(id, F_LINECOUNT) -1 ifB fget(id,i,1) = "" then FDELLINE(id,i) ENDIF NEXT fclose(id) fend
得意先,届け先,機種,納品日,ユーザー名,メモ,受注番号,・,施工日,完了,, a店,店入れ,b5,2015/1/13,今井様,,01/05-065,ck,5月に延期,,b業者, ,,,,,,,,,,, ,,,,,,,,,,, ,,,,,,,,,,,
|
No.1191 2015/04/29(Wed) 13:20:30
|
☆ Re: 空白の行(カンマ)を消したい / stuncloud |
|
|
削除したい行が連続していた場合にうまく消せない事があると思いますが、そういうことではないでしょうか?
csv--------- 1,,消したい行 2,,消したい行 3,,消したい行 4,,消したい行 5,,消したい行 ------------
fid = fopen("hoge.txt", F_READ or F_WRITE) for i = 1 to fget(fid, F_LINECOUNT) if fget(fid, i, 2) = "" then fdelline(fid, i) endif next fclose(fid)
結果--------- 2,,消したい行 4,,消したい行 -------------
1行目から順に処理していくと、削除した行の次の行が繰り上がってしまうので処理されなくなってしまいます (上記例だと1行目を削除すると2行目が1行目になり、iが2のときに処理されるのが元々の3行目になってしまう)
こういった場合は最終行から1行目に向けてループ処理すると良いです // for i = fget(fid, F_LINECOUNT) to 1 step -1
|
No.1192 2015/04/29(Wed) 13:52:30
|
|
☆ Re: 空白の行(カンマ)を消したい / sen |
|
|
うまくいきました。 つまらない事で、済みませんでした。_(._.)_
|
No.1195 2015/04/29(Wed) 16:48:40
|
|