防犯や防災時に役立グッズが多数 「備えて安心グッズのお店」
お得なわけあり商品を多数取り揃え 「訳ありお得館」
厳選デジタルグッズのお店 「おもしろデジモノのデジモノ屋」
厳選食品お取り寄せのお店 「まんぷく屋」
美と健康を考えるお店 「La beaut」
InstallShield ― 2012年05月17日 17時44分56秒
InstallShieldを使い、セットアップディスクを作る場合、
「INSTALLDIR」上にファイルを指定します。
Cドライブ直下にインストールしたい場合、
「Destination Computer」の直下にディレクトリを指定すると、
インストールするPCの環境によっては、
Cドライブ以外のドライブにインストールされます。
どこに入るかと言うと、一番空きの大きいドライブになります。
これを回避するためには、新規でフォルダを「c:」で作成します。
作成すると、「c:\」のフォルダが表示されるので、
その中に「INSTALLDIR」を配置することで、
Cドライブ内にインストールすることができるようになります。
当初、これを知らずにセットアップディスクを作成していたのですが、
私の開発用PCはDドライブの空きが少なく、
インストールしているPCはほとんどがCドライブのみの構成だったため、
このことに気づきませんでした。
忘れないためのメモとしてアップしておきます。
「INSTALLDIR」上にファイルを指定します。
Cドライブ直下にインストールしたい場合、
「Destination Computer」の直下にディレクトリを指定すると、
インストールするPCの環境によっては、
Cドライブ以外のドライブにインストールされます。
どこに入るかと言うと、一番空きの大きいドライブになります。
これを回避するためには、新規でフォルダを「c:」で作成します。
作成すると、「c:\」のフォルダが表示されるので、
その中に「INSTALLDIR」を配置することで、
Cドライブ内にインストールすることができるようになります。
当初、これを知らずにセットアップディスクを作成していたのですが、
私の開発用PCはDドライブの空きが少なく、
インストールしているPCはほとんどがCドライブのみの構成だったため、
このことに気づきませんでした。
忘れないためのメモとしてアップしておきます。
ASP.NETで特定のPCのみDataGridの項目を表示させる ― 2012年04月25日 10時37分21秒
ASP.NETで作成されているホームページで、
DataGridの内容を使っている人で変えるようにと言われ、
設定を追加しました。
具体的には、管理者にのみ表示させたい項目がありるので、
管理者以外の人の表示を制限するというものです。
管理者の方は各自PCを持っているので、
今回は、PC名を取得し登録されているPC名であればDataGridの
項目を表示するようにしています。
PC名の登録はMXLファイルで登録しました。
kanri.xml
*******************************
<?xml version="1.0" encoding="utf-8" ?>
<host>
<hostname name="KANRI-PC">KANRI-PC</hostname>
</host>
*******************************
ソースがこちらです。
*******************************
Dim xmlDoc As XmlDocument
Dim xmlElement As XmlElement
Dim msgElement As XmlElement
Dim xmlFilePath As String
Dim pcStr As String
Dim pcStr2 As String
'XMLファイル読み込み
xmlFilePath = "kanri.xml"
xmlDoc = New XmlDocument()
xmlDoc.Load(xmlFilePath)
'DataGrid非表示
DataGrid1.Columns(8).Visible = False
'IPアドレス取得
Dim ip_addr = Request.ServerVariables("REMOTE_ADDR")
'localhostの場合は処理を抜ける
If ip_addr <> "::1" Then
'IPアドレスからPC名を取得
Dim host_name = System.Net.Dns.GetHostByAddress(ip_addr).HostName.ToUpper()
xmlElement = xmlDoc.DocumentElement
For Each msgElement In xmlElement.ChildNodes
pcStr = msgElement.GetAttribute("name")
pcStr2 = pcStr + ".ドメイン名"
'XMLファイルに登録されていれば、DataGridを表示
If pcStr = host_name Or pcStr2 = host_name Then
DataGrid1.Columns(8).Visible = True
Exit For
End If
Next
End If
*******************************
まず、XMLファイルを読み込んでいます。
DataGridの項目をいったん非表示にしています。
IPアドレスを取得し、IPアドレスからPC名を取得します。
その際、ToUpperで大文字に変換しています。
これは、XMLファイルで登録しているPC名が大文字なので、
そちらに合わせています。
XMLファイルとのチェックでは取得したPC名のみの場合と、
ドメイン名が付加された場合の2種類でチェックをしています。
ここでは、ドメインで管理をしているのですが、
Windows7ではPC名のみなのですが、
WindowsXPでは、ドメイン名付のフルコンピューター名で取得するために
このようにしています。
XMLファイルに登録されているPC名と合致する場合はDataGridを表示します。
今回は9番目の列を切り替えているので、Columns(8)となっています。
パソコンを共有している場合には使えませんが、
PC単位であれば、これで内容を変えることができると思います。
DataGridの内容を使っている人で変えるようにと言われ、
設定を追加しました。
具体的には、管理者にのみ表示させたい項目がありるので、
管理者以外の人の表示を制限するというものです。
管理者の方は各自PCを持っているので、
今回は、PC名を取得し登録されているPC名であればDataGridの
項目を表示するようにしています。
PC名の登録はMXLファイルで登録しました。
kanri.xml
*******************************
<?xml version="1.0" encoding="utf-8" ?>
<host>
<hostname name="KANRI-PC">KANRI-PC</hostname>
</host>
*******************************
ソースがこちらです。
*******************************
Dim xmlDoc As XmlDocument
Dim xmlElement As XmlElement
Dim msgElement As XmlElement
Dim xmlFilePath As String
Dim pcStr As String
Dim pcStr2 As String
'XMLファイル読み込み
xmlFilePath = "kanri.xml"
xmlDoc = New XmlDocument()
xmlDoc.Load(xmlFilePath)
'DataGrid非表示
DataGrid1.Columns(8).Visible = False
'IPアドレス取得
Dim ip_addr = Request.ServerVariables("REMOTE_ADDR")
'localhostの場合は処理を抜ける
If ip_addr <> "::1" Then
'IPアドレスからPC名を取得
Dim host_name = System.Net.Dns.GetHostByAddress(ip_addr).HostName.ToUpper()
xmlElement = xmlDoc.DocumentElement
For Each msgElement In xmlElement.ChildNodes
pcStr = msgElement.GetAttribute("name")
pcStr2 = pcStr + ".ドメイン名"
'XMLファイルに登録されていれば、DataGridを表示
If pcStr = host_name Or pcStr2 = host_name Then
DataGrid1.Columns(8).Visible = True
Exit For
End If
Next
End If
*******************************
まず、XMLファイルを読み込んでいます。
DataGridの項目をいったん非表示にしています。
IPアドレスを取得し、IPアドレスからPC名を取得します。
その際、ToUpperで大文字に変換しています。
これは、XMLファイルで登録しているPC名が大文字なので、
そちらに合わせています。
XMLファイルとのチェックでは取得したPC名のみの場合と、
ドメイン名が付加された場合の2種類でチェックをしています。
ここでは、ドメインで管理をしているのですが、
Windows7ではPC名のみなのですが、
WindowsXPでは、ドメイン名付のフルコンピューター名で取得するために
このようにしています。
XMLファイルに登録されているPC名と合致する場合はDataGridを表示します。
今回は9番目の列を切り替えているので、Columns(8)となっています。
パソコンを共有している場合には使えませんが、
PC単位であれば、これで内容を変えることができると思います。
ASP.NETからデータをアップロード ― 2012年02月07日 15時03分05秒
グループウェア開発に関連し、社内で構築しているWebシステムから、
データをアップロードすることになりました。
動いている社内システムはASP.NETが使われていて、
DataGridに一覧表示されている情報をアップロードすることになりました。
DataGridにアップロード用のリンクを追加し、クリックすることでデータを送信し、
PHPで受け取る形で作りました。
PHP側では、GETでデータを取得しています。
ASP.NETは最近使ってなかったので、思ったよりも時間がかかりました。
しかも、動いているASP.NETはバージョンが古いらしく、
VisualStudioで開くと、警告がたくさん出てきました。
今回はその辺の警告は無視し、リンクの作成に集中することにします。
まず、DataGrid上でリンクを作る方法がよくわからず、調べてみました。
複数のパラメータを渡すようにするには、<ItemTemplate>が必要なようで、
サンプルが書かれているサイトを見ながら作ってみたのですが、エラーになります。
順番にタグを追加していき、追加するたびに実行させたのですが、
NavigateUrlにアドレスを追加すると、HyperLinkでエラーになるという症状が出ていました。
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
ここまでは順調だったのですが、
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "name") %>'
NavigateUrl='<%# "http://localhost/GroupWare/upload.php?id="
+ Server.DataBinder.Eval(Container.DataItem, "ID") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
とするとエラーになりました。
本来は、ID以外にもアップする項目があるのですが、
とりあえずでやってみたらエラーでした。
NavigateUrlを指定せずに動かすと、Textの項目はきちんと表示されるので、
データは取得できるようなのですが、IDを設定するとエラーになっています。
いろいろ試した結果、どうも改行するのがダメみたいで、
NavigateUrlを1行で記述するとエラーにならなかったので、
実行してみると、リンクができていました。
早速アップロードしてみたのですが、日本語の情報がアップされませんでした。
ただ、これはエンコードしていないのが原因なので、エンコードの設定を追加しました。
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# Server.UrlEncode(DataBinder.Eval(Container.DataItem, "name")) %>'
NavigateUrl='<%# "http://localhost/GroupWare/upload.php?id="+Server.DataBinder.Eval(Container.DataItem, "ID") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
これで、アップロードしたデータがきちんと日本語で登録されました。
データをアップロードすることになりました。
動いている社内システムはASP.NETが使われていて、
DataGridに一覧表示されている情報をアップロードすることになりました。
DataGridにアップロード用のリンクを追加し、クリックすることでデータを送信し、
PHPで受け取る形で作りました。
PHP側では、GETでデータを取得しています。
ASP.NETは最近使ってなかったので、思ったよりも時間がかかりました。
しかも、動いているASP.NETはバージョンが古いらしく、
VisualStudioで開くと、警告がたくさん出てきました。
今回はその辺の警告は無視し、リンクの作成に集中することにします。
まず、DataGrid上でリンクを作る方法がよくわからず、調べてみました。
複数のパラメータを渡すようにするには、<ItemTemplate>が必要なようで、
サンプルが書かれているサイトを見ながら作ってみたのですが、エラーになります。
順番にタグを追加していき、追加するたびに実行させたのですが、
NavigateUrlにアドレスを追加すると、HyperLinkでエラーになるという症状が出ていました。
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
ここまでは順調だったのですが、
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# DataBinder.Eval(Container.DataItem, "name") %>'
NavigateUrl='<%# "http://localhost/GroupWare/upload.php?id="
+ Server.DataBinder.Eval(Container.DataItem, "ID") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
とするとエラーになりました。
本来は、ID以外にもアップする項目があるのですが、
とりあえずでやってみたらエラーでした。
NavigateUrlを指定せずに動かすと、Textの項目はきちんと表示されるので、
データは取得できるようなのですが、IDを設定するとエラーになっています。
いろいろ試した結果、どうも改行するのがダメみたいで、
NavigateUrlを1行で記述するとエラーにならなかったので、
実行してみると、リンクができていました。
早速アップロードしてみたのですが、日本語の情報がアップされませんでした。
ただ、これはエンコードしていないのが原因なので、エンコードの設定を追加しました。
**********************************************
<asp:TemplateColumn HeaderText="アップロード">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# Server.UrlEncode(DataBinder.Eval(Container.DataItem, "name")) %>'
NavigateUrl='<%# "http://localhost/GroupWare/upload.php?id="+Server.DataBinder.Eval(Container.DataItem, "ID") %>' />
</ItemTemplate>
</asp:TemplateColumn>
**********************************************
これで、アップロードしたデータがきちんと日本語で登録されました。
FPDFでPHPからPDFの作成 ― 2012年01月31日 18時09分29秒
社内で使用するグループウェアを作成しています。
社外からも利用できることが条件だったので、
レンタルサーバーを利用するという前提になったので、
PHPで作成することにしました。
最終的にはJavaScriptでUIも作りこむ予定ですが、
今はとりあえず、PHPで動くものを作っています。
その中で、PDFが必要ということで探したところ、
FPDFというのがあったので、早速試してみました。
FPDFをダウンロードしてサンプルを実行すると、
PDFが表示されたので、使えそうかなと思ったのですが、
日本語を表示させようとすると化けています。
調べてみると、日本語には対応していないそう!
でもMBFPDFというのが日本語に対応しているそうで、
ダウンロードしようとしたら、リンクが切れていて、
ダウンロードできません。
もう一つ、japanese.zipというのもあるんですが、
機能的には劣るようなことが書かれていたので、
MBFPDFのファイルが落とせないか探していたら、
無事見つけることができ、早速インストールして、
動かしてみたのですが、エラー発生!
どうやら非推奨エラーのようです。
将来的に使われなくなる機能を使っているときに出る警告です。
とりあえず、出ないようにしてテストをします。
今回は、ローカルのPC上にサーバーを構築しているので、
php.iniを修正することで対処しました。
error_reporting = E_ALL | E_STRICT
↓
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
これでWebサーバーを再起動させたら、エラーは表示されなくなりました。
ただ、まだ文字化けしています。
また調べてみると、サンプルで作ったphpファイルのエンコードをShift-JISにしないといけないようです。
私は、ずっとUTF-8で保存していたので、Shift-JISに変更して
保存してから実行すると、無事表示されました。
とりあえず、ローカルの環境で使えるようになりました。
レンタルサーバーのphpのバージョンを調べてみると、
5.2.17が使われていて、現時点ではおそらくエラーはでないと思うのですが、
いつバージョンアップするかわからないので、将来的に不安です。
社外からも利用できることが条件だったので、
レンタルサーバーを利用するという前提になったので、
PHPで作成することにしました。
最終的にはJavaScriptでUIも作りこむ予定ですが、
今はとりあえず、PHPで動くものを作っています。
その中で、PDFが必要ということで探したところ、
FPDFというのがあったので、早速試してみました。
FPDFをダウンロードしてサンプルを実行すると、
PDFが表示されたので、使えそうかなと思ったのですが、
日本語を表示させようとすると化けています。
調べてみると、日本語には対応していないそう!
でもMBFPDFというのが日本語に対応しているそうで、
ダウンロードしようとしたら、リンクが切れていて、
ダウンロードできません。
もう一つ、japanese.zipというのもあるんですが、
機能的には劣るようなことが書かれていたので、
MBFPDFのファイルが落とせないか探していたら、
無事見つけることができ、早速インストールして、
動かしてみたのですが、エラー発生!
どうやら非推奨エラーのようです。
将来的に使われなくなる機能を使っているときに出る警告です。
とりあえず、出ないようにしてテストをします。
今回は、ローカルのPC上にサーバーを構築しているので、
php.iniを修正することで対処しました。
error_reporting = E_ALL | E_STRICT
↓
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
これでWebサーバーを再起動させたら、エラーは表示されなくなりました。
ただ、まだ文字化けしています。
また調べてみると、サンプルで作ったphpファイルのエンコードをShift-JISにしないといけないようです。
私は、ずっとUTF-8で保存していたので、Shift-JISに変更して
保存してから実行すると、無事表示されました。
とりあえず、ローカルの環境で使えるようになりました。
レンタルサーバーのphpのバージョンを調べてみると、
5.2.17が使われていて、現時点ではおそらくエラーはでないと思うのですが、
いつバージョンアップするかわからないので、将来的に不安です。
Webベースのグループウェア開発 ― 2012年01月06日 11時43分18秒
Androidの調査もまだ途中なのですが、Webベースのグループウェアの開発を
すぐに始めるようにとのことで、Androidは途中ですが開発にかかることになりました。
個人的には、Androidとも連携させたいと考えています。
そもそも、Webベースのグループウェアはフリーのものもいろいろあるので、
それも見せたのですが、結局作ることになりました。
一般的なグループウェアとはやりたいことが違っているので、
結果作ろうということになりました。
Webベースなのに、マウスのドラッグでスケジュールの範囲を変更するとか、
要求が結構高いので、まずはプロトタイプとして通常のグループウェアと同じような
インターフェースのものを作り、それを基にカスタマイズするなりして
作っていきたいと思っています。
個人的にはグーグルカレンダーで良いんじゃないのって思うんですけどね!
言語とデータベースはPHPとMySQLにします。
Webベースということで、レンタルサーバーなどで一番対応が多いこの組み合わせをベースに、
最終的には、JavaScriptも使って作成していくことになると思います。
しかし、思いつきで言っているのか、定期的に新しい事を言ってくるので、
結構大変です。
なんかどれも中途半端になりそうで・・・!?
すぐに始めるようにとのことで、Androidは途中ですが開発にかかることになりました。
個人的には、Androidとも連携させたいと考えています。
そもそも、Webベースのグループウェアはフリーのものもいろいろあるので、
それも見せたのですが、結局作ることになりました。
一般的なグループウェアとはやりたいことが違っているので、
結果作ろうということになりました。
Webベースなのに、マウスのドラッグでスケジュールの範囲を変更するとか、
要求が結構高いので、まずはプロトタイプとして通常のグループウェアと同じような
インターフェースのものを作り、それを基にカスタマイズするなりして
作っていきたいと思っています。
個人的にはグーグルカレンダーで良いんじゃないのって思うんですけどね!
言語とデータベースはPHPとMySQLにします。
Webベースということで、レンタルサーバーなどで一番対応が多いこの組み合わせをベースに、
最終的には、JavaScriptも使って作成していくことになると思います。
しかし、思いつきで言っているのか、定期的に新しい事を言ってくるので、
結構大変です。
なんかどれも中途半端になりそうで・・・!?






最近のコメント