FDELLINEエフデルライン関数

本ページには広告が含まれています。

ファイルの指定行を削除します。行の削除を行うとそれ以降の行が詰められ行番号が変わるので、複数行削除する場合はファイルの後ろから処理を行います。

構文
  1. void = FDELLINE( ファイルID, 行 )
引数
ファイルID (Integer)必須
オープン返されたID
行 (Integer)必須
削除行 (1から指定)
戻り値

使い方

指定行を削除

1行目を削除します。

UWSC
DIM FID = FOPEN(filename, F_READ OR F_WRITE)
FDELLINE(FID, 1)
FCLOSE(FID)

最終行を削除

UWSC
DIM FID = FOPEN(filename, F_READ OR F_WRITE)
FDELLINE(FID, FGET(FID, F_LINECOUNT))
FCLOSE(FID)

空白行を削除

行を削除すると以降が詰められ行番号が変わるので、FOR文で後ろから処理を行っていきます。

UWSC
DIM FID = FOPEN(filename, F_READ OR F_WRITE)
FOR row = FGET(FID, F_LINECOUNT) TO 1 STEP -1
	IF LENGTH(FGET(FID, row)) = 0 THEN FDELLINE(FID, row)
NEXT
FCLOSE(FID)

プログラム実行例

特定の文字列の行を削除

UWSC
DIM FID = FOPEN("D:\Documents\sample.txt", F_READ OR F_WRITE)

FOR i = FGET(FID, F_LINECOUNT) TO 1 STEP -1
	IF FGET(FID, i) = "aaa" THEN FDELLINE(FID, i)
NEXT

FCLOSE(FID)
使用関数

特定の文字列を含む行を削除

UWSC
DIM FID = FOPEN("D:\Documents\sample.txt", F_READ OR F_WRITE)

FOR i = FGET(FID, F_LINECOUNT) TO 1 STEP -1
	IFB POS("aaa", FGET(FID, i)) <> 0 THEN
		FDELLINE(FID, i)
	ENDIF
NEXT

FCLOSE(FID)

関連記事

DELETEFILE関数 (スクリプト関数)
テキストファイルを削除します。
FCLOSE関数 (スクリプト関数)
テキストファイルを閉じます。
FGET関数 (スクリプト関数)
テキストファイルの読み込みを行います。
FOPEN関数 (スクリプト関数)
テキストファイルを開き、ファイルIDを取得します。
FPUT関数 (スクリプト関数)
テキストファイルの書き込みを行います。
FSO.DeleteFile メソッド
指定したファイルを削除します。
GETDIR関数 (スクリプト関数)
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。
Folder.MoveHere メソッド (Shell)
1つまたは複数のアイテムをこのフォルダに移動します。
FileSystemObject オブジェクト