■Delphiを用いて
「ローカルIPアドレス」、「ローカルホストネーム」の取得方法
Delphiで、自PCのローカルIPアドレス等の取得が簡単なコーディングで実現。
使用しているIndyユニットの情報は英語が主で、私には不得手ですが、
この使い方は外国のWebサイトのサンプルのソースコードから見つけました。
Delphiのバージョンは2007ですが、
試しにDelphi7でも実験。一部プロパティの修正で正常に動作しました。
ということは、かなり昔からこの使い方ができたんですね。
下記コードは全文ですので、簡単にコピーして実験できると思います。
(フォーム1個にボタン1個、尚下記コードには全角スペースが混入)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls,
IdUDPClient, IdStack; // <--- 追加
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// ----- IpAddress,Host 取得 -----
procedure TForm1.Button1Click(Sender: TObject);
var
IdUDP:TIdUDPClient;
LocalAddress,LocalHostName : string;
begin
IdUDP := TIdUDPClient.Create(Self); // この4行がミソ?
LocalAddress := GStack.LocalAddress; //
LocalHostName := GStack.HostName; // Delphi 2007の場合
//LocalHostName := GStack.WSGetHostName; // Delphi 7の場合
showmessage(LocalAddress + ' - ' + LocalHostName);
IdUDP.Free;
end;
end.
ところで、
上記ロジックを調べた目的は、Delphiで作成したシステムでセキュリティ改善の為、
ログデータ生成の要求があり、
システム稼動時の操作状況を、端末情報やWindowsのログインユーザーも含めて
DBに吐き出すため。
追記 2/19
ところで、上記の使い方のヒントは下記URLの「Let’s UDP Chart!」からです。
http://delphi.about.com/library/weekly/aa101105a.htm
(添付の広告は怪しいのですが、変なところをクリックしなければ問題無いみたい)
後で知ったのですが、下記サイトで紹介されているWinSockでの実現方法は、
同じソースでDelphi2007とDelphi7で正常に動作しましますので、こちらの方が良さそう!
DelFusa Floor
http://delfusa.main.jp/delfusafloor/technic/technic_f.html
「自マシンのIPアドレスとホスト名(マシン名)を得る方法 2008/01/18(金)」
「ローカルIPアドレス」、「ローカルホストネーム」の取得方法
Delphiで、自PCのローカルIPアドレス等の取得が簡単なコーディングで実現。
使用しているIndyユニットの情報は英語が主で、私には不得手ですが、
この使い方は外国のWebサイトのサンプルのソースコードから見つけました。
Delphiのバージョンは2007ですが、
試しにDelphi7でも実験。一部プロパティの修正で正常に動作しました。
ということは、かなり昔からこの使い方ができたんですね。
下記コードは全文ですので、簡単にコピーして実験できると思います。
(フォーム1個にボタン1個、尚下記コードには全角スペースが混入)
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes,
Graphics, Controls, Forms, Dialogs, StdCtrls,
IdUDPClient, IdStack; // <--- 追加
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
// ----- IpAddress,Host 取得 -----
procedure TForm1.Button1Click(Sender: TObject);
var
IdUDP:TIdUDPClient;
LocalAddress,LocalHostName : string;
begin
IdUDP := TIdUDPClient.Create(Self); // この4行がミソ?
LocalAddress := GStack.LocalAddress; //
LocalHostName := GStack.HostName; // Delphi 2007の場合
//LocalHostName := GStack.WSGetHostName; // Delphi 7の場合
showmessage(LocalAddress + ' - ' + LocalHostName);
IdUDP.Free;
end;
end.
ところで、
上記ロジックを調べた目的は、Delphiで作成したシステムでセキュリティ改善の為、
ログデータ生成の要求があり、
システム稼動時の操作状況を、端末情報やWindowsのログインユーザーも含めて
DBに吐き出すため。
追記 2/19
ところで、上記の使い方のヒントは下記URLの「Let’s UDP Chart!」からです。
http://delphi.about.com/library/weekly/aa101105a.htm
(添付の広告は怪しいのですが、変なところをクリックしなければ問題無いみたい)
後で知ったのですが、下記サイトで紹介されているWinSockでの実現方法は、
同じソースでDelphi2007とDelphi7で正常に動作しましますので、こちらの方が良さそう!
DelFusa Floor
http://delfusa.main.jp/delfusafloor/technic/technic_f.html
「自マシンのIPアドレスとホスト名(マシン名)を得る方法 2008/01/18(金)」
■第8回CodeGearデベロッパーキャンプ
前回は仕事の都合で参加できませんでしたが、今回は出席
2月12日(火)10:00〜18:00 青山ダイヤモンドホール
■内容は
マーケティング担当の藤井さんの各製品の特徴や方向付けの話、
CodeGear副社長David I氏のRubyを主体とした話、
その後は、Java、Delphi、DBのセッションを選択し受講。
■衝撃的だったのは
「CodeGear™のソフトウェア開発ツールが、ロシアの学校組織の
最大100万台のPC上にインストール」というニュース。
http://www.codegear.com/jp/article/37609/
■CodeGearのロゴについて
CodeGearの製品で作ったソフトなどに表示するロゴができたとの事
「CodeGear "built with" and "powered by" logos」
http://dn.codegear.com/article/37476
ビットマップ(PNG)のファイルもダウンロードできるみたいですが、
現時点「Requested Item is not available at this time」との
メッセージがありダウンロードできず。
追記2/18 日本語サイトに正常に動作するものがありました。
http://dn.codegear.com/jp/article/37477
でも、とりあえずあるものを使い、作成中のアプリケーションの
ライセンス表示画面の下部に貼ってみました。

■Javaセッション
Javaはさほど興味が無いのですが、
「J2EE基幹システム開発の経験から考える」というタイトルで
サブタイトルの
「Javaはどこで道を踏み外したか?次に来るのはRubyか?」
という文字が気になり
また、スピーカーの方の
「...プログラムを作り続けた齢50のプログラマー...
まだまだプログラムを作り続ける所存であります。」
という紹介文に興味が湧き受講。
内容は背景説明もあり、また個性的なキャラクターということもあり
全く飽きずに面白かった。
Javaは有名でオープンソースもいろいろ存在しているのは知って
いましたが、特に有名だったフレームワークのEJBがEJB3.0になり
下位互換性が無いことを問題視していました。
オープンソース群も多くなり、複雑になり、互換性の問題も重なり
結果的に開発の生産性にも大きく影響している状況が理解できます。
それが、サブタイトルの
「Javaはどこで道を踏み外したか?」でしょうか??
■最後のアンケートについて
全体的に時間は適当か?みたいな趣旨の問いに対しては「適当」と回答。
とは言え
朝10時から午後6時迄真面目に聞くだけでも疲れます。
難しい話を聞いていると睡魔が襲って来ますし。
みなさんはどうなんでしょうか?
私の場合、10年くらい前からかな?
難しい話を聞いていると眠くなる症状が顕著になってしまいました。
前回は仕事の都合で参加できませんでしたが、今回は出席
2月12日(火)10:00〜18:00 青山ダイヤモンドホール
■内容は
マーケティング担当の藤井さんの各製品の特徴や方向付けの話、
CodeGear副社長David I氏のRubyを主体とした話、
その後は、Java、Delphi、DBのセッションを選択し受講。
■衝撃的だったのは
「CodeGear™のソフトウェア開発ツールが、ロシアの学校組織の
最大100万台のPC上にインストール」というニュース。
http://www.codegear.com/jp/article/37609/
■CodeGearのロゴについて
CodeGearの製品で作ったソフトなどに表示するロゴができたとの事
「CodeGear "built with" and "powered by" logos」
http://dn.codegear.com/article/37476
ビットマップ(PNG)のファイルもダウンロードできるみたいですが、
現時点「Requested Item is not available at this time」との
メッセージがありダウンロードできず。
追記2/18 日本語サイトに正常に動作するものがありました。
http://dn.codegear.com/jp/article/37477
でも、とりあえずあるものを使い、作成中のアプリケーションの
ライセンス表示画面の下部に貼ってみました。

■Javaセッション
Javaはさほど興味が無いのですが、
「J2EE基幹システム開発の経験から考える」というタイトルで
サブタイトルの
「Javaはどこで道を踏み外したか?次に来るのはRubyか?」
という文字が気になり
また、スピーカーの方の
「...プログラムを作り続けた齢50のプログラマー...
まだまだプログラムを作り続ける所存であります。」
という紹介文に興味が湧き受講。
内容は背景説明もあり、また個性的なキャラクターということもあり
全く飽きずに面白かった。
Javaは有名でオープンソースもいろいろ存在しているのは知って
いましたが、特に有名だったフレームワークのEJBがEJB3.0になり
下位互換性が無いことを問題視していました。
オープンソース群も多くなり、複雑になり、互換性の問題も重なり
結果的に開発の生産性にも大きく影響している状況が理解できます。
それが、サブタイトルの
「Javaはどこで道を踏み外したか?」でしょうか??
■最後のアンケートについて
全体的に時間は適当か?みたいな趣旨の問いに対しては「適当」と回答。
とは言え
朝10時から午後6時迄真面目に聞くだけでも疲れます。
難しい話を聞いていると睡魔が襲って来ますし。
みなさんはどうなんでしょうか?
私の場合、10年くらい前からかな?
難しい話を聞いていると眠くなる症状が顕著になってしまいました。
■小生、プログラムを作る時、よくイヤーマフを使います。
静かな事務所(自宅)なのにです。
でも、静かな場所でも耳を澄ませば、エアコンの音やPCの冷却ファンなどの音が
いろいろあります。
ですから、仕事をする時にイヤーマフを装着すると集中力が増します。
しかし、しばらくすると頭が重くなってきたりムレたり暑い時は汗ばんできたりします。
その時、今度はイヤーマフを外します。
そうすると今度は耳周りが爽快になり、気分がスッキリしてまた仕事を続けられる
気分になります。
そのような使い方でイヤーマフを愛用しています。

■歴史
今のは2個目で約1年前に購入。
1個目を初めて購入したのは7〜8年前でかなりボロボロになるまで使ってました。
そもそも、初めてイヤーマフを使ったのは初めの会社でそれなりに音が大きい機械
(電子部品実装機)のすぐ横でNCプログラムを作る時でした。
それでも、騒音がウルサく音が両耳から入り頭の真ん中でガシャン、ガシャンと
反響していたのを今でも覚えています。
■ところで昨日の土曜日
ノイズキャンセリングヘッドホンで有名なBOSEのQuietComfort2、3を直営店で
視聴してきました。
確かに騒音は消え、その分近くで鳴っている音楽や会話はクリアになるのを実感
しました。(予想していた感じとは違っていましたが)
構造上、飛行機の中みたいに定常的に「ゴォォ〜」という騒音には特に有効とのこと。
消音効果はイヤーマフに比べると劣ると思いますが、使用目的が集中と気分転換
で、軽い、そしてそれで静かにBGMを流すと仕事の理想の環境ができそうです。
実際に使ってみたいという気持ちと、仕事の効率が良くなれば価格約5万円も高く
ないとも思いますが、費用対効果をウ〜ンと考えた結果は・・・保留。
やっぱり5万円は高いかな?
■追記:イヤーマフの目的2
仕事に集中したい時、イヤーマフを着けることで「今は、話しかけないで..」という
アピールも含めているのですが
一緒に仕事をしているカミさんは、イヤーマフを無視して平気で話しかけてきます。
本当はこちらが大きな問題。
人の声もほとんど聞こえない理想のイヤーマフ又はソニックキャンセルみたいな
製品があったら20万円でも欲しくなりそう?
静かな事務所(自宅)なのにです。
でも、静かな場所でも耳を澄ませば、エアコンの音やPCの冷却ファンなどの音が
いろいろあります。
ですから、仕事をする時にイヤーマフを装着すると集中力が増します。
しかし、しばらくすると頭が重くなってきたりムレたり暑い時は汗ばんできたりします。
その時、今度はイヤーマフを外します。
そうすると今度は耳周りが爽快になり、気分がスッキリしてまた仕事を続けられる
気分になります。
そのような使い方でイヤーマフを愛用しています。

■歴史
今のは2個目で約1年前に購入。
1個目を初めて購入したのは7〜8年前でかなりボロボロになるまで使ってました。
そもそも、初めてイヤーマフを使ったのは初めの会社でそれなりに音が大きい機械
(電子部品実装機)のすぐ横でNCプログラムを作る時でした。
それでも、騒音がウルサく音が両耳から入り頭の真ん中でガシャン、ガシャンと
反響していたのを今でも覚えています。
■ところで昨日の土曜日
ノイズキャンセリングヘッドホンで有名なBOSEのQuietComfort2、3を直営店で
視聴してきました。
確かに騒音は消え、その分近くで鳴っている音楽や会話はクリアになるのを実感
しました。(予想していた感じとは違っていましたが)
構造上、飛行機の中みたいに定常的に「ゴォォ〜」という騒音には特に有効とのこと。
消音効果はイヤーマフに比べると劣ると思いますが、使用目的が集中と気分転換
で、軽い、そしてそれで静かにBGMを流すと仕事の理想の環境ができそうです。
実際に使ってみたいという気持ちと、仕事の効率が良くなれば価格約5万円も高く
ないとも思いますが、費用対効果をウ〜ンと考えた結果は・・・保留。
やっぱり5万円は高いかな?
■追記:イヤーマフの目的2
仕事に集中したい時、イヤーマフを着けることで「今は、話しかけないで..」という
アピールも含めているのですが
一緒に仕事をしているカミさんは、イヤーマフを無視して平気で話しかけてきます。
本当はこちらが大きな問題。
人の声もほとんど聞こえない理想のイヤーマフ又はソニックキャンセルみたいな
製品があったら20万円でも欲しくなりそう?
