Programming

ASP.NETメモ

今回はTextBoxコントロールのあれやこれや TextBox.ReadOnlyプロパティがtrueに設定されていると、JavaScriptから値を設定してもポストバックがかかるとTextBoxの値が元に戻ってしまう。 なぜかtxtBox.Attributes.Add("ReadOnly", "true");だと大丈夫みたい…

【.NET Relation/Work】ちょwwwおまwwwな出来事【常駐先編】

あるあるwww身近であったのは、クエリ文字列で渡されたパラメータをそのままSQL分の条件に投げ込む処理。SQL Injectionのお手本になりそうなコードがいたるところに・・・ 「とりあえず動いてるなら直さないで」 「はい・・・・('A`)」

TextBoxのMaxLengthプロパティについて

TextBoxコントロールのMaxLengthプロパティってバイト数じゃなくて文字数で制限をかけてるのな。気づかないで「なんでMaxLength設定してるのに指定バイト数以上入力できるんだーヽ(*`Д´)ノ」となってたw 文字列のバイト数を得るにはEncoding.GetByteCount(…

NUnitを使おう その2

NUnitを使って効率よくテストを行うためには、テストしやすい設計にしておくのが大事だとおもた。本当はテストコードを一番最初に書くべきなんだな〜ちょいメモ DB関連のコードをテストする場合にはトランザクションをテストコード側で保持しておく(テスト…

ダブルポスト大作(ボタンの二度押し等)

http://d.hatena.ne.jp/itaosan/20061225/1167025092 で紹介されてたアスペクトを使う手法がお手軽で(・∀・)イイ!と思ったんだけど、何故か漏れの環境だとコントロールのOnClientClick()が使えなくなってしまう。なぜだ・・・(´・ω・`)ショボーンあとはJavaScrip…

GridViewのDataFormatString

HTMLEncodeをfalseにしないとDataFormatStringの書式が有効にならないこれにきづかず数時間を無駄に過ごした orz

自動テストツール NUnit/NUnitAspを使ってみる

テスト駆動開発とかアジャイルの言葉に挽かれてNUnit/NUnitAspに挑戦してみることにした。NUnit-GuiからテストコードのDLLを読み込もうとすると、NUnit-GuiがBadImageFormatExceptionを吐いてイメージを読み込んでくれない。 調べてみると、NUnitAspの最新バ…

PDFライブラリiTextを使う2

昨日の続き改ページが自動で行われると嫌な場合は段組テキスト表示用のColumnTextを使うといいみたい。自動的に右端で改行をしてくれて、与えられた領域内でテキストが収まりきらないときはColumnText.go()の戻り値で検出できる。溢れたテキストは任意のColu…

PDFライブラリiTextを使う

WebアプリケーションでPDF形式での帳票出力機能が必要になったので、PDFライブラリであるiTextを調べてみた。 Java用のPDF出力コンポーネントiTextが元で、.NETで使用可能なPortもいくつかある。 http://www.lowagie.com/iText/docs.html 本家Java版 http://…

C#でLate Binding

id:halo_w2:20070111のExcelの印刷範囲を画像に変換する機能なのだけど、どうもExcelのバージョンによっては作動しないみたい。参照設定のCOMから、Microsoft Excel Object Library 11.0を選択しているのだけれど、これだとDLLがEarly Bindingになってしまう…

Excelファイルを画像として取得(2)

参考:Visual Studio .NET 2003 C#、Excel COM 操作 - goungoun技術系雑記帳ああなるほど、ScriptControl.ExecuteStatement()で直接VBSを実行してやればよいのか。 これならExcel.ApplicationオブジェクトのQuit()とCOM開放だけきっちりやってやればCOMの参…

Excelファイルを画像として取得

ユーザーの要求は「Webフォームで入力したデータを帳票表示して印刷したい。Excelで作った図表を帳票にはめこめるように」 ('A`)Excelのスプレッドシート部分のデータだけならADO.NETとかを介して取り込むことはできるんだけどグラフやらオートシェイプやら…

サーバーサイドでOfficeオートメーションを使ってはいけない

http://support.microsoft.com/default.aspx?scid=kb;ja;257757 ASPからWebフォームに入力した内容をExcelやWordに反映して・・・とか逆にExcelをサーバー側で読み込んで項目をWebフォームに反映とか・・・こういう要求はかなり多いと思われるから うっかり…

C# 2.0の新機能ジェネリッククラス

ジェネリック・クラスで変わるC#とVBのコレクション − @IT http://www.atmarkit.co.jp/fdotnet/special/generics01/generics01_01.html Ver1.1の頃にC#にtemplateが無いのを知って「なんでC++より退化してるんだヽ(*`Д´)ノゴルァ!」と怒ってたんだけど、いつ…

^演算子

ハマッタ。どうやらC#には^演算子が無いらしい。System.Math.Pow()を使うのが正しいみたい参考:C#やVB.NETでべき乗(累乗)を計算するには? http://www.atmarkit.co.jp/fdotnet/dotnettips/290mathpow/mathpow.html

C#学習本のオススメって?

体系的にC#を学んだことがないもんで、これからも仕事で使って行くのは不安がある。 「プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応」と「独習C#]はどちらがいいんだろう。アマゾンのレビューとか見ると 「プログラミングC#第4版」→経験者向け…

ClassCastExceptionについて

おとといの日記で「例外は発生することが予期できないエラーにのみ使う」と書いたけれども、そうするとJAVAのClassCastExceptionはどうなるんだと考えた。ダウンキャストを行う以上、ダウンキャストに失敗することは当然「予期できる」はずでは・・・・?JAV…

アプリケーションのエラー処理について

今までエラー処理については 古典的なエラー処理方法 メソッドの戻り値でエラーコードを返し、呼び出し元ではif文でエラーコードに応じた処理をする OOP的なエラー処理方法 エラー発生時にはメソッドが例外オブジェクトをthrowし、呼び出し元ではそれをcatch…

SQLExceptionについて

下で、「予期できる」か「予期できない」でエラー処理の方針を分けると書いたけれど、そうするとSQLExceptionみたいな例外の扱いについて気になる。単純にSQLExceptionといってもエラーの内訳は テーブルorビューが無い(予測不能) 一意制約エラー(予測可…

Webアプリケーションにおける排他制御の問題(×ボタンへの対処)

WEBアプリケーションにおいて、ある処理をさせている最中にDBのレコードをロックしておきたいことはよくある。帳票情報の編集画面で帳票レコードをロックしておいて、処理が終了するとロックを解除する、という風にしたい。大体の場合、ページのフォーム中…

別スレッドからフォームのコントロールを操作する その1

Windowsフォームアプリケーションで、重たい処理をさせたい場合、メインスレッドとは別のスレッドを作って、そっちに処理させたいわけですよ。ところが.NETではフォームのコントロールの操作は、フォームを所有しているスレッドからしか行えないらしく、別ス…

System.IO.Pathクラスは地味に便利

なんだかかゆいところに手が届く的な心憎いクラス string path = @"c:\JOJO\Dio.txt"; //ファイルパス if( Path.HasExtension(path) ) // 拡張子がついているかを返す Console.Write("{0}は拡張子つき",path); Path.GetFileName(path); //Dio.txtが帰る。 Pa…

AutoCommitの罠

思い切りやられた。 とりあえずAutoCommitはデフォルトでtrueなので気をつけよう

 「実行時例外」の意味

Blog.C# 実行時例外とは何か dW : Java technology : Javaの理論と実践: 例外をめぐる議論Blog.C#さんの記事は衝撃的でした。 これを見るまで実行時例外の意味を完璧に勘違いしていた。 無理矢理日本語に訳してしまうと元の言葉の意味がわかりづらくなるから…

設定の保存の仕方いろいろ その2

レジストリ Microsoft.Win32.RegistryKeyを使うことでレジストリへのアクセスができるらしい。詳細は @IT:.NET TIPS レジストリの値を取得するには? - C# VB.NET @IT:.NET TIPS レジストリの値を設定するには? - C# VB.NET @IT:.NET TIPS レジストリ…

設定の保存の仕方いろいろ

VBとかだとINIファイルに設定の情報を保存するのが定石だけど、.NET FrameworkではINIファイルのアクセスはサポートされないらしい。 アプリケーション設定 IDEのフォームのプロパティを開いて「ApplicationSettings」→「PropertyBinding」とする。 使い方は…

いろいろメモ

usingステートメントの使い方 オブジェクトを開放するタイミングを指定できる。 using (StreamWriter file = new StreamWriter("DIO.txt")) { file.WriteLine("MudaMuda"); }ブロックを抜けた段階で自動的にfileが開放される。いちいちfinally{}内でfile.Clo…

.NET Frameworkで正規表現を使う

仕事でApacheのアクセスログの解析する必要が出てきて調査。 まずはログを項目ごとにバラしてやる必要があるんだけど、正規表現を使うと楽そうなことが判明。.NET FrameworkではSystem.Text.RegularExpressionのRegEx/Matchが正規表現を扱うためのクラス。 …

std::stringつづき

http://pc2.2ch.net/tech/kako/1045/10457/1045746245.html 293 名前: 284 投稿日: 03/02/27 19:46 >>286 basic_stringからながめてみますた gcc(3.2)はリファレンスカウント。iterator!=pointer stlportはフツーに確保。NUL terminated. vcもフツーに確保…

std::stringのコピーのコスト

今までstd::stringはそれぞれに独立した文字列のバッファを持っていて、 string同士のコピーは自分専用のバッファを確保してそこにコピーするもんだと思ってたけど、どうやら違うらしい。 参照カウントで管理された文字列バッファを別に持っていて、 std::st…