タグ:C# ( 9 ) タグの人気記事

2018年 09月 25日
20180925 【C#】「desktop.ini」を削除する
 しばらく前に OneDrive だったかと思う(違うかもしれない)が、使ってみようとしたことがある。
 その後、データドライブのすべてのフォルダに、「desktop.ini」というファイルが造られ、フォルダーのアイコンが変わってしまった。こういう、こちらが意図しないことを勝手にやられると「何だ」ということになるし、嫌になってしまう。

 「desktop.ini」を開いてみた。

[.ShellClassInfo]
InfoTip=このフォルダはオンラインで共有されています。
IconFile=C:\Program Files\Google\Drive\googledrivesync.exe
IconIndex=16


 こんなファイルは不要なので、削除しようと思った。しかし、すべてのフォルダに造られているので、手動で削除するのは、とてもできないし、勘弁してもらいたい。
 そんなことで、データドライブからこの「desktop.ini」をすべて削除してしまうソフト「desktopini.exe」を作成することにした。
 Visual Studio 2017 の C# で作成した。しばらく振りなので、いろいろ忘れていて、調べなおしたり、試行錯誤をして、やっとのことで造った。
 機能は簡単だ。データドライブのすべてのフォルダをスキャンして、「desktop.ini」が見つかったら、片っ端から削除するというだけのものだ。

 すっきりしたというか、落ち着いた。



[PR]

by TOSHIHIRO_SUGIMOT | 2018-09-25 22:36 | ソフト作成 | Comments(0)
2018年 09月 08日
20180908 【C#】Mount.exe
 Mount.exe は、登山記録をホームページに載せるための「.html」ファイルを作成するために自作したツールである。

 起動した時に、前回変換したファイルを自動的に開くようにしてある。そうするとどこまでの変換が終わっているかが分かるからである。
 前回変換したファイルを別のフォルダーに移動してしまった。当然ながら「ありません」ということでエラーになった。まあ、「自分で使うだけだから」と、こういうエラー処理を手抜きしているのである。そしてエラーが発生した時点で追加処理をしている。

 今回そのエラー処理を追加した。といっても、起動時に所定のフォルダに、前回変換したファイルが無かったら、表示せずに次に進むというだけである。無かったら「このファイルはありません」とか何かメッセージを表示すべきなのだろうが、そこは「自分用」だから手抜きしている。
 久しぶりに Visual Studio を動かしてみた。



[PR]

by TOSHIHIRO_SUGIMOT | 2018-09-08 19:08 | ソフト作成 | Comments(0)
2018年 01月 09日
20180109 【ソフト作成】DiskMirror
 データのバックアップに「Disk Mirroring Tool」を使っているが、「Ver 1.22」から更新がない。それはそれで良いのだが、Windows10 になってから、操作の一つごとに「応答なし」と表示され、かなりの時間、待たされるようになった。
 「これは一つ、自分で作るしかないかな」ということで、「DiskMirror」を自作することにした。

【設計思想】
 主には、あるディスクのフォルダーを別のディスクにコピーするツールである。
 その際、転送先に同名ファイルがあった場合、上書きする。
 ディスクの中身全部を別のディスクにコピーすることもできる。
 同じディスク内で、別のフォルダーにコピーすることもできる。
 これらの作業は、「プロジェクト」に従って実行される。
 「プロジェクト」の詳細は、ダイアログ(2つ目の Form)で設定する。
 「プロジェクト」とその設定は、「DiskMirror.ini」に保存される。


 まずは「外観」を整える。
 これまで使ったことのなかった「ToolStripContainer」を使うことにした。
【MainForm】
b0013099_22181257.jpg
【Dialog】
b0013099_22182705.jpg

[PR]

by TOSHIHIRO_SUGIMOT | 2018-01-09 22:19 | ソフト作成 | Comments(0)
2017年 11月 01日
20171101 【ソフト】Apollo
 Apollo Lite 4G のデータを、Share Link でPCに転送しているが、これがある特定のフォルダに入る。これを種類ごとに分類し、整理するのが、実は結構な手間なのである。それでこの作業を自動化=簡略化できないかと考え、かなり前に「Apollo」というアプリケーションを C# で作成した。
 Apollo Lite 4G のアプリが増えるごとに、データの種類も増えてくる。それらに対応していると、どんどん複雑になってきた。それで全面的に見直して、転送するファイルの種類が増えても簡単な修正で対応できないかと考えた。
 それで今回、Apollo を全面的に書き換えることにした。

1.Apollo Lite 4G からのデータはすべて、D:\Share Link というフォルダに転送される。
2.これをまず、「PhotoResizer」のデータは、リサイズされた時に「256x512」などが付加される。それでファイル名に「x」が含まれていたら「PhotoResizer」のデータとみなし、「PhotoResizer」フォルダにコピー(転送ではなく)する。
// PhotoResizer の処理 PhotoResizer()
3.次に「拡張子」ごとに分類し、転送(Move)する。
// 拡張子が .jpg の場合 Photos() CAMERA などで撮影したデータ
// 拡張子が .pdf の場合 CamScanner() CamScanner で撮影した新聞記事など
// 拡張子が .3gp .mp3 の場合 Movies() 動画ファイル
// 拡張子が .png の場合 ScreenShot() スマホの画面を撮影した画像
// 拡張子が .gpx の場合 GeoGraphica() GeoGraphica の GPS データ
// 拡張子が .3gpp の場合 Recorder() 各種の音声データ
// 拡張子が .txt の場合 Editors() テキストファイル
4.ここまでが第1段、続いて第2段
 拡張子ごとに分類されたファイルを、所定のフォルダにコピーする。
// CamScanner --->D:\kiji
// Geographica --->D:\Map\Geographica
// Recorder --->D:\Recorder
// Movies --->D:\Movies
// Camera --->D:\PHOTO_DCIM\Apollo Lite 4G\Camera
// CozyCamera --->D:\PHOTO_DCIM\Apollo Lite 4G\CozyCamera
// PhotoResizer --->D:\PHOTO_DCIM\Apollo Lite 4G\PhotoResizer
// Screenshots --->D:\PHOTO_DCIM\Apollo Lite 4G\Screenshots
5.これらの処理で、タイムスタンプが古いか同じ転送元ファイルは、削除することにした。
 Apollo Lite 4G からデータを転送する際、過去に転送したファイルを転送する場合が多々あるからである。

 3日ほどかけて、ようやく改造が終わった。

【転送対象ファイルがある場合の起動画面】
b0013099_22332706.jpg
【転送対象ファイルがない場合の起動画面】
b0013099_22341223.jpg

[PR]

by TOSHIHIRO_SUGIMOT | 2017-11-01 22:35 | ソフト作成 | Comments(0)
2017年 10月 27日
20171027 【ソフト作成】登山記録変換
 以前に作成した「登山記録変換」ソフトでは、最初のデータは別のエディター(Terapad 等)で作成しなければなりません。このデータ作成から一貫した作業ができないかなと思ったのが、今回の改良の始まりでした。
 とりあえず、インターフェースを大幅に変更しました。ボタンをすべて右側のパネルに集めました。6個のボタンがありますが、「新規」「設定」の二つは空です。そう、肝心のデータ作成部分=「新規」がまだできていません。単純にエディターをくっつけようかと思ったのですが、やっていて、「もっとほかの方法があるのではないか」と思ったからでした。
 以前は、「変換」すると即保存していました。今回これを「変換」と「保存」に分けました。変換してみたが「アレッ」と思ったときに、保存せずに終了できるようにしたのです。
b0013099_11592401.jpg
20161231 【ソフト】登山記録変換
[PR]

by TOSHIHIRO_SUGIMOT | 2017-10-27 11:59 | ソフト作成 | Comments(0)
2017年 04月 07日
20170407 【ソフト】Share Link のデータをPCに転送する
 スマートフォン Apollo Lite 4G のデータをPCに転送するために、Share Link というアプリを使っている。

 このアプリ、重宝しているのだが、難点がある。
 フォルダーごと転送すると、転送先にそのフォルダーが作成され、そこに転送される。この場合、転送先に以前フォルダー転送したデータが残っている。そうすると、ファイル名の最後に(1)とか(2)とかが付加されて、新規にファイルが作成される。上書きされないのである。
 個別にファイルを指定して転送すると、Share Link フォルダーに個別に転送される。この場合も以前転送したファイルが残っていると、やはり(1)とか(2)とかが付加されて、新規にファイルが作成される。
 これを見分けて所定のフォルダーに振り分けるのは、面倒だし、何よりも難しい。
b0013099_21564266.jpg

 それで、この一連の作業を自動的に処理するアプリを作ってみた。
 まずは第一段階として、Share Link フォルダーに転送されたファイルを所定のフォルダーに転送する。
 「×」のあるファイルは、PhotoResizer にコピーする。
 ファイルの先頭に「cm」が付くファイルは、CozyCamera に移動する。
 同様に「img」が付くファイルは、Camera に移動する。
 「screenshots」が付くファイルは、Screenshotsに。
 「vid」は、VIDEO。
 「record」は、Recorder に。
 拡張子が「pdf」のファイルは、CamScanner に転送する。
 ファイルには、先頭文字列や拡張子に特徴があるので、それに対応して分類・転送するのである。

 第二段階は、それらのファイルを所定のフォルダーにコピーする作業である。
 CamScanner は、kiji フォルダーに転送する。
 video は、VIDEO フォルダーに。というようにである。
b0013099_21562204.jpg
 まだ細かな設定・改良をしなければならないが、一応の作業ができるアプリができた。

20170123 【Apollo Lite 4G】Share Link-PC側の設定
20170123 【Apollo Lite 4G】Share Link


[PR]

by TOSHIHIRO_SUGIMOT | 2017-04-07 21:56 | ソフト作成 | Comments(0)
2017年 03月 07日
20170307 【ソフト】MEMORU 改良
 「つれづれなるままに」に投稿する原稿を作成するために、「MEMORU」というテキストエディターを自作して使っています。昨年末までに「C++Builder」から「C#」への移行は完了させていました。
 最近、「.INI」ファイルの扱い方を学びました。「C++Builder」の時代は、「.INI」に設定情報などを書き込むのが当たり前でした。Microsoft はその後、レジストリを活用することを推奨するようになりました。そのためだと思いますが「C#」は標準ではサポートしていません。そのため、「C#」に移行しても「.INI」ファイルを使わずにいたのでした。しかし、「.INI」ファイルは、テキストエディターで簡単に編集できるため、小さなちょっとしたソフトにはとても便利なのです。

 MEMORU の何を改良したかというと、今まで画面の中央に開いていたものを、「前回開いていた位置に、開く」というようにしただけのものです。そのためには、「前回開いていた位置」をどこかに記憶させておかなければなりません。その程度のことなので、「.INI」ファイルの出番となるわけです。
 ついでなので、大きさを変えた時、次回はその大きさで開くようにしてみました。がめんいっぱいに開いて使うようなものではないので、これが実際には意外と重宝するのです。

20161201 【ソフト作成】MEMORU2


[PR]

by TOSHIHIRO_SUGIMOT | 2017-03-07 19:00 | ソフト作成 | Comments(0)
2016年 12月 31日
20161231 【ソフト】登山記録変換
 何とか年内に形にしました。「登山記録変換」ソフトです。

【こういうデータをエディターで作ります】
b0013099_13302194.jpg
【こんな風に変換されます】
b0013099_13304304.jpg
【ブラウザで表示するとこんなになります】
b0013099_13305960.jpg
【起動してみました】
b0013099_13323873.jpg
【元ファイルを読み込みます】
b0013099_13332254.jpg
【変換しました】
 元ファイルと同じフォルダーに「html」ファイルが作成されます。
b0013099_13335245.jpg
 もともとは「C++ Builder」で作っていたものです。細かな所をいろいろ修正する必要が出てきて、「C#」に移行しました。「C#」もだんだん慣れてきました。この程度のものなら、そんなに苦労せず、時間もかけずに、何とか作れるようになりました。


[PR]

by TOSHIHIRO_SUGIMOT | 2016-12-31 13:28 | ソフト作成 | Comments(0)
2016年 12月 19日
20161219 【ソフト作成】パスワード作成
 いろんな場面で結構、新規にパスワードが必要になることがある。そのパスワードをいちいち考えるのは、面倒なことである。それで以前、C++Builder で、パスワードを自動的に作成するソフトを作成し、重宝していた。
 使っていると、いろいろ不備や不満が出てくる。それで改良しようと思った。この際だから、C# に移行して、作成することにした。乱数(random関数)を駆使している。
b0013099_12230826.jpg
 初期設定では、パスワードの全体の長さを「12」とした。以前は「8」としていた。最小「4」から最大「20」までの偶数で作れる。文字数と数字の数をともに「6」とし、記号なしに設定してある。それぞれの数を自由に変更することができる。
b0013099_12232752.jpg
 「実行」ボタンを押すと、「パスワード」が生成され、表示される。気に入らなければ再度「じっこう」ボタンを押せばよい。
 「コピー」ボタンを押すと、クリップボードにコピーされるので、そのまま貼り付けることができる。

 「文字」は、今のところ大文字だけだが、ゆくゆくは小文字にも対応したいと考えているが、何時のことになるやら。


[PR]

by TOSHIHIRO_SUGIMOT | 2016-12-19 12:23 | ソフト作成 | Comments(0)