1 名前:デフォルトの名無しさん [2008/01/11(金) 15:41:00 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 ふらっとC#,C♯,C#(初心者用) Part22 pc11.2ch.net/test/read.cgi/tech/1197802312/
101 名前:58 mailto:sage [2008/01/13(日) 20:57:10 ] >>59 あ・・・ShowDialogって値返してたんですね(´・ω・)戻り値見る方法ですんなり解決しました。ありがとうこざいました。
102 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 21:43:33 ] ウインドウを表示するにはどうすればいいのでしょうか?
103 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:10:57 ] >>102 Form.Show(); とかってことじゃなくて?もうちょっと具体的に言ってもらえればアドバイスもしやすいと思うよ
104 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 22:44:18 ] ShowWindow( HWND, int )
105 名前:デフォルトの名無しさん [2008/01/13(日) 23:07:42 ] すいません。 C# 2005 Express Editionを使っているのですが、 フォームのAcceptButtonに設定されているボタンの クリックイベントをキャンセルするには、 どうしたらよいのでしょうか? private void buttonOK_Click(object sender, EventArgs e) { if (エラーチェック) { エラーならキャンセル } 以下略 というようなことがやりたいのですが、 フォームのAcceptButtonに設定されているため、 ウィンドウが消えてしまいます。 AcceptButtonに設定するのをあきらめるしかないのでしょうか?
106 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:20:25 ] うん。
107 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:25:55 ] VB6.0のフォームデザイナみたいにフォームに点が表示されて コントロールが配置しやすくなる設定はできないんでしょうか?
108 名前:デフォルトの名無しさん mailto:sage [2008/01/13(日) 23:34:01 ] >>107 formのプロパティーにあるよ。
109 名前:デフォルトの名無しさん [2008/01/13(日) 23:41:20 ] いろんなサンプル見て調べながら、 public void myReceive (){ remoteEP = null; udp.BeginReceive(new AsyncCallback(ReceiveCallback), null); } private void ReceiveCallback (IAsyncResult ar){ byte[] ReceivedBytes = udp.EndReceive(ar, ref remoteEP); } udpはUDPClient型 remoteEPはIPEndPoint型 こんなかんじでバックグラウンドでUDPの受信待機&受信をするコードを書いてみたんですが、受信待機状態を中断するにはどうしたらいいんでしょうか・・・良い感じのメソッドとかも見つからなくて困ってます。。。
110 名前:デフォルトの名無しさん [2008/01/13(日) 23:42:40 ] >>106 むう。。。 ありがとうございます。
111 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 00:04:36 ] >>108 ツール→オプション→Windowsフォームデザイナ→レイアウト設定でできました
112 名前:デフォルトの名無しさん [2008/01/14(月) 08:02:02 ] Windows2003R2 x64のWndProcにNM_CUSTOMDRAWが飛んでこないんですが、なんで? x86を明示してビルドすると動くのですが
113 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 09:21:23 ] >>112 64bit環境ではIntPtrが64ビットになるから、これが影響してないか?
114 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:33:00 ] あるバイナリファイルの100万バイト目から10バイトだけデータが欲しいのですが、 こういう時でも律儀に100万バイト分のデータを読み込まないと取得できないのですか?
115 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 15:36:57 ] >>114 Seekがあるよ。
116 名前:114 mailto:sage [2008/01/14(月) 15:46:15 ] >>115 BaseStream.Seek()メソッドを利用することで取得できました ありがとうございました
117 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 16:57:24 ] File.Copyメソッドについて質問です。 このメソッドを利用して、色々とコピーしてみていると、たまにエラーが出ます。 アクセス権の問題だったりするのですが、例えば File.Copy(From, To); このFromを読み込み可能に、Toを読み書き可能にする、というのは無理なんでしょうか?
118 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:00:24 ] 質問の意味がよく分かりませんが。。。 そんな質問してると「日本語でおk」って書かれちゃうと思うぞw
119 名前:117 mailto:sage [2008/01/14(月) 17:04:24 ] えっと、こうかけばよかった File.Copy(From,To); この時、FromとToのアクセス権の設定の問題でエラーが出るのを回避したいです。 どうすれば良いでしょうか?
120 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:07:31 ] エラーが出ないようにチェックしてからコピーすればいいじゃまいか。 それともアクセス権を回避して無理やり書き込みたいってことか?
121 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:10:00 ] 無視しようと思えば無視して横車を押せるようなアクセス権なら そんなものに意味などないと思うんですが間違ってるでしょうか……
122 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:11:10 ] 無理にというより、設定し直してやりたいです
123 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:13:19 ] >>122 同じことだと思いますが…… 設定して「無理に」横車を押したい、と
124 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:16:07 ] アクセス権がないのにアクセス権を変える権利はあるのかよ。 どう考えても設定間違ってるだろw
125 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:16:29 ] それを言ったらPCの存在を否定してそうですが…… 設定を変えるのは無理そうですね、ファイルアクセス権に限ってというよりファイルアクセス権だからなのかな 世のバックアップソフトは一体どうなってるんだろう
126 名前:デフォルトの名無しさん [2008/01/14(月) 17:16:29 ] ふらっとなのにあげあしとりしか存在しないのかね それも反応早いし、このスレもういらないだろ正直
127 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:17:23 ] 前スレで「フォームの内容を保存」がどうのと騒いでた人ですが、 なるほど。拡張子がいかなるものであろうと、テキストファイルやHTMLファイルみたいな テキスト主体のデータをファイルに保存するにはテキスト形式で書き出し、 画像ファイルや音楽、動画ファイルといったデータを保存するにはバイナリ形式で書き出せば良かったのですね。 あとは書き出したい内容を然る場所に書けば、と。 その節は大変お騒がせして、お恥ずかしい(*^ ^*; (報告したかっただけなので、流してくださって構いません)
128 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:19:27 ] >>126 揚げ足取りってw 俺はそうは思わないけど、君がそう思うのなら自分の言葉に責任持てよ。 つまり揚げ足取りではない(繰り返すけど揚げ足とってるつもりないぞ)、 真面目な回答をぜひ頼むよ。 それとも自分棚上げ野郎なのか君は。
129 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:25:46 ] 円の描画でつまづいています。 円の内側は塗りつぶしができるのですが, 円の外側を塗りつぶしたい時はどうしたらいいでしょうか
130 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:31:12 ] >>125 アクセス権の存在意義について考えろ。 アクセス権をオーバーライドできたらアクセス権の意味がないだろ。 バックアップソフトは普通はアドミン権限で実行する。 >>129 円の形でクリッピングして塗りつぶせばいいんじゃね?
131 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:38:45 ] >>130 様 解決しました。 ありがとうございます。 勉強になりました。
132 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 17:44:37 ] コントロールでkeydownを所得するとき 個々のkyedownイベントでとる方法とPreviewKeyDownのどちらが良いのでしょうか? ふつうにkeydownで所得できるようなイベントの時はどっちでも同じ?
133 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 18:49:21 ] 所得ってなんだ…
134 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 19:31:44 ] スクロールのついているフォーム全体をキャプチャを目的に, スクロールを操作してキャプチャを試みています。 コントロールを指定して画像を取得することができたのですが スクロールは制御すらできません。 なにかよい助言をしていただけませんか?
135 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:31:46 ] >>133 また揚げ足かよ!と思ったら、その上も所得と書いてる・・・ たぶん132はガチでずっと、取得を所得と思って使ってきたんだろねw >>132 2.0以降なら、PreviewKeyDownで取得すべき。 KeyDownは発生しないキーがある(IsInputKeyプロパティで発生可になるけど)
136 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 20:49:19 ] >>126 揚げ足を取られるのは、アホな質問をした場合に限られる。 まともな質問であればまともな回答が返ってくる。 とられた場合はまずは自分がアホなことを言っていないかを振り返ってみよう。
137 名前:134 mailto:sage [2008/01/14(月) 21:19:13 ] どなたかおわかりになりませんか? いろいろ調べてみましたが,具体的にどのようにしたらいいのか さっぱり分かりませんでした。
138 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:21:43 ] WM_SCROLL投げたら?
139 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:21:44 ] Formの背景色だけを半透明にする方法はないでしょうか? Opacityオプションで半透明にすると、Form上のLabelなどの文字やButtonまで半透明になってしまいます。
140 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:25:58 ] >>139 TransparencyKey
141 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:27:47 ] >>139 TransparencyKeyでは完全に透明になってしまうのですが…
142 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:31:16 ] 背景色をマゼンタにでもしとけば?
143 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:38:53 ] zlib(RFC1950)で圧縮されたファイルを解凍したいんだけど、C#だけでできる? DeflateStream はRFC1951、GZipStream はRFC1952を使ってるらしくてうまく解凍できない。 他にzlibに関わるクラスも見当たらないし、もしかしてC#じゃできない?
144 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 21:40:27 ] 正式な方法が用意されてるかどうかは知らないけど CでできるんだったらC#でもDllImport使えばできる
145 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:21:36 ] C#でも自分でプログラム書けばできる
146 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 22:51:16 ] 携帯からなんでURLは書けないが、Sourceforgeにzlib.netとかいうプロジェクトがある
147 名前:109 mailto:sage [2008/01/14(月) 23:18:31 ] 良かったらどなたか>>109 もお願いします(´・ω・)
148 名前:デフォルトの名無しさん mailto:sage [2008/01/14(月) 23:26:39 ] 受信待機状態を中断…もう少し具体的に
149 名前:109 mailto:sage [2008/01/15(火) 00:09:52 ] >>148 ありがとうございます。 具体的には、ボタンが押された時にポートを解放(?)してudpを破棄したいということです。 実装としては udp=new UdpClient(port);としているんですが、ユーザの入力でポートを変更することも出来るようにしたいんです。 とりあえず今日いろいろ考えた末、 ポートを変更するときに呼ばれるメソッドを public void ChangePort () { udp.Close(); udp = new UdpClient(port); myReceive; } として、無理矢理破棄して、ReceiveCallback内をtry〜catchで起こった例外を全て無視するようにして一応動いたんですが、あまりにも邪道すぎる気がします。。。
150 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 00:14:11 ] >>149 いやもそれでほぼオケじゃね? 例外を全て無視じゃなくて外からClose()された時の例外だけ無視するようにすれば。
151 名前:109 mailto:sage [2008/01/15(火) 00:36:04 ] >>109 あ゛・・・ これでよかったんですね。例外は基本的に全て処理するべきなのかなぁって思い込みがありました(´・ω・) とりあえずArgumentExceptionと、タイミングによってはObjectDisposedExceptionがスローされるみたいなんで、これらを無視するようにしておきました。 ありがとうございました。
152 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 00:53:30 ] C#のことでなく.NET Frameworkのことですれ違いなんだけど、 C#で文法のことはいいとしてライブラリのことが知りたいんだけど いい情報源教えてください。 dobon.net/ は読みました。 とりあえず プログラミングMicrosoft .NET Framework 第2版 (マイクロソフト公式解説書) (単行本) は買ってみようと思います、 よろしくお願いします。
153 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 01:15:19 ] >>152 MSDN
154 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 02:33:43 ] アンマネージドなリソースについてなんですが、やり直し等の機能でいつ解放 したらいいかわからないものが出てきた(ファイルとか)ので、ゴミ箱クラス作って そこで一括管理しようと思ったのですが、対象となる変数の参照カウンタって 取得できないのでしょうか? やっぱり自分で皮をかぶせるしかないですかね?
155 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 02:40:28 ] 何が言いたいのかよく分からんが、 LRのガーベジコレクタは参照カウント方式じゃないぞ
156 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 02:40:59 ] s/LR/CLR/;
157 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 02:48:42 ] >>155 ありゃ、そうなんですか… orz 今ざっと調べたところ、Finalize()を積んでおけばGCが勝手に実行 してくれるみたいなんですが、どうしてもDispose出来ないときは それでいいんですかね?
158 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 04:03:32 ] GC される前にランタイムが落ちるとか、結構ありそうだけどな。 ところで 「やり直し等の機能」 って何?
159 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 06:24:53 ] >>157 アンマネージリソースを扱うなら、必ず適切なタイミングで Disposeを呼ぶような設計しなきゃ駄目だよ。 細かい話が多いので割愛するけど、 ファイナライザに頼るスタイルは色々問題があるのヨ。 ぶっちゃけマネージドな世界では、例えばC++において参照カウンタ式スマートポインタで 自動化できてたリソース管理の一部は使えなくなると思っていた方が良いかと。
160 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 06:30:02 ] VBの参考書で勉強しているのですが Label1.Text = DirectCast(Me.PreviousPage.FindControl( _ "TextBox1"), TextBox).Text をC#で書くにはどうしたらいいですか?
161 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 07:42:54 ] 自己解決しましたm(_ _)m
162 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 08:30:22 ] >>158 ペイントなどに良くあるやり直し・元に戻す操作です。 >>159 やっぱり自前でDisposeしなきゃだめなんですね… ちょっと基本設計見直してきます orz
163 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 14:07:03 ] Form1とForm2を定義して Form1内で Form2 f2 = new Form2(); f2.ShowDialog(); でForm2を呼び出した後にf2内のbutton_Clickイベント処理内でf2の中のテキストボックスや、コンボボックスの値をForm1で取得したいのですが どうしたらよいでしょうか?
164 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 15:56:14 ] Form2がイベント公開してf2内のbutton_Clickイベントハンドラ内でfire イベントデリゲート自分で定義してテキストやコンボボックスの値をEventArgsにつっこむか またはプロパティで公開しとく
165 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 16:31:40 ] fireってなんでしょうか?ぐぐってもよくわかんないです・・・
166 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 16:39:14 ] イベントを起こす、ってことじゃね? //Form2.cs public event EventHandler HogeEvent; private void button_Click( object sender, EventArgs e ) { if( this.HogeEvent != nul ) this.HogeEvent( this, EventArgs.Empty ); // ← ココ } ------------------------------------------- //Form1.cs ... Form2 f2 = new Form2(); f2.HogeEvent += new EventHandler( f2_HogeEvent ); ... private void f2_HogeEvent( object sender, EventArgs e ) { //ココが呼ばれる }
167 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:47:13 ] >>f2.HogeEvent += new EventHandler( f2_HogeEvent ); これは何をしているのでしょうか? form1では private void button_add_Click(object sender, EventArgs e) { Addition add = new Addition(); add.ShowDialog(); } でform2(Addition)を呼び出し、手動で、form2内のテキストエリアやコンボボックスに入力してOKボタンを押す そのとき、したのイベントに遷移して、このメソッド内で、form1内のデータグリッドを更新できないか?ということなんですが。 private void button_OK_Click(object sender, EventArgs e) { }
168 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 18:52:38 ] (´・ω・`)しらんがな
169 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:03:28 ] 恥をしのんで質問いたします。 初めてコンソールアプリを作ろうとしているのですが、 エクスプローラーからコマンドプロンプトにディレクトリパスをD&Dで使わせようと思っています。 そのとき、長いフォルダ名を含む場合、絶対パスを表す文字列がダブルクォーテーションで囲まれてしまいます。 そのため、"入力文字列補正処理"を入れるようにしましたが、なんだかスッキリしません。 皆様どうやってやってますか? 以下にソースを書きます。宜しくお願いいたします。
170 名前:169 mailto:sage [2008/01/15(火) 19:04:04 ] static void Main(string[] args) { string[] str; //検証用変数 string Input, Output; //フォルダパス Console.WriteLine("入力フォルダパスを入力して下さい"); //入力文字列補正 str = Console.ReadLine().Split(new char[] {'\"'}); if (str.Length == 3) { Input = str[1]; } else { Input = str[0]; } Console.WriteLine("出力フォルダパスを入力して下さい"); //入力文字列補正 str = Console.ReadLine().Split(new char[] { '\"' }); if (str.Length == 3) { Output = str[1]; } else { Output = str[0]; } if (Directory.Exists(Input) & Directory.Exists(Output)) { Console.WriteLine("valid"); Console.ReadLine(); } else { Console.WriteLine("invalid"); Console.ReadLine(); } }
171 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:07:37 ] >>167 form2でセットするんじゃなくて、form2はセットさせたい項目をpublicなプロパティで返すようにする form1でDialogResultをチェックしてform2のプロパティからセットするのが正解
172 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:07:40 ] Trim(char[])
173 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:18:45 ] >>167 個人で作ってるだけでプロパティ作るのが面倒くさかったら、 form2の該当の入力フィールド(textBoxとか)のModifiersをPublicにするのも手だけど
174 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:22:07 ] >>171 丁寧にありがとうございます。 >>セットさせたい項目をpublicなプロパティで返すようにする というのがいまいちわかりません。 ソース載せます。 //form1(Main) public partial class Main : Form { public Main(){ InitializeComponent(); } private void button_add_Click(object sender, EventArgs e) { Addition add = new Addition(); add.ShowDialog(); } } //form2(Additon) public partial class Addition : Form { public Addition() { InitializeComponent(); } private void button_OK_Click(object sender, EventArgs e) { //MessageBox.Show(textBox_name.Text+"\n"+ comboBox1.Text+"\n"+textBox1.Text); } }
175 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:24:50 ] public partial class Addition : Form { public string 結果 { return textBox_name.Text+"\n"+ comboBox1.Text+"\n"+textBox1.Text; } }
176 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:24:57 ] >>173 publicにしたら、Form1.csの補完機能からform2のコントロールが見えました! ありがとうございます!
177 名前:175 mailto:sage [2008/01/15(火) 19:25:16 ] ミス public string 結果 { get { return textBox_name.Text+"\n"+ comboBox1.Text+"\n"+textBox1.Text; } }
178 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 19:37:02 ] はじめまして。 まことに簡単な質問で恐縮なのですが、DataGridViewのculomnsのプロパティで オートインクリメントをしたい列があるのですが、どうすればよいでしょうか? よろしくお願いいたします。
179 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:33:34 ] >>169 な、何を言ってるのかね?
180 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 20:53:51 ] >>169 ただファイルを開くとかくらいなら、 ダブルクォーテーションがあっても問題なかった気がするけど。
181 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 10:43:24 ] >>169 dos窓でドロップやったことないのか? スペース含むパス取り込むためにデフォルトで""囲みになるのが普通だよー
182 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 11:16:56 ] 問題あるならTrimでもすりゃいいんでは?
183 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 11:40:31 ] C#でExcelを操作しようと調べているんですが、断片的な 情報しか見つける事ができませんでした。 何か参考になる本やサイトなど知っていたら紹介して貰えませんか?
184 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 12:33:03 ] COM Excel C# でググるとか
185 名前:169 mailto:sage [2008/01/16(水) 13:21:32 ] >>180 そうだと思ったんですが、パスを変数に格納した後にフォルダの存在確認を>>170 の下の方で 行っているんですが、""つきのパスだと存在しないよって言われちゃうんですよ。 >>182 調べてみます
186 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 13:51:48 ] つか、D&Dできるの始めて知ったぜ。いつもいちいちコピペしてた。
187 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 14:00:08 ] Vistaでできないな、、、XPをリモートデスクトップで出してみたらこっちではD&Dできるが・・・
188 名前:デフォルトの名無しさん [2008/01/16(水) 14:38:39 ] VS2005でC#の勉強をしています。 質問なのですが、テキストファイルに 1 200 2 356 3 1250 4 870 5 692 といったような行列があり、それをC#のプログラムで読み込み 1000以上の値を持つものだけピックアップすることはできるでしょうか。 ピックアップした後に計算もしたいので、変数にその値を代入したいのです。 よろしくお願いします。
189 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:00:03 ] StreamReaderとかで開いて ReadLineして パースすればいい
190 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:01:21 ] var hoge = from line in File.ReadAllLines(@"...") from str in line.Split(' ') let value = Int32.Parse(str) where value >= 1000 select value;
191 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 15:05:51 ] VS2005や言うてるやろスカタン
192 名前:169 mailto:sage [2008/01/16(水) 15:46:16 ] >>188 StreamReader sr = new StreamReader(filepath); List<int[]> list = new List<int[]>(); do { string str = sr.ReadLine(); if (str != "") { string[] ary = str.Split(new char[] { ' ' }); int n1 = int.Parse(ary[0]); int n2 = int.Parse(ary[1]); if (n2 > 999) { list.Add(new int[] { n1, n2 }); } } } while (sr.Peek() != -1);
193 名前:169 mailto:sage [2008/01/16(水) 15:51:20 ] どうやら手動で削除するほかなさそうですね。 splitを使って面倒なことをしてましたが、 Trim(もしくはReplaceでも可)を使って少しコードがすっきりしました。 ありがとうございました。 Console.WriteLine("入力フォルダパスを入力して下さい"); Input = Console.ReadLine().Trim(new char[] { '\"' }); Console.WriteLine("出力フォルダパスを入力して下さい"); Output = Console.ReadLine().Trim(new char[] { '\"' }); if (Directory.Exists(Input) & Directory.Exists(Output)) { Console.WriteLine("valid"); Console.ReadLine(); } else { Console.WriteLine("入力したフォルダパスが不正です"); Console.ReadLine(); }
194 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:00:02 ] オマイラそれ絶対なんか間違ってるだろwww
195 名前:デフォルトの名無しさん [2008/01/16(水) 21:20:34 ] すみません、教えてください。 VS2005 .netでプログラムしていますが、HOMEPATHの取得法はあるのでしょうか? もしあるならば方法をご教授ください。 よろしくお願いします
196 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:23:02 ] 994 名前:デフォルトの名無しさん[sage] 投稿日:2008/01/11(金) 12:14:20 Environment.GetEnvironmentVariable( "HOMEPATH" );
197 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:27:22 ] \r\n と \n の差がわからないんだが どっちも改行するわけだが動違うの?
198 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:31:50 ] >>197 サイズが違う。
199 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:38:14 ] おおまかにはOSによって改行コードが違う。 Unix:\n Windows:\r\n Mac:\r ってか基本だと思うけど。
200 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:40:24 ] >>199 トンクス Cとかだと\nが改行だから\r\nって何かと思ってたんだが Windowsなら\r\nでいいってことでつね
201 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 21:46:35 ] >>200 Cは、テキストモードだと、\nは\r\nに変換される。(winでは)