propg さん プロフィール

  •  
propgさん: プロプログラマ
ハンドル名propg さん
ブログタイトルプロプログラマ
ブログURLhttp://propg.ee-mall.info/
サイト紹介文プログラマーを職業としてます。 Flex,Air,C#,Oracle,PHPの言語ノウハウを中心に情報発信していきます。
自由文最近は、ios, androidアプリ開発も進めてます。
iPhoneユーザーです。
参加カテゴリー
更新頻度(1年)情報提供35回 / 365日(平均0.7回/週) - 参加 2013/01/24 12:41

propg さんのブログ記事

  • Oracle12cのsql*loader optionsにerrors=-1を指定するとエラーになる
  • Oracle11gでもダメだったか記憶がありませんが、Oracle12cのSQL*LoaderのOptions指定に、errors=-1を指定して実行するとエラーになります。LRM-00104: '-1'は'errors'に対して無効な整数です。SQL*Loader-114: OPTIONS句で構文エラーが発生しましたrows=-1についても同様です。 -1の指定がエラーになります。Oracle10gの時は、この指定で動いていたのですが、バージョンを変えたらエラーが発生するようになりました。構文エラーの [続きを読む]
  • [WPF][C#] CTRL+SHIFTを判断する
  • あるイベントでShiftが押されているかを判断するのは、if (Keyboard.Modifiers == ModifierKeys.Shift){ // 処理}と書きますが、ControlとShiftの両方が押されていることを判断するには、if (Keyboard.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift)){ // 処理}のように、”|”でつなげるだけでなく、カッコで囲う必要があります。このカッコの指定を忘れがちです。いつも忘れて検索しまくるので、備忘録として [続きを読む]
  • ESETをアンインストールする
  • ESETに限らず、ウィルス対策ソフトのアンインストールはなかなか難しい。一見消えたように見えても完全には消え切れておらず残っている。この状態でほかのウィルス対策ソフトや自身の再インストールをしようとすると、エラーになる。まるでウィルスのよう。。。ESET Endpoint Security が調子悪くなったので再インストールしようとしたのですが、かなり苦労しました。入れなおすのであれば、アンインストールする前に、修復インス [続きを読む]
  • [C#] ドライブ一覧取得
  • 現在接続されているドライブの一覧を取得します。結構簡単に取得できます。DriveInfo[] drives = DriveInfo.GetDrives();foreach (DriveInfo item in drives){ Console.WriteLine($"{item.VolumeLabel} [{item.RootDirectory.FullName}]-{item.DriveType} (空 {item.TotalFreeSpace/1024/1024/1024:#,##0}GB / {item.TotalSize/1024/1024/1024:#,##0}GB)");}ディスクの種類を調べるにはDriveTypeプロパティをチェックします。Dri [続きを読む]
  • Livetを使ってViewModelからMessageBox表示
  • ViewModelから直接MessageBox.Showを実行しても動きますが、ViewModelからコントロールを直接制御しないというのが理想なので、ViewModelからメッセージを送る形でMessageBoxを表示させます。Livetを使用する場合は、比較的簡単に実装できます。この実装が完全に正しいかどうかは正直よく分かっていませんが、まぁ動きます。実装する量としては結局のところMessageBox.Showと変わりません。ただ面倒なだけです。と考えるのは浅はか [続きを読む]
  • HTML5でビデオ再生は簡単
  • mp4などの動画ファイルをWEBページ上で再生させるのは、HTML5対応ブラウザなら簡単です。動画再生テスト・#64;HTML5HTML5のvideoタグによる動画再生 動画を再生するには、videoタグをサポートしたブラウザが必要です。リンクで開く場合動画を開くサポートしていない場合は、再生できませんが、a href ...でリンクすれば、再生可能の可能性があります。(ブラウザによる)昔ならFlashやActiveX使わないとダメでしたが、HTML標 [続きを読む]
  • USBメモリではAutoRun.infは機能しない
  • あるプログラムをUSBメモリに入れてユーザーに配布しようと思い、プログラム一式をコピーしました。どうせなら、USBメモリを挿した時にプログラムが起動したら親切だよねと思い、AutoRun.infを作成しました。USBメモリを抜いて、再度挿したところ自動起動のダイアログは表示されるものの、設定したはずのプログラムは表示されません。(中に画像ファイルが入っているからか、ピクチャとして処理される)AutoRunの設定が悪いのかとし [続きを読む]
  • Googleがインターネット接続テストサービスを実装
  • インターネットの通信速度を調べる方法はいろいろあって、アプリもたくさんありますが、何も入れなくても、ブラウザからかんたんにテストできるサイトが、Googleからリリースされています。使い方は簡単で、ブラウザのグーグル検索ページからから『インターネット速度テスト』と入力して検索します。速度テストを実行ボタンを押せば開始します。30秒程度です。終わると結果が表示されます。遅い。。。気軽に確認できるので、環境が [続きを読む]
  • Excel2016 『テキストに合わせて図形のサイズを調整する』がつかえない
  • しばらくは気のせいかと思っていたのですが、どうもExcel2016ではテキストボックスに対して「テキストに合わせて図形のサイズを調整する」設定をしても有効にならないようです。2016版になってからのようです。調べてみましたがどうもバグのようで、操作の仕方を変える程度では解決しません。対応としては、以前のバージョンで設定したものを2016で開くか、VBAで設定となります。自身の環境では以前のバージョンは残っていないため [続きを読む]
  • [WPF] TextBlockの値変更時に点滅させる
  • TextBlockのTextを変更したときに、文字全体を点滅させます。TextBlockにはTextChangedイベントがありません。代わりに、Binding.TargetUpdatedイベントを使用することで同じような動きにできます。ただし、このイベントは通常は発生しません。発生させるためには、TextにBindするときにオプション指定が必要です。Text="{Binding Message,NotifyOnTargetUpdated=True}"こうすることで、バインドされた値が変更されたときに、Targe [続きを読む]
  • [WPF] XAMLデザイナーがやたらエラーを出力するとき
  • XAMLデザイナーを開いたときに、貼り付けている部品が×マークになったり、エラー一覧に覚えのないエラーが大量に吐かれたりすることがあります。ひどくなると画面デザイン自体が開かなくなります。特にUserControlを貼り付けたときになりやすい。これは、デザイナーがキャッシュを持っているためで、そのキャッシュに不整合?が起こると、デザイナーでエラーになるようです。エラーが出ていてもわかっていれば無視することもでき [続きを読む]
  • [SQLServer] 指定した範囲内の乱数を生成する
  • SQLServerで乱数を取得するにはRAND関数を指定します。ほかの言語と同様に、0〜1の間の数が生成されるので、指定範囲内の整数値乱数が必要な場合は、SELECT FLOOR([FROM値] + (RAND() * ([TO値] - [FROM値] + 1)))のようにすれば取得できます。これもほかの言語と同様に乱数は毎回同じ乱数を発生させてしまうため、通常はRANDの引数にSEED値を指定してます。ココにも乱数で取得された値を指定すればいいのですが、あえて違う乱数取 [続きを読む]
  • [SQL Server] database restore時に「アクセスが拒否されました」
  • backupしたデータをrestoreしようとしたときに、バックアップ デバイス ‘*********.bak’ を開けません。オペレーティング システム エラー 5(アクセスが拒否されました。)。のようなエラーが出るときがあります。メッセージの通りでアクセス権がないのが問題です。SQLServerのインスタンスサービスにこのファイルへのアクセス権がないので、サービス実行ユーザーに対して権限を与える必要がありますが、サービス実行ユーザーを変 [続きを読む]
  • [LINQ][C#] 指定したファイル名の拡張子が想定した拡張子かを確認する
  • 画像ファイルの保存時などに、指定されたファイルが保存できるファイルの拡張子かどうかをチ
    ェックするロジックです。LINQを使えば1行で書けます。// 例1)Falseが返りますvar res1 = new string[]{&
    quot;.BMP", ".JPG", ".GIF", ".PNG", "GIF"}.Contains(System.IO.Path.GetExtension("
    ;c:/test1.gif").ToUpper());// 例2)Trueが返りますvar res2 = new string[]{".BMP", ".JPG", "
    ;.GIF", ".PNG", "GIF"}.Contains(System.IO.Path.G [続きを読む]
  • [WPF] ComboBoxにVirtualizingStackPanelを指定すると表示が爆速になる
  • WPFのComboBoxに大量のデータをバインドさせると、コンボボックスを開くときにかなり待たされます。2回目以降はだいぶましになりますがそれでも遅いです。データ量が多いのだからしょうがないとあきらめ気味でしたが、VirtualizingStackPanelを指定すると描画がものすごく早くなることが分かりました。Comboboxのリスト部にはStackPanelが指定されており、バインドされたデータをすべて描画しています。そのため、特に初回の表示が [続きを読む]
  • [C#] LINQを使ったファイル一覧の取得方法
  • 指定したディレクトリ内にあるファイル一覧を取得する場合、var files = Directory.GetFiles(@"c:");このように書けば簡単に取得できます。このファイルの一覧の並び順はファイル名順?かと思いますが、並び順を指定したい場合、以前だとArrays.Sortを使用して独自ソート順を指定していました。ですが、LINQを使用すると、いとも簡単にソートして取得することができます。var di = new DirectoryInfo(@"c:");var files = di.GetFil [続きを読む]
  • SQLServerはNullと空文字を区別する
  • 今までずっとOracleを使ってきましたが、最近SQLServerを使うことが増えてきました。そこで、なんで?と思うことがありました。SQL Serverは空白、空文字(Empty)、Nullを厳密に区別するOracleだと、UPDATE xxxx SET cd=”;と指定しても、NULLで登録されます。ですが、SQLServerの場合は、そのまま空文字が登録されます。こちらの方が自然なのですが、Oracleに慣れていると逆に不自然です。条件指定する際には、IS NULLと=”を合わ [続きを読む]
  • [C#] EXEとDLLをマージして1つのEXEファイルにする
  • C#でプログラムを作成する際に参照設定で追加していると、ビルドフォルダにはDLLファイルがコピーされます。これらのDLLファイルがないと実行できないので、配布する際にはDLLと一緒にコピーする必要があります。大きなプログラムならそれでいいんですが、ちっさなおまけプログラムの場合、EXEだけコピーして実行できたら便利です。そういう時は、EXEファイルにDLLファイルをマージして1ファイルにすることができます。1. ILMerge [続きを読む]
  • [Excel] VLOOKUP関数の範囲はセル指定でなくてもよい
  • VLOOKUPの第2引数にはデータの参照先(テーブル)を指定しますが、ここはセル範囲でなくてもよいことに気づきました。CSVのような感じで指定すれば参照できました。以下ののような感じです。記載方法も画像を参考にしてください。各行に参照データを記載するので無駄ですが、数が多くないちょっとしたコードや区分の変換ぐらいだったら、いちいち別シートに変換テーブルを定義しなくてもよいので便利だと思います。変換用のシートを [続きを読む]
  • システム開発におけるステークホルダーとは
  • ステークホルダーという言葉があります。日本語では利害関係者という固い訳し方をします。利益や損害を得る可能性がある人となります。システム開発においては、関連する人や企業全てを表すことが多いと思います。システム開発においてのステークホルダーは、・そのシステム開発を発注した会社・システムを利用するエンドユーザー・システムを受注した開発会社と開発者 ・プロジェクトマネージャー ・システムエンジニア ・プロ [続きを読む]