掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ファイルから更新日時を取得し、テキストに更新日時を格納する為には (ID:34395)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
コード完成しました。 フォルダごと投げ入れるのと、 ファイルごとに処理するのを、両方組み込んで、 最終的には以下のコードになりました。 igyさんありがとうございました。 procedure TForm1.WMDropFiles(var Msg: TWMDropFiles); var FileName: array [0..255] of Char; I, Num: Word; sr:tsearchrec; res:integer; begin DragQueryFile(Msg.Drop, 0, FileName, SizeOf(FileName)); if '.jpg' = extractfileext(extractfilename(strpas(FileName)))then begin //ファイルごとドロップした時の処理 DragQueryFile(Msg.Drop, 0, FileName, SizeOf(FileName)); s8 := extractfilepath(strpas(FileName)) + '\'; form12.ShowModal;//ドロップしたファイル一覧のプリヴューウインドウ表示 if InputQuery('写真の物件名を', '入力してください', s5) then else exit; Num := DragQueryFile(Msg.Drop, $FFFFFFFF, nil, 0); with datamodule7.table1 do begin last; s4 := FieldByName('ナンバー').AsString; s4 := inttostr(FieldByName('ナンバー').AsInteger + 1); append; edit; if not directoryexists(s2 + '\' + s4) then //指定したフォルダがないか検索 createdir(s2 + '\' + s4) else begin end; //無ければ作る for I := 0 to Num - 1 do begin DragQueryFile(Msg.Drop, I, FileName, SizeOf(FileName)); FieldByName('フォルダ名').AsString := s2 + '\'+ s4; FieldByName('ファイル名').AsString := extractfilename(strpas(FileName)); FieldByName('ナンバー').AsString := S4; FieldByName('撮影日時').AsString := datetimetostr(FileDateToDateTime(fileage(strpas(filename)))); FieldByName('物件名').AsString := s5; FieldByName('場所').AsString := extractfiledir(strpas(filename)); post; copyfile(filename,allocpchar(s2 + '\'+ s4 + '\' + extractfilename(filename)), false); Append; end; end; DragFinish(Msg.Drop); s5 := '物件名'; exit; end; //フォルダごとドロップした時の処理 DragQueryFile(Msg.Drop, 0, FileName, SizeOf(FileName)); s8 := strpas(FileName) + '\'; form12.ShowModal; s5 := extractfilename(strpas(FileName)); if InputQuery('写真の物件名を', '入力してください', s5) then else exit; { ドロップされたファイル名の取得 } count1 := 0; memo2.Lines.Clear; DragQueryFile(Msg.Drop, 0, FileName, SizeOf(FileName)); res := findfirst(filename + '\*.jpg',faAnyFile,sr); datamodule7.table1.last; s4 := datamodule7.table1.FieldByName('ナンバー').AsString; s4 := inttostr(datamodule7.table1.FieldByName('ナンバー').AsInteger + 1); datamodule7.table1.Append; datamodule7.table1.edit; if not directoryexists(s2 + '\' + s4) then //指定したフォルダがないか検索 createdir(s2 + '\' + s4) else begin end; //無ければ作る while res = 0 do begin memo2.Lines.Add(strpas(FileName) +'\'+sr.Name); res := findnext(sr); with datamodule7.table1 do begin FieldByName('フォルダ名').AsString := s2 + '\'+ s4; FieldByName('ファイル名').AsString := extractfilename(memo2.Lines[count1]); FieldByName('ナンバー').AsString := S4; FieldByName('撮影日時').AsString := datetimetostr(FileDateToDateTime(fileage(memo2.Lines[count1]))); FieldByName('物件名').AsString := s5; FieldByName('場所').AsString := strpas(FileName); post; Append; copyfile(allocpchar(memo2.Lines[count1]),allocpchar(s2 + '\'+ s4 + '\' + extractfilename(memo2.Lines[count1])), false); count1 := count1 + 1; end; end; findclose(sr); sw5 := true; { ドロップ処理の終了 } DragFinish(Msg.Drop); StrDispose(ps); s5 := '物件名'; end; 長文なってしまいまいすいません^^; igyのおかげで、書いた処理内容思い出しました^^。 今回もありがとうございましたm(__)m。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.