nfonfonfo の回答履歴
- メモリの使用状況を解析するツール
現在、MFCを使ってドローツールを作成しています。 C言語で開発しているため、リソースの開放は必需なのです。 そこで質問なのですが、開発中のプログラムがリソースを食いつぶしていないか チェックするツールのようなものは在るのでしょうか? (自分の書いたソースのリーク場合は検出できます) 有償無償は問いませんので、便利なツールをご存知の方がいましたら 教えて下さい。どうぞ宜しくお願い致します。
- 文字コード判別ルーチンGetCodeの使用方法
文字コード判別ルーチンGetCodeの使用方法 メールマガジン「.NETプログラミング研究」で紹介されている文字コード判別ルーチンGetCode(http://dobon.net/vb/dotnet/string/detectcode.html)を利用してサイトからダウンロードしたHTMLの文字コード変換をしています 思う通りに変換出来ることもありますが、目も眩むような宇宙語になってしますことも多々あります このGetCodeルーチンは既にVB.NETでもC#でも相当な実績があると評価されています ですから使用方法の誤りなのでしょう ご指摘頂ければ幸いです ソース(C#)は下記の通りです string MyReadString; //変換後のHTML文書が格納される using ( WebClient MyClient = new WebClient()) using ( Stream MyStream = MyClient.OpenRead(http://www.~~)) using ( MemoryStream MyMemoryStream = new MemoryStream()) { byte[] ByteBuffer = new byte[4096]; //サイトからHTML文書を MyMemoryStream.Seek(0, SeekOrigin.Begin); // Memory Streamに読込み while (true) { int ReadByteLength = MyStream.Read(ByteBuffer, 0, ByteBuffer.Length); if (ReadByteLength <= 0) { break; } //読込み終了 MyMemoryStream.Write(ByteBuffer, 0, ByteBuffer.Length); } byte[] AllHTML = new byte[MyMemoryStream.Length]; //全HTML文書を MyMemoryStream.Seek(0, SeekOrigin.Begin); // byte配列に読込み MyMemoryStream.Read(AllHTML, 0, AllHTML.Length); System.Text.Encoding enc = GetCode(AllHTML); //文字コードを判定する ←←←この箇所です MyReadString = enc.GetString(AllHTML); //判定された文字コードで } // byte配列からstringへ変換する
- HTML文書の文字コードの判定法
HTML文書の文字コードの判定法 C#のWebClientクラスを使って文字コード不明のHTML文書をダウンロードしています 取り敢えずシフトJISと仮定して読込んでおりますが、文書中にEUC指定があった場合には改めてサイトよりEUCエンコード指定で再読込みしています 概略は次の通りです WebClient MyClient = new WebClient(); System.IO.Stream MyStream = MyClient.OpenRead("http://*****・・); System.IO.StreamReader MyReader = new System.IO.StreamReader(MyStream, System.Text.Encoding.GetEncoding("Shift_JIS")); ReadString = MyReader.ReadToEnd(); MyReader.Close(); MyStream.Close(); System.Text.RegularExpressions.Regex r = new System.Text.RegularExpressions.Regex( @"charset\s*=\s*euc-jp", System.Text.RegularExpressions.RegexOptions.IgnoreCase); if (r.IsMatch(ReadString)) { MyStream = MyClient.OpenRead("http://*****・・); ←以降2度読み MyReader = new System.IO.StreamReader(MyStream, System.Text.Encoding.GetEncoding("EUC-JP")); ReadString = MyReader.ReadToEnd(); MyReader.Close(); MyStream.Close(); } 2度読みというミットモナイ形になっているのは バッファに読込んだデータから文字コードを判定して各々適切にエンコードする方法が分らないからです 色々とトライしてみましたがNGでした この2度読みいう面目丸潰れ、無知蒙昧、天下の愚作を避ける簡単な手法を教えて頂けるよう恥を忍んでお願い申し上げます
- パケットキャプチャツール(WireSharkなど)
Wiresharkというパケットキャプチャーツールを使ってみたんですが、イーサネットのFCSにあたるデータが、パケットダンプに表示されません・・・。 マニュアルを見てみても、ツールが排除している記述が見当たりませんでした(英文なので見落としているかもしれませんが・・・) 様々なパケットキャプチャのツールがあると思いますが、一般的に、イーサネットのFCSはダンプしないのが「暗黙のルール」として存在しているのでしょうか? ご存知の方がおられたら教えてくださいm(__)m よろしくお願いいたします。
- ネットワークプログラミング サーバーと複数のクライアントの接続の仕方を教えてくださいm(_ _)m。
こんにちは。 サーバーと複数のクライアントの接続のプログラミング(java)を考えています。 サーバーをマルチスレッドに変えてクライアントも1つ1つ変えなくてはならないのか、どう変えていいのか分かりません。 ネットとか本でネットワークプログラミングについては調べてみたのですが、複数のクライアントの接続は応用みたいでなかなか参考になるのが見つかりませんでした。 サーバーと複数のクライアントの接続のプログラミング(java)の仕方を教えてください。また、参考になるホームページなどががあれば教えてください。 お願いします。
- JFileChooserが重い
JFileChooserが重くて使い物になりません. ファイル選択画面の表示,ファイル選択画面内でのディレクトリ移動に20秒近くかかります. 昔使ったときは同じ環境下でサクサク使えたのですが,ある日突然重くなってしまいました. 何か原因か分かる方がいたら教えてください.お願いします. JAVAバージョン:1.6.07 OS:XP SP2 メモリ:2GB 開発環境:eclipse3.3 VM引数:デフォルト ソース(一部): public void refer(ActionEvent e){ JFileChooser filechooser = new JFileChooser("./"); int selected = filechooser.showOpenDialog(this); if (selected == JFileChooser.APPROVE_OPTION){ file = filechooser.getSelectedFile(); file_name.setText(file.getPath()); label.setText(file.getName()); } }
- ソケットAPI について
ソケット通信を勉強するために、PC1台での簡単なクライアント・サーバー型のネットワークシステムを作成したいのですが、 1:クライアントの実行ファイル起動、connect()後にクライアントのIPアドレス、ポート番号を標準出力したいのですが、どうすればよいでしょうか? connect()関数で宛先のIPアドレス、Portは第2引数であたえると思うのですが、 調べたところ、接続元のIPアドレス、Portは自動的にバインドされているとか・・。 では、そのバインドされている物?構造体から引用すればいいのかな・・と素人的な考えでしょうか? 2:socket()作成時のdomain引数には、AF_INETにしなければならないでしょうか? PC1台でサーバ、クライアント実行ファイルの両方を起動させますが、通信では、一度LANポートからローカルエリアへ出て戻ってくるだけなら、AF_LOCALでも良いのでしょうか? AF_INETのdomain引数で、ネット上へ出て戻ってこれるのでしょうか? (ネットに出るなら、セキュリティ的に怖い気もするのですが・・) まだ、C言語を勉強し始めて4ヶ月程度です。 宜しくお願い致します。 PC環境 Windows XP cygwin上にてgccコンパイル、実行ファイル起動
- 締切済み
- C・C++・C#
- akimasabon
- 回答数2
- ソケットAPI について
ソケット通信を勉強するために、PC1台での簡単なクライアント・サーバー型のネットワークシステムを作成したいのですが、 1:クライアントの実行ファイル起動、connect()後にクライアントのIPアドレス、ポート番号を標準出力したいのですが、どうすればよいでしょうか? connect()関数で宛先のIPアドレス、Portは第2引数であたえると思うのですが、 調べたところ、接続元のIPアドレス、Portは自動的にバインドされているとか・・。 では、そのバインドされている物?構造体から引用すればいいのかな・・と素人的な考えでしょうか? 2:socket()作成時のdomain引数には、AF_INETにしなければならないでしょうか? PC1台でサーバ、クライアント実行ファイルの両方を起動させますが、通信では、一度LANポートからローカルエリアへ出て戻ってくるだけなら、AF_LOCALでも良いのでしょうか? AF_INETのdomain引数で、ネット上へ出て戻ってこれるのでしょうか? (ネットに出るなら、セキュリティ的に怖い気もするのですが・・) まだ、C言語を勉強し始めて4ヶ月程度です。 宜しくお願い致します。 PC環境 Windows XP cygwin上にてgccコンパイル、実行ファイル起動
- 締切済み
- C・C++・C#
- akimasabon
- 回答数2
- C言語のよるrsh-clientの簡潔な記述法
rshに関連してどなたか教えて下さい。 rsh-clientをC言語で書くには、具体的にどうしたらよいのでしょう? 例えば、 (1)socketをオープン。 (2)port=514でconnectを確立。 (3)sendで、"0\0"、ローカルユーザ、リモートユーザ、コマンドを送信。 (4)recvで受信。 とやっているのですが、毎回(3)まではエラーがなく、(4)で-1が返ってきます。私の理解が根本的に間違っているのかも知れません。 同じコマンドを、コマンドプロンプトからのrsh.exeでは実行可能です。 諸般の理由で、WindowsからLinux上のアプリを動かすのに、どうしてもCのコードの中にrshの機能を埋め込んで使いたのです。HTTP-clientのCのソースコードはよく見かけるし、自分でも書いていますが、rsh-clientは見たことがありません。 閉じた系で使うため、セキュリティ管理等は不要なので、使い慣れたrshが有り難いのですが... 是非よろしくお願いします。
- C言語のよるrsh-clientの簡潔な記述法
rshに関連してどなたか教えて下さい。 rsh-clientをC言語で書くには、具体的にどうしたらよいのでしょう? 例えば、 (1)socketをオープン。 (2)port=514でconnectを確立。 (3)sendで、"0\0"、ローカルユーザ、リモートユーザ、コマンドを送信。 (4)recvで受信。 とやっているのですが、毎回(3)まではエラーがなく、(4)で-1が返ってきます。私の理解が根本的に間違っているのかも知れません。 同じコマンドを、コマンドプロンプトからのrsh.exeでは実行可能です。 諸般の理由で、WindowsからLinux上のアプリを動かすのに、どうしてもCのコードの中にrshの機能を埋め込んで使いたのです。HTTP-clientのCのソースコードはよく見かけるし、自分でも書いていますが、rsh-clientは見たことがありません。 閉じた系で使うため、セキュリティ管理等は不要なので、使い慣れたrshが有り難いのですが... 是非よろしくお願いします。
- C言語のよるrsh-clientの簡潔な記述法
rshに関連してどなたか教えて下さい。 rsh-clientをC言語で書くには、具体的にどうしたらよいのでしょう? 例えば、 (1)socketをオープン。 (2)port=514でconnectを確立。 (3)sendで、"0\0"、ローカルユーザ、リモートユーザ、コマンドを送信。 (4)recvで受信。 とやっているのですが、毎回(3)まではエラーがなく、(4)で-1が返ってきます。私の理解が根本的に間違っているのかも知れません。 同じコマンドを、コマンドプロンプトからのrsh.exeでは実行可能です。 諸般の理由で、WindowsからLinux上のアプリを動かすのに、どうしてもCのコードの中にrshの機能を埋め込んで使いたのです。HTTP-clientのCのソースコードはよく見かけるし、自分でも書いていますが、rsh-clientは見たことがありません。 閉じた系で使うため、セキュリティ管理等は不要なので、使い慣れたrshが有り難いのですが... 是非よろしくお願いします。
- C言語のよるrsh-clientの簡潔な記述法
rshに関連してどなたか教えて下さい。 rsh-clientをC言語で書くには、具体的にどうしたらよいのでしょう? 例えば、 (1)socketをオープン。 (2)port=514でconnectを確立。 (3)sendで、"0\0"、ローカルユーザ、リモートユーザ、コマンドを送信。 (4)recvで受信。 とやっているのですが、毎回(3)まではエラーがなく、(4)で-1が返ってきます。私の理解が根本的に間違っているのかも知れません。 同じコマンドを、コマンドプロンプトからのrsh.exeでは実行可能です。 諸般の理由で、WindowsからLinux上のアプリを動かすのに、どうしてもCのコードの中にrshの機能を埋め込んで使いたのです。HTTP-clientのCのソースコードはよく見かけるし、自分でも書いていますが、rsh-clientは見たことがありません。 閉じた系で使うため、セキュリティ管理等は不要なので、使い慣れたrshが有り難いのですが... 是非よろしくお願いします。
- リンクリスト内のノードに保管された情報を保存する
JAVAでの、一方向リンクリストを作成しています。 ノードに含まれる内容は以下のようなものです。 名前、ID、アドレス、電話番号、成績、生年月日 これらの情報はキーボードから入力され各ノード内に保管されます。 質問は、一度ぷろぐらむを終了する前にノード内にある入力された情報を保存したいのですがその方法がわからず困っています。 次回プログラムを立ち上げた際、再度このノード内に入力した情報を読み込む事は可能でしょうか?
- choiceで選んだ文字を表示する方法
java初心者です。 今、Eclipse3を使ってプログラムを書いていて、わからないことがあったので、教えてください。 【choiceの中身を設定するプログラム】 private Choice getH_Choice() { if (H_Choice == null) { H_Choice = new Choice(); H_Choice.setBounds(new Rectangle(909, 480, 62, 21)); H_Choice.addItem("バス"); H_Choice.addItem("電車"); H_Choice.addItem("徒歩"); } return H_Choice; } 上記のプログラムで設定した"バス"などの、文字をTextFeildに表示したあと、ボタンを押したら、 「花子はバス(又は電車、徒歩)を選択しました。」 と表示したいです。 自分で作ってみたら、 「花子は0を選択しました。」と表示されてしまいます。 どなたか、どうプログラムを変形させればいいのか教えてください。 よろしくお願いします。 【TextFeildに表示するプログラム】 private TextField getSentaku() { if (Sentaku == null) { Sentaku = new TextField(); Sentaku.setBounds(new Rectangle(446, 573, 71, 29)); H_Choice.addItemListener(new ItemListener(){ public void itemStateChanged(ItemEvent event){ H_C.setText(H_Choice.getSelectedItem()); } }); } return Sentaku; } 【ボタンを押したら表示するプログラム】 H.addActionListener( new ActionListener(){ int Sentaku; public void actionPerformed(ActionEvent ae){ Sentaku.setText(Integer.toString(Sentaku)); T_H.setText("花子は"+Sentaku+"を選択しました。"); } });
- ベストアンサー
- Java
- s3jk014200
- 回答数1
- コレクションクラスについて
●下記のコードについて質問があります import java.util.*; public class Test { public static void main(String args[]) { ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); list.add(new ObjectOne()); list.add(new ObjectOne()); list.add(new ObjectOne()); Collections.sort(list); } } class ObjectOne { private int x = 0; private int y = 0; } このソースをコンパイルすると、 シンボル: メソッド sort(java.util.ArrayList<ObjectOne>) 場所 : java.util.Collections の クラス Collections.sort(list); と、エラーが表示されてしまいます。 java.util.*をインポートしているので、上記のようなエラーはでないと 思うのですが、うまくいかないです。おそらく、ObjectOneクラスで 何か処理漏れが起きているのかもしれませんが、エラーとなる原因を 特定することができません。 エラーとなる原因と解消する手立てを教えていただければと思っております。 宜しくお願い致します。 「追記」 ArrayList<ObjectOne> list = new ArrayList<ObjectOne>(); の<ObjectOne>を消せばエラーはなくなりますが、 <ObjectOne>を消さない方針で考えがあればと思っております。
- バーコード入力と手入力の判断はつくのでしょうか?
はじめまして、表題の質問をさせていただきます。 現在とある機械を管理するプログラムを作成しています。(JDK1.6) 分かりづらいので例えるならば図書館でやっている本の登録、貸出みたいなことです。 そこで質問なのですが、本に貼ってあるバーコードを読んだときにそれが手入力なのかバーコードリーダーから読まれたデータなのかを判別する手段はあるのですが? (不正防止のため手入力は一部の管理者のみ認め、一般ユーザーはバーコードのみとしています) JTextFieldのKeyReleaseイベントだと1文字づつイベントが発生し、ActionPerformedだと1度だけイベントが発生することが分かったのですがそれを組み合わせても判断はできないと思います。 また、JFrameのKeyReleasedイベントで取得してJTextFieldにセットすることを考えたのですが、配下の全コンポーネントのfocusableをfalseにセットしないとJFrameのKeyReleasedイベントが発生しないし、やはりJFrame上でも手入力とバーコードリーダーの判断がつきません。 何か解決策があればご教授願います。
- バーコード入力と手入力の判断はつくのでしょうか?
はじめまして、表題の質問をさせていただきます。 現在とある機械を管理するプログラムを作成しています。(JDK1.6) 分かりづらいので例えるならば図書館でやっている本の登録、貸出みたいなことです。 そこで質問なのですが、本に貼ってあるバーコードを読んだときにそれが手入力なのかバーコードリーダーから読まれたデータなのかを判別する手段はあるのですが? (不正防止のため手入力は一部の管理者のみ認め、一般ユーザーはバーコードのみとしています) JTextFieldのKeyReleaseイベントだと1文字づつイベントが発生し、ActionPerformedだと1度だけイベントが発生することが分かったのですがそれを組み合わせても判断はできないと思います。 また、JFrameのKeyReleasedイベントで取得してJTextFieldにセットすることを考えたのですが、配下の全コンポーネントのfocusableをfalseにセットしないとJFrameのKeyReleasedイベントが発生しないし、やはりJFrame上でも手入力とバーコードリーダーの判断がつきません。 何か解決策があればご教授願います。
- 再起動が止まらない・・
windowsNT4.0 サービスパック6aなんですが 起動して1分で再起動を繰り返してしまい困り果てています。 Blasterだと思って、トレンドマイクロのシステムクリーナーを実行したところウイルスは検出されませんでした。 色々対策を講じているのですが、シャットダウンの時間を長くすることはできますか?
- リフレクション 可変長引数メソッドの取得
リフレクションで、(1)の方のメソッドインスタンスを得たいとき、どういった方法が考えられますか? //JDK 6.0 public Hoge { void method1(String str, Object ...objs){}//(1) void method1(String str, String str2){}//(2) } Hoge hoge = new Hoge(); Class c = hoge.getClass(); Method m12 = c.getMethod("method", String.class, String.class); Method m11 = c.getMethod("method", ?? );