• ベストアンサー

Delphi Renameエラー

すみません、どなたか教えてください。 Delphiでファイル名変更時にエラーが出てしまいます。 処理内容は以下です。 AssignFile(F,'..\TEST\A.TXT'); Rewrite(F); //sには\B.TXTの内容をセット Write(F,s); CloseFile(F); DeleteFile('..\TEST\B.TXT'); Rename(F,'B.TXT'); Renameで、「EInOutErrorクラスの例外を生成しました。'I/Oエラー(183)'」となってしまいます。 どなたかアドバイスをお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Delphiはやったとこないですが、 Rename や RenameFile でファイルの移動ができるそうですが、どういう制限がありますか? http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00074.htm を見た限りでは、パスがないからでは?って思ったのですが。 違っていたらスル~して下さい。

user10
質問者

お礼

ありがとうございました。 パスとかも確認してたつもりだったんですが、もう一度きちんと確認し直したら正常に処理することができました(^^; 御世話になりました。

関連するQ&A

  • I/Oエラー(Delphi)

    現在Delphiでプログラムを組んでいるのですが、Writelnを使用すると下記の様なエラーが発生してしまいます。 「プロジェクト Project1.exe が EInOutError クラスの例外を生成しました。 'I/Oエラー (105)' プロセスは停止しています。再開するにはステップ実行または実行を選択してください。」 解決法をどなたか教えてください。 よろしくお願いします。

  • rename関数 できない

    どうもこんばんは ファイル名を変更したくて、多数のサイトを調べてました。 どのサイトも全く同じことを書いてて rename("b.txt","a.txt"); a.txt を b.txt に変更する場合の記述。 そのとおりにやったのですが、 「Warning: rename(b.txt,a.txt) [function.rename]: No such file or directory in C:\xampp\htdocs\test\test.php on line 13 」 とエラーが吐いてしまい、いくらやってもこうなってしまいます。 エラー文は該当ファイルかディレクトリが無いとかそういう類だと思いますが、原因がわかりません。 これで数時間費やしてしまいまして、ヒントや答えのレスをいただくころには、 copy関数で代用していると思いますが、どうしてrenameできないのか気になります・・ ヒントでもいいので、レスいただければと思います。 因みにwindowsXPでのテスト環境下(XAMPP)です。 PHP Version 5.2.5

    • ベストアンサー
    • PHP
  • phpのrenameでエラーが出ます

    初めて質問させて頂きます。php初心者で困っていますので教えて下さい。 申し込みフォームで画像を選択  ↓ 確認画面($_FILESに入っている画像を、uniqidで生成したファイル名で一時ファイルフォルダに保存 ↓ 確認ボタンを押すと、申込内容をmysqlに登録、autoincrementしたシリアルナンバーを$_SESSIONに格納 ↓ 完了画面でシリアルナンバー+拡張子でアップロードしたファイルをリネーム&フォルダ移動 というプログラムを作っているのですが、最後のリネーム&移動のところでエラーが出てしまいます。 出力されるエラーは Warning: rename( tmp/5194a2db03b16.jpg, photo/164.jpg): in C:\xampp\htdocs\hogehoge\hoge\complete_01.php on line 18 オンラインサーバーにアップすると同じエラーは出ないのですが、コピーはされません。 参考にrename部分のコードです //写真を指定フォルダに移動 $oldpath = " ichiji/". $_SESSION["onamae"]; $newpath = " photo/" . $_SESSION["id"]; $rename = rename($oldpath , $newpath); $_SESSIONとファイルのパスですが、printで正しくデータが渡されていることを確認しています。 どなたか教えてください。

    • ベストアンサー
    • PHP
  • Ruby ファイルのリネームでのエラー

    組み込みライブラリのFileクラスを使用してリネームをしようとしているのですが、パスを直接記述した場合はリネーム処理がおこなわれますが、変数で渡した場合は Invalid argument とエラーが出ます。 変数で渡した場合でも出来るようにするには何か別の処理が必要なのでしょうか。 宜しくお願いします。 ○のパターン File::rename("C:\test\01sample01.txt","C:\test\sample01.txt") ×のパターン sample1 = "C:\test\01sample01.txt" sample2 = "C:\test\sample01.txt" File::rename(sample1,sample2)

    • ベストアンサー
    • Ruby
  • C言語を使用し、同じ内容のファイルを増やす

    始めまして、ちょっと困っている事があります。 今現在Cで、あるプログラムを作ってます。 さて困っている内容ですが、testと記述されているテキストファイルを増やす所で困ってます。 「test」と記述されている「test.txt」を記述内容は同じで 「test01.txt」「test.02.txt」「test03.txt」・・・ と増やすにはどのようにプログラムを書けば宜しいでしょうか? *因みに、こちらが作成してみたプログラムです。 renameを使用して元のファイルを変えていく感じでやっていましたが・・ #include <stdio.h> #define MANGA 10 /*int main(void) { char oldname[256] = "bace00.html", newname[256] = "bace01.html"; FILE *fp; int i,a; printf( "%s\n", newname ); for( a = 0; a < MANGA; a++ ){ printf( "%d",a ); printf( "%s\n", newname ); rename(newname, "bace02.html"); printf( "%sあああ\n", newname ); //rename(oldname, newname) //newname[256] = "bace"; for( i = 0; i < MANGA; i++ ){ fp = fopen( "bace00.html","w" ); fprintf( fp, "<html>\n<title>%s</title>\n<head>\n</head>\n</html>\n" ); fclose( fp ); */ /* ファイル名の変更 */ /* if (rename(oldname, newname) == 0){ printf("%s のファイル名を %s に変更しました。\n", oldname, newname); }else{ perror("rename error"); } } } return 0; }*/

  • Powershell で []付ファイル名を変更する方法

    PowerShell で []付のファイル名を変更しようとしているのですが、 ワイルドカードのエスケープの仕様がよくわからず困っています。 以下のTest-Pathを使ったコマンドはすべて True でしたが Rename-Item (ren) では"オブジェクトは存在しませんという"エラーが出ます。うまくリネームする方法はないでしょうか? ファイル名 [].txt test-path '`[`].txt' →TRUE test-path '``[].txt' →TRUE test-path '[[]].txt' →TRUE ren '`[`].txt' 'a' →エラー ren '``[].txt' 'a' →エラー ren '[[]].txt' 'a' →エラー

  • phpのエラー

    phpで $fp = fopen("test.txt", a);//ココ1 $jyusin = $_POST['score'];//ココ2 fwrite($fp, $jyusin); fclose($fp); $f = fopen("test.txt", r);//ココ1 echo fgets($f); fclose($f); ココ1の場所でUse of undefined constant...というエラー ココ2の場所でUndefined index...というエラー 上記のエラーはどうしたら直りますか。 因みにissetで隠す方法以外でお願いします。

    • ベストアンサー
    • PHP
  • テキストファイルからの読み込みについて

    またまた困っております。 下記の様な場合はどうなるのでしょうか? class Test{ public Static void main(String[] args){   ・  ・ try{ 処理内容A    処理内容B 処理内容C    処理内容D  }catch{ メソッドの呼び出し }   ・   ・   ・ } ------------------------ class Error{ 処理内容Aのcatch定義    処理内容Bのcatch定義 処理内容Cのcatch定義    処理内容Dのcatch定義 } -------------------------- Error.txt 処理内容Aのエラーメッセージ 処理内容Bのエラーメッセージ 処理内容Cのエラーメッセージ 処理内容Dのエラーメッセージ ------------------------------ のように、Testクラス内の処理を別のクラスで行い(Testクラスではその処理のメソッドを呼び出す)、例外内容に付いてもErrorクラスで定義し、エラーの表示内容をError.txtの様な外部ファイルに格納しておいた時に、 Testクラス内で「処理内容B」でエラーが発生した場合、Errorクラスで対応したエラー(処理内容Bのcatch定義)処理を行うのですが、Error.txtから「処理内容Bのエラーメッセージ」を拾い出してくるにはどうしたらよいのですか? 長くなり分かり難いかもしれませんが、宜しくお願い致します。

    • ベストアンサー
    • Java
  • Perlで異なるフォルダからファイルをコピーし、ファイル名を変更する方法を教えてください

    前回類似するお願いをしたのですが、 もう一度ご質問させてください。 <やりたいこと> c:\scriptフォルダにある「copyAndRename.cgi」を  起動し、ファイルコピーとRenameをする処理を  行ないたい。 <ファイルコピーの内容> C:\test1フォルダにあるファイル名「test.test.csv」 を、c:\test2フォルダにコピーする <ファイルRenameの内容> C:\test2フォルダにコピーした、ファイル 名「test.test.csv」の「.」をなくし「-」を置き換え、「test-test-csv」とファイル名に変更する処理をしたい。 <できていること> (1)の処理は行なえているので問題ありません。 (2)の処理に関しては、以前の質問させていただいた  回答から、下記のようなスクリプトを書き、実行した  が、Renameされませんでした。 ----- $A="test.test.csv"; $B=$A; $B=~s/\./-/; # ドットを全置換により[-]に変更。 rename $A,$B; ----- 実行している、「copyAndRename.cgi」が格納されている c:\svriptフォルダに、「test.test.csv」をおいて テストをしてみると正常に起動します。 renameを行なう際のパスの切り方がわかれば 解決できると思うのですが、わかりません。 初心者の質問で恐縮ですが、どなたかお教えください。

    • ベストアンサー
    • CGI
  • Delphiで論理積の足し算?

    Delphiでa=17を 0x0Fで論理積したものにb=2を足したいのですが [DCC エラー] SDIMAIN.pas(92): E2015 この型には指定した演算子は使えません となります。Integer型の論理積や足し算をしてInteger型に代入する方法はありますか? procedure TSDIAppForm.Button1Click(Sender: TObject); var a, b, c : Integer; begin a := 17; b := 2; c := (a and #$0F) + b; //c := a + b; ShowMessage(Format('c=%6d', [c])); end;