1 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:15:52 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C#, C♯, C#相談室 Part51 pc12.2ch.net/test/read.cgi/tech/1233757615/ Visual C# 2008 Express Edition 日本語版 www.microsoft.com/japan/msdn/vstudio/express/vcsharp/ その他テンプレ>>2-5 くらい
301 名前:298 mailto:sage [2009/04/26(日) 16:56:29 ] >299-300 ありがとうございます。そこまで複雑な事ではないです。
302 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 17:06:03 ] じゃあどういうことよ、なのよ
303 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 17:09:44 ] int[] array = new int[999999]; とでもやって多めに確保しとけ
304 名前:デフォルトの名無しさん [2009/04/26(日) 17:11:07 ] >>301 むしろ>>298 の説明のほうがそれいじょうに複雑なことではあります
305 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 18:35:03 ] Compositパターンのことを言ってるんじゃないの?
306 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 18:35:51 ] 「コンポジットパターン」と言いたいんじゃないかな? ということで、これでぐぐってみてください。
307 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 08:52:01 ] このスレはやさしいエスパーが多いな
308 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 00:51:39 ] FormBorderStyle.Noneにして標準のタイトルバーとか表示させないで独自のものを表示したりしています。 タスクバーの右クリックでのシステムメニューは下のURL等を見て表示できるようになったんですが、最小化などが無効になったままです。 これは何かメッセージを処理したりすれば有効にさせることなど出来るのでしょうか? 最大化などもFormのWindowStateをNormalのまま最大化らしくふるまうように無理くりやっています。 もしくはこんな風な独自のウィンドウを作る時の従うべき方針などあれば是非是非エロイ人
309 名前:308 mailto:sage [2009/04/28(火) 01:11:26 ] さーせん、const int WS_MINIMIZEBOX = 0x20000; とかをCreateParamsのStyleに追加したら最小化も表示されたっす。
310 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 01:39:19 ] Graphicsに任意のControlを描画することって出来ます? var webControl=new WebControl() webControl.Draw(graphics); みたいな感じで。
311 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 01:44:28 ] Excel 2003 vbaの関数をC#から呼んでるんですが 実行時にvba内のブレークポイントで処理を止めるには どうしたらいいんでしょうか。
312 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 02:05:10 ] >>310 でやってみていかがでしたか?
313 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:41:06 ] public partial class Form1 : Form { [DllImport("libmecab.dll")] extern static int mecab_new2(string arg); [DllImport("libmecab.dll")] extern static string mecab_sparse_tostr(int m, string str); [DllImport("libmecab.dll")] extern static void mecab_destroy(int m); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { int mecab = mecab_new2(""); string s = mecab_sparse_tostr(mecab,textBox1.Text); mecab_destroy(mecab); textBox2.Text = s; } } これがXPでは動くのだけど、Vistaでは動かない。 mecab_sparse_tostr(mecab,textBox1.Text); で System.AccessViolationException はハンドルされませんでした。 Message="保護されているメモリに読み取りまたは書き込み操作を行おうとしました。他のメモリが壊れていることが考えられます。" がでる。 意味がわからない。なぜ?
314 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:51:15 ] そのメカブってどこからもってきてんのよ
315 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:55:02 ] これ。 mecab.sourceforge.net/libmecab.html
316 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:55:19 ] オレも何かメカブそば食いたくなったわw
317 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 18:58:36 ] 実はVista x64版だったというオチ、とか
318 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:04:16 ] >>317 それはさすがに大丈夫だった。 また、Mecabインストール時についてくるEXEは、普通に動きます。
319 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:06:30 ] とりあえずpInvoke行って宣言正しいかみてこようず
320 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 20:37:13 ] >>313 いま実際に動かしてみた 返値がStringだとマーシャラがギブアップするみたい IntPtrで受けてMarshal.PtrToStringAnsiとかで文字列変換すべし
321 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 21:21:30 ] ref string でもいけそうな気がする。
322 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 21:28:24 ] 返値にrefは使えない エラーが出る原因だけど、あくまで推測レベルだが 返値にStringを指定した場合UnmanagedType.BStrならSysFreeStringが、 それ以外ならLocalFreeだかCoTaskMemFreeだかが自動的に呼び出されたはずなんで メモリ周りの保護の強化との兼ね合いと思われる
323 名前:デフォルトの名無しさん mailto:sage [2009/04/29(水) 22:10:13 ] >>320 >>322 ありがとう。XP、Vista両方動いた。
324 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 09:23:57 ] DataGridviewって動的列つかったCross集計もできないし機能ショボスギですね 代わりにMSレポートのマトリックス使ってますが将来DataGridviewにGrapeCityのGridみたいな機能が付加されることはないでしょうか
325 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 11:46:10 ] 高機能すぎると独禁法が面倒なんだ
326 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 14:35:30 ] コンポーネントは機能が少ないほど良い。
327 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 19:31:39 ] ×コンポーネントは機能が少ないほど良い。 ○コンポーネントは機能が洗練されているほど良い。
328 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:23:18 ] >>326 機能ゼロが最高だよね。
329 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:52:40 ] せめてAlt+F4で終了する機能ぐらいはつけてくれ
330 名前:デフォルトの名無しさん [2009/04/30(木) 22:54:12 ] ListView を View == Details で使っていて、 選択された行をタブ区切りでクリップボードに転送してみようと思っているのですが 簡単な方法もしくは、一般にListViewからクリップボードへの定型的なやり方ってありますか?
331 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 23:02:53 ] 1パターンしかないと思うが 細かい差異はあるかも知れんけど
332 名前:デフォルトの名無しさん [2009/05/01(金) 02:27:08 ] C++で const int data[] = {1, 2, 3, 4}; のようにやっていたのを C#で書き直したいんだけど、 const int[] data = {1, 2, 3, 4}; とか const int[] data = new int[]{1, 2, 3, 4}; って書くと文句言われる。 int[] data = {1, 2, 3, 4}; なら、文句言われなくなるんだけど、 C#でconst配列の初期化ってどうすればいいの?
333 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 02:29:31 ] そんなもの無い dataそのものへの代入不可ならreadonly 要素の変更不可ならReadOnlyCollection<T>でラップ
334 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 02:31:20 ] private readonly int[] data = new int[] {1,2,3,4};
335 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 11:22:09 ] >>334 配列の要素に書き込めます
336 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 11:37:53 ] >C++で >const int data[] = {1, 2, 3, 4}; は要素の書き換え可なの?
337 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 12:22:30 ] >>336 それは int const data[] = ... と同義だから、constはintに掛かってて、要素は書き換えられない。
338 名前:デフォルトの名無しさん [2009/05/01(金) 13:03:46 ] スレ違いだが、 >>336 要素の書き換えは不可。 >>337 前半がウソ。それは同義ではない。
339 名前:337 mailto:sage [2009/05/01(金) 13:40:55 ] ごめん適当に書いたんだけど、C++とCで違いがあるの? リンケージ変わったりとか?
340 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:16:41 ] static または auto に宣言しているなら変わらないかと、つか C# スレですが 専門のスレで聞いた方が良いで
341 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:21:46 ] >>335 readonly System.Collections.ObjectModel.ReadOnlyCollection<int> data = Array.AsReadOnly(new int[] { 1, 2, 3 }); こうかな、使ったことないんで自分で確かめてくれ。
342 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 14:23:28 ] 読み取り専用その他、各種アダプタ類は、class に static 関数として定義されている事が多いんで、いろいろ見てくらはい。
343 名前:デフォルトの名無しさん [2009/05/01(金) 16:36:37 ] メインのフォームから別スレッドを起動して、そのスレッドからフォームのテキストボックスにアクセスすると CrossThreadMessagingExceptionが投げられるのですが、どのように回避するのが良いでしょうか?
344 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 16:42:06 ] コントロール スレッド でぐぐれ
345 名前:デフォルトの名無しさん [2009/05/01(金) 17:48:18 ] スレッドをAbort()した後に、同じスレッドをStart()すると、 ThreadStateException {"スレッドが実行中か、または終了しています。再起動できません。"} が投げられます。 一度Abort()したスレッドを再開するにはどうすればよいでしょうか? 毎回new Threadをし直す必要があるのでしょうか? できれば、new Threadはアプリ起動時に1度だけで済ませたいです。
346 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:00:27 ] メッセージどおり、Abortしたら再起動はできない つーかAbortなんか使っちゃダメ SuspendとかResumeとかも禁止 フラグとかでスレッド自身が自分の状態を管理するようにする 別にThread作りなおしてもかまわんとは思うが
347 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:08:39 ] 自分も独学でフラグで誤魔化したので、 スレッドの待機をメッセージが無い.NETでどうするか疑問だった マジでみんなフラグ管理で逃がしてるの?
348 名前:デフォルトの名無しさん [2009/05/01(金) 18:48:39 ] >>346 Resume、Suspendは「使用しないでください」と書いてありますが、Aboteには書いていません。 何故、Abortを使うのはダメとおっしゃっているのでしょうか?
349 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:52:43 ] >>348 マジ?どこどこ??
350 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 18:56:26 ] >>348 メモとかに書いてるっしょ どこで終了するか分からないからオブジェクトが不完全な状態になりうるとか 更には確実に終了されるかどうか保証できないとか実にやばそうな匂いが漂ってくる
351 名前:デフォルトの名無しさん [2009/05/01(金) 19:14:36 ] >>349 Visual C# Express 2008のインテリセンス >>350 そうは書いていないようです
352 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 19:26:48 ] インテリセンスて ヘルプの解説見ろよ……
353 名前:デフォルトの名無しさん [2009/05/01(金) 19:35:28 ] >>352 ヘルプの解説でも、 SuspendとResumeの項には 「メモ : このメソッドは,互換性のために残されています。」 「[ObsoleteAttribute("Thread.Resume has been deprecated. Please use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources. go.microsoft.com/fwlink/?linkid=14202 ", false)] 」 とありますが、 Abortの項にはありません。 詳しくはヘルプをご覧ください。
354 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 20:21:44 ] Thread.Sleep() に Timeout.Infinite を渡す。 再開は Thread.Interrupt() で ThreadInterruptedException をスローさせる。
355 名前:347 mailto:sage [2009/05/01(金) 21:40:05 ] さんくす Thread.Interruptのコード例でsleepSwitchフラグの位置がイマイチ納得いかなかったけど >>354 に書いてあるように使うよ
356 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:04:03 ] >>347 一般にはフラグは使わない、イベントやセマフォやミューテックスの類を使って制御する。 フラグは簡単にミスするしバグりやすいよ、CPUパワーは無駄にするし、スレッドの実行優先順位も狂って非効率になる。
357 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:10:40 ] 再開はそれでいいんだけど休止をどう伝えるのかイメージつかないんですが
358 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:25:42 ] >Thread.Interruptのコード例でsleepSwitchフラグの位置 デバッガで確認したけど、Thread.SpinWait(10000000);の行には行かないね。 シングルコアだとJoin呼ぶまでスレッド動かないからだね。 試しにInterrupt()のあとでThread.Sleep()入れてメインスレッドをスリープ待機に 入れちゃうとThread.SpinWait(10000000);がThreadInterruptedException起こすし。 マルチコアだと動かないんじゃないか?このサンプル。
359 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 22:48:07 ] >>357 メモリ操作オンリーの計算なら止めてしまっても問題ないと思うが 普通にいろいろなリソースを操作しているなら勝手なタイミングで止められたらマズくね? もちろん上記のような特殊な状況があるならそれこそSuspendしちまっても全然問題ないと思われますけど。 普通の状況では、イベントを確認して問題なければそこで止める。
360 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:04:40 ] Sleepする前にInterruptされていたら停まらないでThreadInterruptedException起こすし 問題ないかを確認するのはInterruptする側でしろということじゃないかな。
361 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:07:19 ] なんつーか、AbortにしてもInterruptにしても、これらの操作はスレッドに対する最終手段だぜ 普通に使うものじゃない
362 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:09:02 ] 同期を使わないなんてアリエナイ。
363 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:11:25 ] いや、開発するアプリの種類によるか・・・ スレッド自体、使わない人は使わないんだし。
364 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:11:48 ] スレッドの外部から停止再開させたいなら、同期オブジェクトを使おうが 結局フラグ的な使い方をすることになりそうな気がする。
365 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:13:55 ] >>364 フラグだとvolatile付け忘れたり、メモリーバリア忘れたり、素人には難しいぞ。
366 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:23:06 ] ManualResetEvent だともろフラグだ。 そういえばBackgroundWorkerの実装をみると volatileもmemorybarrierも使ってなかったのを思い出した。
367 名前:デフォルトの名無しさん mailto:sage [2009/05/01(金) 23:24:28 ] つかEventはマルチスレッド用のフラグですから セマフォはマルチスレッド用のカウンタですから
368 名前:358 mailto:sage [2009/05/02(土) 03:35:46 ] 嘘こいてた。 >入れちゃうとThread.SpinWait(10000000);がThreadInterruptedException起こすし。 起きない。そもそも待機してない風? >スレッドを iterations パラメータで定義した時間の間待機させます。 ってヘルプにあるのに・・・ある・・・定義した時間って単位はいくらだ?フェムト秒? Causes a thread to wait the number of times defined by the iterations parameter. ・・・誤訳かよ! 待機とブロックと中断の用語がなんか変な気もするし。日本語ヘルプはだめすぐる。
369 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:40:54 ] WCFとかAzureの質問ってここでしていいのかな。 Azure SDKのdevelopment fabric上でWCFサービスを動かすと、 127.0.0.1からはアクセスできるのに、自分のホスト名から叩くとアクセスできなくて、 俺の設定ミスなのかAzure SDKのバグなのか分からないんだけど。 解決策を知ってる人がいたら教えて欲しい。
370 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:56:03 ] 切り分けしようぜ
371 名前:デフォルトの名無しさん mailto:sage [2009/05/02(土) 03:56:30 ] 手元に無いんで試してないがエスパーしてみると リスナーでIPAddress.Anyとすべきところがそうなってないとか
372 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 10:20:58 ] >設定ミスなのかAzure SDKのバグ 自分のプログラムが悪いとはこれっぽっちも考えてないのね
373 名前:デフォルトの名無しさん [2009/05/03(日) 11:22:10 ] >>372 「俺」って言うのは日本語で「自分」を示す一人称の一つだよ。
374 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 11:42:24 ] 設定ミスと考えてるってことはプログラムは悪くないと思ってるってことだろ
375 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 11:44:41 ] 設定はプログラムでするだろ
376 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 12:15:09 ] 何言い返してんだよ、本人か? そうでなけりゃ、自分のプログラムミスを設定ミスと言い直してごまかす人か?
377 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 12:58:12 ] あ、回答どうも。 >>370 がんばってみたんだけど無理だった。。 とりあえず、MS提供のサンプルで同じことが起こるのは確認済み。 別環境でやっても同じく。 >>371 なるほど。そういうオプションがあるのか。 IISでその辺設定するにゃどうしたらいいんだろ。調べてみますわ。 >>372 ランタイムの初期化って設定って言いませんかねぇ。 あと、言うの忘れてたけど.svc使ってIISの機能でホスティングさせてたんで。
378 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 13:43:49 ] WCFはIISでホスティングさせているか否かでだいぶ違うから、 そういう大事なことは先に言えよな。 あとはトランスポートになに使ってるかかな、BasicHttpBindingとかそんなの。
379 名前:377 mailto:sage [2009/05/03(日) 14:05:03 ] 失礼(´・ω・`) バインディングはBasicHttpBindingにしてる。 ウィザードのデフォルトはWebHttpBindingだけど、 それだとそのまま使うとなんか例外投げたので。 とりあえず、MSの開発者側も認識している既知の問題としては、 WCFアプリをAzureにうpすると、自分のホスト名を、 ユーザが使うロードバランサのアドレス(tp://***.cloudapp.net/)ではなく、 分散環境内でアプリが実際にロードされている鯖(tp://[guid].cloudapp.net)のもの として認識してするせいで、それをendpointとしてWSDLを生成してしまう、 というのはどっかで見かけたけど、それがこの問題とも関連しているのかよく分からない。
380 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 14:06:36 ] ちなみにこれ。 code.msdn.microsoft.com/wcfazure/Wiki/View.aspx?title=KnownIssues
381 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 14:10:18 ] 内部識別子でWSDLを公開している様子 wcfazure.cloudapp.net/ wcfazure.cloudapp.net/ConsoleCalculator/Service.svc けど、ローカルで動かす分には鯖名自体は(もちろん)合ってるから関係ないはずではあるんだけど。
382 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 15:59:03 ] まずはIISで動かしているのかASP.NET開発サーバーで動かしているのか確認かな。 後者なら127.0.0.1(localhost)しか受け付けない。 タスクトレイにASPNET開発サーバーアイコンが表示されているようなら後者。 IISで動いているなら、コンピューターの管理からIISの設定を確認する。 まずWEBサイトの識別のIPアドレスで「未使用のIPアドレスすべて」になっているかどうか。 ここが127.0.0.1になっていればそれでしか繋がらない。 次にこのアプリの仮想ディレクトリを確認でセキュリティ関係に矛盾がないか確認。 よくやってしまうのが、統合認証+匿名認証の設定になっていて、 WEBで公開しているディレクトリにIUSR_xxxxのアクセス許可がないケース。 統合認証で認証された場合は問題ないが、匿名の場合にアクセス拒否を食らう。
383 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 17:09:52 ] >>382 ありがとう。 いま、手元に環境がないので、後日確認してみて報告しますわ。
384 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:30:41 ] C#でテキストを1行ずつ読み込み、条件に合った行を取得するような簡単なものを組んでいるのですが、 条件に合った行から連続する3行とかを取得するにはどうすれば良いのですか。 初歩的かもしれませんが、ご教示願います。
385 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:32:17 ] >>384 とりあえず下の場合の動作は? テキスト 1234 1234 1234 abcde abcde abcde 条件: 1234
386 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:37:32 ] >>384 条件に一致した行のインデックスとって自分でそこから2行読めば?
387 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:41:59 ] なんかJavaより面倒そう
388 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:42:02 ] var result = new List<string>(); int flag = -1; foreach (string line in lines) { if (条件に合ってる行の場合) { flag = 0; } if (flag =! -1) { result.Add(line); flag++; if (flag > 3) { flag = -1; } } }
389 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 18:50:20 ] =! だと・・・?
390 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 19:08:04 ] grepと同じ挙動ならこんな感じか IEnumerable<string> Grep(IEnumerable<string> source, string pattern, int after) { int n = 0; foreach (var line in source) { if (line.Contains(pattern)) n = after + 1; if (n > 0) { n--; yield return line; } } }
391 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 19:25:31 ] >>384 bbbが条件だとして、そこから3つを取得 string[] list = { "aaa", "bbb", "ccc", "ddd", "eee" }; var result = list.SkipWhile(s => s != "bbb").Take(3);
392 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 19:44:16 ] linqを使いたいお年頃なんですね
393 名前:384 mailto:sage [2009/05/04(月) 20:03:01 ] 返事が遅くなりました。 1234 aaa bbb ccc 2345 ddd eee fff のようになっていまして、ReadLineで順に読んでいって、1234を発見したときに、 aaa、bbb、cccの3行を取得するようにしたいです。 1234の行は取得できるのですが、その次の行を読んでbreak;の方法がいまいちわかりません。
394 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:10:11 ] もし1234が見つかったらのifステップ中は ReadLine(); ReadLine(); ReadLine(); じゃだめなの(;´Д`)
395 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:10:39 ] >>393 1234が2回以上あらわれることはあるか、 また1234に続く3件のうちに1234が含まれていた場合の扱いは?という確認だろ。 そういうことはありえないという条件でもよいのだが。 その条件が確定すれば簡単だよ。
396 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:16:30 ] すみません。おそらくすごい初歩的なことだと思います。 検索する行(この場合は1234)は、他の行には一切ありません。 >>394 さんの3回記述をするのは、次の2行も取得できるということですか? Webはいろいろ調べてみたのですが、1行ずつ読み込む方法しか書いてなかったもので。
397 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:30:44 ] >>385 はスルーですかそうですか
398 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:31:52 ] >>391 はスルーですかそうですか
399 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 20:33:15 ] >>398 いやまて391は流石に役に立たないだろう根本的な部分で
400 名前:384 mailto:sage [2009/05/04(月) 20:41:24 ] >>385 を書かれた時点で自分の伝えたいことが伝わってないことがわかり、をれを参考にして例示を上げてみました。 スルーするつもりはありませんでしたのでご容赦ください。 今>>394 の方法でやってみたところ、思った通りの挙動が確認されました。 まだ本片手で勉強している最中ですので、このような質問内容になったことをお詫びいたします。 みなさん、ありがとうございました。