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 メソッド
DeleteFileメソッドは、指定した 1 つ以上のファイルを削除します。filespecに削除するファイルの名前を指定します。filespecにはワイルドカードを使用することができます。
GETDIR関数 (スクリプト関数)
Folder.CopyHere メソッド (Shell)
1つまたは複数のアイテムをフォルダにコピーします。
Folder.MoveHere メソッド (Shell)
1つまたは複数のアイテムをこのフォルダーに移動します。
FileSystemObject オブジェクト