ふらっとC#,C♯,C#(初心者用) Part70
LINQ厨はわかるけど、例外さんってなに?だれ?
Nullableのキャスト論とか例外を握りつぶすとかClickOnceに対して一家言をお持ちで 返す言葉がなくなると馬鹿だアホだゆとりだ異常だ障害だと人格否定を始める人物 主張と文体から「毎度同じ奴っぽい」と認識されたのが去年の8月ごろ もちろんそれ以前からそいつらしいのはいる(ふらっとpart49の773とか) 例外の件は相談室でも叩かれている
その一家言にちょっと興味あるわw
大したこと言ってねえぞ。
・Nullableは暗黙的に元の値型にキャスト可能であるべき
・「例外を握りつぶす」なんてよく分からん用語を使うな
・判断力のないユーザーが、自分の権限内のファイルを全て削除するソフトをインストールしてしまったらどうするの?
>>5 まずコンパイル自体は通るのかは書きなさい。
次にエラーが出る部分とその周辺のコードを貼りなさい。
最後にエラーの内容を一字一句省略せずに転写しなさい。
8 :
5 :2011/02/19(土) 13:39:05
コードは、サイトそのままなんですけど。
モーダルで開いた情報ダイアログForm2のほうに記述してるからでしょうか?
private void Form2_Load(object sender, EventArgs e)
{
// アプリケーション・アイコンを取得
Icon appIcon;
SHFILEINFO shinfo = new SHFILEINFO();
IntPtr hSuccess = SHGetFileInfo(mainAssembly.Location, 0, ref shinfo, (uint)Marshal.SizeOf(shinfo), SHGFI_ICON | SHGFI_LARGEICON);
if (hSuccess != IntPtr.Zero)
{
appIcon = Icon.FromHandle(shinfo.hIcon);
}
else
{
appIcon = SystemIcons.Application;
}
// ラベルなどにバージョン情報をセット
コンパイルと降りません。エラーは
>>7 です。
例外さんてw ヘビメタさんみたいだな。 なんか例外さんとか言ってる連中がその例外さんに向けてる批判は、 むしろそいつら自身に当てはまってるようにも見えるけど、そこら辺は突っ込まないお約束なのかねw
11 :
5 :2011/02/19(土) 14:43:35
自己解決しました。 Assembly mainAssembly = Assembly.GetEntryAssembly(); が必要でした。
うんわかってた
存じておりましたわ
C#アプリにXPのExplorer風のフォルダツリービューを配置したいんですが 簡単な方法はないですか? 検索すると皆Win32API使いまくって実現しているようですが…
それって愚問じゃないのか
APIを使うかはともかく、コントロールとしては存在しないので簡単な方法は存在しない。
Win7のうざくて遅いライブラリ機能を回避するには、API叩くしかない。
win7のうざくて遅いライブラリってなに?
>>18 Win7から搭載された、
「ライブラリ」 と呼称される仮想ディレクトリ機能の事。
冗談抜きでマジでうざい。使い難い。何でこんなモノ実装したんだってレベル。
会社でWin7もServer2008も使ってるが、これについての話をすると
同僚は全員 「そんな機能あったの?」 って反応。
ライブラリはわかった 要するに、NET.Frameworkでフォルダ構造をGUIにしようとすると、 何らかの形でライブラリ機能が介入してくるため、APIを叩かなきゃ回避できない ということか?
仮想フォルダそのものが必ずしも間違ってるとは思わないけど、 マイコンピュータにファイルシステムと並列において透過的に扱わせよう、って考えはどうかなとは思うね。 フォルダツリーが変な仮想フォルダだらけで邪魔でしょうがないし、 かえって分かりにくい。 マイクロソフトは何か盛大に勘違いしてるな
インスタンスフィールドにアクセスしない関数を作るとき 積極的にstaticにすべき?どんな基準で決めてる?
Hogeクラスに対して var hogeList = new List<Hoge>(new Hoge[5]); hogeList.ForEach((x) => { x = new Hoge(); }); foreach (Hoge hoge in hogeList) hoge.HogeMethod(); とやってもhogeListの要素はどれもnullのままになってしまっていて例外が起きます。 List<Hoge>の生成の時点でどの要素もインスタンス化しておきたいんですがどうすればいいですか?
var hogeList = new List<Hoge>(Enumerable.Range(0,5).Select(n=>new Hoge())); まあこんなの現場で書いてる奴がいたら蹴り飛ばすけどな
ToList() 使わないとな!!
というか問題点がズレてるな。
生成の時点で云々じゃなく、LINQの仮引数に代入して意味があると勘違いしているのがマズイ。
>>23 >hogeList.ForEach((x) => { x = new Hoge(); });
これさあ
foreach(Hoge x in hogeList){
x = new Hoge();
}
って書いてるのと同じなんだよ。
この場合xが読み取り専用っていうのは分かるよね?
27 :
23 :2011/02/20(日) 01:32:49.08
>>24 うまく行きました。ありがとうございます
気になるのでよろしければ蹴り飛ばしたい理由も教えてください。
Listの各要素の実体化が必要な設計自体まずいってことですか?
>>26 foreachでは駄目なのは分かりますが、ラムダ式でも駄目だったんですね。
自然言語っぽく書くのを目指してるんですがなかなか難しいです。
テキストファイルの特定の行だけ読み取って編集することって出来ませんか? StreamReaderで一行毎に読み取ってstring[]にして、 また書き込むみたいな手順しか思いつかなくて 何というかファイルをそのまま書き換えたいんです
>>27 無理やり1行に押し込んでも可読性悪いよねってだけの話。
>>28 可変長の行からn行目を取り出して書き換えるのは、最初から読み込んで変更行以降を全部書き換えるしかないよ。
StreamWriterはFlushしてPositionで任意位置から書ける。FileStream.Seekでもいい。
ファイルをそのまま書き換えるのは、例外飛ぶとか、プロセス殺されるとか、電源落ちるとかで容易にファイルが破損するので対策せずに使うのは推奨できない。
その行の長さが変わらなければシークして上書くだけだけど、 長さが変わるならそこから後ろはどうしても影響でるよな
テキストファイルって言っても単なるバイナリファイルと変わらんからな テキストのルールに沿ってバイナリデータを見てるだけだし 普段扱うテキストデータは改行コードで行ごとに別れてるように見えるが ファイル上だとつながってるし テキストを行単位で読めるようなクラスも実は先頭から順に 指定されたエンコードに従って改行コードを基準に順次読んでるだけだし・・・ 書き換えするなら一旦全部読み込んで行単位に分けてメモリ上で 修正した後全部書き戻しってのが一番だと思うよ
var hogeList = new List<Hoge>(Enumerable.Range(0,5).Select(n=>new Hoge())); こんなことするくらいならFuncを指定回数実行する関数とか Listに要素を追加する関数を作った方がスマートだと思うんだが・・・
0x200くらいの大きさのbyte配列の特定のindexに int型の数値を入れたいのですがどのようにすればいいですか?
intのバイトーオーダーを選択できなくて構わないのなら「C#、共用体」で検索
簡単なのは Array.Copy(BitConverter.GetBytes(value), 0, dest, 0x100, 4); かなあ 無駄があるけど万単位でブン回しても影響があるほどじゃないだろう
外道な方法なら unsafe {fixed(byte* p = dest) {*((int*)(void*)(p + index)) = value;}}
クソ外道め
C#4.0時代にそんな原始的なコーディングしたくない。
4.0時代的にはどう書くのっと
4.0時代でも、要求が原始的(バイトアライン考えながらやらなきゃいけない処理を要求されてる)時点で、コーディングも原始的になるだろ。 要求の段階から考え直さないと。
構造体をバイト配列に書き出したいときはみんなどうやってる? BinaryWriterとMemoryStreamで地道に書く? GCHandle割り当ててMarshalなんちゃらとか使うくらいならポインタの方がよっぽど安全な気が…
XmlSerializerとXDocumentってどう違うんですか? どのように使い分けたらいいのでしょうか
>>42 そもそもそういう要件自体がない。
バイト配列化はエンディアンとかアラインメントの問題あるし、
形式忘れたりすると2度と読めなかったりするし、
極力避けたい。
どうしてもやるなら、BinaryWriterにするかなぁ、自分は。
>>43 インスタンスのシリアライズ用か、
任意のXML読み書き用か。
C#のオブジェクトをXMLに保存したいかXMLの内容をC#のオブジェクトに読み込みたければXmlSerializer 普通に自分の手でXMLを読み書きしたいならXDocument XmlSerializerは強力で大抵のスキーマに対応できるし、スキーマからC#のクラスを自動生成することもできるけど、 どうしてもC#のクラスの構造がXMLの構造に縛られてしまうので、それが許容できるかどうか。 わざわざシリアライズ専用のクラスを別に作っていちいち変換したりするくらいなら XDocumentで自分で読み込んだ方が早いかもしれない。
>>44 要件自体がない、は言いすぎじゃないのかなあ。
構造体の巨大配列を高速にランダムアクセス可能な形でファイルに落としたい、
なんてのはそこそこありがちなシナリオに思うけど。
既存のバイナリ形式のファイルを読み書きしたいこともある
別にバイト配列である必要性がねーもん
BinaryReader/Writerだな自分は それにしたってファイル直接書き換えたりする気ないけど Stream取ってReadFromとWriteToだけ書く
XMLは糞遅いからな。 エンディアンだってx86,x64以外どうせテストできないから、リトル固定で問題でないし。 糞速いバイナリでいいや。
C#で最速を求めてもなぁ
c#で開発を頼んで、javaより遅かったらPCごと窓から投げ捨ててやる。
Java より早くても投げていいよ
むしろ今投げろって無能
むしろお前ごと行け
窓の下に乞食どもが
他のアプリに使わせる為のXMLを吐くなら、XmlSerializerを検討するけれど 自分のアプリでしか使わないなら、DataContractSerializerにするかなあ。 速度面に関しては、アプリ全体が一通り完成してから パフォーマンス的に許容出来ないと感じたら、改めて高速化を検討する。 始めからバイナリにしたりしないな。 (データアクセス部分は差し替えが容易な様に、ビジネスロジックとは別のプロジェクトにしておく)
XMLはサイズがでかいからなぁ。 携帯絡むとパケット量が多すぎて顧客からふざけんなって苦情くるんだよね。 いったい何を通信したらこんなにでかくなるんだ?って怒られる。
そうそう 顧客が携帯で画像を読み込んだ日には訴訟問題にすらなりかねん
それは明らかにお前の頭と設計がふざけてるじゃん
つーかSerializerってこんな沢山在ったのね
どうしてもサイズが気になるなら、gzip圧縮した物を送信して 受信側で解凍するとかね (速度は犠牲になるが)
最近、携帯で、楽天アプリとEdyアプリとかダウンロードして設定とか弄っただけで、 アプリのダウンロードとは別で、パケット代が1500円も取られた。 あれは一体何を通信してんだ? まじふざけんなって感じだな。
XmlSerializerはこの方法だと比較にならんと思うけどな 型指定してnewするとその時点でリフレクション使ってコード生成しちゃうじゃん
XmlSerializerはシリアライズ/デシリアライズは速いけど C#のコードを生成するという冗談みたいな仕組みのせいで プリコンパイルしとかないと最初のロードがかなり遅いんだよな DataContractSerializerはEmitなのでコード生成も動作も速い
IXmlSerializableが実装されてればコード生成しない程度の判断はしてくれているのだろうか
72 :
デフォルトの名無しさん :2011/02/21(月) 01:44:44.28
質問です。
.NET FrameworkのSocketPermissionクラスを使って特定のIPをブロックするようにしたいと考えています。
いろいろ試した結果ホスト名に対してワイルドカードを使用できないことが判りました。
これはサイト中に「ホスト名は IP アドレスに解決される必要があり、これによりスタックがブロックされることがあるため、ホスト名を使用してソケット アクセス許可が作成されないようにします。」とあります。
いまいち、上の文章がどういう意味なのか理解しきれていないのですが、この問題はワイルドカードを使用した指定ではホスト名をIPアドレスに解決できないからととらえてよいのでしょうか。
socketpermissonクラス:
http://msdn.microsoft.com/ja-jp/library/system.net.socketpermission.aspx
73 :
72 :2011/02/21(月) 02:53:03.66
↑の文で4行目の「これは」を無視して読み進めてください 申し訳ありません。
2次元配列で作ったものを クラスや構造体で使いたい場合、メンバ変数をどうやって割り当てればいいのですか? hoge.name=array[x, 1]; hoge.tell=array[x, 2]; hoge.sex=array[x, 3]; ・・・・のように総当りでセットしなきゃなりませんか? {name,tell,sex,・・・・・・}というメンバ変数名の配列一つ与えれば そのままarray[x, 1]のものが hoge.nameとして使えるようになりませんか? エクセルで言うと、列名行の有無の差なんですけど。 セル指定が行列番号でも列名でもどちらでも使えるという感じ。
>>74 一次元配列をリストで管理すればいいんでないの?
総当りもメンバ変数名の配列も対して手間は変わらんだろ
DataTable使えば? いかにもVB的だけど
78 :
デフォルトの名無しさん :2011/02/21(月) 11:23:14.81
そういえば素朴な疑問なんだがたとえばintの二次元配列を作ったとすると なんでLengthは総数なんだよな int[2,3]とするとLength=6とか・・・
あ、そうそう
>>74 いっそのこと2次元配列を1次元配列化して使ってみては?
たとえば int[2,3] を int[6]にしてアクセスするときはint[ y*3 + x]みたいな感じにしてさ
そうすればCopyToが使えるよ
>>78 ・多次元配列は連続したメモリ領域に仮想的に
>>79 のようにインデックスを付けてるだけだから
・((IList)array).Countとarray.Lengthの値が異なるのは直感的でないから
・仮にLengthが0次元目の長さを返す仕様だったとしても、どうせ他の次元の長さは
GetLengthで取得しないといけないから
メンバ変数って何かわかってんの?
すっとHogeの配列にしなよ
>>85 それ総当りループと比べてなんか改善出来てると思ってんのか?
89 :
88 :2011/02/21(月) 17:09:10.58
途中で送信してしまった・・・ こんなお馬鹿なおいらに何かアドバイスお願いします
Cで再入可能なコード書こうと思ったら、グローバル変数を使わないで一つの構造体にまとめて そのポインタを関連する関数の引数にいちいち渡したりするでしょ それがオブジェクト指向
がんばれとしか・・・
92 :
デフォルトの名無しさん :2011/02/21(月) 18:24:06.79
>>87 だからさ〜
そもそものstringを二次元配列にしないでこの場合はList<string[]>で管理すればいいだけだろ
VB厨上がりとC厨上がりでは発想が全然違うね。
94 :
デフォルトの名無しさん :2011/02/21(月) 18:39:13.39
>>93 意味がわからん
煽ってるだけのアホもいるし
ここは圧迫面接の会場もでないし、煽ってる糞の部下の採用面接の場でもないぞ
2chはあほな機能つける前に専門板にID導入してくれ
要するに好きな方を使えと・・・
まあそうだね 総当りが嫌なら出された代案でやればいいし それが納得いかないのなら勝手にしろって話だし
99 :
デフォルトの名無しさん :2011/02/21(月) 19:59:45.82
const定義して、arrayを直接使った方が楽な気がする C#だからと言って全部クラスにする必要ないし
二次配列使うかクラスを使うかはっきりしろって思うね
C#神すぎて、iPhoneで開発しようとしてるけど、object-c使いづられえ・・・ C#でiPhone開発できるツールがあるので助かったわ。 世界共通言語でいいんじゃねえの?>C#
C#一本でもいいけど 柔軟な書き方が出来るjavascriptも欲しいところ 手軽なphpやpythonなんかのスクリプト言語も欲しい 更に言うなら最先端のライブラリがあるJavaも残って欲しいところ でもココまで来るとscalaとかf#の関数型言語もたしなみたい 後はいらない
きれいな C++ が欲しい
C++は前方宣言がなくなるだけでかなりうれしい
教えてください。 DateTime.Nowを取得したとき、時々、秒以下のfffffff(数、あってる?)の部分が無いデータが発生します。 これはどうしてなんでしょうか? もしかして、ドンピシャ、0000000のときそうなるの? 強制敵に0000000を表示させることはできませんか?
なくなる、じゃなくて前方参照が可能になってるんだと思うよ。 前に前方参照って言葉はミスリーディングだよねって書いたら大反発されたけど、 やっぱりこうやって混乱する人がいるわけだ
>>105 文字列に変換するときにちゃんとフォーマットを指定しろ
109 :
デフォルトの名無しさん :2011/02/21(月) 21:39:44.49
え?
質問です 開発環境:visual studio 2003 C# データベースにバイナリデータで登録してあるwordファイルを 取得して表示させる方法を教えて頂けないでしょうか。 よろしくお願いします。
111 :
105 :2011/02/21(月) 22:00:10.55
>>108 表示するときはToString()で標準表示にしてるんだけど、
表示の問題じゃなくて、TimeSpanを計算してるんだけど時々、おかしな値を出すんで
DateTimeを表示してみたら、時々データ自体が落ちてるようなんだけど・・・
VBSでも似たような現象あったな。
データが落ちてるってどういう意味よ。
>>105 がゼロサプレスを知らないだけでしょ。
>>108 の言うとおりちゃんと書式指定して、それでもおかしかったらもう一度質問どうぞ
114 :
デフォルトの名無しさん :2011/02/21(月) 22:20:59.00
>>110 2003使うなら、悪い事言わないからWordの部分だけはVB.net使った方が良い
質問です 外部アプリを常に手前に表示させるチェックボックスを作るシンプルな物を作りたいのですが この場合どういう風にコーディングすればよろしいのでしょうか?
Window一覧取得して、お望みのものを常に手前に設定すればいい。
Windows7で既定の再生デバイスを変更するツールを作りたいんですが これを実現するAPIってどのようなものがあるでしょうか? PCにHDMIで液晶テレビにつないだんですが 音声をスピーカーとテレビで切り替えるのが面倒で。 よろしくお願いします。
教えて欲しいのですが、textBoxコントロールのプロパティで指定したフォントは、 ユーザー側のOSの設定に関らず、フォントが存在すれば、プロパティの通りのフォントで入力されるのですか? もし無ければ何が選ばれるのでしょうか?
だいたいフォント だいたいこれでいいんじゃないかなってシステムが勝手に選んでくれる
ありがとうございます。fontFamilyNameとかいうやつですかね?勉強してきます。
WPFでXNAのINPUTを使いたいんですが値が還ってきません。なんでですか? using Microsoft.Xna.Framework.Input; private void button1_Click(object sender, RoutedEventArgs e) { while (loopFlag) { label1.Content = ((GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X)*100.0).ToString(); DispatcherHelper.DoEvents(); System.Threading.Thread.Sleep(1000); } }
Xnaのゲームループ回ってなくても入力取れるのかな? さもなくば、Xnaって箱コントローラーしか対応してないはずだけど。
ゲームパッドの入力取りたいだけだったらjoyGetPosで簡単
C言語から来て 暗黙変換について勉強してるんだけど VC#で float a = 0.12345f; double b = a; Console.WriteLine(b); 表示されたのは0.123450003564358 という数値だけど、これは浮動小数の誤差なの? キャスト変換でも数値は同じだった・・・
>>125 非公式ドライバとかいうのにしているのを忘れてました
このコードでいけましたすいません。
Webサービスを作ってみたんですがtest1ノードにアトリビュートを
付加するにはどうしたらいいでしょうか?
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
public class hoge
{
public string test1;
public string test2;
}
namespace websvrtest
{
[WebService(Namespace = "
http://tempuri.org/ ")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Hoge : System.Web.Services.WebService
{
[WebMethod]
public hoge HelloWorld()
{
hoge a = new hoge();
a.test1 = "test1";
a.test2 = "test2";
return a;
}
}
}
すみません。できました。
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Xml;
namespace websvrtest
{
[WebService(Namespace = "
http://tempuri.org/ ")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
public class Hoge : System.Web.Services.WebService
{
[WebMethod]
public XmlDocument HelloWorld()
{
XmlDocument dom = new XmlDocument();
dom.LoadXml("<?xml version=\"1.0\"?><aa></aa>");
XmlElement el = dom.CreateElement("hoge");
el.SetAttribute("aaa", "bbb");
dom.DocumentElement.AppendChild(el);
return dom;
}
}
}
VS2010Expressを使っていますが、デバッグで以下のようなダイアログが表示され、デバッグ中のアプリが起動しません。VSのデバッグのエラー報告ではなく、Windowsの出すエラーダイアログのようです。 「アプリケーション構成が正しくないため、このアプリケーションの開始に失敗しました。 マニフェストファイルを参照してエラーの原因を調べてください。 アプリケーションの再インストールをすることで、この問題を解決する可能性があります。 詳細については、アプリケーションイベントログを参照してください。」 具体的にはどうすればいいのでしょうか? マニフェストファイルやアプリケーションイベントログの場所も見方も分かりません。 一から打ち直すのが速いですかね?
デバッグとか使ったことない。必要性がわからない。
>>133 ・manifest が正しいか確認
・app.config が正しいか確認
スレチなので追加質問は受け付けません
VSスレに行くべきでしたか。 初心者なもんで、何が原因なのかも見当が付かないもんで。
/\ /\ / \ / \ / \ / \ \ かやく.. \.. / ソース / \ / .. \ / \__/ \__/ *∴:・ /// :※・* //// ∵*÷ ///// | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| | ペヤング ソースやきそば. | |_____________|
コピペ君って馬鹿だな、まで読んだ。
質問です。下記、現象の原因が分かる方いたら教えていただきたいです。 クラスBのtry節で例外発生した時、クラスBでcatch節にステップオーバーはするのですが クラスBでのErrorLogWriteやreturnが実行されず、 クラスAのcatch節に飛んでしまいます。 ちなみにクラスBのErrorLogWriteを削除するとreturn 1まできっちり実行されます。 public class A { public void methodA() { try { mthodB(); } catch(Exception e) { ErrorLogWrite("{0}",e.Message); } } public class B { public int methodA() { try { //何かの処理 } catch { ErrorLogWrite("{0}",e.Message); return 1; } }
>>139 可読性が劣悪だから、インデントしてくれ。
public class A
{
public void methodA()
{
try
{
mthodB();
}
catch(Exception e)
{
ErrorLogWrite("{0}",e.Message);
}
}
public class B
{
public int methodA()
{
try
{
//何かの処理
}
catch
{
ErrorLogWrite("{0}",e.Message);
return 1;
}
}
クラスBのcatch節が、 catch( Exception e ) になってないのは何でさ?
滅茶苦茶だったので修正しました public class A { public void methodA() { try { classB.methodB(); } catch(Exception e) { ErrorLogWrite("{0}",e.Message); } } } public class B { public int methodA() { try { //何かの処理 } catch { ErrorLogWrite("{0}",e.Message); return 1; } } }
ワロス
143 :
139 :2011/02/23(水) 21:35:34.74
インデント入れても書き込みすると消えてしまいます。 後、クラスBのcatch節もcatch( Exception e )が正です。
144 :
140 :2011/02/23(水) 21:40:36.86
おいぃ!?
ただの書き損じだろうと思って言わんかったけれども
>>141 でもまだあちこちおかしいぞ。
つか、適当に書くんじゃなくて
実際に駄目だったコードを、ideone使って張ってくれ。
後、インデントしたい時は2chの場合全角スペースな。
連続した半角スペースは無視される。
>>128 floatもdoubleも内部的に2進数小数だから、0.12345っていう数字ぴったりは表現できないんじゃないかな。
C言語でも同じ挙動になると思うんだけど。
decimal使えよって事だな
147 :
139 :2011/02/23(水) 21:52:14.03
インデントできたかな? コードは1000行以上あるので貼れないです。 public class A { public void methodA() { try { B.methodB(); } catch (Exception e) { ErrorLogWrite("{0}",e.Message); } } } public class B { public int methodB() { try { //何らかの処理 } catch (Exception e) { ErrorLogWrite("{0}",e.Message); return 1; } return 0; } }
ソースと同期できてねえんじゃねえの
149 :
139 :2011/02/23(水) 22:00:23.25
それはコンパイラの最適化等の話ですか?
>>147 その仮コードだけでビルドしてみて、同じエラーは出るの?
出ないなら知らん。
100%ErrorLogWriteが例外起こしてる
152 :
139 :2011/02/23(水) 22:19:20.73
151さんありがとうございます。 その通りでした。 catch節の中で例外が起こってるなんて笑えますね。
スタックとレース未りゃ一目瞭然なのにお前の今後が心配
(´・ω・`)…
連打系は、そこら辺の小学生を「じゃがりこ」で雇って連打させるのが吉。
こういう猿が大量にいるからSendInputはもう.NETに含めろよと
.NETで書いたアプリは実行時にSSEとかAVXを使える環境の場合、 勝手に使ってくれたりするんですか? あるいは使用するようなコードは書けますか?
Windows7が内部で使ってる機能を間接的に呼び出すことはあるかもしれないな。
昔jitコードをデバッグしてた時にxmmレジスタ使ってたのを 見たような気がするが定かではない
ILのインストラクション単位でSSEが使われることはあるけど フローのベクトル化はやらないんじゃなかった?
GCみたいに、ここは拡張命令使ってほしいなぁとか、 コンパイラさんにお願い出来たらいいのに
すみません、質問させて下さい。 @フォーム上にテキストボックスを複数個配置しております。 それら全てに一括してKeyPressイベントハンドラを割り当てているのですが、 この中で、どのテキストボックスに対してイベントが発生したかを判別する方法はありますでしょうか? おそらくsenderを利用するのではないかと思いますが。。。 AString.Formatで小数点以下2桁の小数を出力したいのですが、これに符号をつけることもできることを知りました。 しかし、具体的にどのようにすれば良いのかが、検索をしてみても分かりません。 教えていただけると助かります。 お願いいたします。
>>166 @
senderはイベントの発生元。この場合はTextBox。
なのでsenderがどのテキストボックスかをいちいち比較する。
private void TextBox_KeyDown(object sender, KeyEventArgs e) {
if ( sender == this.textBox1) {
// 処理
} else if ( sender == this.textBox2) {
// 処理
}
}
イベントが起きたテキストボックスに対して何か処理するならsenderをキャストして使う。
private void TextBox_KeyDown(object sender, KeyEventArgs e) {
TextBox myText = (TextBox)sender;
myText.Text = "KeyDown";
}
A
string.Format("{0:正#,0.00;負#,0.00;ゼロ}", 1234); // 正1,234.00 が返ってくる
0:の後にセミコロンで区切って正、負、ゼロ、の順で書式を書く。詳しくは、
ttp://msdn.microsoft.com/ja-jp/library/0c899ak8 (v=vs.80).aspx
アプリの配色を一元管理(スキン?)したいです。 で、Color構造体の定義済み色を一時的にでも追加変更する方法ってありますか?
そりゃ根本的に間違ってるわ Color構造体をプロパティに持つクラスを作るべき
171 :
デフォルトの名無しさん :2011/02/25(金) 09:36:25.67
>>169 あれこれするのめんどくさければColorのソースを入手して
それを丸コピーしてMyColorとかに変えてそこへ足せば?
172 :
デフォルトの名無しさん :2011/02/25(金) 11:49:17.74
CWinFormsDialogでUserControlを表示してます。 UserControlのタイトルバーを非表示する方法を教えてください this.ControlBox = false;かと思いましたが これはFormにしかないようです。 UserControlの場合はどうやるのでしょうか?
CWinFormsDialogってMFCじゃないの
そういう.NETで作った画面をホストする奴があるのよ。
>>172 UserControlにタイトル領域なんてものはない
そもそもCWinFormsDialogで生成してるダイアログウィンドウは
.NETじゃなくてMFCの管轄している部分だから、ここで聞いても何も解決しないぜ
CDialogが継承されてる時点でその程度のことには気付いて欲しい。
177 :
デフォルトの名無しさん :2011/02/25(金) 13:04:24.34
MFC側じゃあどうやってもけせなかったんで
.net側の問題だと思ったんですけどね
.netでもないとすると困った…
>>176 どこに書いてる?
とりあえず「CDialogでタイトルバー消す方法おしえてつかあさい」でMFCスレに質問だろう。 どうもならん。
179 :
デフォルトの名無しさん :2011/02/25(金) 15:01:10.01
自分MFCのプロなんで普通の消し方は熟知しております 色々いじってたら思わぬ方法で消えました バグかもしれんねこれ 自己解決です
頭のバグか?眼球いじってたら消えたとかかねえ。
181 :
デフォルトの名無しさん :2011/02/25(金) 15:29:55.92
プロが初心者スレで頭下げてると思うと笑える
バグじゃないかと言っておきながら、自己解決の方法すら書いてない。 最初から最後まで誰の役にも立たないゴミレスだったな。
すでに持ってるのと同じものを加えられないListってありますか? 自分で毎回調べるしかないですか?
順番が重要じゃないのならHashSet<T>を使うのはどうだろう 順番が重要だとしても併用すれば重複する要素が入らないようにできる
連想配列
教えてください。 TimeSpan型を文字列にしたいのですが、DateTime型のような書式指定は出来ないのでしょうか? DaysプロパティやHoursプロパティで個別に取り出して、希望する形に文字列連結するしかないのでしょうか?
それ標準c書式ひとつだけですよね? DateTimeのようにいくつも書式が用意されてないのですか? 希望する形じゃないんですけど。
「DateTime型のような書式指定は出来ない」って意味で貼ったんだよ どこまでマヌケな頭してるんだお前は
わかりにくい説明するなよ。カス
まったくだ。ボケ
ここの連中って虚勢はるだけのカスばっかだな たいど偉そうすぎ ちょっと謙虚にしたらどうか
何の生産性もないくせに 謙虚にしたらどうなんて偉そうだなお前
「おれ様はプログラミングで食ってますぜ」って自慢したいのか? こんなところで初心者甚振ってストレス発散してるようじゃ、 低賃金でこき使われてる使い捨て外注プログラマってのが実態だろ?www
いやおまえらのバイト代より遥かに高いぞw 最近は下がってるけど
自分MFCのプロなんで
>>188 たとえばどんな形が希望だったのでしょうか。
200 :
デフォルトの名無しさん :2011/02/25(金) 21:26:11.79
二つ以上のフォルダをひとつのzipファイルに まとめて固めるコーディング方法がわかりません 当方はフレームワーク2、0 vs2008で開発してます よろしくお願いします。
標準の機能にはありません。ライブラリを使います。DotNetZipとか
サイズによるけど、固める前に一時的にひとつのフォルダにまとめコピーしてからってのは? 使ったことないから知らないけど。w
質問です 動的に作成したテキストボックスに入れられた値を変数に格納したいのですがどうればいいでしょうか?
静的のときと同じです
205 :
デフォルトの名無しさん :2011/02/26(土) 07:40:02.34
>>201 >>202 d
>>202 のやり方ならいけそうなんですが、先輩が書いた仕様は「複数フォルダを一つのzipにする」なので
先輩を論破できるように下調べしておきます
数値を任意の桁数の文字列に変換したいのですがどうすればいいでしょうか? 数値 1 を 001という文字列に変換したいです
>>206 int hoge = 1;
hoge.ToString("000");
ありがとう
form1でインスタンス化したform2内のイベントを取得するには デリゲートしかないですか? 例えばform2でボタンがクリックされると form2のテキストボックスの文字列を form1に表示する感じです
Form2の表示タイプがモードレスならそうだね
質問する方もする方だが、その解答はどうなのよ....
モードレスでした ありがとう
Form1の…表示先のコントロールが何なのか分からないけど、それを渡しておくとか
モードレスは英語なのに モードあるはなぜ日本語なんですか?
215 :
209 :2011/02/26(土) 20:12:33.37
デリゲートで思ってたことがもうできました 天才かも? コントロール渡すってform1で直接別クラス内のコントロールを いじくれるってことでしょ? ダサくないですか?
アクセス範囲のことを考えるとデリゲートの方が良かろうね
デリゲートに好きして
218 :
209 :2011/02/26(土) 20:19:35.75
アクセス範囲もそうですが コントロール丸ごと渡すって リモコンの電池を買いに行ったら、 電池とリモコンセットで売りつけられたって感じじゃないですか? なんかスマートじゃないっす
じゃあ使わなければ
スマートさに目を奪われてると足元が崩れそうなことに気付かない
やべぇ。
>>217 を読んで自己嫌悪した。
自分が
>>209 みたいなことをするなら、form1 に public なプロパティを作って、
form2 からそのプロパティを呼ぶように作るけど。
Formを渡すってのは…なあ
223 :
209 :2011/02/26(土) 21:57:46.21
オブジェクト指向って上から下へと統括しているような仕組みでしょ? 横の繋がりを曖昧にしちゃったら 誰がコントロールするの?ってならない?
さすがに見てられないなあ。
>>209 みたいなことするのならForm2にFooEnteredとか適当なイベントを実装して、
Form1はそれを拾うようにするんだよ
入力された文字列をEvetArgsの派生クラスで渡すか、Form2のプロパティとして実装するかは
ケースバイケース。
ある程度実用的な大きなプログラムを書くつもりなら、本当は上記のやり方すらよくない。
Form2は別のオブジェクトBarのUIを担当するハリボテに徹するべきで、
Form1も本当はForm2じゃなくてBarからイベントや入力された文字列の情報を貰うべき。
Getアクセッサでもつくって取得すればいいと思うのだが
間違えた イベント処理をForm2で行ってアクセッサとかpublicプロパティとかで制御すれば良くないか?
227 :
デフォルトの名無しさん :2011/02/26(土) 22:38:15.37
>>226 いや、モーダレスらしいから、224さんのやり方が正しいと思うよ。ただ、モーダレスダイアログは使い勝手が悪いから
俺ならユーザーコントロールでコーディングして、必要な時にForm1上に表示するけどね
Modal / Modeless
別にWPF関係ないでしょ 結局考え方が実装技術に依存してるじゃん WPFならバインディングを使うところを手で書くだけのこと(MVP)
231 :
166 :2011/02/27(日) 00:27:44.30
>>167 これの@を書こうとしたらsender == this.textBox1のとこでエラーが出てしまうのですがなぜでしょうか…?
聞いてばっかりですみませんが教えていただけたら幸いです
232 :
デフォルトの名無しさん :2011/02/27(日) 00:30:32.17
>>230 そろそろお手本お願いします
Form1はリモコンで
Form2はテレビの役割をしています
データの受け渡しや表示、管理を
どのようにすべきか教えてください
234 :
デフォルトの名無しさん :2011/02/27(日) 00:53:51.74
>>233 もしかするとForm2をマルチウインドウのテレビ側に表示して、Form1のパソコンでコントロールする
動画再生ソフト?今作っているソフトにそんな機能有るから具体的に教えられると思うよ
そう言う事じゃなくて設計の話をしてるんじゃね?
レス追ってないけど、テレビ―リモコンの関係ならForm2はForm1の存在を知らなくて済む。 Form1から操作できるようにプロパティやメソッドを公開しとけばいいんじゃないの。
制御で混乱するなら初めからスレッド分けるなり、 プロセス分ければいいじゃん。
>>209 の状態はC/C++でWin32やってたときも結構苦労したな
そのときはSendMessageで親にメッセージをぶん投げてやったけど
C#でもできんのかなぁ・・・
ですから
>>209 のようなのはどのようにすればいいか
具体的に教えてください
〜すりゃいいじゃん
って言われても初心者には全く理解できません
これ、設計の問題かなぁ・・・ もしForm1とForm2が互いに影響を与え合うなら どちらかが親になる構造にしちゃいけねーよね なにか大本になるクラスXをFormのほかに作ってそこにForm1,2をつける形にしたいよね こうすればForm2からイベント発生させてもForm2→クラスX→Form1という形でうまくいく Form1からも同様にうまくいく でも、だよ これを.Netが許すかっていうとおそらく許さないよね Form2のウィンドウの親をForm1にしたいってただ1点で とりあえずForm1のインスタンスとしてForm2を作るしかないんだけど (仮に作らなかったとしてもウィンドウ図のメッセージの遷移的によろしく動かない) っていう問題があってはForm2からのメッセージはSendMessageでForm1にぶん投げるしかなかった C#でもうまくいくかどうかは未確認
こちらは質問の意味が全く伝わりません 何がわからないのか明確にして下さい
>>239 だからとりあえず一つの方法としては
Form2からForm1にSendMessageでメッセージをぶん投げる
送りたい通知の分だけSendMessageを送ってやる
デリゲートうまく動いたかなぁ よく覚えてないけど俺もやろうとしてなんかつまづいて保留にした思い出ある
単にMediatorだろ? そもそもこの例ならテレビの親をリモコンにすればいいだけじゃん でもテレビの親がリモコンって直感的ではないね
245 :
デフォルトの名無しさん :2011/02/27(日) 01:54:38.19
>>239 224が可成り具体的なんですが理解できませんか?
判らないとしたら「イベントの作り方」をまず勉強してください
めんどくせー var form2 = new Form2(); form2.show(); form2.f1 = this; form2のボタンクリック this.f1.textbox.text='clicked form2'; でいーじゃん c#久々で文法あってるかしらんけどさw
>>246 それがダサいからデリゲートって話になったんだが
あ、うん、でそのデリゲートのコードはどこっすか? PGならコードで語ってちょーだいな 曖昧な言葉で綴られても意味わからんのですわ
しょーがない。もっと勉強すべし
イベントハンドラで追加でよくね?
いやだから、普通に自作イベント作ればいい話じゃないか
mImageDisplay.ImageArea.MouseMove+=new MouseEventHandler(mImageDisplay_MouseMove); みたいなコードでいいっぽい SendMessageはC#では使わないらしい
>>246 こんなことしたらこんがらがっちょ
>>240 おいおい、form1はGUIだよ
Program.cってファイルを忘れてないか?
>>254 何が言いたいのかわからない
そっちこそメッセージの遷移のほうの解決を忘れてレスつけてないか?
Formのどっちかをフォームで定義される上での親としたいんだぞ
はいはい かっこよくならこれでいいんでねー? var form2 = new Form2(); form2.show(); form2.btn.click += (_,_) => this.textbox.text='clicked'; 弱参照がどーのこーのあるかもしれんけどシランがな
>>224 で結論出てるように、普通にイベント使っとけばいいだろ。
SendMessage使えってMFCのプロか?
258 :
デフォルトの名無しさん :2011/02/27(日) 02:21:57.38
出来たよ public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Hoge = hoge; frm.Show(); } private void hoge(bool value) { checkBox1.Checked = value; } } public partial class Form2 : Form { public Action<bool> Hoge { get; set; } private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (Hoge != null) Hoge(checkBox1.Checked); } } Form2のチェックボックスとForm1のチェックボックスが連動する
>>257 すまん
C#でのやり方を知らないだけw
ググったらイベントハンドラでいいらしいね
ダサいとかどーでもいい 動きゃいいんだよ
261 :
こごろう :2011/02/27(日) 09:10:39.34
WindowsForm アプリケーションを作成しています。 @ 各端末で日記を登録できるようにする。 保存先は、ネットワーク上のある端末またはサーバーの共有フォルダとし、テキスト形式で保存するようにする。 A 各端末で、アプリケーションを起動したときに、その共有フォルダ内の全テキストファイルをを自動でを読み込むようにし、端末間でそれぞれの端末で入力された全ユーザの日記を共有できるようにする。 以上の処理を作成していますが、Aで自動で読み込むようにしたときに、テキストファイルが使用中であると、エラーとなってしまいます。 「全ファイルを読み込むが、使用中のファイルについてはエラーとせずに回避する。(catchでエラーを取得するのではなく読み込み前に確認する)」 という仕組みを組み込みたいのですが、そのファイルが使用中であるかを事前に取得する方法が分かりません。 何か方法はないでしょうか。 よろしくお願いします。
他人の日記を編集できないのであれば他人の日記はリードオンリーで開いたらダメなの?
264 :
こごろう :2011/02/27(日) 09:43:34.72
>>262 ありがとうございます。
パソコンは個人別に割り当てられておらず、ユーザコードを付与して、各人がどの端末からでも自分の日記を登録、更新できる必要があるんです。
>>263 ありがとうございます。
内容を見ましたが、WindowsAPIの機能を利用するのでしょうか。
初心者なのでコードの難易度がとても高そうで、理解できるか自信がありませんが、じっくり読みます。
ただ、お答えいただいていて失礼なのですが、初心者でも組めるもっと簡単に取得する方法はないでしょうか…。
265 :
デフォルトの名無しさん :2011/02/27(日) 09:51:35.09
>>264 >パソコンは個人別に割り当てられておらず、ユーザコードを付与して、
>各人がどの端末からでも自分の日記を登録、更新できる必要があるんです。
別にパソコンを限定してないよ
サーバーと見立てたあるPCの共有フォルダを好き勝手にいろんな端末から
読み書きするってことでしょ?
だからIDで識別してようがそういう仕様はどうでもいいんだけど
とにかくアクセスする際に自分の日記と他人の日記ではアクセス権限が違うんだから
それを利用して読み書きすればいいだけじゃないの?ってこと
その辺が面倒なら共有フォルダを好き勝手アクセスさせるんじゃなくて
サーバー側に言語は何でもいいのでアクセス用のプログラムを立てて
それ経由でやらせればいいだけだしなあ・・
例外潰していいじゃん それの何が駄目なんだ?
>>266 最終的な仕様がわからんからなんともいえないが
編集中はずーとオープンしっぱなしで例外拾ってリトライさせる仕様だと
ずーとリトライだったりしてなw
仕様はskipするってあるじゃん なら潰してよくね?
269 :
デフォルトの名無しさん :2011/02/27(日) 10:05:10.29
編集中だからって日記がすでに保存されてるデータが開けないとか糞仕様だろ 編集が終わった段階で書き込んじゃえば多少のリトライで問題ないだろ というか共有フォルダを好き勝手に複数端末から触れるような糞アプリの仕様もどうかと思うけどなw
270 :
こごろう :2011/02/27(日) 10:09:15.37
>>265 ありがとうございます。
テキストファイルが使用中のときは、「…アクセスが拒否されました。」という例外が起きてしまいます。
これは、Windowsそのものの特性か、共有フォルダの共有設定の仕方の問題なのかもしれませんが、
そのテキストファイルは、共有フォルダがある端末以外のどの端末もシャットダウンしていても、
掴まれて使用されていることになってしまい、直接テキストファイルを削除することもできないんです。
(共有端末を再起動すればそれは解除されます)
なぜ、アプリケーションをどれも起動していないのに、使用中になってしまうのかの原因は分かっていません。
サーバー側にSQLSERVERやAccessを入れようかと思いましたが、
今はそれができない事情にあり、テキストファイルで情報共有する選択肢を取っています。
>>266 例外をスルーしようとしたのですが、
テキスト自動読み取り処理の記述の前後に、catch(exeption)を入れておいた方がいいと言われたループ処理を記述しており、
完全にcatch文をスルーするようにすることができないんです。
(try-catch文の入れる位置やロジックの配置の仕方が悪いかもしれませんが…)
ファイルの読み取りの例外だけスルーしようとして、
catch(IOexeption)を入れてみましたが、結局他の箇所のcatch文(exeption)で引っかかってしまいます。
271 :
デフォルトの名無しさん :2011/02/27(日) 10:10:30.61
DB鯖立てたら簡単な話なんだよな。中古で拾ってくればLinux+MySqlやPostgreSQLで1万程度で何とかなるのに
ソース晒せ
たまにはライセンスの事も思い出して下さい(´・ω・`)
275 :
こごろう :2011/02/27(日) 10:27:36.16
アクセスが拒否されるケースは2パターンあります。 @使用中のファイルを読み取ろうとするとき A日記は全日程分を1テキストファイルに収めて保存するようにしており、毎回古いテキストファイルを削除して新しいテキストファイルを保存しにいくように しているのですが、そのファイル削除時に使用中であるとき のときです。 そのうちのAが下記のようなソースです。 foreach (string sd in System.IO.Directory.GetFiles(ps_path, "*.DIARY", SearchOption.TopDirectoryOnly)) { string fn = Path.GetFileName(sd); System.IO.FileInfo fi = new System.IO.FileInfo(sd); try { System.IO.File.Delete(sd); } catch (IOException ioex) { // ファイルが使用中 } } 例外をスルーするようにしたのですが、この処理が記述されているサブルーチン(いまどきこんな呼び方はしないのでしょうか)を呼んでいる上位の処理のcatch文で結局エラーとなります。
スタック遡るって事は握りつぶしてないって事じゃん…
>日記は全日程分を1テキストファイルに収めて保存するようにしており、毎回古いテキストファイルを削除して新しいテキストファイルを保存しにいくように >しているのですが、そのファイル削除時に使用中であるとき >のときです。 よくわからん 人ごとにフォルダ作ってその下にその人の日付単位でtxtファイルを分離しちゃだめなの? 管理のしかたは自由だが少ないtxtファイルに多くの情報を入れようとすればそれだけ アクセス時のロック時間は長くなるだろうし、無駄にファイルをつかみやすくなるよね
279 :
こごろう :2011/02/27(日) 10:37:46.47
>>277 「スタックを遡る」とはどういう意味でしょうか。教えていただけないでしょうか。
すみません、無知で…(-_-;)。
スタックとレースでググれ
知りたいのは例外の握りつぶし方でしょ?
まずキャッチできてないんだからそれ以前ダス
キャッチできてないのかもな
キャッチできてないんだろうね
285 :
こごろう :2011/02/27(日) 10:55:11.80
す・・・すみません。稚拙な質問を重ねてしまって。 一応、catch文に引っかかります。 catch(IOexeption)ではスルーするのですが、 上位の CATCH(exeption)で引っかかります。
キャッチできてねぇ…
なんかいろいろあれだよね ファイルの管理方法の仕様からして練り直した方がいいんじゃないの?
C#で、DAOを使って、以下のプログラムでMDBファイルを作成しようとしています。 using DAO; DBEngine mEngine = new DBEngine(); Workspace mWS = mEngine.Workspaces[0]; Database mDB = mWS.CreateDatabase(@"C:\SAMPLE.mdb" , LanguageConstants.dbLangJapanese , DatabaseTypeEnum.dbVersion40); 参照でDAO3.6をセットして、ビルドしようとすると。 LanguageConstants.dbLangJapanese , が 「相互運用型'DAO.LanguageConstants'を埋め込むことができません。代わりに適用可能なインターフェイスを使用してください。 というエラーになってしまい。コンパイルができません。 なにが原因なんでしょうか?
「相互運用型の埋め込み」を「false」にする 説明が面倒くさいからどこにあるかは探してみてよ
何でこんな制限が多いウンコ機能デフォルトでOnになってんだ
時間を指定してスリープから復帰させるような APIってありますでしょうか?
>>285 catch(IOexeption){ }
に引っかかってるってどうやって確認したの?
ステップ実行じゃないの?
catch (IOException ioex) { // ファイルが使用中 } 中身コメントだけでステップ実行できるんだっけ?と思って確認したら、 { の部分にステップが行くんだね。
300 :
こごろう :2011/02/27(日) 19:12:53.92
みなさんありがとうございます。 ファイルが使用中などでアクセスできない場合、それも Existメソッドで検出できるのでしょうか。 まだ試していないまま伺うのも失礼ですが、今、試験環境がない場所にいるため、質問させていただきました。
301 :
デフォルトの名無しさん :2011/02/27(日) 19:54:58.46
VC++/CLI 2010を使用しています。 C++/CLIスレでスレ違いと言われましたので、こちらに来ました。 テキストボックスに文字が入力され、エンターを押されたら動作する処理を行いたいのですが、 TextChangedイベントに if(TextBox1->Text->EndsWith("\r\n")) では、認識出来ないのですが、どのようにすればよろしいのでしょうか? よろしくお願いします。
KeyDown
途中になってしもうた private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) MessageBox.Show("test"); } IMEで入力中はIMEがEnterを取るので問題ないな
後補足としてTextChangedでEnterを取る場合はMultiline=trueじゃないと無理
305 :
301 :2011/02/27(日) 20:36:15.43
出来ました、ありがとうございます。 テキストボックスをそのまま使用する場合は、Multilineでないと動かなかったのですね。
複数のボタンがあってクリックされた場合 同じ処理をさせたい場合どうすればいいですか?
WPFならコマンドを使う WinFormsならデザイナのドロップダウンリストで同じイベントハンドラを選ぶ もしくはその同じ処理を行うメソッドを別に作ってそれをイベントハンドラから呼ぶ
WinFormsです 大事なこと忘れてました 動的にボタンが追加されるので プログラムで同じ処理ができるようにしたいんです
var button1 = new Button(); var button2 = new Button(); button1.Click += this.ButtonClick; button2.Click += this.ButtonClick;
WinFormsでTabControlのチラツキって抑えられますか? Formの背景をグラデーションにしてTabControlの背景をTransparentにすると リサイズするときに重くなる・・・ 一応TabControlを派生したコントロールを作っていろいろやってみたけど結果変わらず・・・
312 :
310 :2011/02/27(日) 22:58:15.17
this.SetStyle ( ControlStyles.OptimizedDoubleBuffer | ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint | ControlStyles.SupportsTransparentBackColor , true); こうやってみたらチラツキは ほとんどなくなりました。リサイズ時に重いのは仕方ないのかなあ
313 :
301 :2011/02/27(日) 23:59:42.54
Multilineについて試してみましたが、 C++/CLIならtrueにしなくても動作しましたね
314 :
こごろう :2011/02/28(月) 04:55:27.70
>>261 にて最初に書き込みをした者です。
WindowsFormアプリケーションを作成しています。
その処理の中で、所定のフォルダ内のテキストを読み込んでデータセットに取り込んだり、Deleteで削除しているのですが、
テキストファイルが使用中のステータスになってしまうのか、アクセスが拒否される場合があります。
この例外をcatchするのにふさわしい Exception の種類は何でしょうか。
(上位階層のExceptionクラスを使いたくなく、上記エラーに限定してcatchするようにしたいんです。
IOexceptionでは拾うことができませんでした。
どの種類が適しているのでしょうか。ご存知の方、よろしくお願いします。
MSDNにどんな状況でどの例外がスローされるのかちゃんと書いてある
>>314 一旦最上位で受けてワザと例外起してcatch側で詳細な例外を見るとかできないんだっけ?
MSDNで分からないようなら、飛んでくる例外クラスでググる まではやった?
318 :
デフォルトの名無しさん :2011/02/28(月) 14:47:55.04
System.timers.timerを使用しています。 最初のElapsedイベントはEnabledをtrueにしてからInterval後に発生しますが、Enabledをtrueにした時も実行されるようにすることは出来ないでしょうか? Intervalが1秒の場合、1秒・2秒・3秒と実行されるのでは無く、0秒・1秒・2秒・3秒と実行させたいのです。 Intervalを1にしてAutoResetをfalseにして、最初に短いIntervalで実行させようとしてもダメでした。 (タイマーを実行する前に、毎回呼び出す関数を実行すれば良いだけかもしれませんが) 何か良い方法がありましたら教えてください。 よろしくお願いします。 //*** [ポイント測定]タイマー(System.timers.timer使用) *** private System.Timers.Timer timePoint = new System.Timers.Timer(); // タイマー作成&開始 private void subTimerPointStart() { timePoint = new System.Timers.Timer(); timePoint.Interval = 1; // 計測間隔(0秒時) timePoint.Elapsed += new ElapsedEventHandler(MyClock); timePoint.AutoReset = false; // 1回だけ実行 timePoint.Enabled = true; // タイマー開始 timePoint.AutoReset = true; // 毎回実行 timePoint.Enabled = true; // タイマー開始 timePoint.Interval = 1000; // 計測間隔(1秒) }
タイマーを実行する前に、毎回呼び出す関数を実行するのが良い方法ですね
扱いづらいけどSystem.Threading.Timerを使うとか
>>319 厳密な精度は求めていないので、下手なことするよりは結局それが一番楽そうですね
>>320 Threading.Timerは開始時間も設定出来るのですね、ありがとうございます。
322 :
200 :2011/03/01(火) 01:15:52.54
解決できますた 「C:\doc\unko」、「C:\doc\chinko」、「C:\doc\manko」の3つのフォルダをひとつのzipにまとめたいとする 下記のようなコードで実装可能 private void button1_Click(object sender, EventArgs e) { string zipFileName = @"C:\test.zip"; string sourceDirectory = @"C:\doc"; bool recurse = true; ICSharpCode.SharpZipLib.Zip.FastZip fastZip = new ICSharpCode.SharpZipLib.Zip.FastZip(); fastZip.CreateEmptyDirectories = true; fastZip.UseZip64 = ICSharpCode.SharpZipLib.Zip.UseZip64.Dynamic; fastZip.CreateZip(zipFileName, sourceDirectory, recurse, @"\.txt$", null); }
#ziplibってGPLだろ リンク例外付きとはいえ、MS-PLのDotNetZipの方が無難
GPL!GPL!
MessageBox.Show(string)で表示するダイアログって、表示位置は設定できないのですか? 常に表示エリアのど真ん中ですか?
オーバーロードで位置指定できるようにはなってないからそうでしょうね
まあ元からそんな多機能を要求されるものじゃないしそういうことがしたいのなら ダイアログでも作って自分でそれっぽい物をつくるしかない
そうですかー残念。ありがとうございました。
329 :
デフォルトの名無しさん :2011/03/01(火) 18:08:16.33
フォルダroot\区分番号\年\月\日\時間\分 てフォルダ構造があって適当にループで常時動いてる時に 1か月以前のフォルダを効率よく消していく方法ないでしょうか? 削除とは別に5秒に1個のファイルが生成されているので 全部のフォルダを常に見回すというのは処理に遅れが出たりしそうで… 年月日をまたいだ時におかしくなっちゃうのはNGだとは思うんですがうまい方法が思いつきませぬ 言語はC#4.0ですが、そもそも設計がおかしいのは承知の上なんですが火消しらしいので設計変更は無理っぽそうです
素直に回せばいいじゃん 早くしたいならrootにindexファイルでも作ればいいじゃん
初心者スレで上手いネタが出てくると思うのかい
素直なのが一番
>>330 件数が半端ない数になるので難しいかなと・・・
初心者スレなので逆に期待してしまっておりました・・・・orz
で、現在の件数見積もりは何回なわけ? それすらもやってないとかいわないだろうな?
index作って0.000000001秒で終わり
現状1ヶ月ですが 最大3ヶ月にしたいとの声もあるので 最大で言えば・・・ 12ファイル/分 * 60分 * 24時間 * 31日 * 3ヶ月 = 1607040 160万ファイルほどでしょうか・・・・ しかも常時ファイルをところてん式に作りつつファイル・フォルダを削除 ときたものです・・・
いやだからインデックスつくれよ
indexというのはファイルを管理するファイルみたいなものでしょうか? パスと時間が書き込まれている感じの
160万程度ならあっという間だろ…
しかし酷いバカさ加減
そうですか・・・ 自分の中では結構な数のつもりだったのですが・・・ あと凄い大事なこと書き忘れていて、全ての保存先がローカルではなくLANDISKの中にあるんです・・・・ どこまで問題になるかは判りませんが・・・・
もうどうでもいいから#の突起部を頭にぶっさして死ねよ
つーかゴチャゴチャ言う前にコード書いて 200万ファイル用意してテストしてみりゃいいじゃん
はい、逝ってきます
200万なんて3秒で終わった
やだ…冷たい
3ヶ月前の年月日なんてすぐ分かるんだから、どれ消せばいいかなんてすぐ分かるだろ。
index作って終わり sqliteでちゃっちゃと作ってはいおしまい
index作れば数時間かかって200万件処理してもいいんだからな
HDDのインデックスなんてOSが勝手に作ってやってくれてるだろ。 しかもループ回してりゃOSが勝手にメモリにキャッシャしてくれる。 おまえのすることは最大までメモリを積むことだけだ。
設計のやり直し以外に手立てはありません 素直にDBにぶち込め
LANDISKはキャッシュしないだろう
LANDISKってなんだよ?
DOS時代に聞いたことあるな。
RAMDISK?
どう考えてもネットワークストレージだと思うがLANDISKってなんだよ?
それはLanManagerだろ?
ググれカス共 LANDISKはIO-DATAのNASの商品名だ
知らんがな。
商品名かよ・・・NASって書けよw
361 :
デフォルトの名無しさん :2011/03/01(火) 20:27:28.87
DLL作り方覚えたんだけど(VC++で) 本によると、C/C++言語以外から呼び出す場合DLLの関数でAPIENTRYっていうキーワードをつけなきゃいけないって書いてあるんだけど C#から呼び出す場合は(これまた別の本に書いてある)APIENTRYはいらないみたい。 どうしてですか?
つ呼出規約
C#はC言語でもC++でもないからです
Sendinputを使わずに、同様のことを指示するにはどうしたら良いでしょうか?
keybd_eventとか この前のSendInputのあれを見て無理だと思ったんならっこっちも無理 つかC#使ってはあきらめた方がいいね
366 :
361 :2011/03/01(火) 20:49:09.61
呼び出し規約が合致するんですね。自分はなんとなくしか想像つきませんが。 なんとなく、わかります。 秀丸マクロはAPIENTRYをつけなきゃ駄目らしいです。ありがとうございました。.
367 :
デフォルトの名無しさん :2011/03/01(火) 20:50:12.10
radioButtonのBackColorって、ボタンの所だけ変わればいいのになあ。 ラベルのところまで変わるから格好悪くて使えない。
自分でつくっちゃいなよ
作り方教えて
ButtonBase〜RadioButtonのOnPaintは使えないことになってるから Controlからの派生だな そんなことしてられるかと思うんだったらWPFへ
372 :
371 :2011/03/02(水) 12:06:58.31
訂正 たぶんRadioButtonから継承してOnPaintオーバーライドでいける
373 :
166 :2011/03/02(水) 19:27:37.13
groupbox内のTextboxにアクセスするにはどうしたらいいのでしょうか?
あのさ…デザイナでコントロールに名前振ってるだろ?
定義してるForm外からアクセスしたいのかもよ。 決め付けちゃあいかんね。 ま、情報が少なすぎて、そういう回答されても仕方ないだろうけど。
文字列を指定の桁数まで空白で埋めたい場合はどうしたらいいでしょうか? 10桁を空白で埋める場合、 「Hello」→「Hello 」 という風にしたいです
377 :
376 :2011/03/03(木) 05:16:52.11
半角スペースが消されてる。。。 Helloの後ろに半角スペースが5個ついてる感じです
String.PadRight
380 :
デフォルトの名無しさん :2011/03/03(木) 05:35:34.95
teswt
入門サイトでオススメってどこですか?
完全初心者向けは無い ある程度何かの言語が分かるなら未確認飛行Cあたりへどうぞ
>>381 MSDNのビギナーガイドのページがいいんじゃないかな
VSの使い方から文法まで細かく丁寧に書いてあるし
HTMLヘルプを作るのってかなり大変そうだし、たいした説明も無いので、 HTMLファイルを埋め込んでwebBrowserで表示させて簡単に済ませたいのですが、 どうしたらいいのでしょうか? string url = "res://" + System.Reflection.Assembly.GetExecutingAssembly().Location + "/Readme.HTML"; webBrowser1.Navigate(url); じゃ駄目でした。 VC#2010Expressのプロパティでリソース管理してるのですが、それが間違ってるのかな?
"//Readme.HTML";
>>384 HTML Help Workshop
じゃだめなのか?
>>385 それでも駄目でした
>>386 そこまでする必要も無いかな・・・と。DLして、使い方調べて・・・
他に方法が無いなら、仕方ないですが・・・今は面倒だなと。それExpresssでもつかえるんですか?
388 :
デフォルトの名無しさん :2011/03/05(土) 01:17:47.84
>>384 アドレスは判らんが、Navigateの引数はUriオブジェクトじゃないの?
あそか。どうやって変換するんだ?
別に埋め込まなくてもバイナリと一緒に配布すればいいだけでは... っていうか、HTMLヘルプもHTMLも嫌い。 見難いし作りにくいし、あんなもん誰か嬉しい奴いるのかと思う。 今時どんなPCにもアクロバットリーダーぐらい入ってるだろうから、 ヘルプはpdfで配布みたいな流れにならんもんかなと
pdfヘルプとかぶち切れるわ
じゃあXPSで
PDFとかマゾいなぁ
HTMLヘルプの方がマゾいでしょ。もう見る気しない。 何だかんだ言っても物理的なページベースのレイアウトのドキュメントの方が 読みやすい。
395 :
デフォルトの名無しさん :2011/03/05(土) 01:45:35.44
>>389 Navigate(new Uri(url))で
HTMLいいよな お気に入りにも追加できるし
自民党宮城県連みたいに画像を使うのがベストプラクティスです
じゃあtxtで
readmeに全部書いとけ
readme.pdf こんなことするやつのソフトは扱いづらいに違いない
そこまでpdfに執念燃やさなくてもいいだろw
readme.pdf .exe
readme.sln
readme.scr readme.bat readme.vbs
拡張子pifが出てこない時代になった
俺も
>>394 みたいにページベースのほうが読む気する。
今やPDFもだいぶ丸くなったもんよ。
Formがアクティブじゃなくてもキーボードのキー処理をするにはどうすればいいんでしょうか?
410 :
デフォルトの名無しさん :2011/03/05(土) 14:48:48.77
>>409 何をやるソフトを書きたいのかしらんがシステム全体のキーを監視するのなら
フックするしかないんじゃないの?
HTMLの代替がPDFとかどんなギャグだよ。まじ笑えない。
HTMLの代替はbmpがくるね 間違いない
すいませんいきなり出来てしまいました System.Windows.Forms.Control.ModifierKeys == Keys.Shift
Window ├ UserControl1 │ └ Button │ ├ UserControl2 │ └ Button : : UserControl内のButtonを押すとWindowにフォーカスを移すようにしたいです。 最初UserControlのFocusableをfalseにすればいけるかと思いましたがだめで、 Windowのインスタンスを持っていればFocusメソッドでいけますが あまりそのような設計にはしたくないです。 となるとUserControlでイベントを定義してWindowでハンドラを書くのでもいけそうですが 他にいい方法ありますか?WPFを使ってます。
Window.GetWindowでどっからでもウィンドウ取れる 確かにスマートじゃないけどWPFではコントロールがルート要素にアクセスしたりとかは結構よくあること
Windowに直接依存させたくないなら、フォーカスを移すためのメソッドを宣言したインターフェイスを ウィンドウが実装して、インターフェイス経由でコントロールにウィンドウのインスタンスを渡す方がいいと思う やってることは本質的にはイベントと一緒だけど、そういうことをイベントでやるのは意味的に変
>>415-416 なるほど。インスタンスを送るという考え方なら、Focusメソッドをオーバーロードして
UserControl1.Focus(this);みたいに自身を送るという手も使えますね。
UserControl1.Focus(this)は都合が悪いだろ。タイミングはUserControl1側が握ってるんだから。 コントロールにウィンドウを渡すならこんな感じ interface IFocusable { void Focus(); } class MyWindow : IFocusable { void Window_Loaded(object sender, EventArgs e) { this.userControl1.FocusTarget = this; } void IFocusable.Focus() { this.Focus(); } } class UserControl1 { public IFocusable FocusTarget { get; set; } void button1_Click(object sender, EventArgs e) { this.FocusTarget.Focus(); } }
Focusってメソッドしかないんだっけ? boolとかならバインドとかできそうだけどな
420 :
デフォルトの名無しさん :2011/03/05(土) 18:21:39.24
バインドといってもUserControl1やUserControl2がウィンドウのインスタンスを知らなきゃバインドのしようがないでしょ バインディングならWindow型に直接依存しなくて済むという意味なんだったら、 それはdynamic型でウィンドウのインスタンスを渡せばいいと言ってるのと同じだぜ 単体テストのことを考えてるんでないなら、わざわざインターフェイス使わなくても FrameworkElement型で渡せばいいと思う
>>418 そういうふうに実装するのか。やっぱいろいろやり方あるなあ。ありがとございます
LINQ To XMLを使って試しにタグを追加したら xmlns= "" というのが勝手にタグの最後に追加されてしまう XML名前空間を宣言すると、今度はそれが含まれたものが追加されてしまう どうすればよかとですか?
デフォの名前空間と異なる名前空間の要素を追加したからじゃけ
GoogleIMEだと不具合でるからMS IME2010 使っているが、相変わらず英数字を常に半角に設定してても スペースで変換すると全角にしやがる!! もうこれがうざくてうざくて!! GoogleIMEならちゃんと英数字や記号は半角のままになるのによ
どうせスペースは常に全角に設定してんだろ。
C#と何の関係が....
古川とかいう元MSのオッサンも文句言うぐらいだからMSのIMEが使いやすいとは思わんけど、
>>424 は本人の使い方にも問題があるような。
っていうか、いい加減[ESC]とか[半角/全角]キーをもっと叩きやすい位置に配置した
新しいレイアウトのキーボードを日本のMSも提唱すべきだよな本来。
そこに問題があるから
>>424 みたいな妙な使い方をする人も出てくる。
MS-IMEなら好きなキーに設定できるだろ。
プログラミング専用キーボードとか出れば良いのに
余談だけど最近タッチパネルのキーボードがでてたなw 表示はLEDのやつw
ショートカットやマクロも自由自在に設定できるのに専用はいらないだろ。 手にフィットしたかっこいい好きなキーボード使えばいいだけ。
>>427 >>430 パソヲタの発想だねそれは。
キーボードだってGUIと同じで、操作が統一されていることに意味があるのに。
マクロなんか統一できるか。使い捨て感覚で登録するのに。 よく使うCtrl+VやCtrl+Cとかだけ統一されてりゃ十分。 というかここはパソオタ板だろ。
433 :
デフォルトの名無しさん :2011/03/05(土) 21:55:22.01
そもそもPCにしろキーボードにしろ英語圏でできた物なので 日本語にあわせるのは結構大変だったりする 日本語の関係で特殊キー増えてるし 英語圏だけだと新しいレイアウトのキーボードを提唱する意味あるのかな? せいぜいエルゴノミクス対応くらいじゃないの?
434 :
デフォルトの名無しさん :2011/03/05(土) 22:00:41.99
\が¥ってのはキツイな
>>434 あの辺は中途半端にガラパゴスでパソコンが普及しちゃったのが原因だっけ?
アスキーコードの後半部分に半角カナとか勝手に拡張しちゃうし・・・
当時はまだマイコンと言っていてだな・・・
>>435 むしろ日本はアメリカのポチだけあってASCIIとほぼ同じ割り当てじゃん。
ヨーロッパなんか{}とかもないんだよw
勝手にも何もPCハードは各社設計はバラバラで、 OSの代わりにしていた付属言語のBASICもバラバラ。 シャープなんてMZとX1と内部でもバラバラ。 たまたまIBM仕様が生き残っただけ。
閉鎖的で独自仕様が好きだね日本人は その結果ゲーム業界は競争に生き残れなくなったけどな ケチケチすっからだ
というか、昔持ってた技術評論社の「C言語辞典」によると、 確か記号部分はISOでも各国が勝手に割り当ててよいルールになってたということだと思ったけど。 もちろんこのルールより先に各国バラバラという現実があって、ルールはその事実の追認という可能性もあるけど
441 :
デフォルトの名無しさん :2011/03/05(土) 22:23:17.16
一番大きかったのはCP/M86でパス区切り文字を”\”にしたことだね それのクローンであるMS-DOSも同じく”\”を採用 UNIXと同じ”/”の何処が不味かったんだよ
追認・・・ 難しい言葉使うんだな 頭良さそう もしかして低学歴にゃプログマラは無理?
Windowsは/もパス区切りとして認識するけどね コマンドプロンプトは駄目だけど
444 :
441 :2011/03/05(土) 22:35:12.66
もしかするとCP/Mって名前だったから、/をパス区切り文字にするとOS名が表記できなかったからなのかな? それならばCP/Mって名前を付けたのが諸悪の根源?
プログマラw
お前らよく飽きないな
>>444 意味が分からんわ
文字列の出力とファイルのパスなんも関係ねぇ
プロマベラの皆さんに質問なのですが 高卒で今年35歳になるのですが大丈夫ですか
マ板に行け
WPFで public Window1() { InitializeComponent(); RoopStart(); } の後にループを作るとアプリケーションが起動しないんですが、 これはWindow1を一度抜けた後にループを始めないといけないんですよね? アプリケーションが完全に立ち上がった後ループを始めるにはどうすればいいんですか? Thread thread = new Thread(new ThreadStart(RoopStart)); thread.Start(); をやったんですが、今度は別スレッドからWindows1のコンポーネントにアクセス出来ないんです。 どうすればいいんでしょうか?
>>451 ゲームかなにか?
ゲームならstoryboardで定期呼び出ししてもらうとか
453 :
デフォルトの名無しさん :2011/03/06(日) 11:05:53.56
>>451 コンストラクタじゃなくてLoadedからRoopStart()
別スレッドからコンポーネントにアクセスする場合は
this.Dispatcher.Invoke(new Action(() =>
{
this.Title = "たいとる";
}));
こんな感じでできたと思う
WPFでゲームとかはあまり推奨できない
>>453 できました、ありがとうございます
何をしているコードか意味不明ですがあとは自分で調べます。
Formアプリが飽きてあの事務的なコントロールを見るのも嫌になってきたので
これからはもっと動的に動くアプリにしようと思ってWPFにしました
storyboardも勉強しますありがとうございました。
WPFしばらく勉強してたが、久々WinFormやってみたら とても簡単に作れてびっくりした WPFって手間がかかるし、オサレなGUIが作れるだけなんだよな
WPFは原則として自分でループ回してアニメーションしたりしないんだよね アニメーション機能を使うか、フレーム単位の細かい制御が必要な場合はCompositionTarget.Renderingイベント使う
457 :
デフォルトの名無しさん :2011/03/06(日) 11:41:37.33
"WPF" "WinForm" "オサレなGUI" またお前かよもういいよ
>>455 WPFはSilverLightの踏み台になったのだ
OOBできるようになったらマジでWPFの存在って微妙だよね
機能的な差はあるんだろうけど今後拡張されるだろうし
>>455 WinFormsはレイアウト固定のダイアログを量産するだけなら簡単だが
TableLayoutPanelとか使い出したら糞
ブチ切れそうになる
Silverlightはメモリー制限きついんでしょ? WPFなくなると困る
メモリー制限なんか無い
Silverlightじゃローカルファイルに自由にアクセスできないじゃん。 わざわざダイアログで開かないといけないとか馬鹿げてる。
Out of Browser + Elevated Permission モードなら自由にアクセスできる アクセスできる場所には制限があるが、それは最近のWindowsでも一緒だし
STLで言うところのnext_permutationみたいな関数は用意されていないんですか?
うん
WinFormだけありゃ済む話
有志がWinForms拡張してくんないもんかね もう碌な更新されてないじゃん
今以上やることがない よくあるテキストボックスを半透明にしたいとかは構造上無理だし だからってフルスクラッチで描画したらそれはもうWPF
469 :
デフォルトの名無しさん :2011/03/06(日) 15:14:54.01
テキストボックス(リッチテキストボックス)の透明化は簡単にできる。 ネット上にも色々なやりかたが転がってるけど、一番簡単なのは、 RichTextBoxから派生させたクラスで、CreateParamsをオーバーライドするだけだ。
まあ普通できてもそんなことしないよね。 そんなことしたいと思う人は、たぶんwebページ作らせたらマーキー使いまくるような ちょっとセンスがズレたタイプだと思う。 そんなのは要らないと思うけど、レイヤードウィンドウで文字の部分だけ不透明度100にできる ギミックはあったらいいなと思う。
471 :
デフォルトの名無しさん :2011/03/06(日) 15:34:04.79
テキストボックスの透明化や半透明化は普通に需要は高いと思うが? 本来ならできて当然だと思う。
需要がないとは言ってない。センスがズレてると言ってるだけ。 需要の高さだけいったらwebページのマーキーだってそう。 ただ、あんなものを使いたいと思う人は、センスがないと一般にみなされる。
某病院のwebサイトを思い出した
半透明化とマーキーじゃ利便性的に同列にならんだろう
475 :
デフォルトの名無しさん :2011/03/06(日) 16:04:00.72
PowerPointで文字を入力する際に、いちいち背景が消されて見えなくなったら不便だと思う。
それは設計者のセンスがないんでしょうね。
いちいち極端だよなァ 車のブレーキが利かなくなったら不便ですみたいな、誰が好き好んでそんなもん作るかって例えを出さんでも
478 :
デフォルトの名無しさん :2011/03/06(日) 16:11:36.63
どうでもいいことで伸びるな 誰かやって〜って言ってる暇があれば自分でやれってことだ 日本の開発者は他人を巻き込むことをやらない
巻き込む度胸がないから、海外のプログラマーに負けるんだろ
趣味でやってるようなオープンソース開発者はそりゃ新しい方に行くわな MSも最近の技術に関してはソースの開示に積極的だし
xpsp4まだ?
でねぇよ 既にXPは通常サポートが終わっている上に、SP3リリース時に最後のSPだってMSが言ってただろ
それよりもVistaSP3をですね…スレチだな。うん。
ASP.NETでデータベースでイメージや他のバイナリデータ管理する場合、データベースに直接バイナリ入れるのとファイルのパスだけ入れるのじゃどっちがかしこい?
そんな質問するお前は馬鹿
C#のテキストボックスなどにワードの数式エディターやLaTexなどのように 学校の試験の問題文みたいにインテグラルなどを書きたいのですがどうすれば良いでしょうか?
難しい 数式エディタのコンポーネントを使うことはできるはずだけど、動作にOfficeが必要になる 数式を送ればLaTexなどで画像を生成してくれるWebサービスがあるのでそういうのを利用する手もある
488 :
デフォルトの名無しさん :2011/03/07(月) 00:26:42.71
グラフィックだけならそれほどでもないと思うけど 現存するツールのようにってなると大変かもね〜
489 :
デフォルトの名無しさん :2011/03/07(月) 00:33:33.89
ありがとうございました!
>>489 URLにエンコードしてリクエストしたら画像が返ってくるだけみたいだから
ブラウザ使わないほうが簡単だと思うよ
利用規約に反したりしないかは知らんけど
>>491 まーユーザーエージェントをそのままにしておけばIEで名乗ってるので見た目わからんでしょw
有名なツールとして知れ渡ると何か言われるかもしれないが
でもどうせ欲しいのなら作ってしまった方がいいけどね
winformならフォントデータからグラフィックパスを取得したりして調整すればいいだけだし
>>455 WPFがアニメーションや派手な装飾のためだと思ってるなら、一回CodeplexにあるPrism見てこい
494 :
デフォルトの名無しさん :2011/03/07(月) 04:48:23.20
もしかしたらプログラムの問題ではないかもしれませんが、 切り分けのために質問させてください。 クライアント/サーバアプリケーションを作っていて、 LAN内(同一サブネット)での通信までは出来ました。 これをインターネット経由で通信させることが出来ず四苦八苦してます。 そもそも出来るのかどうかも判っていないのですが、 もし可能だとしたら、どのようにすれば良いでしょうか? TcpListenerクラスとTcpClientクラスを使用していて、TcpClient.Connect()メソッドのところで 『接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。 または接続済みのホストが応答しなかったため、確立された接続は失敗しました。』 のエラーが出ます。 サーバ側はTcpListener.AcceptTcpClient()で待ったままです。 サーバ側ネットワークのルータのログには 『TCP connection accepted from xxx.xxx.xxx.xxx:wwwww to yyy.yyy.yyy.yyy:zzzzzz (eth1)』 というログが出ているので、サーバ側ネットワークのルータまでは来ているように思えるのですが。 環境の問題でしょうか?
ルータの接続ポートは設定したのかい?
Buttonしかないフォーム表示させるだけで どうして20MBもメモリ食うかね・・・
アセンブリのサイズから言って妥当
>>498 今のメモリサイズからすれば問題ないし散々いろんなFormだけ
でもいろんなクラスを継承したりしてるから割とメモリは食うはずなんだよな・・・
そういうのってやっぱりアセンブラとか経験できてないと無理なのかな?
new From()のどこにアセンブラの経験が絡むの過去一時間
プログラマって日本語不自由な方が多いですね
>>500 あほか
クラスをインスタンスする場合はメソッドへの参照一つで
どれくらいバイト使いそうとかさ
継承すればするほどBaseが持ってるメソッドとかその他もろもろ
の分で大きくなるのは容易に想像が付くかどうかってことだよ
凄い勘違いをしている悪寒 まさかインスタンス1個1個にメソッド実体化してると思ってるの?
>>503 文章読める?
>クラスをインスタンスする場合はメソッドへの参照
継承ってC++でもあったが、ほとんどメモリ食わないけど? ちょっと見解がズレてるんじゃない?
じゃあアセンブラ経験して消費メモリ減らしたらいいんじゃね。
virtualになってなきゃ参照も必要ない。
何でexeファイルが十数キロバイトしかないのに 20MBになるのさ 詐欺じゃん
>>508 そりゃインスタンス化したからって単純にそれだけじゃなく
過程でエリア確保したりするだろう・・・
>>508 100MBのDLLをLoadLibraryしたら100MB消費しないとおかしいだろ?
Httpしか使ってないコンソールでも4MB食っとるし
これって1アプリごとに.net freamworkの何かが メモリにロードされているんじゃないの? A,Bの機能があるとして Aだけの機能を持ったアプリ20mb Bだけの機能を持ったアプリ20mb A、B両方の機能を持ったアプリ23mb メモリ節約するなら複数の小物アプリより 1つの多機能アプリ作った方がいいってことか?
初めから誰もがそう言ってると思うけど。
それだけメモリ使用量が増えて困るのか?
これは香ばしい
517 :
デフォルトの名無しさん :2011/03/07(月) 14:17:45.58
64kbと闘った人は貧乏性なんだよ
俺のときは640KBだったな
生産性向上のために.net選ぶの高々数MBで目くじら立てるって・・・
細かいことは気にせずアセンブラで書けばいい。 それで全て解決する。
あほくせぇ・・・
new Threadでスレッドを作った場合、このスレッドは複数CPUがある時違うCPUで処理しようとするんですか? それともCPUは1つで交互に処理しようとするんですか?
スレッドを何だと思っているんだ
スッドレは1つのプロセスに与えられた能力を複数に分ける技術だろ
そうだったんですか! いままでずっとスレッドを別にすればOSが勝手に判断してマルチコアを生かした割り振りをしてくれると思ってましたw CPUを指定するにはどうすればいいんですか?
念力
風水
俺ダイスで決めてる と、アホな話は置いといて 所で君の使っているフレームワークはいったいどのバージョンだ?
まじですか! フレームワークでCPUがきまってたんですか・・・ VS9で.net3.5を使ってます この場合はマルチコアになってますか? というかどこで知るんですか?
CPUを決めるのはOSじゃないの?知らないけど。
とりあえず C# Parallel でも調べてみてはいかが?
.netでコンパイルしてれば、自動でCPUに振り分けられる 指定のやり方は知らない
プログラムで変更するならP/InvokeでSetProcessAffinityMask 起動時から指定したCPUで動かすなら imagecfg -a か start /affinity
>>533 ピンボケ乙wwwwwwwwwwwwwwwwwwwwwwwwwwww
CPU指定ではなく単純ににマルチコアで動かすには て質問じゃないのか?
0.そもそもパフォーマンスが実際に問題になっているのかどうか検討する。ほとんどの場合不要。 1.ホットスポットを探す。ほとんどの場合、実行を遅くする原因はコードの一ヶ所だけ。 2.普通に修正する。 3.それでも許容できるパフォーマンスが出なければ自分で並列化。.NET4でないならスレッドプールを使う。 4.それでもダメなら1に戻る。
>>537 デスマで煮詰まってるんだよ きっと
そっとしといてあげようよ?
普通にスレッド複数作れば複数のプロセッサに割り振ってくれるよ でもうまく各プロセッサをフル活用できるケースは稀 ホットスポットになってるループを並列実行するような場合には有効だけど、 各スレッドに全然別のことをやらせると、まず確実に一つのCPUだけ100%で他は寝てるだけになる
540 :
494 :2011/03/07(月) 16:20:55.27
遅くなりました。回答ありがとうございます。
>>495 サーバ側ルータのポートは開放しています。
>>497 はい、通信可能です。
ソースどこかに上げた方がいいでしょうか?
string[]から特定の文字列があった要素を削除して 新しい配列を作るようなラムダありますか?
ラムダありますかは始めて見るタイプの質問だな そんなもんねぇよ IndexOfで自分で書け
いいラムダありますよ
var newlines = lines.Select(l => l.IndexOf("削除しない行") != -1); こうやるとnewTxt<bool>って型になる 文字列を格納したいんですが・・
Where
メソッドのヘルプすら読めない奴はプログラミング自体止した方がいい
止した方がいいが読めなかったのなら小学校に行った方がいい
>>548 ありがとうございます。
最小構成はまだやってないので、余計な部分を削って試してみます。
ところで、今までいただけた回答から察するに、
プログラム上はLAN内であってもインターネット越しであっても、
意識する必要は無いということで良いでしょうか?
551 :
デフォルトの名無しさん :2011/03/07(月) 18:10:26.99
フォワードで捻じ曲げられてたらアウトだね
int y = ((int x) => x * x)(5); ってできないんだな…
型情報が足りないとコンパイラたんが泣いちゃうよ・・・
>>553 OCamlでは let y = (fun x -> x * x) 5;; で int = 25 と出るんだがな
var f = function(x){return x*x;}(5); javascriptでもこんなのできるけどさ ぶっちゃけ使いどころがない現実(即時関数は引数無しが多いからそれとはまた別) 名前空間絡みでたまーに使う事があってもC#はそういうのしっかりしてるからねぇ
確かに使い道はない、が、型情報が足りないってのは間違い
C#では int y = ((Func<int, int>)(x => x * x))(5); でいけるけど、
>>553 の記述で推論可能だからこの記述は冗長
いやintを引数にとってintを返す関数なのは分かっても Func<int, int>かどうかはわかりようがない
まあ戻りがintでいいならね
まぁ関数型言語の側面を取り入れただけだからなぁ、劣化するのは仕方ない
いやラムダ式はC#が先だから OCamlだとかjavaだとかは後からC#のラムダ式をパクっただけ 推論可能とか適当なこと言ってんじゃねーよクズ
お前自殺まで秒読みだな
型推論と言ってもC#たんが一生懸命あれこれ悩んで決めてるわけじゃないんだぞw
ヒント:風が吹けば桶屋が儲かる 後は分かるな?
取り入れたっていうか関数型言語の原点はC#って研究者が言ってるぞ
NASAが見つけた地球外生物がここにいるで…
NASAとか意味分からんw OCAMLとかSCALaとかJAVASCriptとか所詮C#のパクリだろがww研究者でもそう言ってるぞwww
C#ってそんなに原点的存在だったのか・・・
太古の石版にもC#がかかれたっていう夢を見たよ!
ギリシア人の公用語は古来よりラムダ式らしいからな
糞スレってレベルじゃねーな。
何を今更
何はともあれC#が最強ってことで。 関数型言語とか糞だから。
研究者って誰よ
VSのプロジェクトでDLLのテストも同時にスル方法はないですか? C++で作ったDLLをコンパイルしてC#プロジェクトに入れて実行する以外無いんですか?
んなイレギュラーな方法はありません
くっ・・・! 沈まれ、俺の右腕・・・!
>>551 ,552
いろいろ試してみたところ、ご想像通りのことが原因のようです。
試しに80番にしてみたところ、問題なく通信できました。
お騒がせしました&ありがとうございました。
&演算子
WPFにはXSLみたいなのはないの?
いいかげんWPFは専用スレ池。
私のどこがいけないって言うの! foreach (int i in (int[])new object[]{1,2,3,4,5}) { listBox1.Items.Add(i); }
なんでそんなアホな書き方するの?
またすぐ釣られちゃう
型推論とか適当なこと言ってんじゃねーよクズ
メモリをすぐに開放(ガーベージコレクションを実行?)する方法を教えてください
thread.ApartmentState = System.Threading.ApartmentState.MTA; のMTAはどういう挙動をするんですか? thread.ApartmentState が古い形式だという警告がでるんですが間違ってるんですか?
The ApartmentState property has been deprecated. Use GetApartmentState, SetApartmentState or TrySetApartmentState instead. 馬鹿丁寧にどうすればいいかまで説明してくれてるのに、仕事とはいえ書いた人間が可哀相だな
マルチスレッドを作るためにスレッドを作るのにシングルスレッドにするかマルチスレッドにするかってどういうことですか? これがCPUを均等に使ってスレッドを実行するか1つのCPU内で複数スレッド交互に実行するかじゃないんですか?
なんか昨日から小学生が混じってるぞ。
>>592 だからマルチスレッドはCPUとは関係ないから
えっ
CPUがなくてもマルチスレッドにはできるからな
CPU(演算装置)がないとコンピューターうごきません。
つ そろばん
演算装置だったらPUな気が
マルチCPU処理 マルチスレッド Windowsタスクとの関係を調べなおしておとといきやがれ
何こいつ
System
まぁ、COMだよな
enum eroからstring[]{a,b,c}として取り出す方法はありませんか? string[] list = (?)ero;//みたいな private enum ero { a, b, cl }
Enum.GetNamesで
えなむ
TableLayoutPanelを使い、罫線を表示するようにしたのですが 特定の行や列の罫線だけ非表示にする、なんてこと出来ませんか?
C#よりニコニコ動画の方がすごい
誰かLinq to nico作って
もうあるじゃん
誰かLinq to html作ってくれ
>>612 ほんとだw
ひろゆきが関わっていて素直にXMLにパースできるなんて超意外っ!
Javaの質問していいですか?
どうぞ
Func<void>っていうのは定義できないみたいだけど、() => {何か処理}みたいなのはデリゲートを書くしかない?
Action
CPUに備わっているコア数を取得するにはAPIを使うGetSystemInfo以外で方法はあるん?
cpuid
アクセス修飾子について質問させてください。 C#の場合、アクセス修飾子を省略した場合、デフォルトの修飾子が自動的に選ばれると思います。 デフォルトの修飾子を選択したい場合は、アクセス修飾子を書かないのが普通なのでしょうか?それとも書くべきでしょうか? 私が読んだ書籍ではアクセス修飾子は省略しない方がわかりやすいと解説されていましたが、 私の開発環境(VisualC#2008)でクラスを自動生成すると、クラスの修飾子は省略されているようです。 デフォルトのアクセス修飾子を書くべきか、書かないべきか、一般的にどちらが優勢なのか教えていただけると助かります。 よろしくお願いいたします。
EnvironmentにProcessorCountなんてずばりなプロパティがあるような
>>621 アクセス修飾子書いた時点でデフォルトじゃなくね?
↓みたいなジェネリッククラスの対象の型TValueにintやfloat等の特定の型を代入したいのですがなにか方法はないでしょうか? 特定の型はintやfloat等の組み込み型のみ想定しており、対象の型とTValueは常に等しい型になります。 (stringも想定しているのですが、TypeConverter持ち込みで変換した後の代入が出来ないことが問題なので、その点は考慮しなくて大丈夫です。) マーシャルコピー(可能かどうかは知識なし)を検討してるのですがそれ以外でスマートなやり方があればご教授ください。 public struct Struct<TValue> where TValue : struct //int or float { TValue value; public Struct(int a) // (int and float) or string { this.value = (TValue)a; } }
625 :
624 :2011/03/08(火) 23:57:37.05
× 対象の型とTValueは常に等しい型になります。 ○ 特定の型(int/float)とTValueは常に等しい型を想定してます。
public Struct(TValue a)じゃダメなのか?
627 :
624 :2011/03/09(水) 01:00:59.79
>>626 返答ありがとうございます。
本当にやりたいことは、連動する別のStructSupportで文字列からStructを生成することです。
case:1かcase:2のいずれの場合でも、代入することができないため質問しております。
public struct Struct<TValue>
where TValue : struct //int or float
{
TValue value;
public Struct(int a){this.value = (TValue)a; /*castが不正*/}
public static From(string s){return new Struct(int.Parse(s));}
public TValue Value{set{ this.value = value;}}
}
public struct StructSupport<TValue,TValueConverter>
where TValue : struct
where TValueConverter : TypeConverter,new()
{
public void Create(string s)
{
//case.1
var v1 = new Struct();
v1.Value = (TValue)(new TValueConverter()).ConvertFrom(s); //castが不正
//case:2
var v2 = TValue.From(s);
}
}
よく分からんが、キャストを制約に入れるのは無理だったかな・・・
629 :
624 :2011/03/09(水) 02:15:58.65
>>628 自分が示していた
>>627 のコードで動くようなので、これをそのまま使うことにしました。
コンパイルせず早合点でソースだして失礼しました。
実際には他のTValue!=structの制約で、作業していたため、気づきませんでした。
>>628 さんのアドバイスありがとうございました.。そして失礼しました。
これコンパイル通るの?
631 :
624 :2011/03/09(水) 02:38:07.29
case::1がとおるようです。 いったんobjectにキャストしてしまえば良いようでした。 制約もなにもないですが。
>>623 例えば、classは何も書かなければinternalでinternalと書いた場合もinternalなのではないでしょうか?
クラスのメンバも何も書かなければprivateでprivateと書いた場合もprivateなのではないでしょうか?
間違えて理解してますかね?
>>632 デフォルトがinternalかどうかしらんが、internalと書いてあればそれに違いない
だからデフォルトでも書いた方が良い、と本に書いてある通り
書く人は書くだろうし、書かない人は書かないだろう
書く人と書かない人とどちらが優勢かなんて、お前が統計でもとって調べてくれ
書いて損はしないのだから書けばいいという発想
統一されてればどっちでもいいよ。
C#の全体を知るにはどうすれば良いんですか? Objectから始まって全体の枝が見える解説付きの表は無いんでしょうか?
>>632 Javaはメンバのアクセスレベルを省略すると
internalに似たアクセスレベルになるという糞仕様なので
その慣習があるからC#でもprivateは省略せずに書くことが多いんだと思う。
C#ではデフォルトでprivateだから書かないことにするならそれでも全く問題ない。
周りに合わせればいいよ。個人ならお好みで
publicにしてもprivateですがどうやってアクセスのintだとしてら 例えばプロパテュにコンストラクタで入れるなら外部からは でも{get}と{getprivatesett}は違うんですほね」。教えて
ワロタ
in english please
パチュリーをpublicにすればおk
エキサイトで再翻訳かけたような文章だなw
C#を今勉強しているんですが ・変数、配列 ・アクセス制御 ・クラスとインスタンス ・メソッド ・条件分岐 ・反復処理 ・キャスト変換 ・コンストラクター ・プロパティ ・継承 ・例外処理 ・列挙型、構造体 あたりまではわかるんですか、 静的メソッドインデクサー、ラムダ式、デリゲートとかになると頭が混乱してしまい、覚えることができません。 またC#2.0ではこういう機能が、C#3.0では型推論がとかでバージョンの違いで覚えることも多くて大変です そこで、こうやって行き詰まったときはどうすればいいか教えてください・・・
仕事じゃないのなら根詰めて覚える必要ないだろう
少しずつ覚えればいいじゃん
648 :
デフォルトの名無しさん :2011/03/09(水) 17:19:55.30
>静的メソッドインデクサー、ラムダ式、デリゲートとかになると頭が混乱してしまい、覚えることができません。 >またC#2.0ではこういう機能が、C#3.0では型推論がとかでバージョンの違いで覚えることも多くて大変です >そこで、こうやって行き詰まったときはどうすればいいか教えてください・・・ 必要になったら覚えればいい 書くソフトによっては使わないだろうし
仕事だけど使ったことない
asってなんで存在してるんですが、どうしてもあってはいけないものだと思うんですが なぜ使ってる人が存在するんですか?
必要だから
>>645 そんだけ覚えたら何でも作れるからとりあえず何か作れ
なぜそういう機能が必要かを理解するのが一番大事
>>650 asがないと、失敗する可能性があるダウンキャストを行うときに if (a is Hoge) foo((Hoge)a);
と二回型チェックが必要になって非効率(キャスト時にも型チェックは行われる)
asは型チェックとキャストが同時に行われるので効率が良い
isでチェックして次にキャストってパターンが多いからでしょうねえ
絶対に失敗しないダウンキャスト(失敗したらバグ)の場合でもasが使われてしまってるのは 確かによく見かける。asだと失敗した時にNullReferenceExceptionが出るので分かりにくい。 asの方が自然に書けるからついつい使いたくなるんだよな。 むしろキャストの方をasに合わせて a to Hoge みたいに書けたらいいのに。
asの方が速いから失敗しなくてもas
ありがとうございます。 asを使わない人ってなんで存在してるんですか?
657 :
デフォルトの名無しさん :2011/03/09(水) 17:44:55.09
nullチェックしないならasは使うなよ。(nullになってもいい場合は構わないが) 失敗しないならキャストの方が速いし、 もしバグで失敗したときにキャストならInvalidCastExceptionがその場で出るが asだと使われるまで例外が出ないから原因を見つけにくい。
Oh...今日まで誤解してた as は is + キャスト相当だと思ってたが is が as + nullチェック相当なのね
>>640 に答えられる人間がこのスレにいないことが分かった
Invalid Syntaxだし
>>659 もうちょっと分かりやすい日本語でお願いします。
無理せず英語でも構いません
ほね語w
this.Closing += (s, e) => loopFlag = false; これはどういう意味ですか? Closingメソッドに行を追加するという意味なんでしょうか? これを複数やった場合、どの追加が行の前に来るんですか?
それはイベントハンドラだ 追加順は保証されない
ちょっとイベントの登録の仕方とかは適当に書いたけど 普段イベントハンドラを書くとこういう感じなるのを超省略(ラムダ式)にしたのがそれ this.Closing += event(hoge) void hoge(object sender,xxxxx e) { loopFlag = false; }
正確にしておこw this.Closing += new ClosingEventHandler(hogeClosing); void hogeClosing(object sender, ClosingEventArgs e) { loopFlag = false; }
テキストからデータを切り出してDBに追加するプログラム作ってるんだとしてら 例えば既にレコードが存在する場合更新にしたいならどうやってDataSet経由と DataAdapter直接は違うんですほね」。教えて
ワロス
必要なレコードだけ取り出して、Exceptで差集合を生成してInsertなりUpdateするのが簡単
ほね」。って何なんだ?
そんな感じでやってみます。ありがとほね
がんばれほね
asってコピーつくっちゃうの? 型チェックだけ?
as…オブジェクトの型情報をチェックして、型が適合すればその参照をそのまま返す。適合しなければnullを返す。 is(参照型)…オブジェクトの型情報をチェックして、型が適合すればtrueを返す。適合しなければfalseを返す。 内部的にはfalseは0でtrueは0以外なので、実質的にはこの二つはまったく同じことをやってるわけ。
0とnullって同じなの? 別物だってどっかでみたんだけど
同じかどうかは問題じゃないの 真偽値をオペランドにとるILの命令は0もfalseもnullも「偽」として評価する
679 :
645 :2011/03/09(水) 21:47:17.89
焦っていました。徐々に理解していこうと思います・・・ 何かつくってみます・・・ 自分のレベルあたりで作れそうなプログラムって何がありますか? あと切り上げについて質問ですが、十の位を切り上げしたいんですが、 例えば1920と数値に対し、切り上げすると2000と言うふうにしたいんですが Math.Ceiling使えばいいことがわかったんですが、どのように使えばいいのかわからないんです
値をdoubleに変換して、切り上げたい桁が小数点第一位にくるようにして、Celingして、元の桁に戻せばいい 数当てゲームでも作ってなさい
681 :
デフォルトの名無しさん :2011/03/09(水) 22:20:58.48
なんでもそうだけど教科書読むより、先に手を動かしてどんどん作ったほうがいい。 それから教科書読むと頭にも入ってくるだろう。
そんな効率の悪い習得方法が成立するのは子供だけだろ。
683 :
デフォルトの名無しさん :2011/03/09(水) 22:30:00.72
>>682 一番効率がいい方法だろ。
勉強でも何でも本読んでる暇があったら手動かして問題解いたほうがいい。
言語の基礎を学ぶのはお勉強でいいけど あるロジックをその言語で実現するにはやってみないとわからないことも多いからなあ それにアナログと違って失敗が許されるんだしトライしまくればいいんだし・・・
で、設計書、仕様書、ドキュメントが全くないコードの保守を 任せられるんですね。わかります。
俺なんか自分で書いたコードも半年経ったらまったくわからん
>>685 そんなのは基礎訓練終わったやつが考えることだろw
それに最近は資料をかっちり作成してから開発する方式じゃなく
作っては顧客に確認してと段々と仕様を詰めるアジャイルなんてのもあるじゃねーか
.netだとソースから資料も興しやすいんだし
つか645は勉強だっつってんだから ドキュメント云々は完全に筋違いだろ
経験上、アジャイル謳い文句にしてる会社は信用しねえ 設計能力がない事を誤魔化してるケースばっかだ
アジャイル謳い文句にしてる会社なんてあんの? Ruby専門か?
>>689 ウォーターフォールの糞さをみてるとわがままな顧客相手の開発なんて
アジャイルの方が向いてると思うけどね
>>679 500足して100で割って100かけろ
>>687 日本のSEは、顧客との確認事項をドキュメント化することからとことん逃げます。
いつも試してみないと、作ってみないと、これが効率いいんですよね
といいますが、デスマーチになった頃には、いつもそのSEはいなくなってます。
これが日本のSEの現実です。
で、動かないコードだけがあって、仕様はソースを見てくれって 言われるんですね。わかります。 そんな仕事ばっかり。
愚痴臭くなってきたから止めようぜ…もう
698 :
デフォルトの名無しさん :2011/03/09(水) 23:26:06.22
それはアジャイルが悪いんじゃなくゼネコン方式が悪いだけだろw
アジャイルって要は、テストとドキュメント化をしない開発手法だろ。
>>699 テストはその場でしながらだろ
ドキュメント化はそりゃできないわな。
要望汲みながら改良重ねてるんだし
プログラマ目指さなくて本当に良かったと思う あんなの病気になってしまうわ 趣味でやってるのが金もかからなくて楽でいい
>>700 そのテスト手法でどうやってテスト品質を保つんだよ?
手抜きするための手法でしかない。方法論として最悪の手法。
顧客から早くテストしろと言われたら、奴隷PGは間違いなくテストを端折る。
1000項目テストは必要なのに数個テストしただけで、
テストしましたって言うPGは腐るほど見てきた。
>>702 日本方式の階層でやるからそうなるんだろw
海外のようにある程度の人間に担当を任せてしまえばいいのに
そうすれば補助的なテスト要員だけ置いてやらせるだけで済むのに・・・
ほね」。
アジャイル→リファクタリング多用→自動テスト完備ってイメージなんだけど違うのか
アジャイル→リファクタリング多用→いくえ不明
郁恵? アイスクリーム?
ユースクリーム?
ほねさ〜♪
rock (obj) { }
ビット処理は簡潔で高速だが、1変数でやるなら整数型の制限を受ける 32ビットなら32個、64ビットなら64個までしか扱えない フラグの数がそれ以下であればこれでいいし、 それ以上フラグがある場合Set<T>に入れるのが普通のやり方だと思う このビット処理は本質的に集合演算と変わらないから うわあ、C#って集合型無いのか ググったら、Dictionaryのキーにするとか、.Netの人は大変そうだわ フラグ処理なら和集合/共通部分は使える方が便利だと思うが
いきなりどうした
.NET4でISet<T>,HashSet<T>,SortedSet<T>が追加された セット使わなくてもLINQがあればIEnumerable<T>の重複を除いてから 和集合や積集合をつくることはできた
714 :
713 :2011/03/10(木) 10:06:51.60
間違えた ISet<T>系が追加されたのは.NET3.5から
すいません、 C#でOpenFileDialogとかSaveFileDialogとかの拡張ダイアログを作りたいんですが、 あれってsealedですよね・・ 作るならWinAPIとかじゃないとダメなんでしょうか? それとも.NET単体で作れるでしょうか? ご教授お願いしますm(__)m
P/InvokeなりC++/CLI経由なりでCOM使わないと無理 WindowsApiCodePackにそんなサンプルが入ってたような
>>716 ですよね・・・
調べてみます。ありがとうございましたm(__)m
なんてね
( ゚д゚)
ほね」。
721 :
デフォルトの名無しさん :2011/03/10(木) 17:13:42.59
こっちかもう一つか忘れたけど変わった捨て台詞が一時期ブームだったけど すぐに廃れたな
>>680 ありがとうございます
やりたいことはできました
数当てゲームは作ったことあります・・・・
Hit&Blowをどうぞ
TreeViewを使って AAAAAA □xxxxxxxx □xxxxxxxx BBBBBBB □xxxxxxxx □xxxxxxxx CCCCCCC □xxxxxxxx □xxxxxxxx みたいな感じでルートの項目にはチェックボックスを付かないようにしたいのですがどうやればいいのでしょうか?
726 :
725 :2011/03/10(木) 20:00:37.75
すみません。スペースが消えたのでもう一度 AAAAAA □xxxxxxxx □xxxxxxxx BBBBBBB □xxxxxxxx □xxxxxxxx CCCCCCC □xxxxxxxx □xxxxxxxx
継承ハンドラでオーバースウェイすればできる
また再翻訳か
729 :
725 :2011/03/10(木) 20:50:49.71
>>727 すみません。オーバースウェイっていうとどういうものでしょうか?
似たような語でググってもでないので。
もう少しヒントをいただけないでしょうか?
730 :
デフォルトの名無しさん :2011/03/10(木) 21:14:58.98
>>726 自分でツリービューを作るかオーナードロー関連でなんとかするくらいしか思いつかないな
チェックボックスの表示非表示に関しては細かい制御はできないようだし・・・
WPFのTreeViewなら普通にできるよ WPFで作ってElementHostで貼れば
C++でも普通にできるよ
WPFはやめたほうがいい。
WPFが標準になるけどね 組み込み機器のプログラムもWPFになるよ
735 :
725 :2011/03/10(木) 22:09:24.35
>>730 やっぱりオーナードローしかないんですか。いろいろ面倒そうなイメージなので避けてましたが調べてやってみます。
ありがとうございます。
>731
WPFの方が高機能なんですね。でもWPFは使えないので今回はその方法はあきらめます。
>732
やっぱりそうなんですか。C,C++で作られたやつは725のようなTreeViewを使ったアプリが結構あるからもしかしたらとは思っていたのですが。
WPFがXPにちゃんと対応していたら みんなスムーズに移行できてたのに
なんで化石にあわせなきゃいけないんだよ
あと三年でサポート切れるのに…
WPFが便利なのは認めるが標準になるまえに消えるだろう
なんでゴミOS限定のアプリなんか作らなきゃならないんだよ。
なぜ今更XPみたいな糞OSの話を
WPFが主流になったら敷居高くなっちゃうな
WinFormsと同じ使い方をしている限り別に敷居は高くねえと思う
別にイベントハンドラでゴリゴリでも出来るだろ
MSのこれまでのパターンだと主流になることはない。
適当言うな 今や組み込みOSもWPFで書くのが一般的になっている
今のところMeやVista、J#、.net1.1みたいな位置だもんな。
その組み込みOSは、組み込みOSとして一般的ではないだろう?
WPFスレでやれ。 なぜいつもここに出張してくる?
だったらWinFormsの話だって本来スレ違いだ
WPFは人気があるから専用スレがあるのだ。 だからWPFスレでやれ。
WPFわかんないならほっとけばいいのに 名前が出ただけで文句言わないと気がすまない人がいるね そんなに怖いの?
ピッチャーびびってる
WinForm(笑)
歳を取るとついていけなくなるからな
WPF、Silverlight、ASP.NET、Mono、LINQ,...はあるのにWinFormsがないってのもおかしな話だな。 WinFormsも専用スレ作っていいんじゃね。
未だXPは6割のシェア獲得しているが?
まあ他のはある程度わかってる人が使うものだけど WinFormsがわからない人はそれ以前にC#が全く分かってない人が殆どだからなあ レベルの高いWinFormsの質問なんて見たことがない
未だXPは6割のシェア獲得しているが?
専用スレだからってレベルの高い話をしないといけないわけじゃないよね。 WinFormsスレにC#が分かってない人が来たらこっちに誘導すればいい。 過去スレ読んだらよくある質問ぐらいは解決するかも って程度に情報が集まるけど ふらっと みたいに雑談のノイズが多いとこじゃそれも期待できない。
未だXPは6割のシェア獲得しているが?
コピペ君って略
>>762 そうやって現実から目を背けてるといいよ
XPのネガキャンか。
分類パラノイアにしか思えないな。そこに合理性が感じられない。 何のために分割する必要があるんだよ。 ふらっとスレの存在意義すら疑問に思ってる人も多いのに。 こういう人に限ってコードの分割統治は苦手だったりしそうだなw
完全に板違いだが一応言っておくと
Net Applicationsの調査によると
XPのシェアは昨年10月に60%を割り込んだ。
前年の同時期に70%あったので1年で10ポイント減だね。
>>757 ,761,763
そうやって現実から目を背けてるといいよ
>>765 >ふらっとスレの存在意義
隔離スレとして立派に機能してるじゃないか。
WPF厨にとってはもXPのシェアが減らないことが許せないのだろう? 自分を否定されてるのと同じだからな。
もう頭の容量がいっぱいだから新しいアーキテクチャを増やさなくていいです
6割のシェアがあると言ってたXP厨はソース出せよwwwww
そのうち何%が海賊版なのか気になるな
完全に板違いだが一応言っておくと
Net Applicationsの調査によると
XPのシェアは昨年10月に60%を割り込んだ。
前年の同時期に70%あったので1年で10ポイント減だね。
>>757 ,761,763
そうやって現実から目を背けてるといいよ
773 :
デフォルトの名無しさん :2011/03/10(木) 23:56:16.44
どうでもいいことでスレ延ばすな
隔離スレらしいからどんどん雑談しろ。
java最強伝説
元くだスレの貫禄を見せつける
プ板でやれ
ネタ、ネタ!
_r'ニ二> 、 _,. :'´ ̄: :`ヽ\::.::`ヽ _,.:'´: : : : : : : : : : ヽ ';:.::.::ハ ∠,仁._‐-、 : : : : : : : : : :}_j::/::.::i , '´ ̄¨´‐.、 `y'^ー、: : : : : : :/'イ::.::.::{ ,.、 / . : : Y } }_;.-'TT´::::::.::.::.:;ノ _,.f´__,\ .′ : : :}v .i`ト-く._!:::::::_;.イ--、―¬;.:.:.:.:_:.:.:\ . l . : :. .:!| !! /イ ̄ / j_,. -亠'¨⌒ヽ:_ノ ! { : :. |:.:,! ! | `ー'´ ヽ.__,,.. -‐'´ }.:}. :.l :.: .!:.i r' , 、〉 (_,ノ_;{:...:.:.:!: .:.:. .ハ:{_`T~^i f彡Y:.:.}:|:.!:.:!:{:イ'` | ! <またWPFで荒れてる。わざわざ隔離スレ作ったのに。 ⌒j,ィ:.{:!:ハ:|:!{{| j ! ,レ^ト! }川`ー/,. { }n.n r} ´ ゙′
またWPF厨が沸いたのか
WPF厨というよりWPF叩き厨
そしてWPFアンチが沸くと
DataSetって何?
↑ 対 立 煽 っ て 荒 ら し に 利 用 さ れ て る の に 気 付 か な い 馬 鹿 共 ↑ 最小の労力でうまく荒らすにはこうやりゃいいって手本だな。
786 :デフォルトの名無しさん:2011/03/11(金) 00:19:14.73 ↑ 対 立 煽 っ て 荒 ら し に 利 用 さ れ て る の に 気 付 か な い 馬 鹿 共 ↑ 最小の労力でうまく荒らすにはこうやりゃいいって手本だな。
>>785 業務プログラミングで馬鹿の一つ覚えで乱用されるクラス
未だにシェアの半分を占めるXPに目を背けるの?
6割→半分www
未だにシェアの何割かを占めるXPに目を背けるの?
未だにシェアの何割かを占める2000に目を背けるの?
未だにシェアの数‰を占める3.1に目を背けるの?
しかし、カトラーの開発したOSはバケモノだな。 10年以上経っても今なお使い続けられるって。
それをすてるなんて とんでもない!
>>794 今はWindows Azureやってるんだっけ?
>>792 >>793 2k…2.6‰
98…0.3‰
3.1…0.1‰以下で調査結果書いてないよ…。
3.1はともかくとして98も数‰にすら届いてないってことは、糞#が消えるのも時間の問題
1%だからってばかにするんじゃないよ 日本のテレビドラマの視聴率とはわけが違う 世界規模でのシェアだからな 2kもサブマシンとして未だに使っている人は もっと多いはず 多分40%ぐらいはいる 7なんて展示品で使われているだけ
ゴミをネットに繋いでおいて威張るな くっせー体臭で繁華街歩いてるのと変わらん
なんてね
ほね」。
糞#
動的に作成するチェックボックスを 最初からチェックされた状態にするにはどうすればいいですか?
>>807 private void Form1_Load(object sender, EventArgs e)
{
CheckBox cb = new CheckBox();
cb.Checked = true;
this.Controls.Add(cb);
}
表示する前にChecked=trueしておけばいいのでは
810 :
807 :2011/03/11(金) 12:19:06.05
ボタンを押すとファイル舐めて その数だけチェックボックスをつくってます checkedプロパティでいいんですね ありがとうございます
最大値や最小値を決めて、足し算や掛け算してもそれ以上(以下)の数にならないintのような自作クラスを作りたい たとえばそのClassをMyClassという名前にすると MyClass value = 6; value.MaxValue = 100; value = value + 50; // ここでvalueは56になる value = value +50;//ここでMaxValue以上にならないので100になる value = 300;//100を超えたので100になる value = 20; value = value * 10//100を超えたので100になる みたいな感じです! 作りかたを教えて下しあ
つプロパティ
セッターゲッターで
そんな使いにくいクラス使いたくない
設計見直せ
プロパティの実装として不適切 範囲外なら例外投げろ
システムメニューを開くにはどうすればよいでしょうか? やりたいことは、Altキーを押したときにシステムメニューを開きたいのですが フォームにOnPreviewKeyDownをオーバーライドしてAltキーが押された時にAlt+Spaceキーを送る方法を 考えたのですが、フラグを使わないと無限ループしてしまい、もっと上手い方法はないでしょうか?
本人が例外として扱う気なさそうなのに例外投げろって酷いw
例外は投げるもの
プロパティは不正な値が設定されようとしたら例外を投げて値は前のままで変更しないもの やるならSetValueのようなメソッドにしとけ
まあ他人がどうこういうことじゃないな
他人じゃないし
事実婚か・・・
826 :
807 :2011/03/11(金) 22:00:17.49
確認したらcheckedlistboxでした… 同じ手法で行けるのかな?
オーバースウェイすればおk
メソッドをメソッドの引数として渡して使いたいのですがどうしたら良いのでしょうか? public void a(){ c(b) } public void b(){ } public void c(??? func){ }
デリゲートにしないとだめなんじゃないの?
Action
くしゃみかよ
832 :
828 :2011/03/11(金) 23:21:38.02
class mainのクラス名が不定の場合はどうしたら良いのでしょうか? class main { public main() { lib l = new lib(); l.lib_a(戻ってきて!); } public void 戻ってきて!(string path){ //ここだけはclass mainの方で処理したい } } class lib { public void lib_a() { while(true){ 戻ってきて!("path"); } } }
>>832 class main
{
public main()
{
lib l = new lib();
l.lib_a(戻ってきて); //メソッドを渡す
l.lib_a(() => { /*ここだけはclass mainの方で処理したい*/ });//使い捨てならこう書いてもよい
}
public void 戻ってきて(string path){ /*ここだけはclass mainの方で処理したい*/ }
}
class lib
{
public void lib_a(Action action) { while(true){ action("path"); } }
}
「帰ってこいよ」って金沢明子じゃないんだな
Action<string>だな
NyaRuRuさんって人はすごいんですか?
ユーザーがメソッドを書いたテキストファイルを 読み込んで実行するようなプログラムって どのようにすればできますか?
コンパイラを実装する気なのか?
>>838 C#が使えるようにしたいならCodeDOMだが問題が多くてお勧めできない
スクリプトを組み込みたいならIronRubyかIronPythonを使うのがいいよ
>>873 まさにこういうネタが大好きな人
知識はすごいと思うけど道具が目的化してる感じ
>>839 >>840 C#じゃすんなりできないってことですか
そういうことをしているフリーソフトがあったので
どうやるのかと思ったんだけど
やっぱその人相当技術力あるんですね
rubyやりたいとおもってたし、IronRubyやってみます
違う違う C#で書いたソフトにIronRubyを組み込むんだよ C#からIronRubyを呼び出して、rubyスクリプトを実行するの
843 :
828 :2011/03/11(金) 23:47:23.69
みなさん、ありがと
なんとかなりそうです
Actionは使った事が無かったので迷いましたが
>>836 さんので全てが繋がりました
>>842 ほっほー
それだとコンパイラを独自に書かなくて済むってことね
どうもありがとう
845 :
デフォルトの名無しさん :2011/03/11(金) 23:49:58.88
>>844 その方法でいいのならIEコアにjavascriptを実行させるとかできるんじゃね?
誰かC#Script作って
>>845 それだ!
多分そんな感じでやってるんだな
そのソフトはjavascriptで書くように指示しているし
JavaScriptならv8とかspidermonkeyとか組み込んでるんだろ やってることはIronRuby組み込むのと一緒 わざわざブラウザ使ったりはしてないと思う
849 :
デフォルトの名無しさん :2011/03/12(土) 00:07:25.02
外部の部品組み込むのなら標準でついてる部品にナビゲートさせる方がよくね?
インストールされてるIEのバージョンの影響を受けてしまう
protected void Button1_Click(object sender, EventArgs e) { string[] usercheck = new string[2]; String data = Server.MapPath(".") + "\\user.txt"; StreamReader sr = new StreamReader(data, System.Text.Encoding.Default); while (sr.Peek() >= 0) { usercheck = sr.ReadLine().Split(','); if (usercheck[0] == TextBox1.Text && usercheck[1] == TextBox2.Text) { sr.Close(); Response.Redirect("WebForm2.aspx"); } else { Label1.Text = "error"; } } sr.Close(); } userdata.txtにユーザ名、パスワードをcsv形式で保存しておき、TextBox1にユーザ名、TextBox2にパスワードを入力してもらうウェブフォームを作成しました このログインチェックをSQLインジェクションのような方法で突破は可能でしょうか? TextBox1に"を入力した場合、TextBox1.Textでは"\""となり文字列を表す""を外せないので安全だと思い作成したのですが
WPFはクサムルが書けないとキツイ
WPF叩き厨
未だにシェアの半分もあるXPを蔑ろにしたからWPFは失敗したんだよ
WindowsNTを蔑ろにするな
P/Invoke
>>851 そのコードなら心配している件の内容自体がかなり的外れ。
SQLインジェクション的な何かについては、まったく問題ない。
ユーザの入力を扱う箇所ということで、SQLインジェクションが気になったんだろうが
なぜSQLインジェクションという問題が発生しえるのか調べなおした方がよい。
アヘ顔
車輪の再発明は悪
SQLインジェクション以前にパスワードをCSVにそのまま保存するのは…
車輪板でやれ
お前ら叩くだけで質問には答えてやらないんだな・・・
civスレかと思った
>>859 お前は今までに作ったロガーの数を覚えているのか?
これまで作られたコンパイラにあやまれ
今使ってるOSに謝れ
改めて作る意味が全く無い程に、単純且つ洗練された物ならともかくとして 場合によっては、改良を目的として作るのはアリだよなあ。 (勿論、学習目的で作るのもアリ) でも、ロガーみたいなのは標準ライブラリにしてくれても良いかも。
ログ関係はSystem.DiagnosticsとVBのFileLogTraceListenerで殆どカバーできるんだけど、 そのあたりの使い方をちゃんと勉強してる奴が少なすぎる
自分はちゃんと勉強してますアピール
自分の勉強のために、Hit&Blowを作っているんですが 123以上乱数を発生させて同じ数字が重なる場合(例えば133とか311等の数字)の場合、 もう一度乱数を発生させて重ならない数値が出るまで繰り返す場合、どのようにして数字が重なってるか判断すればいいですか?
872 :
デフォルトの名無しさん :2011/03/12(土) 23:28:27.28
>>871 3桁の数字を1つ生成するのではなく、
文字を3つ生成すると考えた方がいいよ
>>871 最初から重ならないように作ればいい
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]のリストを用意して0〜(リストの要素数-1)の乱数を生成
その乱数をインデックスとしてリストから数字を取り出して、その数字をリストから削除
それを必要な桁数だけ繰り返す
3桁の数を桁で分ける
int a, b, c;
int i = 166;
a = i / 100;
b = (i - a * 100) / 10;
c = (i - (a * 100 + b * 10));
Console.WriteLine("{0}, {1}, {2}", a, b, c);
でも今回のケースなら
>>874 の方法がいいな。生成の段階で重複を出さないやり方。
生成する数値だけでなく、入力される数値も重複チェックするなら 重複チェックルーチン作っておくべき
重複チェックメソッドを作ればいいんじゃないかな
LINQでシャッフルさせてみた。テストはしてない public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source) { var random = new Random(); var query = from q in source select new {Order = random.Next(), Item = q} into p orderby p.Order select p.Item; return query; }
LINQ病にかかるとこうなってしまうという例
これはひどい。LINQが嫌われるわけだ。
>>874 なら
public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source) {
var buf = source.ToList();
while (0 < buf.Count) {
var index = random.Next(buf.Length - 1);
}
884 :
883 :2011/03/13(日) 00:44:49.33
すまん public static IEnumerable<T> Shuffle<T>(this IEnumerable<T> source) { var buf = source.ToList(); while (0 < buf.Count) { var index = random.Next(buf.Length - 1); yield return buf[index]; buf.RemoveAt(index); } } かな 書き捨てならLINQでもいいがメソッドにするならどう考えてもこっちだな
なんかなー、こういうのはRubyの方がすっきりするね
手段が目的化してるいい例 本人もそれを自覚してるから「〜てみた」とネタを装うことで逃げを作っている
いつもそうだ!いつもそうだ!いつもそうやって… LINQは何やってんです!?そんな所で!!
まぁあれだな、何に向いていて何に向いていないのかが見抜けないと(LINQを使うのは)難しい
Linq使うにしてもリストから毎回Removeするのはちょっとw
RemoveAtならO(1)でしょ List<T>のインデックスの調整が行われるだけでパフォーマンス的には全く問題ない
892 :
891 :2011/03/13(日) 01:08:31.46
ああすまん寝ぼけてた 明らかに間違ってる
LINQのせいで流れが止まったじゃねーかw
要素数が多ければ削除時のメモリのコピーがあるからLINQの方が速くなるか? そんな状況なら構造体のList<>に入れて乱数振ったフィールドについてソートするほうがいいとは思うけど
別にLinqは関係ないだろ。単にアルゴリズムの問題
Linqの方が速くなる状況なんてあるの?
Linqタウン
>>そんな状況なら構造体のList<>に入れて乱数振ったフィールドについてソートするほうがいいとは思うけど
>>880 がそんな感じかと。多分
880のコードはLINQ病とかじゃなく、単純に酷い。
何やってるのか全然分かってないで書いてる。
シャッフルをLINQで書くなら
var rand = new Random();
var shuffled = source.OrderBy(_ => rand.Next());
の二行だけで済むのだから。
書き捨てならこれでいい。
パフォーマンス的には、シャッフルの場合ソートの必要性はないので
外部メソッドとして用意するならFisher-Yatesでやるのがいいかと。
http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle
え?w
もうLINQ厨は帰れよw
例外さん臭・・・
System.out.println
Linq l = new Linq("from x in xs where x.box select x.x"); var ocel = l.DoSomthing(); ocel.WriteIntoFileStreamUsingByFileNameString("out.txt"); みたいなことができれば便利なんだがなぁ
eval的な何かがいるな
>>905 文字列からのLinq to Objects実行ならDynamicQueryというものが一応ある
>>905 この場合、xとかそのメンバとかはレフレクション的な奴で。か?
>>905 そこまでするなら
Linq l = </ from x in xs where x.box select x.x />;
とできた方が、IDEの支援も受けることができるな。Linq部分は既存の処理系が使えるし。
やねうらお
日本が終わろうとしているときにプログラミングなんざやってられるか 節電のためにPCの電源ひっこぬけ
確かに簡単な見積もりもできないようじゃプログラミングやめた方がいいな
Consolas評判がいいから使ってみたけど 字間が飽きすぎてて逆に見づらいね 一文字一文字見比べてチェックするような場合はいいかもしれないが・・・ Tahomaの方が締まってて、全体をパッと見たときに どんなコード書いているかわかりやすい
いやいや、比べるものおかしいでしょ、それ。 Consolas : 固定幅フォント Tahoma : プロポーショナルフォント
で、みんな、固定と可変どっち使ってるの?
916 :
デフォルトの名無しさん :2011/03/13(日) 12:08:53.01
固定・・・おっさん プロポーショナル・・・それ以外
917 :
デフォルトの名無しさん :2011/03/13(日) 12:38:35.87
そう
むしろプロのプログラマでPフォント使ってる人っているの? まあ昔みたいにコメントにAAでテーブルとかブロック図とか書いたりする 必要性はほとんど無くなってきてるから、等幅使う必要性が減ってきてるのは 確かだとは思うが。 でもPフォントで↑↓カーソル移動させると面白いことになりそうだなw
プロポーショナルフォントの一番の問題はスペースが見づらいこと
俺おっさんだ
まだ若輩だけど、等幅の方が好きかなー MS Gothic 辺りで良いっす、慣れてるし
重度のおっさんはエクセルで方眼を作って1セル1文字をはじめます
固定派…文字を文字として認識する。コードの読み書きが遅い。老眼。無能。 プロポーショナルフォント派…文字を絵として認識。コードの読み書きが速い。イケメン。有能。
>>923 前に、英単語は先頭と末尾だけ一緒で残りの順序入れ替えても同じ単語と認識しちゃうって研究出てたよな。
文字を絵として認識したら誤字だらけになりそう。
C#はIntelliSense前提だから大した問題にならなさそうだけども。
プロポーショナルフォントでコーディングw
読むのにはいいかもしれんが書くのはキツい 英単語とかよりも、プロポーショナルフォントは記号が潰れて見づらい
普通は言語にかかわらずプログラミングには等幅だと思ってたけど プロポーショナル使っている人もいるのね
C#は変数名長くしたくなるからプロポだな
Consolasだと○がoに見えるからやだ
記号が少ない言語ならプロポーショナルもアリだと思う C系は無理
プロポーショナルだと矩形選択はどうなるの? ガタガタに選択されるん?
>>932 うん
でもPでガタガタなのは大抵等幅でもガタガタ
まあ矩形選択なんて年に何回使うんだって気もするけど
矩形選択したいときは秀丸にコピーして
これだからWPF厨は
秀丸でMS ゴシックにして選択してる
じゃあコンソールもMSゴシックにすりゃいいじゃん
MSゴシックって、実はVista以降微妙に字形が変わってなんか見難くなってるんだよね。 まあもう使わないからどうでもいいけど。
WPFみたいにグラボで描画しているから ぼやけるんじゃなかったか
全く関係ないよ WPFもWPF4はほけないよ(もちろんXPでも)
Meiryo UI が完全等幅なら良かったのにー
今度はPフォント厨か
>>945 気付いてないようだから一度だけ忠告しとくけど「〜厨」なんて言葉を
使うことに何の抵抗も感じない君みたいのが一番ガキ臭いんだよ。
そもそもこうい雑談ってどうなのって議論があるが、仮に雑談を是とするとしても
君みたいなガキ臭い奴ははっきりいってただ鬱陶しくて邪魔なだけ。
>>946 厨を使いたがるのは初期の2ちゃんねら
つまりおっさんだよ
今度は946厨がうぜえな
>>953 気付いてないようだから一度だけ忠告しとくけど「〜厨」なんて言葉を
使うことに何の抵抗も感じない君みたいのが一番ガキ臭いんだよ。
そもそもこうい雑談ってどうなのって議論があるが、仮に雑談を是とするとしても
君みたいなガキ臭い奴ははっきりいってただ鬱陶しくて邪魔なだけ。
ほら食いついてきたw
「食いついてきたw」も聞き飽きたなぁ
LINQ!LINQ!
LinqはLinqスレへ…と思ったけどないのか
こうい雑談
ほね」。
あなたとは違うんです じゃないけど福田元総理が言いそうな台詞がちょっと前にスレであったよな
トイレブラシを口に突っ込まれるのだけは避けたい
LINQは理解されないなw
一番簡単そうな
>>873 さんのを参考にして、一桁ずつ乱数を生成して
他の桁と比べて同じ数値だったら、もう一度乱数を生成しなおすと言うふうにしました
そして最後に文字列とすることにしました
あともう一つ質問なんですが、hit&blowの仕様で文字列を検索し、その文字列の位置も取得しなければいけないんですが
文字をバラバラにするメソッドってないですか?
"236"とあったら"2" "3" "6"というふうにしたいんです
インデクサ、Substring、IndexOfあたり
やっぱNyaRuRuさんは天才なんだね
自作プログラムにマウスが操作されているかのように思わせる (実際のポインタは移動してなくてもが移動したときの処理をさせたり、クリックされてなくてもクリックされたときの処理をさせたり) にはどうすればいいですか?
もー!いけない子ね! Win32APIスレに行きなさい!
Func<Form, bool> pred = x => !(x.ShowInTaskbar == (null == null)); として、pred(form)が真となるようなformのウィンドウハンドルを取得するにはどうすればいいですか?
無理
>>970 本当に操作されたときに呼ばれるイベントハンドラを
自分で呼べばいいんじゃないかな
>>975 1〜9で重ならないように3桁生成したら必然的に123以上になるだろ
C#もLINQが来てから腐りだした ラムダ式が作られてOCamlやScalaにこぞってマネされてた時期が最盛期だったな
ラムダ式もLINQもC#3.0で導入されたんだけど… delegate(int x, int x) { return x + y; }が最高だったと?
つまり最盛期なんて無かったって言いたいんじゃないかな
10年たってもC#製のアプリってないよね
ほら食いついたw
未だに合わせて90%のシェアを誇るC++とXPを蔑ろにするからMSはだめになった
ほね食いついた」。
っていうかWPFの糞ムルとか時代逆行もいいとこだは
あれはGUIデザイナーを雇えるところしか意味無いな
publicにしてもprivateですがどうやってアクセスのintだとしてら 例えばプロパテュにコンストラクタで入れるなら外部からは でも{get}と{getprivatesett}は違うんですほね」。教えて
立てれるかな
LINQって配列とかコレクションをいろいろできる機能でしょ
LINQアレルギーの奴って何年も前で思考停止してんな
LINQ病の奴って手段が目的化してんな
こんなスレでもスレッド勢いだけはこの板でトップだな
C₫
次スレ立てんかい
997 :
965 :2011/03/14(月) 02:11:17.02
このスレでLINQ書かれたらいじってやるのが礼儀だからな
>>997 LINQ最大限に使ってhit&blow
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。