2009年9月18日金曜日

リソースファイル

.netには埋められたイメージファイルの使用
Formから、一度イメージファイルをインポートする、.resxファイルにバイナリ形式で保存され。
ソリューションファイル閉じて、元イメージファイルを削除する。
リソースファイルのアクセス
vs2003以前
http://dobon.net/vb/dotnet/programing/bitmapresource.html
vs2005以降
http://dobon.net/vb/dotnet/programing/resourcemanager.html
注:エグゼファイルが埋まられない。(埋まる前、圧縮して、埋まられるようになった)
リソースを取得する
http://dobon.net/vb/dotnet/programing/vsresource.html#section8
string txt = Properties.Resources.TextFile1;
バイナリファイルで保存する
リソースファイルにtextファイルを追加する、リリースするとtextファイルが見えなくした。
Unlha32.dllを使って書庫を展開する方法(lzhファイルの解凍)
http://dobon.net/vb/dotnet/links/extractarchive.html
コントロールの位置や大きさを自動的に調整可能にする
コントロールのAnchor属性を設定する。
コントロールのフォーカスの設定
コントロールのtabIndexに関係がある
単にMe.button2.Focus()→うまくゆかない
Me.ActiveControl = Me.button2→OK
あるいはコントロールのtabIndexを直す
vb6であれば、変数の定義は
Dim I,j as Integer→×
Dim I as Integer,j as Integer→○
vb6であれば、引数が既定はByRef
VB6では、非クライアントエリアのフォントの情報取得
tagNONCLIENTMETRICS
SystemParametersInfo
dictionaryの使い方(.net2.0のみ)→.net3.5ならdic.values(0)ができるように
http://www.atmarkit.co.jp/fdotnet/dotnettips/429dictionary/dictionary.html
SortedDictionary→ソートできる
KeyValuePair
C#変数
float f =1.23f;
long l =45L;
int m=0x1345;
Visual Studioのソースファイルのエンコード
Visual Studio .NET 2002/2003(以降、VS.NET)の日本語版で作成したソース・ファイルの多くは「シフトJIS」でエンコードされており、
逆にVisual Studio 2005(以降、VS 2005)のソース・ファイルは基本的に「UTF-8」でエンコードされている。
変更すれば、
各ページで[保存オプションの詳細設定]で「日本語シフト JIS」を選んで。
Visual Basic 6.0 と Visual Basic .NET とのフォルダやファイルの操作方法の違いについて
http://msdn.microsoft.com/ja-jp/library/cc440853.aspx
Visual Basic 6.0 でフォルダやファイルを作成する場合、
FileSystemObject の CreateFolder メソッド、CreateTextFile メソッドを使用します。
実装コードは以下のとおりです (事前に、[プロジェクト] メニューの [参照設定] で「Microsoft Scripting Runtime」にチェックを付けておく必要があります)。
CopyFolderがある
一方、Visual Basic .NET で実装する場合、
Directory クラスの CreateDirectory メソッドや File クラスの Create メソッドを使用します。実装コードは以下のとおりです。
フォルダのコピーメソッドがない。
My.Computer.FileSystem.CopyDirectoryがある。
データの暗号化
http://msdn.microsoft.com/ja-jp/library/as0w18af.aspx
暗号化と復号化のためのキーの生成
http://msdn.microsoft.com/ja-jp/library/5e9ft273.aspx
ファイルアクセス基礎
TextReader (抽象クラス)
StringReader
StreamReader
TextWriter (抽象クラス)
StringWriter
StreamWriter
If I am writing a routine that needs to read Text, generally I will write it
based on a TextReader. This way I can pass it either a StreamReader or a
StringReader & the routine itself is non the wiser.
StreamReader は、特定のエンコーディングの文字を入力する場合に使用します。
他に指定がない場合、現行システムでは StreamReader は ANSI コード ページではなく、既定の UTF-8 エンコーディングに設定されます。
StringReader は、 文字列から読み取る
BinaryReader クラス は、プリミティブ データ型を特定のエンコーディングのバイナリ値として読み取ります。 (保存しても、普通に中身が見えない。)
BufferedStream クラス は、他のストリームに対する読み取り操作および書き込み操作にバッファリング層を追加します。このクラスは継承できません。 (一時的保存する。他のStreamと一緒使う、いい効率)
MemoryStream クラスは、バッキング ストアとしてメモリを使用するストリームを作成します。
FileShare 列挙体 は、同一のファイルに対して他の FileStream オブジェクトが保有できるアクセスの種類を制御する定数を格納します。
読み取り専用ファイル、読み取り以外のアクセスできない。必ず属性を解除する
// -----------------------------------------------------------------------------
///
/// 指定したファイルを削除します。

///
/// 削除するファイルまでのパス。
/// -----------------------------------------------------------------------------
public static void DeleteFile(string stFilePath) {
System.IO.FileInfo cFileInfo = new System.IO.FileInfo(stFilePath);
// ファイルが存在しているか判断する
if (cFileInfo.Exists) {
// 読み取り専用属性がある場合は、読み取り専用属性を解除する
if ((cFileInfo.Attributes & System.IO.FileAttributes.ReadOnly) == System.IO.FileAttributes.ReadOnly) {
cFileInfo.Attributes = System.IO.FileAttributes.Normal;
}
// ファイルを削除する
cFileInfo.Delete();
}
}
演算子
論理 AND
優先順
&


論理 XOR
^

論理 OR

BinaryReaderのアクセス
BinaryReader binReader =
new BinaryReader(File.Open(fileName, FileMode.Open));
while (binReader.PeekChar() != -1)
{
aspectRatio = binReader.ReadSingle();
lookupDir = binReader.ReadString();
autoSaveTime = binReader.ReadInt32();
showStatusBar = binReader.ReadBoolean();
string s = binReader.ReadString();
}
using (BinaryWriter binWriter =
new BinaryWriter(File.Open(fileName, FileMode.Create)))
binWriter.Write((float)aspectRatio);
binWriter.Write((string)lookupDir);
binWriter.Write((int)autoSaveTime);
binWriter.Write((bool)showStatusBar);
プログラムの処理に「同期」と「非同期」があります。
「同期」は、処理をしたら結果が返ってくるまで待って次の処理を実行していきます。
「非同期」は、処理をしたら結果を待たずに次の処理を実行していきます。
シリアル化 と 逆シリアル化
http://smdn.invisiblefulmoon.net/programming/netfx2/overview/serialization/
http://ja.wikipedia.org/wiki/%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%BA
逐次化
public、protected、internal、private、protected internal(Public、Protected、Friend、Private、Protected Friend)の違い
http://dobon.net/vb/dotnet/beginner/accessibilitylevel.html

0 件のコメント:

コメントを投稿