2010年12月4日土曜日

C# 備忘録

#if
C言語のように#if 1をやろうとすると、コンパイルエラーとなる。
#if trueだとOKだった

LISTと配列の変換
http://www.ipentec.com/document/document.aspx?page=csharp-generics-array
ドライブの情報取得
ドライブの一覧とそのタイプなどを取得。
http://www.atmarkit.co.jp/fdotnet/dotnettips/557driveinfo/driveinfo.html
ファイル、フォルダの一覧を取得
http://www.atmarkit.co.jp/fdotnet/dotnettips/053allfiles/allfiles.html
文字列の先頭に@マーク。これなんだ?
エスケープシーケンスを無視するマーク。
http://dhive.jp/blog/yama/?p=1149

usingが関数の中にあるとき
int func()
{
  using (オブジェクト) 
  {
  }
}
のようなかたちをしているときがある。

これはオブジェクトの生存範囲を明確にしたいときに使用する。
詳しくはこちらで、
http://msdn.microsoft.com/ja-jp/library/yh598w02(v=vs.80).aspx

DataGridViewとパフォーマンス

DataGridViewに情報をセットするときに次のような感じでごりごりやってました。

// 見出しをdatagridviewに入力
foreach (string str in Columns)
{
    dataGridView1.Columns.Add(str, str);
}

// 中身を入力 (行を繰り返し入力していく。)
int nColmn = 0;
Dictionary dict;
dict = cdate.GetData();
foreach (string key in dict.Keys)
{
    // 文字列をgridviewに登録。
    string[] strtmp = new string[dict[key].Length];
    for ( int i = 0; i < dict[key].Length; i++)
    {
        strtmp[i] = dict[key][i].str;
    }
    dataGridView1.Rows.Add(strtmp);
}


ですが、データの行数が2万ぐらいになったら、めちゃくちゃおそくなってしまい。。。
なので、DataTableにデータをつくっておいて、その後DataGridViewのDatasourceとして
登録するようにしたらだいぶよくなりました。

// 見出しをdatagridviewに入力 
DataTable dt = new DataTable();
foreach (string str in Columns)
{
    dt.Columns.Add(str, str.GetType());
}

// 中身を入力 (行を繰り返し入力していく。)
int nColmn = 0;
Dictionary dict;
dict = cdate.GetData();
foreach (string key in dict.Keys)
{
    // 文字列をgridviewに登録。 
    string[] strtmp = new string[dict[key].Length];
    for (int i = 0; i < dict[key].Length; i++)
    {
        strtmp[i] = dict[key][i].str;
    }
    dt.Rows.Add(strtmp);
}
dataGridView1.DataSource = dt;

2010年11月7日日曜日

とりあえず。

フォントファイルの情報表示ソフトは、ひとまずこんな感じになってます。
まだ、簡単なテーブルしかやってないのですが。

グリフとかをちゃんと表示させれる気がしないので、
途中で挫折する可能性は高いです。

2010年10月30日土曜日

アンカー

C#にはアンカーという便利な機能がある。

そのうちちゃんとメモする。

固定小数点をdoubleへ変換したいとき

フォントファイルにはFixed型というのが定義されてます。

これは整数部16bit, 小数部16bitの固定小数なのですが、
どうやってdoubleに変換すればよいか、こちらを参考にしました。

http://d.hatena.ne.jp/tt_clown/20090609/p1

2010年10月9日土曜日

趣味でプログラムをつづけるための...

1.あまりがんばらない。
 -> たいてい頑張り過ぎると完成しない。頑張らなくても完成しないけど。

2.思いついたら書いてみる。
 -> あまり頭で考えすぎると続かないので、とりあえず書いて動かしてみると意外に続く。

3.コメントはある程度書いておく。メモっぽくても自分さえわかればよい。
 -> 毎日やるわけではないので、たいてい、まえなにやってたかよくわからなくなるので。

4.

2010年9月29日水曜日

linux関連備忘録

■コマンド
・なにかこまんどをうったら、ターミナルがいっぱいになってみれない。
-> コマンド | less とするとよい。


■シェル
・関数が作れる。
#!/bin/sh
#-----------
# 関数 : 文字列に時間をつけてechoする。 
#-----------
echoex ()
{
  echo "`date '+%y%m%d[%T]'` $1" #引数を表示
}
#-----------
# シェルの本体。 
#-----------
echoex "------- start -------"

・シェル変数に値を入力するときはイコールの前後にスペースをいれるとだめ。

2010年9月18日土曜日

フォントファイルの情報を表示する。

Linuxもあれでおわりにして、
フォントファイルの情報を表示するソフトに着手。

c#のformでやってみよう思ってます。



2010年9月11日土曜日

恥の多い人生をおくっております。。。

マインドマップ等 は現在挫折中。

今回はlinuxで簡単なプログラミングをやってみたいなぁと思ってます。

ということで、まずは"anjuta"という統合化遺髪環境をインストール。


いちおう。VisualStudioでのVB開発のようにお手軽にやりたい。

開発環境はググってみたけどいろいろあるみたいなので、GNOMEの開発環境
だというanjutaをとりあえずインストーーるしてみた。

http://anjuta.seesaa.net/article/50053068.html

ここにしたがって、やろうとしたが、

gtk+2.0がない。みたいなことをいわれたので、
libgtk2.0-dev をインストール。

とりあえず、上記のURLを参考にやっていく。
なんだかバージョンが異なるようで、いろいろちがうが、、、

最終的にこんなのができた。

2010年7月14日水曜日

Excel で グラフィックス

こんなものを書いてみました。



オートシェイプを記録して、forでまわしただけですが...

office 2003。

Sub Line()
    ' 円の中心
    Dim centerX As Integer
    centerX = 300
    Dim centerY As Integer
    centerY = 100

    ' 円の半径
    Dim radius As Integer
    radius = 100
    
    Dim max As Integer
    max = 200
    For i = 0 To max Step 1
        radian = 3.14 * 2 * i / max
        x = Cos(radian) * radius + centerX
        y = Sin(radian) * radius + centerY

        ' オートシェイプで線を引く。
        ActiveSheet.Shapes.AddLine(x, y, centerX, centerY).Select
        Selection.ShapeRange.Line.Weight = 0#
        
        ' 色をちょっとづつ変えてみる。
        Dim calor As Integer
        calor = 255 / max * i
        Selection.ShapeRange.Line.ForeColor.RGB = RGB(calor, 255, 255)
    Next i
End Sub

2010年7月13日火曜日

やっぱり。

wpfはちょっと敷居がたかそうだったので、C#とFormに路線変更。

とりあえず、formに文字列と簡単なグラフィックを書くところを試す。

OnPaintを追加する方法がよくわからず、苦戦する。

このへんをダブルクリックすればよいみたい。

2010年5月30日日曜日

コンテキストメニュー

むずかしいので、一旦保留。

とりあえずメニューでも追加してみようかと思ってます。

リボンができれば一番よいけど。

2010年5月29日土曜日

wpfで動的にtextboxを追加

http://stackoverflow.com/questions/537073/wpf-how-do-i-create-a-textbox-dynamically-and-find-the-textbox-on-a-button-click

↑を参考にやってみたら、うまくいった。
よかった。

    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            TextBox txtNumber = new TextBox();
            txtNumber.Name = "txtNumber";
            txtNumber.Text = "1776";
            txtNumber.Height = 20;
            txtNumber.Width = 100;
            testGrid.Children.Add(txtNumber);
            testGrid.RegisterName(txtNumber.Name, txtNumber);
        }

    }

test



このぺーじを参考にソースコードをかっちょよくできるように
してみました。

かっちょいい。。。

http://www.kuribo.info/2008/06/blogger-syntax-highlighter.html

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

マインドマップ

次はマインドマップのようなものをつくりたいなぁと考えています。

wpf + C# に挑戦してみようかなぁと。

まずは動的にコントロールを貼り付けることが課題です。

フォントと全く関係なくなってきましたが。。。

2010年5月11日火曜日

wpf で例外

visual studio2010 expressをインストールして、wpfアプリをつくってみようかと
思ったら、実行時に例外が発生と。。。

あれ。

vbとC#のどちらも発生。

ボタンなどを配置すると発生する。
xamlparseexception















ボタンをぴったり左上にくっつけるとでなくなった。(Marginが入らないようにした)
なんでなんだろ?

2010年4月29日木曜日

visual studio 2010 express install

公開されたので、インストールしてみてます。

4/28公開といっても、あさいちではないことがわかった。

今後はあまり期待しないようにしよう。

2010年4月28日水曜日

C# と 電卓

そろそろC#の勉強でもはじめようかなぁと思い始めたので,
練習がてら、電卓でも作ろうかと考えてます。

それにしても、Visual studio 2010 expressは何時にでるのだろ?

2010年4月24日土曜日

silverrightってなに。

SilverLightに少し興味がでてきた。

このあたりのページを参考に、なにかはじめてみようかな。と思ってます。

http://www.atmarkit.co.jp/fwcr/rensai2/silverlight2_02/silverlight2_02_3.html

文字を表示するソフト完成

文字を表示するソフトが完成したので、Vectorに登録してみました。

http://www.vector.co.jp/soft/winnt/writing/se483244.html

scriptgetcmap()で、文字が存在するかどうかをチェックしてます。

2010年3月17日水曜日

アイコン

ココを参考にしたら、アイコンはicofxとposerpointで簡単にかっちょいいのができた。

http://blogs.wankuma.com/mayuki/archive/2007/04/21/72325.aspx

メモするソフト2

できれば、本物のtwitterに書き込めるソフトをつくろうと思う。

とりあえず参考になりそうなページとキーワード。

参考のページ。

http://japan.internet.com/developer/20090721/26.html


キーワード
.NET HttpWebRequest

2010年3月7日日曜日

2010年3月6日土曜日

メモするそふと

ローカルにツイッター的にメモをしていくそふと
をつくってみる。

VBで。

Memotter!!

MSDNのこの辺を参考にしたら、簡単にできそう。
方法 : ログ ファイルを開いて情報を追加する
http://msdn.microsoft.com/ja-jp/library/3zc0w663(v=VS.80).aspx

デフォルトボタンの設定方法もわかったので、メモしておく。
---
1.フォームのプロパティを開く。
2.AcceptButtonにデフォルトにしたいボタンを設定する。
---

UIはこんなかんじ。

メモはこんな感じになる。
-----------------------
[2010年3月6日 8:22:36]今日は散歩に行った.
[2010年3月6日 8:35:06]ごはんたべた。
[2010年3月6日 8:35:09]ねた。
[2010年3月6日 8:35:11]おきた。
[2010年3月6日 8:35:13]DDDDDDDDDDDDD
-----------------------

PDFのぺーじのサイズを変更する

PDFのページサイズを変更するようなプログラムを作ってみようかな
と思いました。

とりあえず、PageのMediaBoxのサイズを変更すれば
サイズが大きくなることを確認。バイナリエディタでちこちこやったところ、大きくなった.。

VBでやってみようかなとおもう。

http://www.atmarkit.co.jp/fdotnet/dotnettips/669bincopy/bincopy.html

を参考に、バイナリファイルを読むところまで作成。

UIはこんな感じ。