FC2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
C#でドラッグアンドドロップ
昨日書きましたが、XMLを修正するツールをAirでの開発を止めてC#でする事にしました。
でもC#は久々だったので・・・・
う~む、細かいとこ忘れてるなあ。

まあ、なんとかツールは完成したんですが、忘れるとイカンのでドラッグアンドロップをメモ。
VisualStudio2005 のC#で、新しいプロジェクトでWindowsアプリケーションを作成。

ツールボックスからTextBoxを選んで配置

ソリューションエクスプローラから「Form1.cs」を右クリックしてコードの表示でコードエディタを開きます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
 public partial class Form1 : Form
 {
  public Form1()
  {
    InitializeComponent();
  }
 }
}


こんな状態になっているので配置したTextBox1のドラッグアンドドロップのメソッドを追加します。
textBox1_DragEnter と textBox1_DragDrop のメソッドを追加。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace WindowsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }


    private void textBox1_DragEnter(object sender, DragEventArgs e)
    {
      if (e.Data.GetDataPresent(DataFormats.FileDrop))
      {
        //ファイルだったら許可
         e.Effect = DragDropEffects.Copy;
       }
       else
       {
        // ファイルでなかったら受け付けない
         e.Effect = DragDropEffects.None;
      }
     }

    private void textBox1_DragDrop(object sender, DragEventArgs e)
    {
      //ドラッグ&ドロップしたファイル名をフルパスで取得する
      string[] fname = (string[])e.Data.GetData(DataFormats.FileDrop);
      string path = fname[0];

      //XMLファイル読み込み
      XmlDocument xmlDoc = new XmlDocument();
      xmlDoc.Load(path);
    }
  }
}

XMLを使うので、
using System.Xml;
を追加

これを使ったら「Form1.cs」のデザイナを表示。プロパティウィンドウを表示。
「動作」の「AllowDrop」が「false」になっているので「True」にします。
CSDrop01.jpg

これがないとドラッグアンドドロップが許可されません。

次にイベントボタンを押して、プロパティウィンドウをイベントに切り替え
「ドラッグアンドドロップ」の「DragDrop」と「DragEnter」にさっき作ったメソッドを登録します。
CSDrop02.jpg

これで基本形が完成。

まあ、この後も、色々試行錯誤ありましたが、無事作成したかったツールは完成しました。

テーマ:.NET Framework - ジャンル:コンピュータ

カテゴリー:.NET | TM(0) | CM(1)
XMLSocketサーバー少しだけいじりました
去年後半から、時間があまり取れず、取り掛かってませんでしたがXMLSocketサーバーお試し版を、さりげなくちょっとだけ更新。

コンソールアプリ形式なのは、前のまんまですが、コマンド入力をやめてダブルクリックとかで、そのまんま起動するようにしました。
まあ、前から内部版では、そうなってたんですけどね。

コマンドで起動時にパラメータで設定してたのは、iniファイルで設定。ログ書き出しも追加。

パスワードやら命令追加など未だ未だこれから・・・・
XMLSocketサーバー絡みの仕事でも発生すれば、一気に進展するんですけどね(笑)

まあ、空いた時間に研究兼ねて制作してるやつなので・・・・果たして正式版は完成するのか?

テーマ:Flash - ジャンル:コンピュータ

カテゴリー:.NET | TM(0) | CM(0)
XAML勉強中
次のプロジェクトに向けて現在WPFを勉強中。

WPFというのは、Vistaとかに搭載されている.NET3の一部で、今までのWinのGUIと全く違った新しいGUIコンポーネントです。
Xpでも導入する事が出来ます。

ちょっと勉強しただけで、これから色々個性あふれるすごいGUIがいっぱいでてくるんだろうなと予感させられてワクワクしちゃいます。

しかもそれが、XAMLというXMLベースの言語で簡単に組めてしまいます。
ちょうどホームページをHTMLで組んで、インタラクティブな部分をJavaScriptで組むようなイメージをすれば、いいでしょうか。

デザインの枠組みをXAMLで組んで、インタラクティブな部分をC#もしくはVBで組む・・・

AdobeもFlexというのが、ありますがあちらもコンセプトは似ていてMXMLというXML言語でデザインの枠組みを組みながら、スクリプトを使う部分はActionScript3を使う感じでしす。

XAMLも結果的にはexe形式、MXMLもSWFになるわけなので、もちろんFlashだと、オーサリングツールのFlashでバシバシ組む方がいい面もあるだろうし、WPFもすべてC#で組めるのでそれでもいいんだけど、要はWebサイトを作る要領をそのまま生かして、デザインとプログラムを分業して効率を上げましょうってことなんでしょうね。

HTMLにDreamWeaverがあるように、XAMLにはBlendがあります。MXMLにはFlexBuilderがそうなるのかな?

まあ、どっちかというと大規模システムとか、何ページも移り変わるショッピングサイトのようなシステムの方が向いてる気もします。未だよく判んないけど。

Flashでいうと、ゲーム制作とか、やっぱりオーサリングソフトの方がやりやすい気も・・・

まあ、これから色々判っていくと思うので、思ったこととか述べていこうかと思います。

それにしても、WPF資料が少ない。
書籍もほとんどないし、サイトで扱ってるとこも未だ未だ少ないです。困った・・・・

海外サイトに目を向ければ色々載っているのだろうけど、英語が難関です。
まあ、Vistaも出て未だ1年経ってませんしね。これから一気に増えていくのかなぁ・・・・

カテゴリー:.NET | TM(1) | CM(0)
XMLSocket 仕様模索中
なんか、色々模索中です。
お試し版は、コンソールコマンドで起動時でポートとか指定してますが、iniファイルで指定するようにしました。
ini設定なので、コマンド使わずにダブルクリックだけで起動可能に・・
未だコンソールアプリのままですが、起動は楽になったかな・・

設定ファイルは、XMLにしようかとも思ったのですがiniの方が見た目わかりやすいので・・・中で散々XML処理はやってますしね(笑
設定項目が増えたり複雑になってくきたら、XMLにするかもしれませんが、とりあえずini。
ログ書き出し機能をこの前つけましたが、書き出しオン、オフもiniで設定

XMLSocketサーバーは、グループ管理する方法を取ってますが、セキュリティも兼ねて最初デフォルトグループに強制的に加入するようにしてるのを、パスワード認証とかにしようかとも思ったり。

接続した後、XMLでパスワード認証してサーバーから接続許可をもらってから、どっかのグループに加入する也、新規グループを作る仕様にしようかな・・・

iniにパスワード設定して、XMLSocketサーバーには、存在するグループ一覧や参加メンバーなどを取得する命令を付けないといけないか・・・
まあ、元々付けるつもりだったので調度いいかも・・・

まあ、マダマダ色々変えていくと思います。
そのうちお試し版にも反映させようと思います。


テーマ:Flash - ジャンル:コンピュータ

カテゴリー:.NET | TM(0) | CM(0)
XMLSocketサーバーにログ書き出し機能
まだ付けてなかったので実装しました。
現状「お試し版」として公開してますが、どこまで改良して「正規版」とするか検討中。

ログ書き出し機能もその一つ・・・・というかログ書き出しのないサーバーも変な気がするので。

同時接続も10から50に変えてみたけど実験できないや。正規版はどのくらいの接続にすればいいのだろう・・・悩みます。



テーマ:Flash - ジャンル:コンピュータ

カテゴリー:.NET | TM(0) | CM(0)
前のページ 次のページ