日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2022-08-17 01:48:47

Re①:ファイル更新日時ごとのファイルリスト

hihiro さん

「TKI さん」と同じような内容になりましたが投稿させていただきます。

まずは、全ファイル列挙でファイル一覧を作成します

下記のプログラムの必要個所を修正頂いて、実行させると「列挙ファイル一覧」のデータが取得できます。
「ファイル名,更新日時,拡張子,ファイルのフルパス」

「列挙ファイル一覧の1から「YYYY/MM/DD」を表ピックアップ」とすると「更新日」でピックアップできます。

「(列挙ファイル一覧の1を表重複削除)の1を表列取得」とすると「更新日リスト」を作成できます。

「列挙ファイル一覧[行-1,3]を起動」とすると「行」を指定すればファイルを開く事ができます。

列挙ファイル一覧を基準に、必要な一覧を作成して「リスト」や「グリッド」に表示させたり「エクセル」でも使えると思います。



#ここから

!変数宣言が必要

列挙ファイル一覧とは、配列
ファイル名とは、文字列
更新日時とは、文字列
更新日一覧とは、配列
更新日リストとは、配列
行とは、整数

#該当フォルダの全ファイル列挙
列挙ファイル一覧は、「{母艦パス}テスト」の全ファイル列挙

#列挙ファイル一覧の整形
(列挙ファイル一覧の表行数)回
  列挙ファイル一覧[回数-1,3]は、列挙ファイル一覧[回数-1,0]    #4列目に「ファイル」を退避
  ファイル名は、列挙ファイル一覧[回数-1,3]からファイル名抽出   #「ファイル名」を取得
  列挙ファイル一覧[回数-1,0]は、ファイル名            #1列目に「ファイル名」を設定
  列挙ファイル一覧[回数-1,2]は、ファイル名から拡張子抽出     #3列目に「拡張子」を設定
  更新日時は、列挙ファイル一覧[回数-1,3]のファイル更新日時    #「更新日」を取得
  更新日時は、更新日時を「 」で区切る               #「年月日」と「時分秒」に分ける※「 」は(半角スペース)で 
  列挙ファイル一覧[回数-1,1]は、更新日時[0]            #2列目に「年月日」を設定

列挙ファイル一覧を言う

#更新日のリストを作成
更新日リストは、(列挙ファイル一覧の1を表重複削除)の1を表列取得  #「YYYY/MM/DD」のリストを取得
更新日リストを言う

#更新日時でピックアップ
更新日一覧は、列挙ファイル一覧の1から「YYYY/MM/DD」を表ピックアップ #「YYYY/MM/DD」は、更新日リストから選択可
更新日一覧を言う

#一覧の行のファイルを起動
行は、1                               #行は、リストやグリッドをクリックして取得可
列挙ファイル一覧[行-1,3]を起動

#ここまで



=========================================================

お世話になります。

ファイル更新日時ごとのファイルリストを作成したく、試行錯誤しながら進めています。
浅はかな知見のため、「列挙」をよく理解しできていません。。。。
同一のリスト内に一覧化されてしまいます。
(色々試しているうちに、何がなんだか混乱してしまいました。。。)
色々と素人感丸出しですが、御指南いただけませんでしょうか。

実現したいことは、「指定した日付から過去15日分のファイルリスト」です。
以下に一部を切り出しました。


また、本件の中で申し訳ありませんが、疑問があります。
(合わせてご教示いただけませんでしょうか)
・リスト化されたテキストを個別に色設定ができるのでしょうか??(拡張子ごとに色を替えたい)
 →またはは代替え案はありますでしょうか??
・全ファイル列挙し、ファイル名抽出したリスト名から、ファイルを開くことは可能でしょうか?
 →パスが同一でないため、ファイル名からでは開けない??方法はありますでしょうか?

よろしくお願いいたします。


#ここから---------------------------------------------------
DTW=デスクトップW
DTH=デスクトップH
対象フォルダ1=「{母艦パス}テスト」

母艦について
W=DTW。H=DTH。X=0。Y=0。

ファイルカレンダーフォームとはフォーム
これについて
クリックした時は~終了
W=DTW。H=DTH。X=0。Y=0。
可視はオン

今日を「/」で区切る。
年はそれ[0]。
月はそれ[1]。
日はそれ[2]

年選択とはコンボ
これについて
親部品はファイルカレンダーフォーム
アイテムは「2021{~}2022{~}2023」
その値は年-2021
編集は0
W=100。H=20。X=10。Y=10。
選択Y=年選択のテキスト
そのリスト選択した時は~
指定日更新処理

月選択とはコンボ
これについて
親部品はファイルカレンダーフォーム
アイテムは「01{~}02{~}03{~}04{~}05{~}06{~}07{~}08{~}09{~}10{~}11{~}12」
その値は月-1
編集は0
W=100。H=20。X=年選択のX+W+10。Y=10。
選択M=月選択のテキスト
そのリスト選択した時は~
指定日更新処理

日選択とはコンボ
これについて
親部品はファイルカレンダーフォーム
アイテムは「01{~}02{~}03{~}04{~}05{~}06{~}07{~}08{~}09{~}10{~}11{~}12{~}13{~}14{~}15{~}16{~}17{~}18{~}19{~}20{~}21{~}22{~}23{~}24{~}25{~}26{~}27{~}28{~}29{~}30{~}31」
その値は日-1
編集は0
W=100。H=20。X=月選択のX+W+10。Y=10。
選択D=日選択のテキスト
そのリスト選択した時は~
指定日更新処理

日10パネルとはパネル
これについて
親部品はファイルカレンダーフォーム
  W=母艦のW/5。H=20。X=0。Y=40。
  テキストは「{選択D}」

ファイル10リストとはリスト
これについて
親部品はファイルカレンダーフォーム
  W=DTW/5。H=(DTH-40-20*3)/3。X=日10パネルのX。Y=日10パネルのY+日10パネルのH。

日11パネルとはパネル
これについて
親部品はファイルカレンダーフォーム
  W=母艦のW/5。H=20。X=日10パネルのX+W。Y=日10パネルのY。

ファイル11リストとはリスト
これについて
親部品はファイルカレンダーフォーム
  W=DTW/5。H=(DTH-40-20*3)/3。X=日11パネルのX。Y=日11パネルのY+日11パネルのH。

日12パネルとはパネル
これについて
親部品はファイルカレンダーフォーム
  W=母艦のW/5。H=20。X=日11パネルのX+W。Y=日10パネルのY。

ファイル12リストとはリスト
これについて
親部品はファイルカレンダーフォーム
  W=DTW/5。H=(DTH-40-20*3)/3。X=日12パネルのX。Y=日12パネルのY+日12パネルのH。

指定日更新処理
●指定日更新処理
選択Y=年選択のテキスト
選択M=月選択のテキスト
選択D=日選択のテキスト
指定日=「{選択Y}/{選択M}/{選択D}」
  日10パネルのテキストは「{選択D}」。ファイル10リストのF対象日=「{選択Y}/{選択M}/{選択D}」。
「{選択Y}/{選択M}/{選択D}」に「-0/0/1」を日付加算
ファイル11リストのF対象日=それ。それを「/」で区切る。日11はそれ[2]。日11パネルのテキストは「{日11}」。
「{選択Y}/{選択M}/{選択D}」に「-0/0/2」を日付加算
ファイル12リストのF対象日=それ。それを「/」で区切る。日12はそれ[2]。日12パネルのテキストは「{日12}」。

対象日ファイルリスト処理

●対象日ファイルリスト処理
対象フォルダ1の全ファイル列挙
全ファイル名はそれ
カウンタは0
全ファイル名を反復
ファイル名はそれ
ファイル名のファイル更新日時
今日を「 」で区切る。
F更新日はそれ[0]
ファイル10リストのF対象日とF更新日の日数差を日差に代入
もし、日差=0ならば
ファイル名からファイル名抽出してF名へ代入
ファイルリスト10[カウンタ]はF名
カウンタはカウンタ+1
ファイル10リストのアイテムはファイルリスト10
違えば、日差=-1ならば
ファイル名からファイル名抽出してF名へ代入
ファイルリスト11[カウンタ]はF名
カウンタはカウンタ+1
ファイル11リストのアイテムはファイルリスト11
違えば、日差=-2ならば
ファイル名からファイル名抽出してF名へ代入
ファイルリスト12[カウンタ]はF名
カウンタはカウンタ+1
ファイル12リストのアイテムはファイルリスト12



(編集パスワード送信)

子記事

親記事 (No.1447)
返信した記事(元) (No.1447)

この内容(No.1451)に返信

この内容(No.1451)をダウンロード

この内容(No.1451)のテキスト表示

◎ なでしこファイル





www.eznavi.net