ふらっとC#,C♯,C#(初心者用) Part82
3 :
デフォルトの名無しさん:2011/12/14(水) 20:47:22.92
質問です。
C#のプログラムでWebカメラの遠隔操作をしたいと思っています。
しかしググろうにもプログラム初心者で、何と調べたら良いかも分からない状態です。
【PC1】------【PC2】---(USBケーブル)---Webカメラ
---(USBケーブル)---基盤(?)---サーボモータ
というような環境になっています。
【PC1】から、【PC2】に接続されているWebカメラの映像を見ながらサーボモータを制御したいです。
現在は、【PC2】からサーボモータを制御する事はC#のプログラムで出来ています。
【PC1】と【PC2】を接続する物はLANケーブルかUSBケーブルのどちらか簡単に出来る方にしたいと思います。
使用している基盤(?)とサーボモータは↓
http://www.robotsfx.com/robot/iIF12.html 【PC2】からサーボモータを制御しているプログラムは↓
http://www.robotsfx.com/robot/robohow/RoboHow140/RoboHow140.html 大分分かりづらい説明ですが、残り一ヶ月以内に完成させないとリアルに人生\(^o^)/オワタ状態になりそうなのでよろしくお願いします。
質問等ありましたらよろしくお願いします。
在日の戦略にひっかかり、全ての間違いが始まった2009年 夏
|:::::::::::::;;;ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
|::::::::::( 」 < 民主になればこの世はバラ色、政権交代!
ノノノ ヽ_l \______________
,,-┴―┴- 、 ∩_
/,|┌-[]─┐| \ ( ノ
/ ヽ| | 在 反 | '、/\ / /
/ `./| | 日 日 | |\ /
\ ヽ| lゝ | | \__/
\ |  ̄ ̄ ̄ |
| ┬ |それでも懲りない日本人、韓国民団総理支持率35%w早く目を醒まそう!
ネトウヨ脳の恐怖、まで読んだ。
7 :
デフォルトの名無しさん:2011/12/14(水) 22:21:29.03
>>6 WCFで検索してみましたが何となくはわかりました。
手元にあるC#の本で、ASP.NETの解説がされているのですが、それでは代用できないでしょうか?
HTTPCPを実装する奴がいるくらいだぜ
ASP.NETでも訳ないわ
ASP.NETで調べていると「silverlight」というのが出てきたのですが、映像配信には必要なのでしょうか?
>>9 .netつかったAdobeのFlashみたいなもんだ。
・【PC1】WCF/ASP.NETでPC2に接続してストリームを開く
・【PC2】Webカメラから定期的に画像をキャプチャ
・【PC2】キャプチャした画像を連結JPEG形式でストリーム/ジェネリックハンドラーを使って送信する
・【PC1】1フレーム分送られて来たら表示を更新する
真面目に動画をエンコードして配信する方法は知らん
12 :
デフォルトの名無しさん:2011/12/14(水) 23:00:00.81
LANケーブルで接続するとなると、【PC2】にサーバーを設置する必要があるのでしょうか?
サーバー設置の経験が無いので・・・
サーバーも使わずにASP.NETの本持って何してんの?
アホ?
そりゃPC2は接続を待ち受けないといけないから絶対にサーバーがいるわな
とはいってもWCFとかのサーバーは特に設定しなくてもプロセス内で起動できる
ASP.NETはIISを構成しないといけないんで段違いにめんどくさい
ASP.NET諦めるのが最良のプロセスだと思う
怖いんだけどさ
ブラウザで操作できなければならないとか言う要件隠してないよね?ね?
>>9 DRM付きの動画配信したり、Smooth Streamingみたいな高度な仕組み使いたかったら必須。
ただ単に mpg とかのファイルをサーバーにおいて、あとはご自由にでいいんだったら別に要らない。
18 :
デフォルトの名無しさん:2011/12/15(木) 00:10:01.10
>>16 そういう縛りはありません。C#という決まりしかありません。
>>14 今日買ってきたC#の本にASP.NETの解説が載っていたので、これは使えるかな?と思った次第です。
素直にWCFで進めていきます。
俺ならPC1からPC2遠隔操作してごまかすけどな
pcanywhere入れて遠隔操作、
一ヶ月ぶんのキミに支払われる無駄なお給料を考えたら
\1万程度の支出なんて屁とも思わんだろう・・・
屁に失礼だって?!こりゃ失礼。キミは屁みたいなもんだ。
22 :
デフォルトの名無しさん:2011/12/15(木) 01:12:04.49
指定したソースファイルに定義された名前空間やクラスの一覧を取得したいのですが、
こういった処理ができるAPIってありませんか?
無いようならソースファイルの文字列を、ゴリゴリ解析して取得するつもりです
cscに突っ込んでアセンブリにしてリフレクションで読むとか
CodeDom
Install-Package Roslyn
総相 川端達夫 帰化人。 在日韓国人法的地位向上議員連盟
法相 平岡秀夫 帰化人。 在日韓国人法的地位向上議員連盟
文科相 中川正春 在日韓国人法的地位向上議員連盟
厚労相 小宮山洋子 帰化人。 在日韓国人法的地位向上議員連盟 自身の選挙区の太平建設と談合
国家戦略相 古川元久 パチンコ協会政治アドバイザー
>>20 私も最初はそれを考えましたが、やはりどうやってもバレてしまいます。
だれにばれるンだよ誰に
プログラム初心者が
>>3を1ヶ月で完成させないと人生オワタになるってどういう状況なんだ
進級でも掛かってんじゃないの
卒論辺りだろ
高校の課題研究です。
最初は遠隔操作を考えましたが、担当教師に「遠隔操作のプログラムも自作ならいいけど?」と釘を刺されました。
そんなんで人生終わるなら俺の人生なんて5000回は終わってるな
まあ実際終わってるんだけど
そもそも課題が出来ないのなら、その程度のレベルってこった
そのレス何かの役に立つのか?
36 :
デフォルトの名無しさん:2011/12/15(木) 16:58:17.91
じゃあここの奴らは全員落第だなwww
みんな教えられないフリしてやるなんてやさしーのな。
ネットワーク関係はSocketとかTcpListener等で検索かければいいと出るだろ。
Webカメラの映像の取得がめんどくさかったら画面のスクリーンショットを取ってそれを送信すればいいんじゃない。
Webカメラの映像を取得するプログラムが自作なら簡単だとは思うけど。
>>39 そんな説明で問題の原因が分かる奴はエスパーだ。
>>39 最初の表示直後に再表示の処理を入れてみたら
>>40 今ソースが手元にないもので。
サイト以外でやっていることは、任意のファイルを選択して読み込む操作くらいなんですが
>>41 恐らくそれで解決するとは思うのですが、何故そうなるのかなと思った次第です
とりあえず明日試してみます
とにかくソースだしてくりゃれ
IEコンポーネント使って簡易ブラウザつくったんですが
あるサイトにいくとFlashPlayerインストールしてみてねって言われてしまいます
FlashPlayerはインストール済みなんですが、なにが原因でしょうか?
どうすれば見れるようにできますか?
32bit版しか入ってないとか
>>45を補足すると簡易ブラウザってターゲットをx86にしてるかどうかだね
32bit版Flash Player入れてるのにメッセージでるってことは
64bit版のIEコンポーネントが動いてて64bit版のFlash Playerを要求してるのかも
ちなみにOSの種類と簡易ブラウザのターゲットは何?
OSはXP、32bit
ターゲットはx86です
あるサイトに原因がある。あるサイトに原因がないならマに知恵が無い。
あるサイトを教えないなら、あるサイトを見れない。
49 :
デフォルトの名無しさん:2011/12/16(金) 19:58:53.19
SVNぐらい強力なバージョン管理機能がほしい
Visual Source Shredder使えよ
シュレッ…ダー?
間違ってはいないな
サワキちゃん?
54 :
デフォルトの名無しさん:2011/12/16(金) 22:06:37.07
git派ですから…
>>47 ブラウザのバージョンとその問題のあるサイトは晒せる?
普段こっちで利用してるFlashを使ってるサイトを
こちらで用意した簡易のブラウザで表示してみたけど
問題なかったな
win7 64bit + VS2010 express
あ-35-9
平成21年度民主党第5区総支部(手塚仁雄議員)収支報告書(行番号1151、1204)
報告書73ページ目に、平成21年8月18日 「中山 諭」 250万円ってあるけど、誰だ?wwこいつはww
野田の側近の、手塚首相補佐官殿がお金もらってた中山諭って、
不動産販売会社 ダイナシティの当時社長で、覚せい剤取締法違反で
現行犯逮捕されてる奴だろ?w (共同通信) 2005 年- 6 月29 日
そういえば、レンホーちゃんも仲良しらしいじゃんw
それと、手塚っちがレンホーと中山さんと飲み会したって暴露ってるぞ?www
ヤクザとずっぶっずぶだなあwミンスはww
音声プレイヤーを作ってます
キーボードを押すと1秒ずつ早送りと巻き戻し処理を行うようにしたいのですが
キーボードを離しても処理が止まりません
キーボードを押してる間の処理がキューに溜まっているからキーボードを離したとしても処理が終わるまでは実行されると思っているのですが
この当たりはどのように実装するものでしょうか?
思ってるとか思ってないとかそんなことはど〜うでもいいから、その部分のコード晒せよ
60 :
デフォルトの名無しさん:2011/12/17(土) 17:01:43.47
>>59 ちげーだろ、そいつのコードがどうとか関係なく、
俺ならこう作るってのを晒せっつってんだよ、そんくらいわかれよ恥ずかしい
>>61 keydownで押してる間、増減した値を変数にいれて
keyupでその値をseekに代入するという対応をしてみたのですが
こういう感じよいのでしょうか?
ちげーだろ、
> キーボードを押してる間の処理がキューに溜まっているからキーボードを離したとしても
> 処理が終わるまでは実行されると思っているのですが
の「処理」の中身はこいつしかわからんから、回答しようがないって言ってんだよ。
そんぐらいわかれよ恥ずかしい。
>>63 >こういう感じよいのでしょうか?
やってみろよ。
>>63 仕様を満たすならそれでいいんじゃないかな
ここは態度だけは一人前のカスばっかだな
うるせえ黙って回答だけしてろ
DirectInput使うと周囲から一目置かれるよ?!
うるせえ黙って回答だけしてろ
黙って回答とな
鋭いね
無駄口叩くなって事だよ能無しが
駄目だなぁ
駄目駄目言ってるだけじゃぁ駄目なんだよ?!
駄目だね
Exeファイルの中にdll埋め込むこと出来るの?
ダウンロードしたソフトの中にdllが見当たらないんだが、、、
80 :
デフォルトの名無しさん:2011/12/18(日) 09:19:49.51
わからんがね
あと、試用期間付きのシェアウェアで初回起動日時ってどっから取得して何処に記録してるの?
ものによるけど、だいたいはレジストリじゃね?
C#関係ないし
7月の段階で民主党が2兆円の復興予算を組んだとき
自民党が要請した復興予算は累計17兆円
自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない。
>>83 それが関係あるんだなw
シェアウェアの作者とブログで何回かコメントの
やり取りしたけど、C#で開発したってはっきり言ってるよw
それを関係ないと言うんだよ
英語で書かれたネットワークの専門書の内容について英語の専門家に聞くのかお前は
あとC#は逆コンパイルできるんだよな?
プログラム解析してみようっと(^-^)v
解析しなきゃわからないような人が解析しても無駄なことのが多いよw
果たしてそれはもはや解析なのかどうか疑問だが。
なかなか滑稽なやり取りだな
普通にアプリケーション構成ファイルに書いてるかもしれないし、その辺は分からんね
レジストリに記録したからといって攻撃に対する堅牢さに大した差があるわけじゃない(誤操作には強いけど)
ディスアセンブラはildsmだが
今タダで使えるデコンパイラあったっけ?
俺も知りたいな
半年くらい前にstableリリースになったILSpyってのがある
プリプロで#defineした定義を他で使おうとしたら0103エラーがでるんですけど、どうしたらいいん?
>>93 プロジェクト全体にわたるシンボル定義はプロジェクトの設定で行う。
>>94 こちらの環境はどうもそれはできないシステムのようです・・
プロジェクト全体に使える定数の宣言をしたいのですが、どうすればいいのでしょうか?
ブロック外から使えるようにしたいのですが。
using UnityEngine;
using System.Collections;
public class caliculater : MonoBehaviour {
void Awake () {
}
// Use this for initialization
void Start () {
const ulong INPUT1=0x1;
public ulong d;
d=0x500;
ulong asw;
}
// Update is called once per frame
void Update () {
asw=d+INPUT1;
Debug.Log(""+asw);
}
}
これを成立させたい。
AwakeやStartブロックで宣言、定義したものをUpdateブロック内で使いたいんです。
プリプロセサを定数に使うな
条件コンパイル用だ
>>97 すいません。ちょっと私には手に負えない領域でした。
代案を示せ
定数が所属すべきクラスがstaticプロパティで公開すればいいだけのこと
無ければ環境変数的なクラスにしてもよかろう
代案も糞もねえだろ
頭の中に餡子かクソ入ってんじゃねえのか
それを最初から書けよグズ
こんなことも書かないと分からんような奴が生きてんじゃねえよ
>>100 できたあああああああ
ありがとうございますうう!
これって・・・これって初心者以下の話なのでは・・・ひょっとして、マニュアルもっと読めというレベルなのでは・・・ああああああああああああああああああああああ
>>101 >>99は私ではないですが、
>頭の中に餡子かクソ入ってんじゃねえのか
俺もそんな気がするぜ・・・この頭には・・・
>>102は私ではわかりませんが・・
>>103 すごくそんな気がするううう
おうわああああ一度もやってない単純な事が政界だったあああ恥ずかしいいいいいい
>>106 それについては読んでたんですがAwake以下で無いと処理されないという強い思い込みがありました・・・
アホだ・・・ホンモノのアホだ・・・
メソッドとクラスのスコープ概念も駄目ってことか…
>>108 スコープはわかってたつもりだったんですよ・・・
NullReferenceExceptionについて質問です。
すごく長いメソッド(というかローカル変数が多いメソッド)があったとして、
その中でNullReferenceExceptionが発生したとします。
その場合、NullReferenceExceptionがどの変数で発生したかを特定したいのですが、
どうやって特定したらいいでしょう?
スタックトレースに発生した行番号が書いてありますので目ん玉ひんむいてご確認ください
例えばこのように
場所 Tinker.MainWindowModel..ctor()
場所 d:\users\____\documents\visual studio 2010\Projects\Tinker\Tinker\MainWindowModel.cs:行 67 ← ここで起きてる
場所 Tinker.MainWindow..ctor()
場所 d:\users\____\documents\visual studio 2010\Projects\Tinker\Tinker\MainWindow.xaml.cs:行 34
ていうかNullReferenceException発生時にブレークする設定にしとけば
デバッガつかってりゃ例外補足しなけりゃ勝手に止まると思う。
何かの理由でそれらが使えないとか?
>>95 どういうシステムだよ。
コンパイルオプション設定するだけだぞ。
そういう定数のことを言っているわけではないというのは
一連の書き込みで分かりそうなものだが
>>116 >>115の説明も良くないが、プロジェクトのプロパティーで、
恐らく
>>95が望んでいるような、条件付きコンパイルに使えるような
グローバルな定数が定義できるようになってるんだよ。
適当なこと言わないように。
>>117 条件付きコンパイルがしたいなんて
>>96のどこから読み取れた?
相手が何を求めてるかからズレてんだよ
適当でなければ的が外れていても問題ないってことだよ。
馬鹿ばかり
.NETのArraylistってintしか格納できないのでしょうか?
ulongの値を配列のように格納するにはどうしたら良いでしょうか?
Monoです。
123 :
デフォルトの名無しさん:2011/12/18(日) 16:54:43.24
渡る世間は馬鹿ばっかw
>>122 System.Collections.Generic.List<ulong>
ArrayListにもObsoleteを…
>>124 ありがとうございます。それで行ってみます。
>107
聞くは一時の恥と言うよ。
PictureBoxをキーボード操作で動かそうとしています
PictureBoxのキーイベントはProtectedなので継承しないといけないようで、
調べたところ以下のようなコードが見つかったのですが
public class MyPictureBox : PictureBox
{
new public void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
}
このあとに、自分のやりたい操作(PictureBoxを動かす)を登録する方法がよくわかりません
129 :
デフォルトの名無しさん:2011/12/18(日) 18:11:55.72
>PictureBoxをキーボード操作で動かそうとしています
具体的に何するの?
>>129 単純に上下左右の移動くらいです
複数設置するので、Formでキーイベントを受け取るわけにはいかないので
PictureBoxで受け取ろうとしてます
>PictureBoxのキーイベントはProtectedなので継承しないといけないようで
一般にコントロールでキーイベントを拾いたいなら
control1.KeyDown += ...
とイベント設定すればいいんですよ
ただしPictureBoxなどの場合、キーフォーカスを取るようにしないと……
132 :
デフォルトの名無しさん:2011/12/18(日) 18:18:34.67
>>130 そんなことする必要のあるアプリって何?
ゲーム?
>>131 >control1.KeyDown += ...
で登録できることはわかっているんですが、
pictureBox.KeyDownがないので、それをどうやって作るんだろうという質問でした
わかりにくくて申し訳ない
キーフォーカスについては調べてみます
>>132 なんというかお絵かきツールみたいなものです
FormのKeyPreviewをtrueにして
FormのKeyDownイベントで動かせばよかよ
独習c#しか読んでないんですが、ちょっと知識を補強する為に読むとしたら何がいいですかね?
>>134 FormのKeyEventだと複数PictureBoxを置いた場合の区別ができないと思うのですが
それをPictureBoxのFocusかなんかで区別できるんでしょうか
調べてるけどよくわかりません...
>>135 .NET Frameworkの名前空間を上から順に見ていく
MSDN見ただけではイマイチ使い方がわからない事が多いのですがどうしたらいいですかね?
メソッドの使い方が分からないのなら
大方は検索すれば誰かが書いてるでしょう
MSDN以外閲覧が許可されていないと言うなら別ですが
リアルタイムにグラフを更新させたいんですけど、再描画されません。
データが書き換わってるのは確認しました。
どうすればいいでしょうか。
.Net 4のChartをつかってます。
private void DataSet(int step, double value)
{
series.Points[step].SetValueXY(step, value);
this.Invalidate();
}
全然Chart使ったこと無いから適当に言うけど
グラフは毎回データ見ないでキャッシュしてるんじゃねえのか
コントロールだけ更新してもキャッシュを再描画するだけだから変化しないとか
データ再セットしてみたら?
>>142 レスありがとうございます。
で、ごめんなさい。
再描画してたのはチャートを貼り付けたフォームの方という、単純なミスでした
これはいったい何が悪いのでしょうか?
// 入力履歴を保存する配列を宣言
Dictionary<int,ulong> CMDC= new Dictionary<int, ulong>(59);
// 配列の初期化
for(int i=INPUT_COUNT-1;i>0;i--)
{
CMDC.Add(i,0);
}
// 配列を1ずつ動かす
for(int i=59;i>0;i--)
{
CMDC.Add(i, (CMDC[i-1]));←ArgumentException: An element with the same key already exists in the dictionary.
System.Collections.Generic.Dictionary`2[System.Int32,System.UInt64].Add (Int32 key, UInt64 value)
versus.Update () (at Assets/versus.cs:170)
}
// 配列先頭に要素の追加
CMDC.Add(0, inputp1);
タスクトレイに表示されてるアイコン部分から
ウィンドウ(フォーム)を表示させるにはどうしたらいいですか?
ToolTipクラスのIsBalloonじゃなくて、もっとウィンドウというかフォームっぽい
やつを表示したいのです。
よくメッセンジャーソフトなどで表示されるやつです。
>>144 配列じゃねーしすげー変数名だし何がなにやら
>>146 dictionaryだから正確には配列じゃないですけど人がそこで間違える人は居ないんで配列と書きました。
変数名もおかしいんでしょうか?
148 :
デフォルトの名無しさん:2011/12/18(日) 21:40:25.13
TimerCallbackとTimeメソッドで実行しているメソッドの中で
フォームを作成しようとしてもフォームが表示されずに
プログラムが終了してしまうのですが、何が原因でしょうか?
>>150 http://msdn.microsoft.com/ja-jp/library/system.threading.timer%28v=vs.80%29.aspx >System.Threading.Timer はシンプルで軽いタイマです。コールバック メソッドを使用し、スレッド プール スレッドがサービスを提供します。
>ユーザー インターフェイス スレッドではコールバックが発生しないため、Windows フォームで使用することは推奨されません。
>Windows フォームで使用する場合は、System.Windows.Forms.Timer を選択することをお勧めします。
>サーバー ベースのタイマ機能に関しては、System.Timers.Timer の使用も検討できます。
>これは、イベントを発生させることができるほか、追加の機能が用意されています。
Control.Invoke(BeginInvoke)が必要だと思う
あとApplicationメッセージループが無いとか、STAThreadの関係かもしれん
Form.ShowDialogすれば解決
そのフォームをUIスレッドから触りたいならまた質問どうぞ
>147
あなたが違いが分からずに使っているんですよ。
Dictionary<TKey, TValue>.Add()のドキュメントも読まずに質問してるはずはないよね? ね?
>>151 System.Windows.Forms.Timerにしたらうまくいきました
>>152 System.Threading.Timerではフォームにアクセスできないようです
誤解を招く言い方をするなよ
System.Threading.TimerだろうがアクションをUIスレッドで実行すればアクセスできるわ
ペアを保存できると思って安易に辞書を使ったんだなあん
>>148 メチャ勉強になるなあ。
TryGetValueと書き換えプロセスに変数をかますことを検討します。
>>149 キーがふたつ、同じ要素についてるんですね。直接書き換えるのはムリなんですね。
>>153 そういえばそうだ。
>>150 あそこは荒らしが居る・・・ガクブル・・・・
>>158 ワラにもすがる思いで・・・
arraylistにulongが保存できればこんなことには・・・
これがダメなら次はHashtabelにてを出すしかない!
ちょっと誰かこの子の脳みそバージョンアップしたげて
駄目だこれ
ちょっと文字ベースで語らえるレベルに達してないな。
そんなに?
キューのように一個入ったら後ろが一個出て行く配列を作りたいだけなのに・・
キューならQueue<T>使えよ
intで格納してulongでcastすればいいんでないかい?
AKB48ってなんで64じゃなくて48なんだろう?48進数?
桁上がりは誰になるんだろう?
16*3
キューというかMRU?
問答無用で上書きするリングバッファ用意するだけじゃね?
Queueでやってみたが重過ぎるwww
180fps出てたのが8fpsとか。
うーむ・・・
日本語でおk。
日本語もダメなのか・・・
初心者スレだから!許してあげて!
C#の初心者はいいけど、日本語の初心者はちょっと…
>>327だなwアラブ脳の恐怖だわ
しかし国語の授業で何か役に立ったことなんて在っただろうか?
あ、誤爆。回線切って屁ぇコイて寝ますわぁ
enumを使いたいってこと?日本語がわからん
中途半端にCかC++を触ったことがあるみたいな感じだよな
using UnityEngine;
using System.Collections;
public class PlatformDefines : MonoBehaviour {
void Start () {
#if UNITY_EDITOR
Debug.Log("Unity Editor");
#endif
#if UNITY_IPHONE
Debug.Log("Iphone");
#endif
#if UNITY_STANDALONE_OSX
Debug.Log("Stand Alone OSX");
#endif
#if UNITY_STANDALONE_WIN
Debug.Log("Stand Alone Windows");
#endif
}
}
>このexampleってファイルで#defineで文字列を数字に定義できれば問題は全て解決されるんだけど・・・
って言うけど全然どこが問題なのか分からん
参照設定してあれば動くだろこれ
C#の#ifはC/C++でいう#ifではなく#ifdefに相当する
>>177 #define HOGE 9999
これがしたいだけ
C/C++のプリプロセサ識別子のことを、この子は”文字列”と呼んでいるから意味不明気味になってる
全然気味じゃないけどな。
ひとまずUnityなんて諦めてC#の入門書買ってきたほうが早いと思いますよ
>>183 どれ買えばいいかな?
独習c#だけ読んだ。
嘘つけ
読んでないだろ
本当に読んでそれならプログラミング向いてないよ
今まで独学でC#関連の書籍は読んだこと無いな。
これを期に買ってみようと思うんだが、何かオススメはある?
>>187 なんというか、C#以前の問題すぎてヤバい。
#define での定数定義とか、C++でもやっちゃダメな部類のことよ。
const 使う。
190 :
デフォルトの名無しさん:2011/12/19(月) 05:33:50.17
C#始めたころに読んだのは
C#のパッケージに入ってた、はじめてのC#と
本屋で買った使える500の技ってやつだったな
これだけでそれなりにはできた
全部イベントハンドラに書いてたけどw
191 :
デフォルトの名無しさん:2011/12/19(月) 06:09:13.35
書いてたけどねw
>>189 それについてはいろいろあるんですよ。
c++でプリプロセッサ識別子をビットに変換する事で識別子としての記述のわかりやすさと
ビットによる高速性を両立するプログラムをc#に移植しなければならなかった。
うーん、プリプロセスでできてconstでできない理由がいまだによく見えないが…
>C#には文字列を数字に定義する事ができないって言うじゃないか・・お茶吹いたわ・・
朝一のコーヒー返せwwwwwww
普通constはコンパイル時定数だからパフォーマンスが落ちることはC++でもないし
だいいちそんなこと気にする必要があるレベルとはとても思えないな
関数の定義
void myFunc(){
//処理
};
これより
myFunc = function(){
//処理
};
みたいな感じのほうがいいなぁ
デリゲートやラムダ式を使えば後者の書き方ができるの?
うん。
ラムダ式の利点がイマイチよくわからんけど、
出来るだけラムダ式で書いたほうが良いのかな?
は?
ひ?
ふ?
>>198 別に用意されてる機能を使いきらなければいけないってルールはないぞ
Linqとか使ってればそこそこ便利ではあるが、必要に迫られていない物を無理して使っても良いことはない
arraylist配列の3番目の要素に4を書き込むのって
アレイリスト名[3]=4;
でいいんですよね?
まあまずは試してみるんだ
>>196 オーバーロードまで考えたらその書き方はいまいちかも。
実際、そういう定義の仕方する言語はオーバーロードできないこと多い。
>>198 何と比べて?
匿名メソッド構文と比べてだと、利点しかないんでラムダ式一択。
(匿名でない普通の)メソッドと比べてだと、その場で短く書きたいかどうか次第。
長くなったら普通のメソッドにして、ちゃんとした名前つけるべきだと思う。
逆に、 x => x > 0 とか、式1個なもんに対していちいちメソッド作りたくない。
>>204 そもそも ArrayList はもう使っちゃだめだから。
List<int> ね、その場合。
リスト名[3] = 4; は間違い。
0ベースだから、3番目のインデックスは、0, 1, 2 の 2。
>>207 ありがごとうございます。
int r=0;
リスト名[r]=1;
r++
リスト名のインデックスに変数を入れることはできるのでしょうか?
>>208 できる
あとその使い方だと前置インクリメントの方がいいな
最適化されるから関係ないけど
>>208 そのレベルはさすがに、2chに書き込む前に自分でコード書いて確認した方が早くね?w
>>210 後置をぜんぶ前置にしたわ。プログラムっていろいろあるんですね。
このスレはすごく勉強になります。ありがとう!
以下を実行すると、HogeとHageが交互に実行されないのは仕方ないとして、
実行回数が毎回バラバラなのも、そーゆー物なのでしょうか?
int intNum = 0;
string strBuff = "";
private void button1_Click(object sender, EventArgs e)
{
Parallel.For(0, 1000, (int r) =>
{
subHoge();
subHage();
});
textBox1.Text = strBuff;
}
private void subHoge()
{
strBuff = strBuff + intNum.ToString("00000") + "Hoge\r\n";
intNum++;
}
private void subHage()
{
//textBox1.Text = textBox1.Text + "Hage\r\n";
strBuff = strBuff + "Hage\r\n";
}
>>214 実行回数が変わってるんじゃなくて、
intNum の更新が競合してるんじゃないかと。
マルチスレッドでやっちゃいけないことの典型だな
全部間違ってる
>>217 だから、実行回数をnumIntでカウントしてるんじゃないの?
競合したら、実行された回数よりもその数字小さくなるよ。
その記事のは、異なるスレッドが同じデータを読み書きしない作りになってるから平気なだけ。
文字列連結のところもヤバいな
結果がおかしくなるはず
lockedってあんまし使わない方がいいんだっけ?
>>218-219 二つの関数でstrBuffを使用しているので、そこで競合しているのですね。
ありがとうございます。
でも、Parallel.Forの中をsubHoge()だけにしても、やはり1000回は動作しませんでした。
後は何かありますでしょうか?
Interlocked.Increment(ref intNum)
StringBuilder strBuff
locked(strBuff)
>>221 違うよ、それも問題だけど、そこだけじゃないよ。
numInt++ を System.Threading.Interlocked.Increment(ref numInt) に変えてみて。
ロックフリーに挑戦してみたが合ってる自信はない
数字の順番が変わってしまう可能性があるが
そうならない方法は思いつかなかったので頭いい人教えて
private void subHoge()
{
var tempInt = Interlocked.Increment(ref numInt) - 1;
while(true) {
var tempStrOld = strBuff;
var tmpStrNew = tmpStrOld + tempInt.ToString("00000") + "Hoge\r\n";
if (Interlocked.CompareExchange(ref strBuff, tempStrNew, tempStrOld) == tempStrOld) break;
}
}
private void subHage()
{
while(true) {
var tempStrOld = strBuff;
var tmpStrNew = tempStrOld + "Hage\r\n";
if (Interlocked.CompareExchange(ref strBuff, tempStrNew, tempStrOld) == tempStrOld) break;
}
}
>>224 ロックフリーコードとか、アプリ側で書くなw
それはもっと下層のインフラの中にとどめとくもんだw
>>222でも数字の順番が変わる可能性があるよ
どうなれば正解なのか知らんが、それを避けるなら
結局全体をロックする必要があるから並列化の意味なし
そもそもこの例だとボトルネックは文字列連結とかToStringのあたりのはずだから
そこロックしたら何の意味もない
そりゃそうだけど、根本的に実用にならないのをやっても仕方ないでしょう
結局、全部ロックしちゃえば解決という答えにしかならない
並列化するんなら可能な限りスレッドごとに別個に処理して
あとでまとめるのが基本
>>223 だいぶ安定しました!
でも、やっぱり抜けがあります。
>>222のlockedってどこにあるのでしょう・・・?
System.Threadingの中には無いようですし、ググってもlock文しか出て来ませんでした。
>>231 Interlockedとか使わなくていいよ。そこだけロックしない意味がない。
strBuffをStringBuilderにして、
subHogeとsubHageの中身全体をlock(strBuff) { }で囲めばうまくいくはず。
全く並列化の意味ないけど、それはやろうとしてることがおかしいから仕方ない。
>>232 元々が「画像を取り込んで、保存と画像処理を同時に出来ないかな」で試しにやってみた程度ですので
ちと混乱の元になりそうなのでもう少し勉強してみます。
ありがとうございました。
簡単に手を出せるってのも考え物だわね
そこを踏まえたライブラリにして欲しいもんだ
235 :
デフォルトの名無しさん:2011/12/19(月) 20:03:59.93
Obsoleteとかいう、もう使っちゃいけないクラスは何処を見れば分かるの?一覧とかあんの?
使ったときに警告される
なるほど
サンキュー!
7月の段階で民主党が2兆円の復興予算を組んだとき
自民党が要請した復興予算は累計17兆円
自民党の17兆が7月時点でに決定されていたのなら
今の日本はもう少し違って居た筈だ
ちなみに関東大震災のときは復興予算として現在の価値にして150兆円以上を組んでいた。
この事実を知れば、予算の規模の小ささ、ましてや増税なんて奇知涯にも程があると思わざる負えない
帰化人だらけの民主党に復興なんて はなっから無理な話なんだよ
コピペ君って馬鹿だな、まで読んだ。
だな、まで読んだ。
無理な話、まで読んだ
ムリダナ・x・
System.Diagnostics.Process.Startで別のアプリケーションを起動しているのですが、
起動後にキー操作を受け付けるウィンドウがその起動したアプリになってしまうのですが、
起動した後もキー操作を自分のフォームで受け付けるようにするにはどういう方法でやれば良いでしょうか。
Win32APIのShellExecute使うのを勧めせざるをえない
レスありがとう
Win32APIのShellExecuteを使って起動してみたのですが、
表示状態の引数を色々試したのですがどれもフォーカスが移ってしまいました
ただ起動する以外にもすることがあったら使い方を教えていただきたいです。
C#はC++,Cに比べると速度は遅いですか?
速度を気にする場合はC++,Cを選択するべきでしょうか?
また、C#で作った場合、monoへの移植は容易でしょうか?
そしてC#とJavaはどちらが早いでしょうか?
>>246 >C#はC++,Cに比べると速度は遅いですか?
そうでもないよ
>速度を気にする場合はC++,Cを選択するべきでしょうか?
本当に速度が必要ならそうすべき
数学とか物理学とか科学技術計算とかならぬ
ただし生産性とのトレードオフを考慮
>また、C#で作った場合、monoへの移植は容易でしょうか?
とりあえずC#は言語
monoはフレームワークだよ
Windowsべったりに書かなければ容易でしょう
>そしてC#とJavaはどちらが早いでしょうか?
一概には言えない
249 :
デフォルトの名無しさん:2011/12/20(火) 21:27:47.25
コピペマン参上!まで読んだ。
251 :
デフォルトの名無しさん:2011/12/20(火) 21:33:46.92
こうなってます
ShellExecute(this.Handle.ToInt32(),"Open","calc.exe","c:\\windows","",5);
最後の引数をいろいろ試しました
宣言部はこうです↓
[DllImport("shell32.dll", EntryPoint="ShellExecuteA")]
static extern int ShellExecute (
int hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
int nShowCmd);
5ってなんだよw
名前つけろw
最後のパラメータがSW_SHOWNOACTIVATE なら4だろ
あとは
Windows9xなんて想定しないならAの方使うなよ
CharSet = CharSet.Unicodeにしとけよ
EntryPointなんて捨てっちまえ
HWND型にはIntPtrつかえよ
const使って定義しておけ
SW_SHOWNA 8
は使ってみた?
5ってことは
SW_SHOWNOACTIVATE 4
SW_SHOWNORMAL 1
ってことだよね?
フラグじゃねーよ
失敬
ほんとうだ
SW_SHOW 5
ってあったw
この手って全部フラグだと思ってたわw
VC++素通りできたのでやばいやばいw
ダメみたいです
エントリーポイントを削除、CharSet追加、int→IntPtrで
引数を1-9まで試したのですが全部普通の状態で電卓が立ち上がりました・・・
どうしよう
アプリ起動後に自分自身をアクティブになるように命令を呼ぶとか
thisの中にフォーカス関連のメソッドなかったっけ?
ああthisってFormのことね
>>246 「遅い」の定義しだい。
動画コーデックでも作るくらいの勢いでない限りは、C#でも気になる遅さにはならない。
monoへの移植、GUIがからまなきゃ余裕。
ちゃんとビューとモデルの分離できてるものなら、完璧にそのままでmonoで動く。
Javaは、JVM作ってる会社いろいろあるからなぁ…
とか、そのあたりにまで気が回ってない程度での質問なら「Javaと.NETで差なんてないよ」と答えとく。
そこでJ#の登場だ
おっとすまないな
10分前にClosedしたトコなんだよ
C++から来ました。勉強中です。
C++で配列や線形リストなどのコレクションを汎用的に受け取る関数は、
template<typename InputIterator> void func(InputIterator first, InputIterator last) { ... }
という感じでイテレータを使うのが常識だと思いますが、C#ではどうするのが一般的でしょうか。
.NET Frameworkのライブラリで複数オブジェクトを引数に取るメソッドを参考にすると、
配列のみ受け付けるメソッドもあれば、ICollectionだったり、IEnumerableだったり、可変長引数だったり、
なんか統一されてない気がして、悩んでます。
あとどうでもいいんですが、配列のLengthとICollectionのCountは、なぜ名前を統一しなかったんですかね…
IEコンポーネントでポップアップ等新しいウィンドウをキャンセルするときはOnNewWinndowでできますが、
指定のブラウザで開かせるようにするにはどうすればいいでしょう?
>>264 void func(obj lines)
267 :
デフォルトの名無しさん:2011/12/21(水) 01:29:29.65
>>243あたりのやつ使って所定のブラウザのexeを起動すればいいでないの?
その時に引数でurl渡せばいけそうな気がする
>>264 統一されてないのは過去の遺物。
今となっては IEnumerable<T> 一択。
(params 使いたい場合も、別途 IEnumerable<T> なオーバーロード用意)
配列の Length は謎よねー。
まあ、配列自体、IList なので、Count 使えるんだけど。
自然言語っぽさを意識した結果じゃね?
配列は、「配列の長さ」を表すLengthで
コレクションは、「コレクションの要素数」を表すCount。
単にJavaがそうだからだろ
あっちはCountではなくsizeだが
1.0の頃のはJavaのものをそのまんま持ってきただけな感じで
最終的に、今ではただたんなる初期の設計ミスに落ち着くのね。
列挙型って二次元にできないんですかね?
List<List<T>>
>>273 これもいいですね!
でもデータベースが多くてぜんぶ手で打っていかないといけない種類のものなので視覚的に羅列していけるものがいいんです。
何かないでしょうか?環境上、通常の配列は使えません。Addでいちいちひとつずつ追加するのは公卿です。
×公卿
○苦行
ト、、:;:;:;:;:;:;:;:;:;:;:;:;:_,. -‐ '":;:;:;:;:;:;:;_,.ノミ'、
|:;:;:;:``'ー:;:;:;:''"´:;:;:;:;:;:;:_,. -‐='二三シハ
ト、_:;:;:;;l:;:;:;:;:;__,. - '"´ 三三三三彡ノ!
l:::l 二、― 'r―-,_ _三三三彡彡ニヽ
ヾi `ー′:. `""´ ` ̄'三三彡片ヽl|
'、 , - 、、 __,.. .. ,、_, '三彡'^> ノリ
l イで>、ヽ ':,ィ'で'>'" 三シ' f ノ /
l ヾ二フ ,! ヽ二彡'´ }ツリ ,、_ノ
'、 l ,.、 i 川 ├ミ'、
ヽ ,' '__)ヽ、 /``7>、
ヽ /`ー'i´ \ / ///>、
ヽ'、 、_,==ァ=-、_,} / /./////ト、
\ヾ二"´_,. ‐-.:.:/ /.//////:.:ヽ
,. -/ゝ、':、_:' :、_ _:/ / //////:.:.:.:.ヽ‐- 、
/ /:.:.'、 ヾ"゙´ ̄ / / /////'′:.:.:.:.:.ソ ノ )
,. -―{ 、/:.:.:.:.:ヽ ヽ. / / /////:.:.:_,. - '" / ̄``丶、
_,. -‐ '"´ ヽ `丶、r―--`'-/ / /////''"´ / `丶、
'´ 丶、_` ̄ ̄ / / ////'′ _,. - '′ `丶、
>>274 new List<List<String>> {
new List<String> { "a", "b", "c" },
new List<String> { "de", "f", "gh" },
}
のように書けるが、こんなもんソースに書かないで外部のファイルから読み込め
つまり、Addでひとつずつではなくて行ごとにカンマで区切って追加していけるような・・・
CMD5PP0{}={INPUT1,INPUT2,INPUT_NOT|15},
CMD121[]={INPUT2,INPUT5,INPUT_NOT|5};
このように羅列できるものを探しています。arraylistは使えます。
Addでしか追加できる事例をしらないのでarraylistでもこのようにできるのでしょうか?
>>276 >外部のファイルから読み込め
願ったりですよ。ちょっと探してみます。
csvとして読み込んで処理するプログラム書けばいいだけちゃうの?
エディタのマクロとかでまとめてソースに入れられる形にするとかできないの?
281 :
デフォルトの名無しさん:2011/12/21(水) 14:00:51.82
>>280 それだってマクロを組んで公開してる人がいなければ結局自分でプログラム組むのと大差ないだろw
>>243 の件ですが色々やったのですがどれもうまくいかないです。
これまでに試したのは
1.起動後にGetForegroundWindow != this.Handleの間、ループを続けて
ループの中にthis.Active()を入れるというのと
2.起動後の数秒待機してSetWindowPosとSetActiveWindowで
前面に配置してアクティブにする方法、
3.起動関係なく、Deactivatedイベントでthis.Active()を実行する方法を
試しました。
1は起動後でもいつもGetForegroundWindowでthisのハンドルが返ってくるためNG
2はアプリを開くまでの時間が機種や状態によってばらつきがあるのと操作がまどろっこしくなるのでNG
3はタスクバーが点滅するだけで最前面に出ないのでNGでした。
他のよさそうな方法を教えて頂きたいです
>>282 立ち上げる方のアプリを最小化で起動したらどう?
284 :
276:2011/12/21(水) 19:34:26.12
List<string> cmdr3 = new List<string>();
List<ulong> CMD6 = new List<ulong>(){INPUT6,INPUT_END|15};
List<ulong> CMD5 = new List<ulong>(){INPUT5,INPUT_END|15};
List<ulong> CMD4 = new List<ulong>(){INPUT4,INPUT_END|15};
cmdr3.Add("CMD6");
cmdr3.Add("CMD5");
cmdr3.Add("CMD4");
できた。コレでいけそうだ・・・ブッサイクなコードなんだろうけど・・・ww
何もおかしくないぞ
笑えないわ
286 :
276:2011/12/21(水) 21:23:33.96
ひどすぎて笑えないけどね
てか、ひょっとして、ビットフラグなenumでいいんじゃね?
たまにいるよな、基礎何もわかってない奴・・・
初心者スレだから許してあげて!
まあ、初心者スレだからなぁ、
答える側も質問を馬鹿正直に受け止めないで、ある程度エスパーしないと。
292 :
276:2011/12/21(水) 22:23:10.45
>>284 この方がうまくいきそうだ。
// コマンド列
const List<ulong> CMD6 = new List<ulong>(){INPUT6,INPUT_END|15},
CMD5 = new List<ulong>(){INPUT5,INPUT_END|15};
293 :
276:2011/12/21(水) 22:25:08.69
>>292 List<T>はconstに出来ないでしょ…
296 :
276:2011/12/21(水) 22:30:25.96
>>294 ><
CS0134: A constant `versus.CMD6' of reference type `System.Collections.Generic.List<ulong>' can only be initialized with null
タスクトレイに常駐しているアプリケーションを安全に終了させる方法をおしえてください
>>293 [Flags]
enum Input {
INPUT1 = 1, INPUT2 = 2, INPUT3 = 4, INPUT4 = 8,
...
INPUT_END = 0x80000000, }
CMD6 = INPUT6 | INPUT_END;
299 :
276:2011/12/21(水) 22:59:28.76
>>298 一目見ただけで、「ああ、俺が求めていたものはコレだな。」と思いました。さっそく試してみます。ありがとう。
300 :
276:2011/12/21(水) 23:04:06.69
残念ながら配列をCMD6で定義できないといけないんだ・・・
そしてCMD5とCMD6は一度にまとめてboolにかけられる状態で無いといけない。
しかも普通の配列は使えない環境なんだ・・・Listやらなんやらでやらないといけない。
配列の要素は一つ一つがビットになっている。
CMD5であるか6であるかを配列の内容を全て検証してtrueになるCMDを表示するためのデータベースなんだ。
>>297 相手がそういうインターフェースしてなきゃ無理だから諦めなさい
これはどうしようもないの
その腐った設計からどうにかしろよ
このUnityのクソガキどこかに消し去ってくんねえかなあ。
ゲームならそういう呪文とかないの?ニフラムみたいな。
できないといけないできないといけない
じゃねえんだよ
できねえの
壁にぶつかり続けるミニカーかお前は
迂回しろ迂回
落ち着け
ちょっと落ち着けw
普通の配列は使えない環境ってのもイミワカラン。
307 :
276:2011/12/21(水) 23:13:20.42
こんなチンタラ手取り足取り教えるより
なぜ、これをしなければいけない事態に陥ってるのか聞いた方が解決は早そう
独習読んでこれなんでしょ?
ちょっと笑えるよね
Monoだって配列使えるわ。ふざけた答えを返すな。
というか、どこにある何のサンプルを実行してるんだい?
言い方からして、その仕組みは貴方が考えたわけじゃないだろう?
心痛めてる暇があったら頭が痛くなるくらい捻りあげてくれませんかねどうも
312 :
276:2011/12/21(水) 23:19:07.74
>>308 3D格闘ゲームプログラミングって本のC++をC#に移植してるんですよ。
>>309 いや、使えねーから。unityだからかな?
>>310 3D格闘ゲームプログラミングって本のC++をC#に移植してるんですよ。
C++特有の仕組みが思ったより多くて難儀しとります。
313 :
276:2011/12/21(水) 23:20:15.45
∧∧
(,,゚Д゚) ∬ 山田く〜〜ん、
>>311さんに
pく冫y,,く__) 旦 座布団あげといて〜〜〜
| ̄ ̄ ̄ ̄ ̄ ̄|
TTTTTTTTTTTTTTTTTTT
おい本当にそれは止めた方がいいぞ
時間の無駄だからマジで
315 :
276:2011/12/21(水) 23:22:34.05
でもあとちょっとだしなー
>>312 つか、コードを移植すんなw
仕様だけを抽出して、仕様を満たす様に新規実装すべきだろう
自分で苦行を選んでるんだから放置していいよね。
Addは苦行だから嫌つったよね。
318 :
276:2011/12/21(水) 23:25:57.32
>>316 俺がそんなに賢く見える書き込みした覚えは無いぞ。
319 :
276:2011/12/21(水) 23:26:57.80
>>312 配列も使えない人間が何を書けるわけもないので、一度諦めて一からやり直せ
>>319 ちょっとまて、個人の趣味じゃなくてなんか仕事で移植してんのか?
Listの中身は配列なんだから、配列が使えなけりゃListも存在しないわけだしね
ライブラリがListしか受け取ってくれないとか
IListじゃなくてList<T>しか受け入れないとか言ってるならイジメだなw
アホらしーし寝よ
327 :
デフォルトの名無しさん:2011/12/22(木) 00:06:05.46
特定のアセンブリから依存しているアセンブリ情報(dll名)を取得する方法はありますか?
ClickOnceのコマンドライン版(コンソールアプリ版)みたいのを作りたいのですが、はまってます
328 :
276:2011/12/22(木) 00:09:37.50
const int CMD6={INPUT6,INPUT_END|5};
これを成立させたいんです。
>>327 Assembly.GetReferencedAssemblies
ClickOnceはサイレントインストールできるよ
331 :
デフォルトの名無しさん:2011/12/22(木) 00:14:21.86
c++ではポインタを使った処理がありますが、
c#で同じ事をやるにはどういった手法が取られて居るのでしょうか?
C++どういうコードをC#風にしたいの?
c++でポインタでガバッと型を無視して参照や検索してるものを
c#でやるのにはどうするのかな?と。
参照や検索しているもの、っていうのが具体的に何を指しているのかわかんないけど
関数ポインタならデリゲート使えばいいし、実行時に型が決まるようなオブジェクトを操作したいならdynamicとか。
objectのリストで持てばいいんじゃね?
型判定は is 演算子か GetType() メソッドで。
337 :
デフォルトの名無しさん:2011/12/22(木) 07:32:29.97
unsafeでstring*とか
DataGridViewについてわかりましたら教えてください。
1カラム目と2カラム目にはカーソルが移動できないように
したいのですが可能でしょうか?
もし方法があれば教えてください。よろしくお願いします。
>>332 オブジェクトで表現する。
ICommandを実装するInput6 InputEnd Cmd6みたいに。
ファクトリ系のパターンと一緒にどうぞ。
Cシャープのコンボボックスで .ValueMember の値を複数持たせる方法はないですか?
javascriptのsetIntervalみたいなのはC#では何てメソッドですか?
タイマー系を工夫するとかね。
コントロールのタイマとか、スレッドタイマとか。
>>342 これはいいヒント
これでいいな。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If dgv.CurrentCell.ReadOnly Then
dgv.CurrentCell = dgv(dgv.CurrentCell.ColumnIndex + 1, dgv.CurrentCell.RowIndex)
End If
End Sub
∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄
 ̄
345 :
デフォルトの名無しさん:2011/12/22(木) 13:36:35.54
糞コード晒すんじゃね
C#スレだ
ArgumentOutOfRangeException
震災前
/::::::::::::::::::::::::::::::;;::ノ ヽ;::\
/::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l
|:::::::::::| 岡田 異音 |ミ|
|:::::::/ ,,, ヽ,、 '|ミ|
'|:::::::l '''"" ゙゙゙゙` |ミ|
|:::::|. ,,r ‐、 ,, - 、 |/
,/⌒| ノ ・ _), (. ・ `つ|
| ( "''''" |"'''''" |
ヽ,,. ヽ |
| ^-^_,, -、 |
| _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・
'ヽ ( ,r''''''‐-‐′ /
震災後
|:::::::::/ |ミ|
|::::::::| ,,,,, ,,,,, |ミ|
|彡|. '''"""'' ''"""'' |/
/⌒| -=・=‐, =・=- |
| ( "''''" | "''''" |
.ヽ,, ヽ .| キリッ
| ^-^ |
. | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません
,\. "'''''''" /
朝鮮民主党
解党
ググッて
IntPtr hwndTaskBar = FindWindow("Shell_TrayWnd", null);
IntPtr hwndTray = FindWindowEx(hwndTaskBar, IntPtr.Zero, "TrayNotifyWnd", null);
hwndTray = FindWindowEx(hwndTray, IntPtr.Zero, "SysPager", null);
SendMessage(hwndTray, TB_BUTTONCOUNT, 0,0);
でタスクトレイのアイコンの数を取得しようとしたのですが、
0になります
どうすれば取得できますか?
>>348 SysPager→ToolbarWindow32。
通知領域のコントロール構成はOSのバージョンによって色々変わってしまうので
Spy++とかで確認するのを勧める
>>349 だめでした
>>350 最終的にはWin XPで動かしますが、今はWin7で作業してます
Spy++で階層構造確認、またそれぞれハンドルは取得できてます
ある機能と似た機能が探せるサイトとか方法ってないでしょうか?MSDNは知ってます。
>>351 ならば:
ユーザー インターフェイス特権の分離 (UIPI)
ChangeWindowMessageFilter
>>.353
いろいろありがとうございます
ごめんなさい、できました
SysPagerをToolbarWindow32に変えるものと勘違いしてました
SysPagerの次にToolbarWindow32でやって数をとることができました
どうもお騒がせしました
あんなー
タスクバーまわりの実装は7とそれ以前で大分違うぜ
C++に比べて煩雑なコードになる場合もありますかね?ポインタ周りとか。
構造体をバイナリで読み込んだり書き込んだりしてみ
それはC++と変わらんよ
エンディアン依存でいいならunsafe使えばポインタのキャストで一発だし
エンディアン依存ダメならC++でも面倒
むしろBinaryReaderとかある分C#の方が楽なんじゃないか
359 :
358:2011/12/22(木) 20:04:17.21
そういえばBinaryReaderはリトルエンディアン限定だったな
最後の行はなしで
フォームエディタが勝手にプロパティを編集するので困ってます。
具体的にいうと、Windowsフォームに張り付けたボタンなどで、ImageKeyのプロパティ値が変わってしまいます。
いつのタイミングで変わるか。
フォームに新しいボタンやテキストボックスなどコントロールを付けたときや、
フォームのコントロールを移動させたときに変わります。
変わって困ること。
ImageKeyの値が書き換えられるため、プログラムを動かしたときのボタン画像が変わってしまいます。
しかも気づかないうちに変わってしまいます。
どうしたら、いいんでしょう。
とりあえず、勝手に書き換えられているかどうか、都度都度確認するようにはしてますが…
根本解決ではないんです。
designer.csは見たの?
>>361 見ました。見ると勝手に書き換えられています。
ImageKeyの値なんて、こっちでは書き換えてないんですけど……
designer.csを見て、書き換えられてることに気づいたら、その時は手でなおしてます。
あと、ほとんどはImageKeyの値変更ですが、たまに別のプロパティも書き換わります。
どういう場合も、気づいたら手でなおしてます。
ごめん、それ俺かも
全然分からんな
入れなおすしかないんじゃないか
365 :
356:2011/12/22(木) 20:21:07.73
>>357 俺へのレスなんでしょうか?
それすらもわからないです。
>>358 ポインタのキャスト?
C#でポインタが使えるんですか!?
やったー!
エンディアンとかバイナリリーダーとか、聞いた事なかったス!
>>365 生のポインタを使う文脈はunsafeと名がついている通り、
C#の常道ではないよ
別の言語やるときは、あまり他の言語の流儀を押し通そうとしないほうがいいよ。
C#にはC#のやり方があるので、引きづらないように、それが上達への早道。
369 :
356:2011/12/22(木) 20:47:34.61
AllocHGlobalしてMarshal.CopyしてPointerToStructureみたいなのよりはポインタの方がマシ
どっちがunsafeだか本末転倒
故郷を出てきたばかりの人には
外の世界のことはなかなか分からんさ
そして知ってるようにやろうとして失敗するさな
COMExceptionのエラーコードの意味が分からなくて困ってます。
http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.word.documents.open(v=office.11).aspx
を使って、Word文書を開いています。
FileNameにネット上の文書(SSLサーバーに置いてる)を指定して開いているのですが、
文書が見つかるときは、普通に開けます。
見つからないとき(権限がなかったり、SSLサーバーなのでクライアントに証明書をインストールしないと見つからないエラーが出てくる)
はCOMExceptionを出します。
COMExceptionは、
System.Runtime.InteropServices.COMException (0x800A1436): ファイルが見つかりません。
(
https://以下略 ってな感じです。
んでエラーコードを見て、
「ファイルが見つかりません」の場合は××
「ファイルが使用中です」の場合は○○
など、処理を切り分けようと思っているんですが、エラーコードが毎回同じ値を出すため、処理の切り分けができません。
あと、多言語対応をしようと思っているので、「ファイルが見つかりません。」というエラーメッセージを直接見るだけでは、切り分けが難しいです。
COMExceptionの内容で処理を切り分けようと思ったら、どうしたらいいですか・
そのエラーメッセージの元ネタのリソースかなんかから値を抜いて比較すれば?
同一URLに自分でリクエストを飛ばして404か調べるのよりは前向きな気がする
374 :
360:2011/12/22(木) 22:29:32.78
どもです。
とりあえず、フォームの作り直しやってみます。
いえいえ
震災前
/::::::::::::::::::::::::::::::;;::ノ ヽ;::\
/::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l
|:::::::::::| 岡田 異音 |ミ|
|:::::::/ ,,, ヽ,、 '|ミ|
'|:::::::l '''"" ゙゙゙゙` |ミ|
|:::::|. ,,r ‐、 ,, - 、 |/
,/⌒| ノ ・ _), (. ・ `つ|
| ( "''''" |"'''''" |
ヽ,,. ヽ |
| ^-^_,, -、 |
| _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・
'ヽ ( ,r''''''‐-‐′ /
震災後
|:::::::::/ |ミ|
|::::::::| ,,,,, ,,,,, |ミ|
|彡|. '''"""'' ''"""'' |/
/⌒| -=・=‐, =・=- |
| ( "''''" | "''''" |
.ヽ,, ヽ .| キリッ
| ^-^ |
. | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません
,\. "'''''''" /
朝鮮民主党
解党
マンガ脳の恐怖、まで読んだ。
FormのClosedイベント内でスレッドを終了したいのですが
Running状態だと正常にAbortできるのですが、
中断された状態だとt.Abortはエラーになってしまいます。
こういう場合はどうやって終了すれば良いでしょうか
if (t.ThreadState == System.Threading.ThreadState.Running)
{
t.Abort();
}
if (t.ThreadState == System.Threading.ThreadState.Suspended)
{
ここがわからん
}
>>378 そもそもアボートするのが間違いじゃないの?
スレッドで実行されている処理がループじゃないならスレッドは待ってればそのうち終了する。
ループになってるのなら、ループを抜けるようにすればスレッドは終了する。
アボートなんてしなきゃならん理由がどこにあるの
あまりにも複雑なinterfaceって作らないほうがいいかな
10個くらいimplementしたクラスとか
>>378 >中断された状態だとt.Abortはエラーになってしまいます。
Resume すればいいだけじゃないのか?
そもそも、Suspend も Resume も obsolete だが。
>>380 10個もインターフェイス実装って、それはまず、何でもできるクラスになってない?
あとは、インターフェイスの分け方が細かすぎるか。
どちらにせよ、構造も追いにくいし使い勝手も悪くなりそうだしなので
あんまりよくはないと思う。
>>380 1つの型に何個インターフェイスを実装しても、「バグが無ければ」他の人に迷惑を掛けないからお好きにどうぞ
インターフェイス自体の設計はフレームワーク/実装クラスの作成者のスキル次第だけど、
各メンバーの依存関係とか状態遷移とかをきっちり定義できるってのは大前提だね
まあロジックのインターフェイスならメンバーは5個以下で十分な場合が殆どだと思う
>>379>>381 こうやって終了させるのが普通の方法だと思ってた・・・
フォームが閉じられたらループから抜けるようにするというのは
フォームの有無を確認する部分を追加すればいいですか?
フラグがいいと思う
もしアプリケーションのメインフォームが閉じたら、という条件なら
スレッドのIsBackgroundをtrueにしとけば勝手に閉じるし
そういうのは誰から教わるの? それとも本能として元から持ってたの?
そもそもobsoleteに反応して「じゃあどうすればいいんだろう?」って疑問を持たないと。
obsoleteがどういう物かはこの際省くぞ。
知らない単語は全部調べろ。
そもそも、そもそもってなんでそもそもって言うんだろう?もそもそ。って疑問を持たないと。
obsoleteがどういう物かはこの際省くぞ。
知らない単語は全部調べろ。
コピペマン参上!まで読んだ。
コピペマンって男尊女卑じゃね?コピペマンレディ?ぃゃ違うな。コピペパーソン?コピペッパー?って疑問を持たないと。
男か女かはこの際省くぞ。
知らない単語は全部調べろ。
コピペマンはポリティカルインコレクト、まで読んだ。
何やら癇に障ったらしい
今時ドヤ顔で「〜まで読んだ。 」とか書く奴が居るのもこのスレぐらいだから大事にしないとアカンよ
今時ドヤ顔…
同じような文章でどこか別のスレで煽られたんだろ。そっとしておいてやれよ。
せつないですね
>>398 そっちのスレ見てないからしらねーよ。
個別に、具体的な質問してくれ。
一般論でいうと、たいていの人は自分の専門外の知識はでたらめ。
こっちで出てくるJavaの悪口も、
むこうで出てくるC#の悪口も、話半分で聞いとけ。
向こうはともかくC#やる人なんてだいたいJavaもできるだろ
Javaって言語だけならね。
Strutsがどうとか、フレームワークの話になったら全然わからん。
フレームワークどころかIterator<E>のメンバ名が意味不明すぎて困ったわ
C# で int とかの型を一意に識別できる ID のようなものはありませんか?
System.Type.GUID でも良さそうなのですが、単純な数値型の識別子があれば便利そうだなので。
GUIDって内部的には単に128ビット数値じゃないっけ?
そうだよ
グローバル一意識別子なんて言うけど別に一意じゃない
数字じゃないけど何のために名前空間があると思う?
>>404 Typeオブジェクトは識別子として使えるよ。Dictionaryのキーに使ってもいい。
値型がお望みならType.GetTypeHandleでRuntimeTypeHandleが取れる。
数値にしたければRuntimeTypeHandle.Valueをintにキャストする。
ただし、RuntimeTypeHandleの値は実行中一意だけど実行するたびに変わるので注意。
408 :
404:2011/12/23(金) 23:04:41.49
返信をありがとうございます。
先に理由を書いておくべきでした。
複数の型のデータを MemoryStream などを利用して一緒くたにその内容だけを一時保存しておきたいと考えました。
このためデータを保存するにはデータ本体の他に、データの型情報を一緒に保存する必要があります。
この型情報として先のレスの ID として手軽に利用できるものがないかと考えていたところです。
確かに GUID も内部的には数値なのですが、1 バイトの数値側型のデータを保存するために
16 バイトの ID というのはいかにも重く感じ他の手を考えていたところでした。
確かに「型」というと無数にあるわけですが、いまはとりあえず単純?な数値や文字列型を対象にしようと思います。
なので IDE 上で青色で表示される型についてだけでも良いと思っています。
‥‥最後の行の条件は絶対に先に提示する必要のあるものでした。すみません。
最悪というか、現状では、対象とする型を列挙型かなにかで保持して、それを ID として使えばなんとかなるのですが。
独自のシリアライズ機構作るんであれば、それが普通じゃないかな<列挙型で識別
>>407 リロードすべきでした。
上に書いたような理由で数値型の識別子?を探していました。
RuntimeTypeHandle は気づいていませんでした。調べてみます。ありがとうございます。
>>409 やっぱりそうなるでしょうか。。。
シリアライズするならRuntimeTypeHandleはダメゼッタイ
事前にリフレクション使って変換表のソースコードを生成しておいてもいいけど
型が追加されたときに既存の型の識別子が変わらないようにするとか考えると面倒
最適なのはTypeCodeじゃないかな
お前らクリスマスは?
415 :
404:2011/12/24(土) 00:04:44.16
返信をありがとうございました。
>>411 一緒くたのデータの前に、RuntimeTypeHandle から取得した値を型情報として保存しておけば、、、
と考えたのですが、その保存した型情報と元の型との相関を保存する方法がないことに気が付きました。
>>412 それで十分です。
ありがとうございます。助かりました。
>>413 暇つぶしにプログラム組んでますがなにか。w
お子の為に玩具屋巡り。その次の週はお年玉だし
もう金欠でふらふら・・・。
>>416 今となっては結構贅沢な悩みだと思うがな
…何のスレだったっけ
え、天皇誕生日の後は大晦日以外に何かイベントあったっけ?
int[] array1= new int[5];
array1[0] = 5;
int[] array2 = new int[] { 2, 4, 6 };
int[] array3 = { 2, 4, 6 };
var array4 = new[] { 2, 4, 6 };
好き嫌いは人それぞれだと思うけど、どれを推す?
= { 2, 4, 6 };以外はどれでもいいと思う
= { 2, 4, 6 };はCの名残で今の型推論からすると異質
>>420 そんな異質かねそれ。
別に何の違和感も感じないけどな。
VBにすら存在する初期化法なんだけど。
VBがどうとかいうのはどうでもいいよ
C#の型推論は右辺値で左辺値の型を推論するのが基本だからint[] array3 = { 2, 4, 6 };だと逆
var array = new int[] { 2, 4, 6 };
俺はこの方が好き
>>423 型を明示的に指定してるのに型推論って意味不明じゃないの?
それに、左辺値右辺値ってそういう意味の用語じゃないと思うんだけど....
>>419 そんな枝葉にこだわって、何か重要なことが変わるのかね?
時間を浪費するだけにしか思えないのは俺だけ?
>>425 右辺の配列の型を推論してるだろ
右辺値と左辺値は広義には間違ってない
時間なんて浪費するためにあるんだよ
>>427 だから、推論も何も変数の型は明示されてるじゃん。
int[] array3 = { 2, 4, 6 };
これは、デリゲートのインスタンスを明示的にnewしなくていい類の
コンパイラによる特別扱いだと考えるのが自然じゃないの?
俺は var array4 = new[] { 2, 4, 6 }; だねえ。
array3は確かにちょっと異質、まあ、配列周り自体があまり良くない特殊ルール多いしねえ。
昔の名残ということでしょうがないのだろうけど。
SIZE szSrc = { 320, 240 };
432 :
デフォルトの名無しさん:2011/12/24(土) 01:33:11.84
なんでStreamのLengthはgetだけで、setはSetLengthなのはなんで?
>>429 それが異質だと言ってるんだろ?
もともとあくまで見た目の問題だ
JavaだとArrayList<Integer>=new ArrayList<>()という形の「推論」があるよ
妥当性を話し合いたいのかアンケートとりたいのかってな
本来の目的はなんだったんだろうな
ずいぶんフワフワしてるね
>>432 Setの方はサポートされているとは限らないから、
別の操作であることを強調してるんだろ
>>433 じゃあ、
button1.Click += button1_Click;
これも同様に異質だからあんたは使わないわけ?
そうじゃないなら随分ご都合主義的な感覚だね。
それ宣言時代入でなくても使えるじゃん
デリゲートの一般的なルールでしょ
>>433 int[] array3 = { 2, 4, 6 }; と int a = 1; の違いは何ですか?
アンタの理論だと、右辺 1の型を左辺の int a で類推しているって事になるんだがw
1はそれ自体int型の値だけど{2,4,6}は配列じゃないよ
突っかかりたいだけならどっか行くか死ぬかして欲しいなあ。
時間の浪費は結構だけど、こういうのは要らんよ。
こんな時間に起きてて時間の浪費だとかナントカだとか言われても説得力俺含めて皆無だがな
>>439 それじゃ short a = 1 とか long a = 1 はどうなるんだ?
intから暗黙の型変換が定義されてるだけで
何がどうなるもクソもヘッタクレないです
>>443 え、long a = 1; は long a = 1L;と等価だと思っていたが long a = (long)1; と等価だったのか
445 :
デフォルトの名無しさん:2011/12/24(土) 03:54:43.27
等価だったみたいだね
446 :
デフォルトの名無しさん:2011/12/24(土) 04:43:01.70
>>419 std::vector<int> m_IntList;
m_IntList.push_back( 2 );
m_IntList.push_back( 4 );
m_IntList.push_back( 6 );
>>446 C++にもC++11で、コレクション初期化子入るじゃん。
>>415 もう解決したらしいが、Guidの一部をIDとして使うとかもできたりしない?
プロパティでうまく隠蔽して
C#歴まだ2カ月だがこの3連休が終わるまでに
Windowsアプリ開発の本を1冊マスターしてやるぜ
どこまでのレベルの本かによるけど、COM入ってきたらキツイな
後方互換性とかの関係もあってWindowsの中身ごっちゃごちゃだからな
本読んでも頭に入らないよ。
一度精読す?のはいいけど。
c++から移植してたら読むのよりも何倍も知識ついたわ。
寝言ほざくのも大概にしろよお前は
どうもすいませんでした。お詫びいたします。
Windows開発者に求められる知識ってADO.NETとかWCFとかだと思うんだけど
UIなんて誰でも作れるし
怒られてるの俺じゃなかった・・・謝って損した・・・・
>>448 ありがとうございます。
最初はそれも考えたんですが。
部分抽出での一意性確保がどうしても不安で。
その後、TypdeCode で表現できるものはそれを、
そうでないものは自分で byte[] に変換したのを受け付ける、
って方向で作ってみました。
>>451 入門の本っすよ
「ひと目でわかるVisual C# 2010 アプリケーション開発入門」と「かんたんC#」
COM ?とかの記述は見当たらないけど、XAMLとかWPFのさわりぐらいまで書かれてる
Excel VBA しか経験ない人間にはC#むず過ぎっす
この二カ月 プログラミング > 食欲&性欲 ってくらいのめりこんでやってるけど本当むずい…
3連休で一通りマスターして、次の正月休みで仕事用の簡単なツールを一本作ってみたい
>>452 コード書きながら読み進めて最初の方の記憶がおぼつかなくなっては、戻ってまた打ちなおして…
って感じで体で覚えながらコード書き直してますぜ
基本物覚えが悪いんで
>>458 それはたぶん、脳が飽きてるな。勉強ってのははしゃぎながらやると効率が良いよ。
知識の熟成は意外と大事
COM Interopは.NETのWindows開発では辺境でしょ
使用頻度はP/Invokeの方がはるかに高いよ
俺は新しい言語覚える時は電卓作るわ
特別意味がある訳じゃないけど
シェルエクステンション作ると楽しいよ
465 :
デフォルトの名無しさん:2011/12/24(土) 16:48:14.45
C#じゃ無理でしょ
C++をお使いください
Listに要素を追加するためにはAddを使わなければなりませんが、
配列のようにカンマで区切ってどんどん追加していく事はできないのでしょうか?
>配列のようにカンマで区切ってどんどん追加していく事
どゆこと?
List<int> lst = new List<int>{ 1, 2, 3, 4 };
int[] arr = { 1, 2, 3, 4 };
>>467 それの上記(List<int> lst = new List<int>{ 1, 2, 3, 4 }; )のような記述って可能なんでしょうか?
>>468 それは配列から移してるのではないのでしょうか?
今、手元に環境内から間違ってるかもしれないけど、こういうことをやりたいのかな?
var L = new List<int>( );
L.AddRange(new int[]{1, 2, 3});
>>470 そうです。Listに直接、カンマで追加していきたいんです。
その構文だと通常の配列から移す事になってしまいます。
通常ならそれで大丈夫なんですが、配列が使えない環境なんです。
ねえよそんな環境
見た目だけ配列を無くしたいならparams T[]を追加する拡張メソッドでも作れ
>>472 それがあるんですよ。あの配列を使えなくしてある環境が!ちっくしょおおおおおお
ありがとう。
>>474 そ、そうなんですかあああああ
msdnには載ってなかった世おおありがとおっ
お礼はなにがいいですか?
また配列が使えない環境の人か……。
お礼か。
>>468のリンクをちゃんと読むことを要求します。
配列が使えない→C#の言語仕様を満たしていない→スレ違いってことも覚えとけ
なんで配列が使えないの?決まり?
>>476 >また配列が使えない環境の人か……。
なんか流行なのかなぁ。
リストは大丈夫とか意味わからんしねぇ。
Unityだから使えないなんてことは勿論ないわけで、なんか勘違いしてるんだろうけど
その勘違いを正さずにひたすら小手先の質問を乱発してる様はちょっと酷い
キチガイにはさっさとお引き取り願おう
スレを荒らして申し訳ない。そんなつもりじゃなかったんです。ごめんなさい。
>There are two types of arrays in Unity, builtin arrays and normal Javascript Arrays.
>Builtin arrays (native .NET arrays), are extremely fast and efficient but they can not be resized.
Unityとか知らんが、使えると書いてあるようにしか見えない
>>485 Unityの擬似Javaでは[,]で配列が作れる。arrayな。
擬似C#では[]では作れないarraylist、List、Hashtable、Dictionaryなどを使えと言われた。どれが高速なんだろ?
>>486 これは擬似Javaの方。誰か中性能のゲームエンジンを作ってくれ!5万までなら出す!
>>487 ・***などを使え、というのは誰に言われて?
・配列とDictionaryを同列に並べるな、別物だから
・JavaとJavaScriptの区別をつけろ
>>488 よく読むと通常の配列はjsでしか使えない。
広義の配列はC#でも使える仕様になっている。
このサジ加減の理由がよくわからない。ちなみにPRO版はC++が使える。
>>489 教本、UnityAnswersに言われた。
別物なのか。
Jsにすべきかjsにすべきか。
無自覚な悪ほど救えないものはないよね
492 :
デフォルトの名無しさん:2011/12/24(土) 18:54:49.37
>>484 旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦旦
⊂二二二二二二二二二二J( 'ー`)し二二二二二二二二⊃
| /たかしお茶wwwwwwwwwwwwwwwwww
( ヽノたかし、お茶いれたわよwwwwたかしwwwwwwwwwwwwwwww
ノ>ノ
三 レレ
∩ ダシャーン
ミ //うわああああああああああああwwwwwwwwwwwwwwww
ミ ⊂'ヽ ∩ // \
ミ \\\\_,,,,,,,,/ ∠ /
\\\\ .,''.,':.',, .,':.',, .,': l .,':.',,|[]].,':...,
ガッ ) \\ ).,':.',,:.',, []] .,':.',,.,':.',,.,日 .,':.',,.,':.',, /
凵@ ⊂二二二、___ヽ \_,,..ノ /[]].,':',,:',[]]/[]]\[]].,':.',,|[]].,':.',, _ .,':.',,]]/ 日.,':.',,.., . ..,,,;:[]]
PROって何のPROだよ殺すぞ
あのねえ…
そもそもJavaScriptの配列は「通常の配列」じゃないよ
>>490 組み込み配列
JSとC#の両方で利用可能な配列の最も基本的なタイプは、組み込みの配列です
配列の組み込みの主な欠点は、彼らが固定サイズを(配列を宣言するときは、選択する)持っていることですが、
この欠点は、彼らの非常に高速な性能でバランスが取れています。 あなたのコードから、
可能な限り最速なパフォーマンス(例えば、あなたがiPhoneを対象にしている場合)が必要な場合にこのような理由から、
組み込み配列は最良の選択です。 保存したい項目の固定および既知の数がある場合は、これが最良の選択です。
機械翻訳の方があなたより精度がよさそうです。まる。
>>495 JavaScriptのArrayは「可変長リスト」でC#で言うところのArrayListなんです。
知ったかぶらないで下さいいちいち。マジで癇に障るわ。
>>490 よく読むまでもなく通常の配列はBuilt-in Arraysで
JavaScriptでしか使えない配列はJavascript Arraysという特別なものなわけなのだが。
JS ArrayはListに近いわけだが、つまるところ普通の配列は伸び縮みしないものなんだよ。
ああ、その辺の「普通」は言語によって違うけど、
すくなくともC#で配列と言ったときには伸び縮みしないものを指す。
ていうかSystem.Arrayは普通のC#でも直接は使えない
忍耐の訓練だ
つーかいちいちJavascriptと比較するな
すればするほどどつぼに嵌るぞ
調子こいてUnity Answersとか読んでないで日本語の入門書読めよ中学生
それよりまず日本語検定から取得するべきか?
>>496 ごめんごめん。
どっかの大学の翻訳とマニュアル本を鵜呑みにしてたわ。使えるのか。
>>498 グーグル翻訳にかけたらarrayは配列って訳されるんだよ。Jsにおける可変長リストって意味なのか。知らなかったよ。
>>500 ?
比較するなら比較対象の機能くらい把握しろクソカス
>>503 いや日本語の入門書にばっちり書いてあるんですよ。
C#でやるなら配列は使えないからListやHashtabele使えって。
それも翻訳本なんだけど。正確には誤訳という事になるのかな。
タイトルは?
>>505 いや、なかなか難しくてどうも。
JsのArrayが可変長リスト・・・グーグル先生の限界ですね。
>>506 C#だと(JSの)配列は使えないから、(JSの配列と)同じことをC#でやるならListを使おう。
という意味だね。
前後があれば別に取り違えることはないと思うけどね、いちいち全部補足してたら話しにならんし。
とりあえず、JavaScriptやUnityのことは忘れて、一度黙ってC#の本読み直せ。
書評を読む限りC#じゃなくてUnityScript(Javascriptもどきの名前らしい)メインの本みたいだな
Javascriptもどきのスクリプトを前提にC#ではと述べてるのね
そら組み込みの配列では代用できませんね
つまんねえ誤解を無くすために一度C#とJSの基礎を学んでからUnityやり直した方がいいんじゃないの?
やっぱこんなことでスレが進んでいたのか・・・
UnityScriptの本持ってるならUnityScriptに鞍替えすんのは駄目なん?
たかがこれだけのことが3日に渡ってようやく解決!
もう来るな、と言いたい。
unityってなんぞ?
流行のゲームエンジン
日曜大工でもしてる方がマシ
XNAとは違うん?
にたようなもん
キャップつけろよ
>>506 お前… だから日本語勉強しろとあれほど…
JavaScript の配列は、Unity 用語的には JavaScript Array ってなっててこれは可変長配列。
それとは別に Built-in 配列ってのがあって、一般的に配列って呼ばれてるのはこっち。
で、Built-in 配列は C# からしか使えないけど、固定長で高速。
速度欲しかったらC#で Built-in 配列使え。
C# で可変長配列みたいなことしたかったら配列じゃなくて List か Dictionary 使え。
ふと思っただけなんだけれど。
int a = 1;
object b = a;
int c = b; ←ここ
上の「ここ」の部分を、b.GetType() とかを利用して動的にキャストしてビルドを通すことって可能ですか?
>>528 cをintで宣言してる以上は、静的にintと指示してあげない限りはダメだよ。
あとはdynamicか。
つい3日くらい前から皮肉屋になることにしたんだ
かわとにくをうってくれるんですね
>528
objectでは無理だけど、自分で定義したクラスなら、出来た希ガス。
共変性とか反変性とやらだったかと思う。
共変性とか反変性は関係ない
変換演算子のオーバーロード
東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
もろに北朝鮮と繋がっているテレビ局が1つ
年寄はまだまだテレビという外国人に騙され続ける
ネトウヨ王に、俺はなる!まで読んだ。
>>528 何がやりたいかよく分からん
動的にキャストってだけの話なら、変換演算子はop_Implicit/op_Explicitって名前のスタティックメソッドだから
変換前後の型に該当する方のメンバーがいるかリフレクションで調べればいい
でも言語仕様で決まってる型変換はメソッドが存在しないんで、そっちは決め打ちまたはIConvertibleで対処する必要がある
longやdecimalやdoubleが入ってるかもしれないものをintにキャストしたいんじゃないの?
dynamicかConvert.ToInt32
>>538 ほんと、まじめに、自分の日本語力を見直した方がいい。
プログラミングスキルの問題じゃない。人として。
もう3歳は超えてるだろうから無理だろう
541 :
デフォルトの名無しさん:2011/12/25(日) 07:00:27.68
フォームにコンボボックスを3つとデータグリッドビューを配置してコンボ1→コンボ2→コンボ3と絞り込んだDBデータをデータグリッドビューに表示したいんだが誰かサンプル書いてくれませんか?
舐めんなよチンカス野郎
リストビューでサムネイル画像を表示させたいんですが
for (int x = 0; x < filecount; x++)
{
Image img = Bitmap.FromFile(files[x]);
imagelist2.Images.Add(img);
bufferdListView1.Items.Add(files[x],x);
}
こんな感じでやると一気に読み込んだあとに一気に表示みたいになってしまいます。
先頭から1つずつ順番にアイテムを表示していくようには出来ますか?
>>543 ループの単位を大きくすればいいと思うよ。
例えば、それは小さいループでがっつりやってるけど、
読み込んだら、一旦開放して一度メッセージループを通して次をロードするとか。
読み込み->表示->読み込み->表示・・・ってやるのが単純だと思う。
>>544 ありがとうございます
今からやってみます
546 :
528:2011/12/25(日) 11:33:46.33
基本的には出来ないのか。
了解。みんなありがとう。
dynamic とか正直知らなかったので、勉強になりました。
>>536 とある処理をするのに二段階で関数を呼ぶのです。
二段階目の関数は既存のを使うとして、これはパラメータに与えるデータ型ごとに定義がある。
第一段階の関数は、第二段階の関数を呼ぶ前の前処理をするために新しく作成する。
で、第一段階の関数を複数作るのが面倒なのでパラメータを object 型に出来ないかな、と。
すごくおおざっぱな説明なのだけれど。ツッコミは敢えて受けます。
すごく原始的なやり方だけど
パラメータのクラスを作って
class Arg
{
public int iType; //これで判別 enumでもいい
public int intValue;
public long longValue;
public short shortValue;
...
}
みたいな。
>>546 パラメータの数は同じでパラメータの型だけが違っててメソッド名も同じなら
引数をdynamicにキャストして普通に二段階目を呼べば勝手に選んでくれる
549 :
デフォルトの名無しさん:2011/12/25(日) 12:18:44.78
あるメンバーズサイトにログイン→そこからキーワードに引っかかったリンク先へ移動→特定のデータを取得してテキストボックスに表示
がやりたい。
コピペ君って馬鹿だな、まで読んだ。
>>551 コピペじゃなくてマジな質問なんだが、、、
やればいいじゃない
簡単だよ
>> 542
class Sample {
// 自分で書こう(はあと)
}
C#関係ないしAPIが公開されてないならサイト個別の対応が必要だしある日突然使えなくなる可能性も高い
どこが質問かわからないところがミソ
>>543 今月発売されてる2月号の日経Softwareにtask使った例題があるよ〜
C#5.0ならこうか
async void button_click(object sender, EventArgs e) {
for (int x = 0; x < filecount; x++) {
Image img = await new Task<Image>(() => Bitmap.FromFile(files[x])).Start();
imagelist2.Images.Add(img);
bufferdListView1.Items.Add(files[x],x);
}
}
awaitのところで一旦処理が中断されて処理が戻り、Taskの引数のラムダ式が別のスレッドで実行される
それが終了したら自動的にUIスレッド上で以後の処理が再開される
その繰り返し
ulong[]型の複数の配列を配列にしたいんだが、型は何にしたらいいんだろ?ulong[]型の要素はulongです。
普通にulong[][]では?
>ulong[]型の要素はulongです。
当たり前w
>>563 普通なのかwww
普通な事がわかならい俺wwww
あなたの言うとおりにしたら動いたよwwww
もうwwwもうダメwwww
その自虐もうぜえ
ulongなんてあまり使わない型を持ち出すから
誰か分かっちゃうじゃないか
enum ABC{
AA,
BB,
CC
};
みたいな場合、
var abc = new[]{AA, BB, CC...いっぱい};
みたいな結果を
var abc = ABC.ToArray();
みたいな形で引き出せませんか?
>>567 > enum ABC{
> AA = 0,
> BB = 0,
> CC
> };
のときどうすればいいの?
[Flags]付きの列挙体は?
Enum.GetValuesまたはEnum.GetNamesから大体のことはできる
※C#の質問ではないかもしれません。
int i=unchecked ((int)0x80000000);
これでintに代入できますが、intとしてエラーが出ることは無いのでしょうか?
「intとしてエラーが出る」ってどういう意味なのかの説明が必用だねまず。
何なのそれ
572 :
デフォルトの名無しさん:2011/12/25(日) 17:22:05.02
>>570 でないよ
intのマイナス側って調べる気もないし面倒だけど
(int)0x80000000だとintで管理できる一番低いマイナスのことだよ
マイナスを使える変数の場合最上位のビットが1ならマイナス
575 :
デフォルトの名無しさん:2011/12/25(日) 17:50:14.20
>>574 いいえ〜
iの中身を実際に表示してみればよりわかるよ
>>548 ありがとう。
そんなことが出来たんだ。
577 :
567 :2011/12/25(日) 19:18:26.52
>>569 おおおEnumクラス知らなかったあ
まじ感謝です
これできるかも?ということがほとんどできるC#たんまじ天使
Enum.GetValues(typeof(ABC)).Cast<ABC>().ToList().ForEach((e) => Console.WriteLine(e.ToString()));
白々しい
ほな、どう言われましたら満足しはりますのん?
言うてみてくだしゃーせん?
自己解決しましたっ!
二度とその不愉快な文言見せてくれるな
それで満足だよ
コピペ君って馬鹿だな、まで読んだ。
Web上の画像のURLを取得して、stringで<img src="
http://***.jpg">のようにHTMLソースにしてからWebBrowserコントロールにDocumentTextとして表示させたいんですが、
直リン禁止?な画像を取得する場合のリファラとかはどのように設定すればいいのでしょうか?
WebClientだとHeaders.Addがあるのでそこに追加出来るのですが・・・。
よろしくお願いします
WebClientで保存してローカルファイルのパスを指定したら?
初音ミクみたいなのを作りたいのですがC#だけでできますか?
できる
わけない
int型を条件否定に使いたいんですが!が使えません。
どうしたらよかと?
x == 0
どういうコードがエラーになったかありのままを晒せ
>>590 ??
>>591 CS0023: The `!' operator cannot be applied to operand of type `int'
エラーはだけじゃくコードを晒せよ
どうせタコな書き方してるんだろ
>>593 while(!(cmdr[r][i]&input))
cmdr[][]→intの配列の配列
input→ビット
rubyみたいに森羅万象の型を真偽値として使いたかったのかな
C#ではbooleanだけだ
>>594 !(cmdr[r][i] & input == 0)
こんな感じだと使えない?
答えてる奴らもいい加減にしろよ。
何回基礎やれって言ったら基礎やってくれるの?
行き当たりばったりでも親切な人が答えて下さるので
利用できる限り皆さんを利用していこうと考えてます
基礎ってどうやって学ぶの?
基礎なのか?
ここのレスが半分になるような基礎のわかるものってなにかないですか?
ちょっとあまりにも自分がアホな気がしてきていますので。
これが完成しさえすればもう来ませんので、気長にお付き合い下さい
自分の時間の代わりに皆さんに時間を使っていただいて
基礎を解決していければと考えております
独習のサンプル全部打ち込んで実行してから喋ってくれるか?
607 :
デフォルトの名無しさん:2011/12/26(月) 00:48:12.67
少なくともVC#の場合は
>>594のコードなどで!のところにカーソルを載せると
自分がどんな値を!しようとしてたか教えてくれるけどね
それでなんて自分は愚かなんだって気が付くけど
僕の有意義なプログラムのために皆さんも協力できて光栄ですよね?
スレがのびすぎw
それもひとえに私の人望ですしょうか。
みなさんの努力は私が有効利用しますから、どうかご協力お願いしますね。
使える道具箱でホント重宝していますこのスレ
道具箱というよりは自動の辞書かな?
どうしたんすかこの人。切れちゃったのかな?
それにC#の多次元配列って[][]じゃなくて[,]じゃないの?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            int[,] cmdr = new int[1, 1];
            int input = 1;
            int r = 0;
            int i = 0;
            while (!((cmdr[r, i] & input) == 0))
            {
            }
        }
    }
}
いや、さながら人力クラウドと呼ぶのがぴったりでしょうかね。
新時代を築く栄誉に授かりたい方は、私の次回の質問をお待ち下さい。
>>614 じゃあはてなのサービス利用すればいいんじゃね?
ポイント払えばもっとまともな答えもらえると思う
無料で最高の回答を貰おうって方がずうずうしい気がするけど
何人いるんだよ一体www
>>613 多次元配列は時代遅れ
System.Linqとかインポートしてるんなら実際不便なのわかるだろ?
初心者が質問をして、荒れているんですけど、ここってそういうスレではないんだよ。
>>615 ジャグ配列なんてあったのね
配列なんて基本的に使わないから知らんかった
List<List<T>>でやってるし
WebRequestでサイトからデータを受け取っているのですが
「もっと読み込む」というボタンがあってそれを押すと既存のページ内に
追加される部分のデータをリクエストするにはどうやったら良いでしょうか?
>>618 俺は質問者じゃない
質問者が配列使ってるので配列で書いてみただけ
普段配列なんて使わないので困っただけだw
立てる前に埋めんなよチンパンどもってテンプレに書いてあるくらいだからなあ
チンパンしかいないよ
>>621 ボタンがjavascript実行してるんなら自分で同じリクエスト送ってやればいい
独習ぶ厚すぎ
独習C++なんてもっと厚いだろ
しかも独習C++は独習C読んでないと分からないから倍どころじゃない
独習がオススメなの?
629 :
デフォルトの名無しさん:2011/12/26(月) 01:10:46.57
プログラミングで独習なんてあれこれ教えてくれるコンパイラ(IDE)が
エラーをはかないようにコードを書き換えるゲームだろ
難しいことをやってると思うからダメなんだよ
基本的にゲームでやる作業とそれほどかわらん
メソッドの引数なんてRPGの武器にあいてる属性付けるスロットのような物だ
何か入れれば結果がでるんだし
簡単だろ
独習持ってんでしょ
やれよ
プログラマーの給与が安いのはちゃんと理由があったんだな。カンタンという事か。
あーもー超おススメ。
御託はもういい。
C#5はもう使えるのでしょうか?
.NETのはまだ4だよ
MonoのはC#5使えるよ
>>635 わわ。ありがとうございます。Monoで試してみます。
いやVS11のCTP使えよ
asyncなんかIDEあってこそだろ
そういやもう11終わりやな
>>637 VS11のプレビュー版もあったんですね。探し方が悪かったみたいで見つけられずにいました。
これで快適に試せそうです。
え?終わり?
いや11年がね
ちょw
だから、年号の11じゃなくて内部バージョンの11だとあれほど。
644 :
デフォルトの名無しさん:2011/12/26(月) 07:32:30.35
11ねえ
645 :
560:2011/12/26(月) 08:58:34.32
>>561 何それステキ過ぎるんですけど!
そのボタン連打されても平気?
DoEventsループで待つのと違うの?
DoEventsを別スレッドでやるというのはどうか
>>645 DoEventsって、例えるなら
トイレに列が出来ているときに、列を停滞させたくないからといって
中の誰かが自分は入ったまま順番待ちしている人を次々に連れ込む
ようなもんだ
・・・・・・という印象操作はどうよ
それは違う
ごめんなんでもない
別スレッド処理中発生したら都合の悪いイベントなんかは自前で制御しないといけないんだよね
フォルダ内のフィルをダイアログを開かずに順番に表示させるにはどうすればいいですか
フォルダ配下のファイル名を取得してlistviewあたりにいれればいいんでないの?
>ダイアログを開かずに
ここんところを説明してよ
>>654 ファイルダイアログのようなフォルダとかファイルの一覧が欲しいだけと勝手に
妄想した
C#で特定の周波数と音の長さを指定してwavファイルを出力する方法はございませんか?
>>656 まず、wavファイルのフォーマットを調べます。
つぎに、任意の長さの配列を確保します。
そして、配列に書き込みます。
おもむろに、ファイルを開きます。
全力でフォーマットに則って書き出します。
ファイルを閉じます。
そして、叫びます。「びっくりするほどユートピア!」
まずは無音の所定の長さのwevファイルを読み書きするプログラムを書くことだな
その後でその中に特定の周波数を入れ込むプログラムを書くと
wavファイルのフォーマットは超シンプルだからな
まあこの際面倒なので特定のフォーマットだけ対応すればいいよ
無音作ったら次はサイン波だな
Windows7の64bit使ってみたのですが、
C++のライブラリがUint32で定義されている場合、C#で受けるのはuintで良いのでしょうか?
C++ : typedef enum hoge_cpp : UInt32
C# : public enum hoge_cs : uint
663 :
662:2011/12/26(月) 16:34:35.33
失礼
C++のライブラリ自体、
typedef unsigned int Uint32;
の定義がありました
>>663 stdintはC++x11で入ったからそれを基準にする方が、今後は楽だろう。
で、以前このスレだったかで見たのは、C#の組み込みのintはint32固定だそうな。
あ、uintの話か・・・。すまない。
666 :
662:2011/12/26(月) 16:50:00.05
とりあえずOSに関係無く、C++もC#もunsinged int = uint = 32bitで良いんですよね?
64bit環境で顕在化する諸々のトラブルも一通り経験しといたほうがいいね。
P/Invokeとかでintとuintがごちゃごちゃすると面倒だよな
コンパイラによるから長さは気にしといた方がいいけど
まあWindows64はLLP64だからintのサイズは32bitだな
あてにしないで両方32の指定でやったほうがいい気はするが。
多次元配列の1次元目の配列名を取得するにはどうしたらいいでしょうか?
n番目に入っている事はわかっています。
671 :
662:2011/12/26(月) 17:08:22.96
>>669 個人的には常にbit数を指定して使いたいのですが、
VS2010のC#のenumって、UInt32を指定できますでしょうか?
普通に書いてみたら「uintを使え」って出て来ました
enum Hoge : uint
{
...
}
C#のuintはUInt32のエイリアスだと言語仕様で決まっているから
明示的に指定してるのと同じ
>>670 配列に名前なんかありません
変数名のことを言ってるんだろうけど、変数名というのはプログラムを書くときだけ有効な情報で
プログラムの中で変数名を使ってどうかしようとは基本的に考えないものなんです
リフレクションという例外はあるんだけど、今はそんなこと考えなくてよろしい
dobon先生以外で逆引きサンプル満載の優良サイトってないですか?
今はググれば何でも出てくるから便利だよな。
参考書いらないんじゃね?
>>674 ないんですか><
Listでも同じでしょうか?
はいれつ!
>>678 別にStringの配列用意して名前入れとけば配列の各要素に名前付けたことになるだろ?
String[] names = new[] { "a", "b", "c" };
int[][] array = new[] { new[] { 1, 2, 3 }, new[] { 4 }, new[] { 5, 6 } };
Console.WriteLine("配列" + names[i] + "さんの最初の要素は" + array[i][0] + "です。");
Cみたいなクソコードだが今のレベルじゃ十分
>>680 おお。これにします。ありがとう。スマートにしたいと高望みしてました。
まあ慣れたらクラス作ればいい
>>677 いや、そういうこともないよ。
スタティックな情報ソースとしては有ると嬉しい。
一定のレベルで一貫性が保存されてるのでね。
Webの情報は確かにすぐ出てくるけど、やたら縦割りなんだよな。
ちょっと脇道にそれるのが難しい。
だからこのスレは必要だ。
685 :
567 :2011/12/26(月) 19:52:42.12
>>681 こういうのはできるけどな
var dictionary = new Dictionary<string, int[]>();
dictionary["マミさん"] = new[] { 10, 20, 21 };
dictionary["ほむらさん"] = new[] { 3, 21 };
dictionary["まどかさん"] = new[] { 50, 20 };
Console.WriteLine(dictionary["まどかさん"][0]);
686 :
685 :2011/12/26(月) 19:53:30.60
名前ミス
XPだとC#5駄目なのか・・・
688 :
デフォルトの名無しさん:2011/12/26(月) 20:56:10.35
>>687 win7評価版でも使え
来年6月くらいまでは合法な延長コマンドで使い続けれるし
期日過ぎても1時間毎に再起動がかかるだけだ
延長があるかもしれないし
8が出るまでは延長されそうな感じだけどどうかねえ
>>689 どうだろ
まあ年末までだったのが6月まで伸びてるからねえ
実は年末までじゃなかったのが年末まで延びたらしいし
ずるずると・・ってのはあるかもね
コマンドの回数考えると600日使えるんだっけ?
691 :
621 :2011/12/26(月) 22:13:07.45
>>621の件で
>>624のレスを頂いて、
>>625を試したところなのですが、
ポストするアドレスには要求するページ情報が含まれていなくて
クッキーの中に入っていることがわかったのですが、
クッキーの中にキーと数値を追加するにはどうやれば良いか教えていただきたいです。
692 :
デフォルトの名無しさん:2011/12/26(月) 22:22:00.38
まったくのド素人が初めに読むといいサイトや本教えてください
>>691 どこのサイトにアクセスしてるか晒せるならコードと一緒に晒してみろよ
@IT:.NET TIPS クッキーを使ってWebページを取得するには?
Cookieを使ってファイルをダウンロードし表示する: .NET Tips:
695 :
デフォルトの名無しさん:2011/12/26(月) 23:10:30.12
コードを交えて語り合おうや
日本語でごちゃごちゃ話すの面倒なんだよ
hey
サイトはユ○チューブでユーザーの動画一覧のページのもっと読み込むボタンです。
現在
string pagesource = getHtml(@"
http://www.y○utube.com/user/ユーザー名#g/u",CC);
↓
pagesource からsessiontokenほかボタンを押した時に送る文字列を用意するところまでできました
(hogehoge=hoge123 など複数)
この文字列をボタン押下時に送る POST(url,CC)メソッドで使うCCの中に追加したいです
(CCはCookieContainer)
>>694 そのページの方法でクッキーを使えるところまではできています。
クッキーに追加しなくてもHashtableに追加すればいいのかな?
>>677 そうでもないよ。
電車の中で、オフラインでも読みたいって人がさ、
「このサイトって書籍化しないんですか?」って結構聞いてくる。
700 :
デフォルトの名無しさん:2011/12/27(火) 01:01:35.29
糞みたいな質問ですまんけど
winアプリの「付箋」とかってC#で作れるん?
C#はwebアプリ開発に向いてると聞くけど
普通に作れる
VC#はWinアプリ作るには最適
>>685 ありがとうございます!Dictionaryも勉強してみます!
教えてください。バックグラウンドで画像を読み込んでメモリにキャッシュし、
キャッシュした画像をメインスレッドで表示するプログラムを作っているのですが
バックグラウンドで画像を読み込んでいる間、画面が激しく重くなります。
(読み込みが終わると軽くなります)
バックグラウンド処理はTimerを使っていて、キューの中に読み込むファイル情報が格納されていたらそのファイルを読み込み、Bitmapオブジェクトを作っています。
大体、バックグラウンドで3000ファイル程読み込んでます。
また、1ファイルごとに読み込みが終わったらInvokeでフォームのコントロールを更新してます。
恐らくバックグラウンドの処理過多が問題になってるのだろうと思って原因を調べて見たのですが
CPUが10%、ディスクIOも10%から30%くらいで落ち着いていました。メモリも余裕があります。
読み込み処理も遅くなることはなく、秒間に10ファイルくらい読み込めてます。
また、バックグラウンドからのInvoke処理を消しても同じでした。
何か原因で思い当たるものはないでしょうか?
そもそも、バックグラウンドで重い処理をさせる場合に、Windowsフォームの処理に影響を与えないようにするための常套手段などあれば教えて頂ければ幸いです。
長文になりましたが、どうぞよろしくお願いいたします。
コード晒せよ
>>704 了解しました。
今は外出先なので、帰ったらバックグラウンド部分のコードを晒したいと思います。
使っているのがWinFormsの Timerで同一スレッドで処理してんじゃね
使ってるのがBackgroundWorkerなのかtaskなのかThreadなのか
使ってるのはTimerです。
Singletonなクラスを作り、そこでTimerを使ってます。
どうやら上記のようなことをやる場合、BackgroundWorkerを使うのが一般的なようですね。
Windows.Formsのタイマーを使っていたかと思います。
調べて見た所、バックグラウンドで処理してるかと思ったら、
>>716のご指摘通りUIスレッドで処理してるっぽいですね・・・。
一旦、BackgroundWorkerに置き換えて実行してみようと思います。
結果は別途報告しようと思います。
アドバイスありがとうございました。
go to文ってそんなに使っちゃだめなんですかね?
forループから条件文以外の手段で抜ける方法あります?
711 :
デフォルトの名無しさん:2011/12/27(火) 18:08:03.39
こんちぬー
りたーん
場所によってはぶれーく、、、なんでこれCからひきずってんだ
二冊とも買って、要らないと思ったら売るか捨てるかしましょう。
薄い方がいいと思うよ
アウトラインをざっくりつかむだけでいけるんじゃね
WPFとか道は険しいな
C#とか本はいらん
WPFもいらん
例のツールが教科書
ありがとうございます。
>>715 何気に目からうろこでした。売るという手もありますね。考えもしませんでした
>>716 結構僅差なんですよねー
>>717 はい…WPFも中々本が見つからず日本語はちょっとあきらめてます。WPF 4 Unleased か Pro Wpf in C# 2010 を考えています。
>>718 えっ、なんでしょう。
サーバーサイドの反対ってネイティブなの?
722 :
デフォルトの名無しさん:2011/12/27(火) 19:06:04.15
クライアント
じゃないの?
WPFでとかいいなぁ
趣味でないと触れない
いつになったらSHGetFileInfo使わずにフォルダとかのアイコン取得できるようになりますか?
文頭にピリオドがあれば、文頭にピリオドがあった文章の数を
iに格納したいのですが
どうすればいいでしょうか。
たとえば
.あいうえお
かきくけこ
.さしすせそ
.たちつてと
なにぬねの.
の文章があって読み込んだとき
iには3(ア行、サ行、タ行)が格納されるようにしたいのです。
なお文頭以外にピリオドがあった場合はカウントしません。
一行ずつ読み込んで、先頭文字を調べて、合致してればカウンタを一つ増やす
そのままだと思うけど、何が分からないの?
文章が何に入ってるのかしらないけど
string[]に入ってるとして
int i = 0;
string[] s = new[] { ".あいうえお", "かきくけこ", ".さしすせそ", ".たちつてと", "なにぬねの." };
foreach (var item in s) {
if (item[0] == '.') {
i++;
}
}
729 :
726:2011/12/27(火) 20:17:13.69
ありがとうございました。
できました。
【仏国ブログ】天皇誕生日の一般参賀「秩序正しく、天皇を敬愛」
天皇陛下の78歳の誕生日を祝う一般参賀が23日に皇居で行われた。
陛下は皇后さま、皇太子ご夫妻、秋篠宮ご夫妻と、ご夫妻の長女眞子さまとともに、午前中に3回、宮殿のベランダに立たれた。
日本に留学中のフランス人のブログ「2 years in Tokyo」では、一般参賀に訪れた筆者が、現地の様子や印象について記している。
■仏国ブログ - サーチナ・トピックス
筆者はまず、現在の日本における天皇の位置付けを紹介。
天皇家は5世紀から続いており、世界でも歴史が長い皇族であると説明。
通常、皇居は一部だけが一般開放されているが、天皇陛下の誕生日である12月23日には毎年、皇居の門が一般にも開放されるため、普段は見学することのできない場所を訪れたり、何よりも天皇一家を見ることができると述べている。
一般参賀の様子については、まず厳格な雰囲気で始まると語る。
欧米の式典と違い、ファンファーレや音楽、行進などはなかった。
しかし、日本で体験したほかの行事と同様、一般参賀にも秩序が見られ、現地の一般客がぶつかり合ったりと混乱することがなかったとつづっている。
筆者は、天皇陛下のあいさつの内容をすべて理解しなかったが、今年3月に発生した東日本大震災や、9月の台風について述べていたようだと記している。
また、天皇陛下が姿を見せると、「万歳」などの掛け声もあがり、天皇が国民の敬愛を集めている様子があったと伝えている。
フランス人の筆者にとっては、天皇陛下の誕生日は、欧米とは異なり日本らしい形で祝われていると感じられたようだ。
(編集担当:山下千名美・山口幸治)
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1227&f=national_1227_047.shtml
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派
VS
橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
様子見:公明
>>710 ソースコードの下方向へのgotoは場合によっては許す
上の方に飛ばしたら死刑
10 print "コンニハ マイコン ";
20 goto 10
これも死刑か
チが抜けたが
private void button_Click(object sender, EventArgs e)
int Index = listBox1.SelectedIndex;
listBox1.SelectedIndex = Index - 1;
リストの最後尾に到達したときにどのような処理をすればよろしいでしょうか
ループでもその場で待機でも構わないのですがとりあえずエラーを回避したいのでお願いします
indexの総数は読み込んだディレクトリで変わるので固定できません
アイテムのインデックスの上限は0以上
listBox1.Items.Count - 1以下
です。
すみません
listBox1.SelectedIndex = Index + 1;
でした
//その場で待機
int Index = listBox1.SelectedIndex;
if( Index + 1 < listBox1.Items.Count )
{
listBox1.SelectedIndex = Index + 1;
}
//ループなら以下をアンコメント
//else
//{
// listBox1.SelectedIndex = 0;
//}
ブロックを二つ以上、一気に抜ける方法ってありますかね?
GO TO JAIL;
ループ等ならフラグ立ててbreakふたつ
>>738 無事にできました
ありがとうございました
帰りにページが少なくて文字が大きくスカスカな方の独習C#3.0を買って来ました。
(皮肉な書き方ですが、実際問題プログラミングC#は読破できるか心配でした)
ありがとうございました。
>>743 その本、索引のページ数とかメチャクチャだよ。
もう時代は独習C#5.0がせまってるのにさ
×独習C#3.0
○独習C#第三版
>>744 そうなんですね…
ぼっち学習
>>703ですが
Windows.Forms.Timerの代わりにBackgroundWorkerに変えたところ解決しました!
レスして頂いた方々に感謝です!
>>725 Windows ApiCodePack使えば、アイコン処かサムネイルまで採れるぞ
どっちにしろ,net標準で用意されてる手段じゃない
そういう細かいところは放置プレイでいくんだろうねw
753 :
デフォルトの名無しさん:2011/12/27(火) 23:45:25.77
プログラミングに限らず教科書の電子化公開なんか政府が買い取ってやるべきだよなぁ
基礎の復習なんて基礎の基礎だろ
755 :
デフォルトの名無しさん:2011/12/28(水) 00:13:37.87
>>754 頼むからやめろ
むしろIPAみたいな有害な組織は潰すべしと思ってるのに
C#のインスタンスの中で受け取る変数を指定しないでnewが出来るようなのですが
構文的にはなんていうのでしょうか?
class Test {
public Test()
{
new SampleData(); <----- この行が何をしているのかが知りたいです
}
}
class SampleData { public int No { get; set; } }
thisへの指定を省略しているだけなのか、C#の構文なのか
今まで見たことなく理解できないのでお願いします
構文的な意味はあるのかな?
GC以外は管理してない無駄なnewなだけでしょ
インスタンス化することに副作用があってそれに意義がある場合
普通はスタティックなメソッド作ると思うけど
構文的には単に、返値を捨ててるメソッド呼び出し
760 :
756:2011/12/28(水) 08:52:15.03
紅茶のティーパック
誤爆しました
>>760 これ別にこんなトリッキーなことしないで普通にWindow1にイベントハンドラ書いても
元の配列やfilteredViewのGCの妨げにはならないはずだが
意味がよくわからん
764 :
763:2011/12/28(水) 09:39:37.08
いやもしかしてICollectionViewの方が寿命が長くてWindow1やテキストボックスのリークを心配してるのか?
それは詳しくは知らないがWPFの仕組みによっては確かに可能性がありそうだけど
でもそれでもしリークするならこのコードでもTextSearchFilterのインスタンスはリークするはずじゃないのか
やっぱりわからん
イベント外さないと気持ち悪いよな
俺もWPFはよく分からないけどw
コントロールがハンドル持ってないから構わないのかな
変なことしないで普通にWindow1にイベントハンドラ書いて
いらなくなったら忘れずに自分でイベントハンドラを外せば問題なし
767 :
デフォルトの名無しさん:2011/12/28(水) 11:32:08.74
画像の10bit表示はどうやるのでしょうか?
HPの10bit表示対応液晶買ったので試してみたいのです。
XNAでできるのかな??わかんない。
そもそも今のところはワークステーション用ビデオカードが必要じゃないかな、多分
「大阪王将」のイートアンド、韓国に合弁会社設立へ 現地外食企業と合弁、韓国国内で直営・FCを展開
「大阪王将」などを展開するイートアンドは、韓国の外食企業GREEN CO.,LTD.との間で合弁会社を来年2月に
設立する。イートアンドは、海外事業を成長戦略のひとつと位置づけており、韓国における「大阪王将」の直営・
加盟出店および外食向け製品や冷凍食品の製造販売を行うのが目的。
GREEN社は居酒屋など多数の飲食店を展開している。新会社のG・EAT KOREA CO.,LTD.(仮称)は、イート
アンドと韓国国内における「大阪王将」エリアフランチャイズ契約を締結して、事業を展開していく。資本金は
6億ウォンを予定、出資比率は50%ずつ。
【G・EAT KOREA CO.,LTD.(仮称)】
設立日:平成24年2月末までに設立予定
所在地:未定(韓国国内)
代表者:未定
事業内容:大阪王将の韓国国内での経営並びに指導および食品の製造・販売
資本金:6億ウォン(予定)
出資比率:イートアンド50% GREEN CO.,LTD.50%
http://www.gaisyoku.biz/pages/news/news_details.cfm/4121
771 :
デフォルトの名無しさん:2011/12/28(水) 13:37:10.66
>>769 Radeon X1000以降は全機種対応してるよ。
少なくともDisplayPortが付いている機種は確実に対応している。
HDMIが付いている機種もほぼ対応している。
GeForceは知らん。
ほぼブルーレイ動画のために対応しているものだから.NETだけで
扱えるかは不明。WPFがWICベースらしいからWPFであれば簡単に
扱えそうなものだけど。
一応、WPFであれば扱えるけどGPUアクセラレーションが完全に
無効化されると聞いた覚えがあるような無いような。
772 :
デフォルトの名無しさん:2011/12/28(水) 13:55:50.70
>>752 こんなのあるんだ
ありがたや、ありがたや〜
>>760-764 参照の方向は
ICollectionView → 自動生成される型
TextBox → 自動生成される型
だから、少なくとも「自動生成される型」以外リークする余地などないが
private void pictureBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
// ドラッグ中のファイルやディレクトリの取得
string[] drags = (string[])e.Data.GetData(DataFormats.FileDrop);
foreach (string d in drags)
{
if (!System.IO.File.Exists(d))
{
// ファイル以外であればイベント・ハンドラを抜ける
return;
}
}
e.Effect = DragDropEffects.Copy;
}
}
この時点で特定の拡張子以外は受け付けないようにするにはどうすればよろしいでしょうか
読み込みたいのは画像系のファイルで主にbmp,jpeg,jpg,pngです
Enterだからな
デバッグが例外で止まった時に変数の上にカーソルを置くと変数の中身が出るようにする設定はどこにありますか?
■民主党政権になって放送禁止になった言葉一覧■
[道義的責任・進退問題・発言のブレ・閣内不一致・派閥・プライマリーバランス
空気が読めない・庶民感覚・国民目線・バラマキで人気とり・国民に信を問うべき・OECDの貧困率
ワーキングプア・ネットカフェ難民・世襲・料亭・漢字・読み違え・直近の民意・国民の生活が一番、政権交代が最大の景気回復策、公務員改革
ガソリン値下げ、景気回復策、解散総選挙、ホッケの煮付け
世襲制廃止、地域主権、議員定数削減、地球温暖化対策]
コピペ君って馬鹿だな、まで読んだ。
マイクに向かってハドソ....
っていうか、読んだけど何を指して裏ワザって言ってるのかよくわからんのだけど。
どういう結果が欲しいわけ結局?
スタックトレースが変わっちゃうような最適化を抑止するって話かなと思った
ていうか本人に効け
ListBoxの項目の上でマウスを右クリックした時にその項目の内容を取得したいのですが
その項目が選択されていない状態でマウスの位置からIndex番号やその内容を知ることは出来ますか?
FormsならTopIndexから順にGetItemRectangleしてきゃ原理的には分かるんじゃね
WPFはVisualTreeHelper.HitTestか?
ListBox.IndexFromPoint
できました。
ありがとう
System.Diagnostics.Process.Start(url);
でインターネットエクスプローラーを開くと既存のブラウザで開いてしまいますが新しいウインドウで開くにはどうすれば良いですか?
noframemergingオプションじゃないのか
できました。
ありがとう^^
>>787 そういうのどうやって身に付けるの?書籍なんかに見当たらないし、そんなのあること自体発想してないし。
MSDNを超巨編小説ばりに頭から順に読書してはる人?
793 :
デフォルトの名無しさん:2011/12/29(木) 03:21:48.16
>>792 ListBox.
って入力すればIDEが候補をいろいろ出してくれるだろ
それを上から見ていけばいいだけじゃないの?
こういうことに使えそうな物はないかなあ・・・ってさ
それにMSDNを調べれば一発だし
業務中にそんなん上から順に見て道草喰ってる奴いたら後ろから平手ではったおす
IndexFromPointとかItemFromPointとか感覚でありそうだなって分かるだろ
もっとプリミティブだとHitTestみたいなメソッド探してみたり
>>795 そういう余裕を持たせられるような働き方じゃないと、伸びないと思うよ?
俺はMSDN表示させて文字検索するけどなw
普段からこういう場所で質問に答えたり眺めたりしてると
今自分に関係無い情報も入ってくる。それを必要な時に引き出して使うのさ。
【中国BBS】わが国の生活水準、いつになれば日本を追いつける?
中国大手検索サイト百度の掲示板に「中国の生活水準はいつになったら日本を追い抜けるのか」というスレッドが立てられた。
● スレ主:ddteva
20年以内に実現できるかな?
● ewprod
日本が自己破産でもしない限り、永遠に日本人は中国人よりも裕福なままだろう。
● 52落白
500年かけても無理。大富豪が一肌脱ぐのでもなければ。
● 南山yi顆草
ほかは言わなくていい。もしも民度さえ日本を超えれば…中国は世界のトップだ!
● 果凍XX
むずかしい話だ。地球の資源には限りがある。みんなが日本ほど発展したら地球は自爆してしまうだろう。
だが、韓国程度の発展なら可能性がある。15年は必要ない、2017年には韓国と同じくらいになっているだろう。
● TY協会名誉会長
オレの世代でそれを見ることができるだろうか?無理なんじゃないかと思っている。でもどうして日本を越えなければならないのだ?
● likecpa
このスレはスケールが大きすぎる。われわれはまず自分の生活を向上させることに集中しようぜ。
● hkx9157
俺が思うに、一部の人の生活水準はすでに日本を優に追い抜いている。どの人たちかは説明しないよ…。でもほとんどの人はいまだに苦しい生活を強いられている。
(中国の富裕層の財産は日本の富裕層とは桁が違いますね)
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1229&f=national_1229_056.shtml
ネトウヨ王に、俺はなる!まで読んだ。
bool型と同じような感じで使える自作の型を定義する方法を教えて頂きたいです
Left Center Rightみたいな3種類を示す型を作りたいです
どこにどんなものを記述すれば良いか教えて頂けると助かります
ちょっと使用例にしてくれ
実際に動く必要性はないから
意味が分からない
>>802 >Left Center Rightみたいな3種類を示す型を作りたいです
enum じゃだめなんか?
レスどうもです。初心者なのですみません・・・enum試してみました
大体良いみたいです。
bool型みたいに列挙型名を省略して書けるようにする方法はないですか?
iti=LeftCenterRight.Center;
↓
iti=Center; ←こう書きたい
ありません
LeftCenterRightって型名ダサ過ぎw
[解]
以下のメソッドを用意する
LeftCenterRight Center(){return LeftCenterRight.Center;}
[注意]
でもやるな。
enumの型名を省略したいなどというアホなてめえの感覚の方を修正すべき。
プログラムやる人ってなんでこうなんだろうなw
なんでもかんでも省略すると糞だからってことでIDEの支援をあてにして
単語が残るようになるべくやろうとしてるのね・・
怠惰は美徳の一つのはずだが
810 :
デフォルトの名無しさん:2011/12/29(木) 20:09:15.76
そうなんだが
その中でも我慢するところは我慢しようよってレベルだと思うw
横着とは違う
つうか「どれだけ仕様書とかコメント読まずに組めるか」って言う命題満たす為には
メソッドやプロバティー名だけで処理が判るようにする必要がある
楽する為に名前を長くしているんだぜ
CやC++のような命名ルールはやりたくねーわ
今なんて文字数制限もないんだしさ
SundayMondayTuesdayWednesdayThursdayFridaySaturday
じゃあ頑張ってこんな型名使ってくれよw
普通の人はDayOfWeekとかするんですよ。アホの子じゃあるまいし。
>>805も普通のセンスならHorizontalAlignmentとかするでしょ。
長さの問題ではなく抽象化の問題。
意味が解る範囲で省略するのはアリだと思うんだよな
HorizontalAlignmentなら、HAlignにするとか
SunMonTueWedThuFriSat.Thu
JapanUsaOther.Japan
>>815 お前アホだろ
Week.Sunday
とか使えるようにすればいいだろ
Colors.Black
とか使えるように
好きにしなよ
今問題なのは
Week.Sundayをsundayとかやらせろって話だろ
intとかstringならまだしも個人の好き勝手にそんなの作るんじゃねーよって話
Javaだとできるけどな
C#教は名前の衝突は最大の敵でありその可能性は徹底的に排除しなければならないという教義なので
そういうのやらない
enum HAlign
{
Center, Right, Left
}
static readonly HAlign Center = HAlign.Center;
static readonly HAlign Right = HAlign.Right;
static readonly HAlign Left = HAlign.Left;
HAlign align = Right;
こうも書ける。
まあ、やらん方が良いと思うが。
どうしても面倒だって言うのならusingで列挙型に別名付けとけ
ネトウヨきもっ、まで読んだ。
はぁ。
Javaのstatic importは同名のメンバが基底クラスに追加されたときに誤動作するからな
あずかり知らないところの変更が既存のコードを誤動作させるのはC#教では許されない
javaの言語仕様がうんこで変更に弱いのは確かだが、その言い分だと拡張メソッドは許されないよね
基本方針なのは確かだけど
拡張メソッドは被ったら基底クラス優先だから
>>830と似た問題はある
インターフェイスに対して拡張メソッドを定義する分には後でメンバが追加される心配がないから問題ない
834 :
833:2011/12/29(木) 23:04:19.35
いや問題あるな
何言ってるんだ
問題だらけですね
C#教はあずかり知らないところの変更が既存のコードを誤動作させるのを
認めます。許さないことができないので。
実装が変わって動作が変わるのはそりゃ仕方ないだろ
意図しないメンバが呼び出されるようになることがないようにする配慮は
実際いろいろなされてるよ(例外はあるが)
流れを読まないでごめんなさい。
とあるオブジェクトを複数のスレッドで使用するとします。
使用する前にロックを確認して、空いていればロックを掛けて使用、ふさがっていればその回はスルーします。
こういうとき、皆さんならロックとその確認をどうやりますか?
具体的には、stream オブジェクトからの読み出しとその処理を行うスレッドの対応を多対多で実行したいのですが、
同時に steram を参照しないようにするために排他制御を行う必要があります。
lock( [streamオブジェクト] ){} とやれてしまえば簡単なのですが、この方法だとロックできない場合は出来るまで待ちになってしまいます。
Mutex などを利用する場合は stream オブジェクトごとに排他用の名称を作らねばならず面倒‥‥じゃなくて、煩雑な気もします。
できれば stream オブジェクト単体から排他制御を行いたいのですが、どうやればシンプルかつ他人が見てもわかりやすくできるだろうかと
ちょっと考え込んでしまいました。アドバイスをいただけませんか?
>>836 許すのが普通じゃねーの?
その辺は言語じゃなくてDbCとか単体テストの仕事な気がするけど
逆に許さない言語ってあんの?
>>838 読み出しスレッドは一つだけにしてProducer-Consumerでいいんじゃないの
>>838 ストリームから読み取ったデータとその処理が具体的にどう対応するの?
なんかデータの単位があってそれ読んでそれを好きなスレッドが好きな順番で処理すればいいんだったら
いったんキューに突っ込むのが簡単なんじゃないか
Monitor.TryEnter
843 :
デフォルトの名無しさん:2011/12/30(金) 00:04:52.80
C#だけで作られHadoopみたいなのありませんか?
もしかしてネトウヨきめえって思わせるためにコピペしまくる連コリアンの方ですかね。
847 :
デフォルトの名無しさん:2011/12/30(金) 07:49:48.99
848 :
838:2011/12/30(金) 11:06:39.60
>>840-842 ありがとうございます。
基本ひまつぶしの趣味で作ってるので、普段しないことをしてみたいな、と。
Monitor.TryEnter 、やっぱりあったのですね。
ラッピングしてやってみます。
C# って至れり尽くせりだなぁ。
すみません教えてください。
Formにボタンを置いて、
Form_loadで乱数の取得を記述して、ボタンを押せば乱数が表示される
ようにして、その後またボタンを押した時に新たな乱数を取得するには
どうしたらいいですか?
最近「頭悪い質問で釣ってみた」の投稿多いな。
>>849 Form_Loadで取得するのを止めて
ボタンを押すたびにButton_Clickedで取得するのはどうかな!
昨日と今日と明日と明々後日は忙しいよ
>>851 ありがとうございます。
助かりました。
それでいいのかよ!
まったくだw
1日は2年参りから帰って寝てるだけだからどうでもいいんだ
朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社
−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ 09.3
どこのスレだよここは
List<Vector2> tes = new List<Vector2>(); みたいに定義して
tes.ElementAt(0);
tes[0]:
↑って何が違うの?
てんさいです
【東京都渋谷区】 12/31(土) 年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!
年忘れしてはならない!紅白さくら祭 みんなで「韓流紅白」をぶっ飛ばせ!
12時00分 渋谷駅ハチ公前広場 「街頭演説」(〜13時30分)
13時30分 移動
14時00分 渋谷公会堂前 「街頭演説」(〜14時45分)
15時00分 代々木公園・NHK横「イベント広場」
「年忘れしてはならない!紅白桜祭」
抗議集会・コンサート・炊き出し等々
盛りだくさんでお送りします!(〜21時00分)
>>861 ElementAtはIEnumerable<T>に対して使うもので、インデックスが使えるIList<T>系には普通使わない
やってることは同じ
なるほどどうも
窓でGUIのプログラム作るときに一番楽なのはC#でいい?
一番かどうかは知らないがメジャーどころの中ではそうだな
>>865 ランタイムが解決できれば制作はホント楽。
ランタイムの普及率も他の要ランタイムプラットフォームに比べりゃ圧倒的に高い
フォルダにたくさんのJPG画像ファイルがあってこれをピクチャーボックスに表示するものなのですが、
例えば上下キーで前の画像、次の画像と切り替えられるようにしたとして
キーを押しっぱなしの時に高速で画像が切り替わると思いますが
この時にコマ落ち?みたいにならずに確実に画像が表示されるようなプログラムはC#で出来ますか?
URLの判定でさ、↑みたいに(v=vs.80).aspxがリンクから抜けてしまう場合があるんですが
ココも含めたい場合ってどっか正規表現で設定弄るところあるんだっけかな?スレ違いだな。
知らねえよchaikaなめんな
chaikaならちゃんと全部URLとして認識してるよ
ContextMenuを表示してItemを何も選ばずに消えた時だけ処理したい場合はどうすれば良いですか?
ContextMenuStripならClosedイベント
ContextMenuだと普通の方法じゃとれないのかな
ContextMenuのハンドルをTrackPopupMenuEx APIに渡した戻り値で分かるが
List a;
List b;
で
List c = a+b;
みたいにやりたいんだけど、どうすればいいの?
AddRange
どうも
Concatで駄目でなんでだよって苦戦してた
>>876 なんか難しそうな・・・
フォームを作ろうかな
そんな風には書けないので
大人しく書ける方法で書いてくれ
どこの流儀だか知らないけどな
全世界で通用すると思うなよ
>>879 Concatが返してるのはイテレータだから、Listのコンストラクタに渡したりすれば出来るよ。
button1.Text="新しいフォルダの作成(M)";
こういうボタンがあるのですが、(M)のところにアンダーバーのついたMを表示するにはどうすれば良いですか?
884 :
デフォルトの名無しさん:2011/12/31(土) 14:37:09.95
&M
とかじゃなかったっけ?
&Mでできた。ありがとう
>>880 ContextMenuクラスはまあ「過去との互換性のために残してあります。使えるけどぉ」みたいなこと書いてあるから
ContextMenuStrip使えばいいんじゃね?
ContextMenuってWPFのほうじゃないの?
888 :
デフォルトの名無しさん:2011/12/31(土) 16:05:15.13
とりあえず自分の質問がwinformなのかwpfなのかsilverlight(ブラウザorWP)とか
書いて欲しいよね
大体はwinformだろうしコントロールの名前などから予想して回答してるだけだし
890 :
デフォルトの名無しさん:2011/12/31(土) 17:48:45.51
しまったC#スレと気づかずレスしてしまった
自作ダイアログボックスを作っているのですが
フォームの規定のサイズやボタンのTextなど
何もしなくても実行されるコードはどうやって書けば良いですか?
民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣
1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河 流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし
ネトウヨ脳の恐怖、まで読んだ。
まで読んだ、ネタもういいよ…
民主党のスクリプトだろ
んだ。
言語もそうだけど設計パターン?MVCやMVPとか
解説してるサイト見てもよくわからないんだけど身につけるにはやっぱそれに添って
作っていくしかないの?
単体テストすればいいんじゃないかな
くだらん目的だけどやっぱりそういうの採用する一番の動機はそれになってしまうので。
それが必要になったときに覚えればいいんでわ。
基礎が出来てる人ならワケもないだろうし、必要になったときなら必死にお勉強するだろうし。w
>>893 IDEからダイアログのプロバティーを設定します
知らん単語だな
あけました
民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣
1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河 流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし
新年あけましてネトウヨコピペ、まで読んだ。
今年もヨロシクなークズども
こちらこそよろしく。あと今年はもっと分かりやすく教えろな
新年おめでとうございます。
試してて気づいたんですが、教えてください。
1. サーバー側で System.Net.Sockets.TcpListener で接続を待ち受ける
2. AcceptTcpClient() で System.Net.Sockets.TcpClient を取得して接続を受け付ける
3. 用が済んだら 2 のインスタンスを Close() する
3 の後でもクライアント側でサーバとの接続に使用した System.Net.Sockets.TcpClient の GetStream().Write() が普通に成功します。
サーバ側に GetStream().Close() も足してみたのですが変わりませんでした。
サーバ側でソケット?をクローズすればクライアント側では送信に失敗すると思っていたのですが、違うのでしょうか。
だとすると、サーバ側から切断したい場合はどうするのが普通なのでしょうか。
意地でも一方的に切りたければNICを無効にしてしまえばいい
ただし同じNICで受け付けてる他のクライアント全部切断になるけどな
writer.Flush();した?
めんどくせえからnull突っこんだらいいじゃん
>>910 > GetStream().Write() が普通に成功します。
何回かやってるとそのうちエラーになる。
> サーバ側から切断したい場合はどうするのが普通なのでしょうか。
サーバーって普通は、クライアントの要求に対してレスポンスを返すものなので、
通常はクライアントからの要求がなくなったことを検出して、接続を切る。
ftp サーバーとか、配信サーバーとかで延々サーバーからのデータを送る状況が
発生する場合は、別コネクションで切断指示を送るなどの仕組みが必要。
javaのHashMapみたいなのってどれ?
Dictionaryか、ども
「経世会(旧田中派)」VS「清和会」>
(田中派)田中角栄 逮捕 ロッキード事件 (←東京地検特捜部)
(経世会)竹下登 失脚 リクルート事件 (←東京地検特捜部)
(経世会)金丸信 失脚逮捕 佐川急便献金・脱税 (←東京地検特捜部&国税)
(経世会)中村喜四郎 逮捕 ゼネコン汚職 (←東京地検特捜部)
(経世会)小渕恵三 急死(←ミステリー)
(経世会)鈴木宗男 逮捕 斡旋収賄 (←東京地検特捜部)
(経世会)橋本龍太郎 議員辞職 日歯連贈賄事件 (←東京地検特捜部)
(経世会)野中広務 議員辞職 日歯連贈賄事件 (←東京地検特捜部)
(経世会)村岡兼造 逮捕 日歯連贈賄事件 (←東京地検特捜部)
(経世会)小沢一郎 西松不正献金事件 (←東京地検特捜部)
(経世会)二階俊博 西松不正献金事件 (←東京地検特捜部)
(清和会)岸信介 安泰 A級戦なのに釈放。
(清和会)福田赳夫 安泰 清和会を創設
(清和会)安倍晋太郎 安泰 国際勝共連合、統一教会に深く関与
(清和会)森喜朗 安泰 子息の押尾事件関与疑惑ほか
(清和会)塩川正十郎 安泰 小泉構造改革の旗振り役
(清和会)小泉純一郎 安泰 郵政米営化、りそな問題他、疑惑の総合商社。
(清和会)尾身幸次 安泰
(清和会)中川秀直 安泰 統一協会(=米国福音派)に祝電
(清和会)安倍晋三 安泰 統一協会(=米国福音派)に祝電
フォームのサイズを変更した時に他のコントロールの大きさや位置を設定する方法は
Form1_SizeChangedで自分で書く以外に何か設定方法があった気がするのですがどんな方法でしたっけ?
Anchor, Dock
自作クラスに<, >, == をオーバーロードしさえすればソートは完璧に
使えますよね?
神武天皇即位紀元(じんむてんのうそくいきげん)は、
初代天皇である神武天皇が即位したとされる年を元年
(紀元)とする、日本の紀年法である。
略称は皇紀(こうき)という。外にも、皇暦(こうれき)、
神武暦(じんむれき)、神武紀元(じんむきげん)、
日紀(にっき)などともいう。
年数の英字表記では、「Koki」や「Jimmu Era」などといい、
皇紀2660年を「Koki 2660」「Jimmu Era 2660」などと表記する。
紀元節(現在の建国記念の日)廃止までは、
単に「紀元」と言った場合には、神武天皇即位紀元(皇紀)を指していた。
西暦2012年は、神武天皇即位紀元皇紀2672年である。
924 :
910:2012/01/01(日) 19:26:23.93
>>911-915 ありがとうございます。
以下を試したところ、送信や受信が失敗するのを確認しました。
・GetStream().Flush() を Close() の前にやってみる
・送信を二回以上繰り返す
・受信側でタイムアウトを設定する
たしかにいきなり切断するって言うのは乱暴なのですが、プログラムバグでそのような状態に
なっているのを確認したときに、突発的な理由でそうなったときにどうしたものかと考えていました。
片側で Close() された後ももう片側でそれを認識できないと問題になるだろうな、と。
DataSetに格納したテーブルのデータを表示したいのですが、どうすれば良いでしょうか。
例えば、テキストで全部出力するとした場合、どのようなメソッドやプロパティを使用するのが一般的なのでしょうか。
よろしくお願いいたします。
表示するだけならDataGridViewにバインドすれば一発
927 :
925:2012/01/01(日) 20:05:47.15
>>926 回答ありがとうございます。
C#の勉強中で、GridViewを使用しないで作りたいと考えています。
最初から書かずに申し訳ありません。
ヒントだけで構いませんので、よろしくお願いいたします。
DataSet.WriteXmlでファイルに出力してIEやExcelで画面に表示する
929 :
925:2012/01/01(日) 20:24:39.94
例えば、
DataSetに格納された、5行目,3列目のデータを表示するにはどうすれば良いですか?
DataSet使う前にまずはCSVファイルでも読み込んで
データをいったん配列に入れてそれをまた書きだす練習でもしたらどうだ
少しは自分で考えてから質問しろ
一般的な話をするとこんな感じ
・データソースにDataTableをバインドする
・DataTableはIListSourceを実装しているので、DataTableではなくIListSource.GetListの結果をデータソースとして扱う
⇒DataTableの場合はDataView(#DefaultView)
・データソースのDataViewはIBindingListとITypedListを実装しているので、それぞれから行と列を取り出す
※IBindingListが無い場合はIList、ICollection、IEnumerable等にフォールバックする
※※ITypedListが無い場合はListBIndingHelperを使う。あとICustomTypeDescriptorにも注意する
まあdataSet.Tables[0].Rows[4][2]でいいと思うけど
>>924 相手がちゃんとTCPの手順通りに切断していれば、(将来的にも)これ以上データが来ないことは分かるだろ
最低限の処理として双方で
・相手がClose() → 自分もClose()
・無通信時間が一定時間を越えたらClose()
くらいはしとけ
いい加減C#関係ないから、続けるなら「TCPのこれこれの機能はC#(.NET)だとどう書きますか?」のような質問にしてくれ
>>933 >・無通信時間が一定時間を越えたらClose()
なんで、そんなアホなことするの?
相手がいきなりダウンした時などを検出したいなら、keep alive とか使うべきで、
適当なタイムアウトはトラブルの元だよ。
935 :
925:2012/01/01(日) 21:26:09.21
>>930 ご助言ありがとうございます!
CSVから読み出す練習をしてみます。
>>931 これでも2日間悩んでいるんです。。。
申し訳ない。
>>932 具体的な回答ありがとうございます!
おかげでひとつ先に進めました!!!
vb.netユーザーです。
s
そんな自分がC#に手を出しても移行できらりしますか?
きらりはどうか知らんが
文法ちょっと違うだけだから移行は簡単
C#で苦戦したらそれはVB.NETも正しく使えてなかったということ
______
r〃〃〃 f7⌒ろ)
l‖‖‖ || f灯
|‖‖‖ || | |
|儿儿儿._」⊥厶
〔__o____o_≦ト、
. i / ⌒ ⌒ ヽ )
!゙ (・ )` ´( ・) i/
| (_人__) | \
\ `ー' / / ー- 、
. ,ィ(⊆≧リ≦⊇)〃 / rク\
. / | ̄r少}¨ ̄〃 / /′ ヽ
〃 l | l| | l| 〃 / / └ヽ
/ l |l | |l/″ / ! 厂 \
く, Y ! l」fレト! / | / 1
丿 | | 丿} じ’ / | / |
/ l | `¨ / レ′ |
真の思考停
(在位 2009年9月16日〜2010年6月8日)
民主朝の初代考停、言行不一致、虚言、脱税、
そして外交において巨大な負の遺産を築いた。
vb.netを究めし者ならC#など屁でもないわ
VB脳だと難しいかも
>>937-940 ありがとうございます。
とあるソフトウェアをもう7割方完成させてしまってるのですが、C#のほうが幅が広いカナと思ってました
試しに既存のコード移植してみようと思います。
VBの方が機能は多いから、逆にC#からVBに移植するよりは難しいはずだよ
ただし、VBにあってC#にない機能は基本的に
VBにその機能があるのが間違っているので意図的に削られているというのを忘れないように
treeViewで新しいノードを追加した時に「新しい名前」と命名して
BeginEdit()でカーソルが点滅した状態にしているのですが、
既存のノードと名前が重複していたらそのノードからフォーカスが移ることが出来ないように
treeView1.LabelEditがtrueの間は
treeView1_BeforeSelectイベント内で
e.Cancel=true;
treeView1.SelectedNode.BeginEdit();
を実行してフォーカスをそのままで「新しい名前」のところでカーソルが点滅した状態にしたいのですが、
選択された状態を維持するものの、カーソルが点滅しないのですがどうすれば良いでしょうか?
Date型の値を取り出した時に、
2000/12/31 0:00:00
と時間まで取り出してしまうのですが、日付だけを取り出すにはどうすればいいですか?
>>942 肝に銘じておきます。
少し楽しみです。
>>943 カーソル点滅ってよく分からないけど
BeforeSelectイベントじゃなくてAfterLabelEditイベントで不正な名前だったら
e.CancelEdit = true;
e.Node.BeginEdit();
return;
すればいいんだよ
.netmodule、 csc.exe / vbc.exe / al.exe とかでまとめても
相変わらず、.netmoduleのファイルが必要な形にしかならないだけど、
link.exeでまとめると .netmodule不要の 一本にまとめられる。
そういうモンなの?
そもそもnetmoduleは一つのアセンブリを複数の物理ファイルに分割するための仕組みだから
link.exeが一つにまとめちゃう方がびっくりだ
>>947 レスありがとうございます。
AfterLabelEditイベントで変更後のテキストを検証したいのですが、
Console.WriteLine("treeView1_AfterLabelEdit = " + e.Node.Text);
でやると変更前のテキストしか取れないのですが、このイベントの中で変更後の名前を知る方法を教えて頂きたいです。
>>950 NodeLabelEditEventArgs のメンバーを調べてみよう
PictureBox1.ImageLocationで画像を指定したんですが
'PictureBox1' は現在のコンテキスト内に存在しません。とのエラーが帰ってきます。
初学者で申し訳ないんですが、原因を教えてください。
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
label1.Text = "スタート";
PictureBox PictureBox1 = new PictureBox();
}
private void button1_Click(object sender, EventArgs e)
{
label1.Text = "";
Random r = new Random();
int i;
i = r.Next(2); // 0から2の乱数を取得する
if (i == 0) {
label1.Text = "";
PictureBox1.ImageLocation = @”ここにローカルパス";
}
else if(i == 1) {
label1.Text = "";
}
>>952 PictureBoxを自分でNewせずにIDEでFormに貼り付け
PrivateとかPublicとかその辺のアクセス修飾子を勉強するとよいよ
956 :
944:2012/01/02(月) 12:59:23.47
>>945 リファレンス情報ありがとうございます。
とても助かりました!
DataSetに格納しているデータの場合は.Dateプロパティが使用できませんでした。
このような場合はどうするのでしょうか。
キャスト
958 :
952:2012/01/02(月) 13:33:53.48
dirs = System.IO.Directory.GetDirectories("c:\System Volume Information")
を実行すると
Access to the path "c:\System Volume Information" is denied.
のエラーが出るのですが、アクセス可否を事前に調べる方法を教えてください。
@つけないでいいのかい?\は\で解釈されたいんだろ?
Directory.GetAccessControlってあんだろ
すみません@は変数内をここに転記したときに付け忘れました。
Directory.GetAccessControlがないのですが
.NET Framework 1.1で出来る方法はないでしょうか?
「アクセス許可の読み取り」(だけ)が拒否されている場合もあるがな
>>962 GetAclInformationに代表される一連の関数と構造体を自分で定義すればできるよ
初心者にやれるもんならやってみw
1.1と聞こえたときの絶望感
ミサワがご光臨なされた
なんか理由があるんだろ
なかったら殺す
968 :
956:2012/01/02(月) 14:36:46.90
>>957 情報ありがとうございます。
解決はまだできていませんが、キャストというヒントをいただいたので解決に近づいております。
別件ですが、
DataSetに格納されているデータセットをSQL文でさらに絞り込む事はできますか?
リファレンスを調べたところ、SqlCommandクラスが使えそうな気がするのですが、DataSetにどのように使用すれば良いのか分かりません。
XP以前なら、DirectoryInfoのAttributesチェックしたら行ける
Vista以降は1.1じゃ殆ど無理です
>>968 DataSetに含まれるDataTableに対してDataViewを使う
.netって整合性レベルに関連したクラスやメソッドって実装されているの?
.NETには独自のセキュリティモデルがあるのでそういうの意識しない
正月にC#の講師を行ってくれる方いらっしゃいませんか?
もしいらっしゃいましたらメールください。
場所:山手線沿線のファミレスか喫茶店
日当:1万円(1日4時間程度)
期間:1/3(火)-1/4(水)(合計2万円)
内容:C#とASP.netでWebアプリ(SQL Server使用)
興味を持った方いらっしゃまいましたら気軽にメールください^^
アドレス:
[email protected]
974 :
973:2012/01/02(月) 18:10:36.03
Skypeも可です。音声通話だけですので、顔を合わせる必要もないです!
その他の条件は変わりません。
Skypeの場合、終わり次第即日振り込みしたいと思います。
内容:C#とASP.netでWebアプリ(SQL Server使用)
1日だけでも構いませんので、少しでも興味を持った方いらっしゃまいましたら気軽に下記メールアドレスまで連絡ください。
よろしくお願いいたしますm(_ _)m
アドレス:
[email protected]
975 :
973:2012/01/02(月) 18:31:31.03
連投失礼します。
Skypeのアカウントを記載します。
時間はそちらの都合に合わせますので、どんな時間帯でもお気軽にチャットください^^
Skypeアカウント:aspcsharp
明日は帰省するしそもそもスカイプ環境が無いが、受講者は
>>973だけなの?
あとリモートアシスタンスとか使った方がいいんじゃないかな
ASP分かんないから無理