トップページ⇒tech
1001コメント247KB

ふらっとC#,C♯,C#(初心者用) Part63

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2010/09/21(火) 14:57:58
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとC#,C♯,C#(初心者用) Part62
http://hibari.2ch.net/test/read.cgi/tech/1281236906/

■関連スレ
C#, C♯, C#相談室 Part62
http://hibari.2ch.net/test/read.cgi/tech/1284775031/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/

■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。

直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0153デフォルトの名無しさん2010/09/23(木) 11:08:50
>>152
話の中身と想定してるものが違えば割り込んで
追加説明すればいいんじゃないの?
0154デフォルトの名無しさん2010/09/23(木) 11:09:36
物すごい勢いで伸びてると思ったら
単芝だった
0155デフォルトの名無しさん2010/09/23(木) 11:10:43
>>153
いやその切り替えしはおかしい
01561402010/09/23(木) 11:12:04
すみません。トランスレータと言ったのがよくなかったみたいですね。

私が作りたいのはもっと単純で、stringオブジェクトの中より記号を拾い
その記号から文字列を生成するだけのものです。
0157デフォルトの名無しさん2010/09/23(木) 11:13:50
>>155
いやあってるよ
0158デフォルトの名無しさん2010/09/23(木) 11:14:17
http://www.google.com/search?hl=ja&;lr=&ie=UTF-8&oe=UTF-8&num=50&q=c%23+regex+replace
0159デフォルトの名無しさん2010/09/23(木) 11:22:42
記号から文字列ってのがよくわからん。
たとえば、元の文字列がどんなので、結果としてどんな文字列を生成するつもりなん?
0160デフォルトの名無しさん2010/09/23(木) 11:25:51
>>159
ゲームのメッセージの中でたまにバグって[名前]とか残ってるああいうのかな?


0161デフォルトの名無しさん2010/09/23(木) 11:33:11
>>156
プログラミング初心者なのはいいけど、説明能力初心者なのは反省して欲しいもんだな。
なんでちゃんと推敲しないの?

俺なんか質問する場合は自分の意図がちゃんと他人に伝わるか、何度も読み直してチェックするが
普通そういうものじゃないのか?
0162デフォルトの名無しさん2010/09/23(木) 11:34:20
>>161
あなたが何を言いたいのかわかりません。

ちゃんと読みなおしましたか?
0163デフォルトの名無しさん2010/09/23(木) 11:34:47
きっと140さんは158を一瞬開いて、プログラムが書かれてないから一瞬で閉じてしまったに違いないんやな
0164デフォルトの名無しさん2010/09/23(木) 11:36:03
>>162
しょっぱいよ
0165デフォルトの名無しさん2010/09/23(木) 11:40:38
>>164
すみません
どういう意味ですか?
0166デフォルトの名無しさん2010/09/23(木) 11:42:24
>>165
ggr
0167デフォルトの名無しさん2010/09/23(木) 11:43:33
>>165
死ねってことだよ
言わせんなはずかしい
0168デフォルトの名無しさん2010/09/23(木) 11:44:18
あの…初心者用スレなんで…
0169デフォルトの名無しさん2010/09/23(木) 11:44:28
>>162
ちょっとなにいってるのかわかんないです
0170デフォルトの名無しさん2010/09/23(木) 11:46:11
RichTextBoxを使った画面をデバッグしていると、急激に重くなりました。
タスクマネージャを見ると、どうも conime.exe と言うプロセスが10個近く増えていたのですが、
原因は何でしょうか?(VS2008です)
0171デフォルトの名無しさん2010/09/23(木) 11:47:37
分からないのならスルーして下さい
0172デフォルトの名無しさん2010/09/23(木) 11:48:10
>>167
しねっていうのが読み取れませんでした
すみません

あなたの文章わかりづらいですね
0173デフォルトの名無しさん2010/09/23(木) 11:55:13
>>99
http://www.google.com/search?hl=ja&source=hp&q=SuspendLayout%E3%80%80%E5%B4%A9%E3%82%8C%E3%82%8B

ここが出てきたw
てか有益な情報がない
0174デフォルトの名無しさん2010/09/23(木) 11:56:43
>>170
conimeはコンソールで漢字変換をやるためのプロセス。
使わないなら無効化しちゃえばいい。

http://support.microsoft.com/kb/903204/ja
0175デフォルトの名無しさん2010/09/23(木) 12:01:03
conimeでシリアライザが固まるとかフォルダ削除できなくなるとかいろいろあるよね
01761702010/09/23(木) 12:08:04
>>174
コンソールは使わないので無効化して、起動しなくなりました。
ありがとうございます!
0177962010/09/23(木) 12:24:49
ご教示いただきましたActiveXコントロールでReal Mediaの動画を流したいのですがどのように流すのでしょうか?
サンプルコードがあればと思い「c# activex real media」で検索してみたのですが見つからず・・・
0178デフォルトの名無しさん2010/09/23(木) 12:38:38
カスタムコントロールをデザイナで配置しようとすると

コンポーネント"xxx"を生成できませんでした。エラーメッセージ;
"System.IO.Path.TooLongException: 指定されたパス、ファイル名、またはその両方が長すぎます。
完全限定型名は 260 文字未満で指定し、ディレクトリ名は 248 未満で指定してください。

というようなエラーが出てきてしまいます。
このプロジェクトが置いてあるフォルダの階層はかなり浅く、
なぜこのエラーが出るのか分かりません。
何か他に原因があるのでしょうか?
どなたか教えて下さい。
0179デフォルトの名無しさん2010/09/23(木) 12:44:26
>>178
突っかかるような言い方で悪いけど、それってカスタムコントロールをデバッグしろ、
でもソースコードも何をやっているかも秘密です、って言ってるのと同じじゃないのか?
0180デフォルトの名無しさん2010/09/23(木) 12:47:52
つかカスタムコントロールのコンストラクタでパス開くような真似するなよ
0181デフォルトの名無しさん2010/09/23(木) 12:51:27
WPFだったりして。
0182デフォルトの名無しさん2010/09/23(木) 12:51:49
今はC#4.0でコンパイルしてプログラムを配布するのはやめたほうがいいいですか?
C#2.0の環境で動くものが多いのですが、やっぱりC#4.0環境が少ないって事だからでしょうか?
0183デフォルトの名無しさん2010/09/23(木) 12:54:22
C#のバージョンとターゲットフレームワークは分けて考えなさい
0184デフォルトの名無しさん2010/09/23(木) 12:56:09
Win7って3.5SP1がデフォで入ってるんだっけ?
0185デフォルトの名無しさん2010/09/23(木) 12:57:50
4.0がデフォで入ってる
0186デフォルトの名無しさん2010/09/23(木) 12:58:27
>>184
うん。
0187デフォルトの名無しさん2010/09/23(木) 14:03:28
>>177
http://service.jp.real.com/help/library/guides/realone/ScriptingGuide/HTML/realscript.htm
あとはWMPの埋め込みとか参考に。
ブラウザに埋め込むためのコントロールみたいだからフォームに直接埋め込めるのかどうかは知らん。
real playerのコア機能をC++から使うためのSDKもあるみたいだから、
ActiveXコントロールが使えなかったらC++でそのラッパーを書くことになると思う。
0188デフォルトの名無しさん2010/09/23(木) 14:16:47
>>185
嘘教えるなカス
http://www.atmarkit.co.jp/fwin2k/win2ktips/1128dnfwvr/dnfwvr.html
http://www.atmarkit.co.jp/fwin2k/win2ktips/246checkvdnfw/checkvdnfw.html
0189デフォルトの名無しさん2010/09/23(木) 15:13:05
フォームのプロパティを変更するときにForm1.csで「this.プロパティ = "";」と書いて変更しているのですが
他のクラスファイル(abc.cs)からプロパティを変更するのはできないのですか?
「Form1 obj = new Form1();obj.プロパティ ="";」変更しようとしてもエラーになってしまい出来ません。
0190デフォルトの名無しさん2010/09/23(木) 15:15:35
アクセス修飾子
0191デフォルトの名無しさん2010/09/23(木) 15:16:32
何てエラーになるの?
0192デフォルトの名無しさん2010/09/23(木) 15:20:26
new だと新しくインスタンス作っちゃうけど、それはいいの?
01931892010/09/23(木) 15:42:31
エラーは「'ClassStadySample1.Form1.textBox1' はアクセスできない保護レベルになっています。」と出ました。
Form1.csに書かれているクラスForm1は「public partial class Form1 : Form」となっています
new新しく使わないほうがいいですか?
0194デフォルトの名無しさん2010/09/23(木) 15:48:06
Form1.cs を開いて、textBox1 のプロパティを表示する。
Modifiers を public にする、と一応望みはかなう。
0195デフォルトの名無しさん2010/09/23(木) 15:54:38
textBox1がprivateだから。
0196デフォルトの名無しさん2010/09/23(木) 15:55:30
いや新しいインスタンス作ってるからダメでしょ
前スレに出てた何重ものキャストが必要なんじゃない?
0197デフォルトの名無しさん2010/09/23(木) 16:00:36
まあ、一番の解決方法は文法を勉強することだろう。
0198デフォルトの名無しさん2010/09/23(木) 16:50:36
またリファレンス嫁すか
0199デフォルトの名無しさん2010/09/23(木) 16:55:31
リファレンスよりプログラミングガイドの方が…。
http://msdn.microsoft.com/ja-jp/library/67ef8sbd%28v=VS.90%29.aspx
0200デフォルトの名無しさん2010/09/23(木) 16:58:53
今度こそポトペタの弊害ナリ(どや顔)
0201デフォルトの名無しさん2010/09/23(木) 19:43:22
クラスに複数のメソッドを作っているのですが、
コンストラクタからすべてのメソッドを実行させることはできませんか?
0202デフォルトの名無しさん2010/09/23(木) 19:45:58
どこまでできたら初心者脱出できるのかわかんないや
WPFでメモ帳作ろう。
0203デフォルトの名無しさん2010/09/23(木) 19:46:07
実行すればいいじゃないとしか言えない。
0204デフォルトの名無しさん2010/09/23(木) 19:54:36
最低でも書いてみてから質問してるんだろうか…?
02052012010/09/23(木) 19:58:13
手作業で全部書いていけばできるのは分かっているのですが、
一括で呼び出す方法はありませんか?
0206デフォルトの名無しさん2010/09/23(木) 20:00:03
あるわけねえだろ
02072012010/09/23(木) 20:00:37
やっぱいいです。
0208デフォルトの名無しさん2010/09/23(木) 20:02:07
なんでそんなことをしたいのかわからんが
リフレンションでググれ
コンストラクタ内で呼べるかどうかは知らない
02092012010/09/23(木) 20:02:47
>>206
すみません。
ないのはわかったのですが、なぜあるわけないのでしょうか?
呼び出せない理由はないと思うのですが。

>>207は私ではありません。
0210デフォルトの名無しさん2010/09/23(木) 20:02:49
×リフレンション
○リフレクション
0211デフォルトの名無しさん2010/09/23(木) 20:10:28
ニッチ需要過ぎて無いだろう。

作れないことはないが、作られていないものなんてこの世には沢山あると思うんだ。
0212デフォルトの名無しさん2010/09/23(木) 20:10:33
普通、そんな必要性ないし。
0213デフォルトの名無しさん2010/09/23(木) 20:13:25
自分の求めてる機能はあるはずと思い込める頭の構造が気になる
0214デフォルトの名無しさん2010/09/23(木) 20:14:07
それがゆとり脳
0215デフォルトの名無しさん2010/09/23(木) 20:14:14
初・心・者・ス・レ

ですよ
0216デフォルトの名無しさん2010/09/23(木) 20:15:29
だから何?
0217デフォルトの名無しさん2010/09/23(木) 20:16:13
>>215
いい加減うぜーんだよ死ねよ
02182012010/09/23(木) 20:17:38
>>208
調べてみます。ありがとうございます。

>>211,213
ないことはわかりましたって・・。
ですが、>>206が
> あるわけねえだろ
といっているので、技術的な問題があるのかと思っただけです。
とくに問題があるわけがあるわけでもなく、単にないだけなんですよね?
なら、そう言っていただければよかったのですが。
0219デフォルトの名無しさん2010/09/23(木) 20:18:28
技術的な問題がない、わけではない。
0220デフォルトの名無しさん2010/09/23(木) 20:21:53
どう考えたってクラス設計間違えてるとしか。。。
0221デフォルトの名無しさん2010/09/23(木) 20:25:36
意味と理由を求めるのが悪い癖だよなあ
インターフェイスの存在意義ってなんですか?abstract classで十分じゃないですかとか
あるものはあるし、ないものはないんだよ
とりあえず従っておけ
02222012010/09/23(木) 20:34:08
>>219
まだ勉強を始めたばかりで言語仕様について理解できていない点が多いですが、
勉強のためにどういう問題があるか教えていただけませんか?

>>221
自分の知識のためにも、理由があるのであれば知っておきたいです。
たとえば、なぜC言語があるのにC++ができたか、VC++があるのにC#ができたのかと
いう意味を知っておいたほうが、私は乗り出しはスムーズになります。
0223デフォルトの名無しさん2010/09/23(木) 20:34:13
>>221
なんか日本人的な発想だな。
流石にそれは賛成できない。
むしろ意味や理由を考えない人の方がプログラマ向いてないだろう
0224デフォルトの名無しさん2010/09/23(木) 20:35:43
いや、最後の行の「とりあえず従っておけ」が趣旨なら、そこについては同意。
0225デフォルトの名無しさん2010/09/23(木) 20:36:07
意味なんか考えた所で開発者の胸中の推測にしかならんだろ
「本当ですか?」って聞き返されて「本当だよ」と答えられるの?

大事なのは仕様の理解であって存在する意味でも理由でもねえ
0226デフォルトの名無しさん2010/09/23(木) 20:38:47
何で怒ってるんだか。
0227デフォルトの名無しさん2010/09/23(木) 20:40:52
いつもの奴だからスルーするんだ
02282012010/09/23(木) 20:41:36
すみません。
私の日本語の記述が悪いのか、あなた方の日本語の理解能力が悪いのかはわかりませんが、
「ない」ではなく「あるわけがない」というからには、なんらかの理由やら技術的な問題が
あるかと思ったのですが、そういうことではなく単に「ない」だけなのでしょうか?

0229デフォルトの名無しさん2010/09/23(木) 20:41:57
多重継承はいろいろ問題があるから、最近設計された言語では避けられている。
0230デフォルトの名無しさん2010/09/23(木) 20:42:23
便利かどうか、需要があるかどうか、
この2つしか理由なんてないと思うけどね。
0231デフォルトの名無しさん2010/09/23(木) 20:43:36
君の日本語能力に難があるだけ。
0232デフォルトの名無しさん2010/09/23(木) 20:43:57
便利かどうかって軸は、
実際には便利ってのと、副作用として他に悪影響ださないかのトレードオフだけどね。
0233デフォルトの名無しさん2010/09/23(木) 20:54:22
>>228
普通の人はコンストラクタでクラスのメソッドを全部呼ぶなんてことはしない。
だから言語設計者がそんなものを作るはずがない。だから「あるわけがない」というわけだ。
02342012010/09/23(木) 20:57:23
>>231
すみません。では、もう一度書きなおしますね。
ご迷惑かとは思いますが、わかりづらい点があれば何度でもご指摘いただければと思います。

私が質問した、「コンストラクタよりクラス内の全てのメソッドを呼び出す方法はないか」という質問に対してですが、
解答として「ない。できない。」ということはわかりました。
ですが>>206さんにいただいた「あるわけねえだろ」という回答について、「ない」という回答ではなく、「あるわけが
ない」というご回答をいただいたので、私はそれに「なぜ、あるわけがないのか」という疑問がわきました。

「ない」というのであれば「機能が用意されていない」というように認識はできるのですが、「あるわけがない」とい
うのは、「○○の問題があるのだから、あるわけがない。」や「そんなことが言語的にできるわけがない」というように
感じ取れたため、その理由についてお教えいただけないかとご質問させていただいております。


どうか、よろしくお願いいたします。
0235デフォルトの名無しさん2010/09/23(木) 20:59:43
RSS1.0, 2.0 Atom1.0 の3つを同じ様に処理する方法を教えてください
02362012010/09/23(木) 21:02:44
>>233
そういう意味ですね。わかりました。
ありがとうございました。
0237デフォルトの名無しさん2010/09/23(木) 21:05:50
>>235
クラスでラップしとけばいいだけじゃね?
0238デフォルトの名無しさん2010/09/23(木) 21:22:15
Regex.Replaceについてですが、<は< >は> &は&に一括で置き換えることはできないですかね?
0239デフォルトの名無しさん2010/09/23(木) 21:23:28
エスケープされずにそのまま出るんですね・・。

<は&lt; >は&gt; &は&amp;です
0240デフォルトの名無しさん2010/09/23(木) 21:23:44
エスパーレスだが、HtmlEncode/Decode 使えばいいんじゃね?
0241デフォルトの名無しさん2010/09/23(木) 21:30:23
Regexを使ってすることはできませんか?
0242デフォルトの名無しさん2010/09/23(木) 21:33:07
>>241
C#(というか.net?)の正規表現はperl5互換らしいので
勉強してくればいいよ

その辺はC#とは別の話だし
0243デフォルトの名無しさん2010/09/23(木) 21:33:20
MatchEvaluatorとか使えばいいんじゃね?
0244デフォルトの名無しさん2010/09/23(木) 23:50:05
<と>と&だけなら
普通に頭から1文字づつチェックしていけばいいような気がする…
0245デフォルトの名無しさん2010/09/24(金) 00:04:53
md5ハッシュ計算プログラムです
半角英数字なら問題ないのですが、日本語で「あ」が「8f03c3a6dbec1d0f1a5af60947b7b052」と本来なるはずなんですが、まったく違うものが出てきます
日本語でも正しく処理して「あ」の場合は「8f03c3a6dbec1d0f1a5af60947b7b052」となるようにするためにどなたかご教示お願い致します
using System;
namespace crypt
{
class Program
{
static void Main(string[] args)
{
string s = "あ";
byte[] data = System.Text.Encoding.ASCII.GetBytes(s);
System.Security.Cryptography.MD5CryptoServiceProvider md5 =
new System.Security.Cryptography.MD5CryptoServiceProvider();
byte[] bs = md5.ComputeHash(data);
System.Text.StringBuilder result = new System.Text.StringBuilder();
foreach (byte b in bs)
{
result.Append(b.ToString("x2"));
}
Console.WriteLine(result);
Console.ReadKey();
}

}
}
0246デフォルトの名無しさん2010/09/24(金) 00:06:51
ASCIIにしちゃだめだろ。
0247デフォルトの名無しさん2010/09/24(金) 00:16:19
>>245
http://ideone.com/rpgZ2
8f03c3a6dbec1d0f1a5af60947b7b052なんて出てこなかったわ。
0248デフォルトの名無しさん2010/09/24(金) 01:38:09
>>247
ideoneが非対応なんだろうけど、たぶん正しくエンコードされてない

Unicode (UTF-8): 8c0c3027e3cfc3d644caab3847a505b0
日本語 (シフト JIS): 8f03c3a6dbec1d0f1a5af60947b7b052
日本語 (EUC): 5e92a0d76f4fe012cbc02e351a78e519
0249デフォルトの名無しさん2010/09/24(金) 11:16:41
参照のコンポーネント群の概略説明の一覧ってないですか?
いっぱいありすぎて現状把握すら出来ません
0250デフォルトの名無しさん2010/09/24(金) 12:03:45
.NET Framework2.0の環境でも動くプログラムを作る場合に
vc#で「プロジェクト」->○○のプロパティのアプリケーションの対象のフレームワークってところを2.0のものに設定しないとダメですか?
初期の設定ではここが.NET Framework 4.0になってました
0251デフォルトの名無しさん2010/09/24(金) 12:08:31
設定しないとダメ
0252デフォルトの名無しさん2010/09/24(金) 12:08:48
そりゃそうだ
■ このスレッドは過去ログ倉庫に格納されています