1 :
毛の生えたブリーフ :
02/10/29 21:51
2 :
デフォルトの名無しさん :02/10/29 21:52
2get
3get?
C#で作られた、一番大規模なソフトは? MSがC#で作った、一番凄いソフトは?
5 :
毛の生えたブリーフ :02/10/29 22:56
C#で「フォームデコードプログラム」を作成したいのですが、それらしき クラスを見つけたのですが使い方が今ひとつわかりません(類似クラスがあって 使い分けが分からない) どなたかミニ解説をおねがいします。
あ、C#かどうか知りたかったのか・・・ .NETはどの言語で書かれてるか分らんからなあ・・・
9 :
デフォルトの名無しさん :02/10/30 08:00
>>5 自分もこれを知りたい。
System名前空間のWebクラスで宣言されたメソッドを使うことまでは分かるけど、
using System. と打ってインテリセンスを起動させてもWebクラスが出てこない。
手書きして using System.Web; としたらコンパイルエラーがでる。
でもWebクラスがSystem名前空間にあることはヘルプを見れば一目瞭然。何がいけないのだろう。
まさか、Standerd版ではクラスの一部が省かれているとか・・・・。
>>9 前スレにもあったな、参照の追加しろよな。
しつこいから教えてやる。プロジェクトメニューを見てみな。
VisualStudio.NET統合環境(VB、VC++、C#)は全部C#で書かれてるらしいね。 なんかの本で読んだ気がする。
>>12 何の本?
フォームデザイナーなど一部かと。
ListViewを詳細表示にした場合に、各カラムにアイコンや、 任意の画像を表示したいのですが、可能でしょうか? ダウンロード中のファイルの一覧をアイコンとともに表示し、 かつ、ダウンロードの状況をパーセンテージでグラフ表示し たいのですが、、、 各行毎にアイコンを1つ表示するのは簡単にできるのですが、 複数表示したり、グラフを表示する場合のやり方がわからない です。 よろしくおながいします。
>>14 無理にやればできないことはないが、まあ無理だと思ったほうがいいな。
オーナードローを普通に使えるListBox使う方がまし。
>>15 でも、結構、メーラとか2ちゃんぶらうざとかで、同じような
処理をやっているソフトがいっぱいあるのですが、どうやっている
のでしょうか?
オーナードローという機能でできるのでしょうか?
ちなみに、ListBoxって複数列はできないですよね?
よろしくおながいします。
エクスプローラスタイルのインターフェースのサンプルって無いですか? ドキュメントにはMFCを使ったVC++用の説明しか無いんです(;´д`)
>>18 ms-help://MS.VSCC/MS.MSDNVS.1041/vbcon/html/vbtskcreatingintricateuserinterfacewithwindowsapplicationobjects.htm
21 :
Dimension :02/10/31 01:36
C#でもOpenGLは使えるのでしょうか?またはOpenGLの代替えのようなソフトはあるのでしょうか? GDI+がそうなのでしょうか?3次元画像を扱うつもりなので誰か分かる方お願いします。
>>21 DirectX9には.NETサポートが入る予定。
β版触ったけどなかなかイイ感じだったよ。
すいません質問です。 Explorer風なディレクトリ選択ダイアログを作りたいのですが、 SHGetFileInfoのラッパーにドライブ文字やフォルダパスを渡して アイコンリソースを取得すると、フォルダアイコンは全部開いた フォルダのアイコンになります。 閉じたフォルダのアイコンはどうやって取得すればよいですか?
ツリービューでノードをダブルクリックしたときに ノードの開閉が行われないようにするにはどうしたらいいでしょうか?
27 :
デフォルトの名無しさん :02/11/06 22:04
ageちゃうぞー
28 :
デフォルトの名無しさん :02/11/07 02:41
誰も書き込まないの?
>>26 TreeViewのBeforeExpandイベントを拾って、TreeViewCancelEventArgsのCancelプロパティをtrueにするというのはどう?
ただし、これだとダブルクリック以外でも開かなくなるけど。
>27 サンクス でもなにやっても開かんのでつかえないっす。 ほかの方法でやりたかったことを実現させたのでいいんですけど。 それにしても、このスレ、さびれてますねぇ。
30 :
デフォルトの名無しさん :02/11/07 15:32
Image.PropertyItemsでexifのタグを取ろうと思うんですが、 Cybershot Uのファイルから読んだイメージでPropertyItemsプロパティに アクセスすると、 「値をNullにすることはできません。 パラメータ名: source」 というNullArgumentExceptionが発生してしまいます。 exifを読むツールやwindowsXPの画像のプロパティでみるとなんの問題 もなく読めます。これってバグでしょうか。 バグにしても、 プロパティで例外がハンドルされてないのもどうかと 思うけれど…。
31 :
デフォルトの名無しさん :02/11/09 11:29
タブブラウザのサンプルってないですかね・・・?
32 :
デフォルトの名無しさん :02/11/09 19:12
using System.Windows.Forms; class TabBrowserSample : Form { public TabBrowserSample() : base() { TabControl container = new TabControl(); container.Dock = DockStyle.Fill; base.Controls.Add(container); TabPage page = new TabPage(); page.Dock = DockStyle.Fill; container.Controls.Add(page); AxSHDocVw.AxWebBrowser browser = new AxSHDocVw.AxWebBrowser(); browser.Dock = DockStyle.Fill; browser.BeginInit(); page.Controls.Add(browser); browser.EndInit(); browser.GoHome(); } [System.STAThread] public static void Main(string[] args) { Application.Run(new TabBrowserSample()); } }
33 :
デフォルトの名無しさん :02/11/09 19:17
> AxImp C:\WINNT\system32\shdocvw.dll で AxSHDocVw.dll SHDocVw.dll 作って > csc TabBrowserSample.cs /r:AxSHDocVw.dll な。
34 :
デフォルトの名無しさん :02/11/09 21:43
>>32 33
ありがとーございます。こんな厨くさい質問に・・・。
ここはくだすれだからな。気にするな
便乗ですいませんが
>>33 ってどういうことなんでしょうか?
BeforeNavigate2 イベントを直していてSHDocVw.dllがいるって怒られるんですがよくわからないです。
$ AxImp.exe /? Microsoft (R) .NET ActiveX Control の Windows フォーム アセンブリ ジェネレータ用 [Microsoft .Net Framework, Version 1.0.3705.288] Copyright (C) Microsoft Corporation 1998-2001. All rights reserved. 指定された OcxName で定義された ActiveX コントロールを囲む Windows フォーム コントロールを生成します。 使用法 : AxImp OcxName [オプション] オプション : /out:ファイル名 作成されるアセンブリのファイル名です。 /publickey:ファイル名 厳密な名前の公開キーを持つファイルです。 /keyfile:ファイル名 厳密な名前のキー ペアを持つファイルです。 /keycontainer:ファイル名 厳密な名前のキー ペアを持つキー コンテナです。 /delaysign 厳密な名前の遅延署名を強制します。 /keyfile または /keycontainer と共に使用されます 。 /source Windows フォーム ラッパーの C# ソース コードを 生成します。 /nologo AxImp が著作権表示をしないようにします。 /silent AxImp が正常操作のメッセージを非表示にします。 /verbose その他の情報を表示します。 /? または /help この使用法を表示します。
ありがとうございます。 コマンドラインからはできたんですが、.netのvisualC#上からはできないのでしょうか?
>>38 VisualStudioは持ってないから知らん。過去ログにあった気がする
>>38 ソリューションエクスプローラの参照設定に
AxSHDocVw.dllを追加すればよろし
41 :
デフォルトの名無しさん :02/11/12 05:19
>38 > コマンドラインからはできたんですが、.netのvisualC#上からはできないのでしょうか? vs.netでやるなら ツールボックス→ツールボックスのカスタマイズ→COM→Microsoft web browserを追加 で、追加された地球アイコンをポトペタすればいいです。axshdocvw.dllも 自動で作ってくれます。
便乗ですけど、aximpすると SHDocVw.dllが指定したディレクトリにコピーされてからAxSHDocVw.dllが同じディレクトリに作られますよね。 で、コピーで作られたSHDocVw.dllはAxSHDocVw.dllを使うときに必要なんでしょうか? 削除してもOKですか?
43 :
デフォルトの名無しさん :02/11/13 09:00
winnyで何度vs.net落としてもウィルス入ってたりして一向に勉強する環境が整わない。
>42 配布した先でもそのディレクトリを参照するようにマニフェストに書かれてるんじゃないのか? 大体同じライブラリファイルは違う物として捉えるのが.NET流儀。
C#ってVC#が無いとできないの?
SHDocVw.WebBrowser_V1 の BeforeNavigate でイベントを拾ってるんですが、Urlはどうやって受け取るのでしょうか?
類似画像を検索して削除するようなソフトを作ってみようかと思って googleで検索してたのですが、難しい論文かjpegのアルゴリズムぐらいしか ヒットしなくて困っています。 よくあるフリーのソフトはどのようなアルゴリズムで作られてるのでしょうか? 説明しているサイトがあれば教えて頂けないでしょうか?
49 :
デフォルトの名無しさん :02/11/14 12:58
>48 ここでそんなこと聞いている段階で、すでに無理かと思われ。
>49 何が無理?
画像処理スレで聞いてみたら?
52 :
デフォルトの名無しさん :02/11/16 16:24
んでC#(Visual C#)ってどういう位置付けにこれからなってくの? Cの発展系みたいに言われるけどCや++とあきらかに違うし。 単独で浮いた存在としてMSが広めていくのか、 VBを置き換えようとしているのか、 あるいは開発に金かけられない中小企業とかが自前でやるツールになるのか、 どう捉えたらいいん? マジレスきぼんぬ。 (厨な揚げ足レスいらん。でもageてね)
53 :
毛の生えたブリーフ :02/11/16 21:38
「とりあえず大抵の用途に対応できるWindowsアプリケーション公式開発言語」 として広まっていくでしょう。以前からWinアプリ開発はVC++がメインでVBは サブの位置づけでしたが、これからはC#がメインで、VBやVC++は廃れていくでしょう。 とくにVC++から真っ先にC#への移行が強制されそうですね。
C#ってポインタがないんですか? 名前は違っても間接参照するような機能はありますよね?
>>53 VBつかいのオレはどうすりゃいいんだ・・・
>>56 すいません。unsafeってなんですか?
58 :
毛の生えたブリーフ :02/11/16 22:04
フフフ まさに本スレにふさわしい質問です。
59 :
毛の生えたブリーフ :02/11/16 22:07
話変わって、最近いろいろとC#関連の書籍が発売されるようになりました。 データベースやWebアプリには興味がないのでそれ専用の書籍は購入していませんが、 それ以外の「入門」と記した書籍はほとんど全て購入してざーっと読んでみました。 まったくC#の概要を知らない人には「独習C#」をおすすめします。 独断と偏見かもしれませんが、この本を読んであとはペゾルト本へ移行すれば OKかなと思っています。
>>53 VBは死亡、VC++はその性格上地味に生き続けていくよ。
C#がメインはその通り。
62 :
デフォルトの名無しさん :02/11/16 23:20
>53 あんがと VB使いに話したら、固まったよ
63 :
デフォルトの名無しさん :02/11/16 23:43
ったくVBは死亡とか言ってるやつが死亡だよ
64 :
デフォルトの名無しさん :02/11/17 00:16
>63 それは細々とでも生き残っていくって意味でっか? それとも?
65 :
デフォルトの名無しさん :02/11/17 00:41
>>53 アプリでもゲームとかCGツールとか数値計算とかは今後もVC++じゃないのかな?
CPUパワーを無尽蔵に消費するアプリや特殊リソースを使うアプリは、
とてもではないが、C#には無理だ。
まあ、おおむねのアプリはC#に移行することは間違いないと思うけどね。
あとVBは生き残ると思うよ、これだけのユーザーと遺産は捨てられん。
いずれも衰退しないと思う。
ってかVB程度にしかC#流行んないと思う。
67 :
デフォルトの名無しさん :02/11/17 01:57
質問です。 ListView内の各ListViiewItemにToolTipを付けたいのですが, ListViewItemはControlではないので付けられません。 どうすればよいのでしょうか?
すいません、質問です。 VBでいうところのディレクトリリストボックスみたいなものはないでしょうか? TreeViewでも同じような事ができるのですが、フォルダとかの アイコンのイメージを自前に作らないとだめみたいなので・・・・ みなさんはどうやってますか? システムが使用してるアイコンを取り込んだりしてるのでしょうか? 何をしたいのかというと、ユーザーの人にフォルダを選択させたいんです。 ですから、ダイアログボックスだとファイル選択しかできないのでだめですし、 意味不明な分かもしれないですが、何卒よろしくお願いします。
>>68 .NET Framework 1.0ならAPIのSHBrowseForFolderで。
.NET Framework 1.1なら、System.Windows.Forms.FolderBrowserDialog
使うとか。
72 :
デフォルトの名無しさん :02/11/17 12:28
ってことはVB程度にまた資産をばらまいていくのか。。
いろいろ検索してて次の方法でいけるみたいです SHBrowseForFolderと比べると、「新規フォルダ」を作成できるなど 機能面・デザイン共に向上していますね public class myfne : FolderNameEditor { public void Show() { FolderBrowser fb = new FolderBrowser(); fb.ShowDialog(); } } こんな感じのクラスを作っておいて、 private void ShowBrowseFolder() { myfne fne = new myfne(); fne.Show(); } こんな感じでやれば、FileDialogでいけるみたいです。
>>68 某所よりコピペ。
(1) APIのSHBrowseForFolder関数を呼び出して利用
(2)デザイン時用のクラスである
System.Windows.Forms.Design.FolderNameEditorクラスを
継承したクラスを作成して利用
(3) .NET Framework 1.1の
System.Windows.Forms.FolderBrowserDialogクラスを利用
(4) ShellオブジェクトをInteropで利用
(5) それっぽいものを自作
[HOW TO] C# を使用して [フォルダの参照] コモン ダイアログ ボックスを
ラップするマネージ コンポーネントを実装する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;JP306285
>>74 またまた、詳しいレスありがとうございます!
ただ、継承というのも今さっき学んだばかりのもので
理解に苦しみますががんばってみます。
「APIのSHBrowseForFolder関数を呼び出して利用」これ自体の
やり方がわからないもので・・・・・
あと、>73でのやり方で一応できたのですが、それをtreeViewに反映するやり方が
イマイチわからず悩んでおります。
>74でのやり方もたぶんダイアログでの参照の仕方だと思うのですが・・・
TreeViewにフォルダ(アイコンも)を表示させて、そのフォルダをユーザーが選択して、
「ファイル一覧」という自前のボタンをクリックすると、サブフォルダにあるファイルも
検索されlistviewに表示する。。。というのをやりたいのです。
これって結構高度なプログラミング要求されるのでしょうか・・・(汗
もう少し勉強して出直してきます。
レス下さった方々ありがとうございました。
追記ですが、持っているソフトは 単体のVC#と.NET Framework 1.0です
77 :
デフォルトの名無しさん :02/11/18 01:03
「マーシャル(Marshal)」の言葉の意味がよく分からないんだけど、 どういう意味? Marshallingするってどういう意味? 英和辞典引いてもよく分からん。
VC++は良い言語だけど たぶん、廃れていくと思う あんま開発効率良くないから 今は環境が整ってないけど 将来的には VB→VB.NET java→ C# ってなってくと思うよ VC++→ C++にできてC#にできない事って基本的にはないし 潜在的なバグの出やすさとかリソースに対する対応が段違い 今はまだまだFrameWorks、.NET自体がバグだらけだけど 多分、その時代も長くないと思うから 騙されたと思ってC#やっとけ
C++にできてC#にできない事は高いパフォーマンスがあります。 これが必要な分野のアプリには向かないです。 無理してやるとソースがグチャグチャになって、かえって開発効率が悪くなります。 そういうところをやってない人にはわからないと思いますが・・・ ちなみに自分は実際にC#も使って開発しています、実際にやっての結論です。 そういう訳でなくなることは無いと思いますよ。
C#やった奴、数年後に「騙された!」と叫んでるに65536カノッサ。
どの話も平行線だ 適材適所で行けば良いだろ
「(特定の)言語に固執するとロクな事がない」と、 名無しさん♯氏が以前云ってたような気がする。
.NET Framework SP2をインストールしようとしたら、 メーターが2ついった所で止まるんです どうすればいいでしょ?
質問なんですが、 BMPがテキストになったファイルを もう一度画像ファイルとしてピクチャーボックスに 表示するにはどうしたらいいのでしょうか?
85 :
デフォルトの名無しさん :02/11/18 10:03
>>84 マルチは氏ぬ以外に生きる道は無い。
C#スレでまともに答えちゃったよ。マルチだったとはな。
俺の.NET自体がインスコできねー。 ログみると何度やっても途中でとまっちゃうよ〜 んま〜OSと.NET自体がわ○物なんで気にしないけどね。 それより勉強できないことが無性に悔しい!!!
OSの重要なアップデートをしないとだめだとわかりw2k_sp3をインストール しようとしたらこれも、終了手順のとこでフリーズ・・・ それでも一応SP3になったようなので再度FRAMEWORK SP2をインストしようと するとやはり2つ目の目盛りでフリーズ・・ ノートン入ってるのですが無効にしてても問題あったりするのでしょうか? どなたかご助言お願いします。
88 :
デフォルトの名無しさん :02/11/18 11:54
これってjavaの後継機だな。 明らかにC++と違う。 でも冠にはCとなってる。 タイガーT型 → 後継機なし パンサー → タイガーU型 みたいな感じだね。実際に。。。
89 :
デフォルトの名無しさん :02/11/18 11:56
>>87 つーかヤタラメッタラとノートン先生が反応しませんか?
つけたし タイガーT型(C++) → 後継機なし パンサー(java) → タイガーU型(C#)
>>90 C#以外を撲滅させたいだけなんですね。(w
93 :
デフォルトの名無しさん :02/11/18 21:19
質問です! C#で●を描きそれを動かす g.DrawEllipse(RedPen, ball.Position.X,ball.Position.Y,10,10); このようにしてフォームにじかに描き、タイマーを使って ボールを動かしているんですが、描画がちらつきます〜。 バッファリングなどちらつきを抑えたいのですがC#ではどのように するのですか?おわかりになる方よろしくおねがいします。
>>93 裏画面用Bitmapオブジェクトを作って、
そこから取得したGraphicsオブジェクトに描画、
全部描画し終わったら、最後にほんちゃんのGraphicsオブジェクトに
DrawImageメソッドでそのBitmapオブジェクトを描画。
自己レス やはりノートンが怪しいと思いアンチウィルス、ノートンセキュリティをアンインストしようとすると 途中で止まり、「frameworkのインストールは中断されています」みたいなエラーが でました。 やっとこさ両方ともアンイストすると、W2KSP2もFRAMEWORKSP2もインストできました。 最初、FRAMEWORKインスト中にノートン無効にしてなかったためにこのようなことになってしまいました。 そもそも、注意書き読んでいればこういうことにはならなかったのですが・・ わたしみたいなバカな人がいるかもしれないのでレスしときました
>>77 「整列させる。整理する。」
漏れ的には、データ型間の対応付けをするようなイメージしかないけど、
その認識であってるのか自信なし。実際どうなんでしょう。詳しい方お願いします。
MarshalAsAttributeクラスとかおもしろそうだけど、よくわからん。
Marshalクラスもおもしろいんだが・・・。
C#マスターしたぞ ここでお世話になったお返しにくだらない質問片っ端から答えてやる さあ、質問しろ
>>97 96と77の質問に、鮮やかに答えてくれ。
>>97 マスターするというのは最低限同じ言語を自分で作れるラインだぞ
同じものを作ろうとすると自分がいかに言語使用を理解せず
その気になっていただけというのが分かる
100 :
デフォルトの名無しさん :02/11/19 11:46
>99まあ固いこといわず 100げっちゅ
言語使用
103 :
デフォルトの名無しさん :02/11/19 18:07
C#でネットワークプログラミングしたいときって Win32APIを呼び出すの? それともネットワーク用のクラスが.Net Frameworkに入ってるの? てかC#からWn32APIって呼び出せるの?
System.Net
106 :
デフォルトの名無しさん :02/11/19 19:34
System.Net.HTTP"2チャンンル"
C#ってwindowsでしか動かないの?
>>102 先生!その例え、さっぱりわかりません。
109 :
デフォルトの名無しさん :02/11/20 02:10
オフコースはC#から始まる
111 :
デフォルトの名無しさん :02/11/20 06:34
C#やろうと思うんだけど、文法を覚えたいので「Visual C#」を使わないで その中からコンパイラーだけ取り出してDOSとノートパッドだけでやりたいんだけど、 どれがコンパイラーだかわからない。 誰か教えて。 それとDOSからのコンパイルの仕方も教えて。
なぜ文法を覚えようと思っただけでVisual C#を使わないのかわからん。 Visual C#の統合環境でやったほうが効率よく文法を覚えられるのに。
SDK使えばいいだけだと思うが
>>114 もちろん割○ものですが何か?
正直MSDNないから、文法が全くわからん。本買う金ないし。
だから形見て判断してフォーム作ってみてる。
んでjavaとC++の文法と対比させて文法覚えてる。w
まずusingがimport、includeと対応は見て取れる。
namespace つーのがclassを囲んでるけどこれはパッケージを現してるんだろうな。きっと。
んでつぎおなじみのclass。classのForm1はSystem.Windows.Forms.Formを継承してるらしい。
なるほどこれでフォームは一応作れると・・・・・・・・・
その中は何かjavaっぽいな。
System.Windows.Forms.PicturBox picturbox1;
System.Windows.Forms.ComboBox combobox1;なんてのがインスタンス作ってるんだね。なるほど
なんだこりゃコンストラクタ( Form1() )が存在してますな。javaですか?
んまそこでInitilaizeなんてしてるね。
大体csファイルの概要わかったよ。
んでアクション部分の文法だれか書いてよ。
private void button_click1(){ここに書くのはわかるけど後は本がないとわからない}
ボタン押したらTextに書き込む文だらか教えて。
>116 貧乏人は消えろ
>>117 無職1年続くと金がなくなるんだよ。ボケェ
そろそろ昔やってたjava or PL/SQL or VB のPGとして復活するつもりだけど。
(ブランク1年でもまだ働きたくない)
まぁいいさ。
そのうち文法この板のどこかに載るようになるだろうからそれを待つよ。
しかしサンプルコードひとつも入ってねーな。 どうにかしろ。一つくらい入れておけM$。
>>121 ヘルプに入ってないよ。>>>一般的な文法。
116は鈎氏なのだが。
>>111 超おばかだな。
テキストエディタでコード書いて、
コマンドラインからコンパイルでいいなら、
.NET Framework SDK(無料)で開発できるのにな。
もちろんドキュメントも付属している。
サンプルなんぞそこら中に転がってるし、MSにもいろいろある。
Cとかでバイナリで書き出した構造体とかを よみたいんだけど簡単なやり語ってないですか? BinaryReader br; br.ReadInt(); br.Readint(); ・・・ とか何行もならべてかいてるんだけど めんどくさい感じ。
クラスをインスタンス化したものを プログラム全体で使いたいのですが、 どうやってインスタンス化すればいいのでしょうか?
えーと、再起的なメソッドでそのクラスを利用したいのです
Visual Studio入れたらOffice XPが再びアクティベーション要求して50回制限が出てしまった。 MSO.DLLのフランス製クラックパッチ当ててあるはずなのに何故? また最新パッチ必要?
>>127 Singledでいいのでは?
class Hoge
{
private Hoge() {}
public static Hoge GetInstance()
{
if (Hoge.instance == null) {
Hoge.instance = new Hoge();
}
return Hoge.instance;
}
private static Hoge instance = null;
}
131 :
デフォルトの名無しさん :02/11/21 09:47
昨日、Visual C# .NET Standard買ってきました。 実はIDE購入するのは初めて。至れり尽くせりですねほんと。 んで、マニュアル読みながらちょこちょこいじって遊んでる状態なんです。 変数の名前付け規則のところで(manual p35)「識別子にアンダースコア を使用しないで下さい」という記述があったのですが、正直なところ 従いたくないところです・・Unix環境でプログラミングしてる時も ずっとアンダースコア使ってきたもんで。 でもCLSに準拠するためには必須だとか警告されてるし、自分のスタイル 変えようか迷ってるところです。 CLSってのが何か知らないから(JavaVMみたいなモノ?)妥当な判断できず にいるんですが、どう思いますか?
132 :
bloom :02/11/21 09:54
>>130 スマセン、ちと理解できないです。
これわかるには何を勉強すればいいでしょうか?
>>135 ありがとうございます
デザインパターンで検索したらいろいろ書籍がヒットしました。
これ読んで勉強してきます
λ...... ここ変だよ・・ λ...... λ...... λ...... λ...... 失敗だったネ… λ...... λ...... λ...... λ...... 逃げていく… λ...... λ...... λ...... λ...... λ...... λ...... みんな逃げていく… λ...... ここ変だよ・・ λ...... λ...... λ...... λ...... 失敗だったネ… λ...... λ...... λ...... λ...... 逃げていく… λ...... λ...... λ...... λ...... λ...... λ...... みんな逃げていく…
/* 実はこう言う事をしたいのですが、 うまくリストビューに反映されません フォルダ内の全てのjpgファイルのリストを作成 public ListViewItem itemsはForm1クラスの冒頭で宣言してます */ //画像ファイル検索エンジン public void SeachFile(string dirPath) { //DirectoryInfoクラスを使用した検索 DirectoryInfo di =new DirectoryInfo(dirPath); foreach (FileInfo file in di.GetFiles()) { if(-1 != file.Name.IndexOf(".jpg")) { items=new ListViewItem(file.Name,0); items.SubItems.Add(file.Length.ToString()); items.SubItems.Add(file.DirectoryName); listView1.Items.AddRange(new ListViewItem[]{items}); } } foreach (DirectoryInfo dir in di.GetDirectories()) { SeachFile(dir.FullName); } }
>>130 Singled……、君、卓ゲー板の住民か?
>>139 うまく反映されないって、どうゆうことなのかよくわからんね。
具体的に書いたほうがいいと思われ。
ListViewにColumnHeaderは追加してるよね?
142 :
デフォルトの名無しさん :02/11/21 22:07
string s = "Hello"; s[3] = 'A'; //s="HelAo" って感じでやりたいのですが、何か方法はありますか? そもそもなんで読み取り専用なんでしょうか…。
>>141 原因わかりました。メソッド呼び出す前に一旦リストをクリアしようとして
listView1.Clear();
これをやっていたので何も表示されなかったんです。
また、わからないことがでてきたのですが
>>139 でリストビューに表示した項目の一番上を選択する仕方がわかりません。
items.Select=true;
たぶんこれをどうにかすると思うのですが・・
あと、subItemsの項目でソートもしたいです。
ListViewはどのようにメソッドなどを格納しているのか、構造がわかれば
解決すると思うのですが、クラスの中身ってわからないんですよね?
質問ばかりで申し訳ないですがよろしくお願いします。
>>143 ヘルプみてないけど
確かSelectedItemsにitem放り込むか,SelectedIndexをセットするかだったとおもう。
つか酔った。寝る。糞解答スマソ
>>144 どちらも読み取り専用だったので無理でした。
146 :
デフォルトの名無しさん :02/11/22 04:54
C#てMSの新商法です。
てことは
>>1 はMS社員。
>>146 ちったあ物事を論理的に考えられないのかねぇ。
考えたら煽りなんか出来ない。
149 :
デフォルトの名無しさん :02/11/22 10:33
こんにちは。 ListViewコントロールのSubItemとしてカンマ編集された金額を表示させたいのですが、 どのようにやればよいのでしょうか? Addする前に編集したstringを用意しないといけませんか? その場合、元のstringをカンマ編集して新しいstringに代入できるメソッドを 教えていただければ幸いです。 よろしくお願いします。
>>142 StringBuilderを調べよ
Stringが読取専用なのはその方が速いから。
Javaも一緒。
151 :
デフォルトの名無しさん :02/11/22 12:24
まじでプログラムをこれからはじめたい まったくの学生初心者が勉強するには どのC#の書籍がヨシでしょうか おしえてくだされ
ステップバイステップで学ぶ オブジェクト指向プログラミング実践講座 マイクロソフト公式解説書
>>150 おお……こんなクラスあったんですね。
教えていただきありがとうございます。
でももうひとつ疑問。
似たようなことなんですが、FontのStyleだけ変えるにはどうすればいいんでしょうか?
やはり読み取り専用なわけなんですが…。
たとえば太字にするのは
font = new Font(font,FontStyle.Bold);//fontは太字じゃないFontインスタンス
でいいとしても、太字解除はできない気がするんですけど。
同様にSizeやNameも。
Delphiからの移行なんでこの辺の仕様がどうも理解できんのです。
>>153 font = new Font(font,FontStyle.Regular);
で通常フォントに戻るんでは?
同様にSize、Nameも改めて通常のSize、Nameを指定するのは駄目?
的外れだったらスマソ。
すっごくアホらしい質問だと思うのですが、教えて下さい。 DBから取得したDataSet(3つのDataTableを入れていて、Relationを張ってる状態)を 複数のクラスから使いたいのです(別フォーム内のリストボックスにデータを表示など)。 DataSetはメインのフォームが持っているのですが、publicで持つべきなのでしょうか…。 今は、必要なDataTableだけ、refキーワード付けてメソッドに渡している状態です。
156 :
デフォルトの名無しさん :02/11/23 00:34
文法今覚え中なんですけど、これってまるっきりjavaじゃないですか??? ただ言葉を変えてるだけにしか思えない。。。。。。。 System.console.WriteLine(); System.out.println(); とか Tread Treading とか コンストラクタ呼ぶ時のnewとか。。。。。。 ・・・・・・・・・・・他にも突っ込みどころ満載。 sunは訴えないんでしょうか????
負けるから訴えない
158 :
デフォルトの名無しさん :02/11/23 03:26
ツリービューのMouseUpってFormとかのMouseUpと違って MouseDownの時にイベント発生しないですか? うちそんな感じになっちゃって困ってます。 デフォルトじゃ駄目なのかしら。
>>156 君の発言が突っ込みどころ満載。
>System.console.WriteLine();
System.Console.WriteLine();
>Tread
>Treading
ThreadとThreadingか?Javaの用語じゃないよ。
>コンストラクタ呼ぶ時のnewとか。。。。。。
JavaがC++を真似した部分だが・・・
>>159 でもGCの挙動なんて完全にJavaのパクリ。
環境がそろわなきゃ流行らないでしょう。
Java->C#のコンバータがあるくらいだし、
JavaからC#にコンバートできるってことはC#がJavaの機能を全部含んでいるんだな。
そう、JDK1.1.4までの全機能を含んでる。 ANSI−Cに対する、MS-Cだったようなもんだね。
listView1.Items[0].Selected=true; で選択できました。 AddRangeっていうのは配列で格納するのですね
>>160 へー、Javaも "mark and copy" 方式(あってる?)のGCなんだ。
165 :
デフォルトの名無しさん :02/11/23 11:18
C#をコンパイル出来る無料のソフトってありますか?
>>164 それを言うならstop and copyじゃない?
どちらにしても間違ってるが。(方式なんてVM依存)
>>166 惜しい。mark & sweep ってものあるのよ。164は平蔵半可通とみたが。
169 :
デフォルトの名無しさん :02/11/23 11:38
>>168 そうなんですか?
VC#.NET
でコンパイル出来るのは知ってるのですが・・・。
ググルで検索しても見つからないし・・・。
170 :
デフォルトの名無しさん :02/11/23 11:49
>>169 SunMicrosystemsのページにいけばあるよ。
171 :
デフォルトの名無しさん :02/11/23 11:50
172 :
デフォルトの名無しさん :02/11/23 11:55
>>170 は、
死ね・くたばれ・消えろ・失せろ・潰れろ・馬鹿・あほ・間抜け・ドジ。
ポンコツ・トンチキ・ガラクタ・クズ・ゴミ・カス・最低以下の下劣・下等種族。
劣等種族・下衆野郎・腐れ外道・邪道・外道・非道・ウジ虫・害虫・ガン細胞。
ウィルス・ばい菌・疫病神・病原体・汚染源・公害・ダイオキシン・有毒物質。
廃棄物・発ガン物質・猛毒・毒物・アメーバ・ダニ・ゴキブリ・シラミ・ノミ。
毛虫・蠅・蚊・ボウフラ・芋虫・掃き溜め・汚物・糞・ゲロ・糞虫野郎・ほら吹き。
基地外・デタラメ・ハッタリ・穀潰し・ろくでなし・ごろつき・ヤクザ者。
ゴミ虫・毒虫・便所コオロギ・詐欺師・ペテン師・道化師・危険分子・痴呆・白痴。
魔物・妖怪・悪霊・怨霊・死神・貧乏神・奇天烈・ソマン・イペリット・
ブタ野郎・畜生・鬼畜・悪鬼。・邪気・邪鬼・ストーカー・クレイジー・
ファッキン・サノバビッチ・シット・ガッデム。・小便・障害物・邪魔者・不良品・カビ
土左衛門・腐乱・腐臭・落伍者・犯人・ならず者・チンカス・膿・垢・化膿菌。
放射能・放射線・鬼っ子・異端者・妄想・邪宗・異教徒・恥垢・陰毛・白ブタ。
ケダモノ・ボッコ・ろくでなし・VXガス・ヒ素・青酸・監獄・獄門・さらし首。
打ち首・市中引きずり回し・戦犯・絞首刑・斬首・乞食・浮浪者・ルンペン・物乞い。
放射性廃棄物・余命1年・アク・割れたコップ・精神年齢7歳・3審は必要なし。
不良品、規格外、欠陥品、不要物、埃、掃き溜め、吹き溜まり、塵埃、インチキ、居直り。
ふてぶてしい、盗人、盗賊、残忍、残酷、冷酷、非情、薄情者、ガキ、クソガキ。
ファッキン、ガッデム、サノバビッチ、シット、ブルシット、ボロ、ボッコ、妄信。
狂信者、有害物質、毒薬、猛毒、発ガン物質、ウンコ、
地球外生命体、クソ虫、ウジ虫、トルシエ、使い捨て。
>>154 レスありがとうございます。
そうでした。FontStyle.Regularがあったんでした。失念してました。
Size、Nameもコンストラクタでメンバを渡せば大丈夫ですね。なるほど。
毎回インスタンスを作るのには抵抗がありますが…。
>>173 最初に、Font regularFont = new Font(/*標準フォント情報*/,FontStyle.Regular);
で標準フォント作って、あとは毎回インスタンス作らずにこれ使うとか。
175 :
デフォルトの名無しさん :02/11/23 12:41
>>174 >>Font regularFont = new Font(/*標準フォント情報*/,FontStyle.Regular);
Font mainFont = new Font(/*標準フォント情報*/,FontStyle.Regular);
176 :
デフォルトの名無しさん :02/11/23 13:33
フォントに?!
>>169 .NET Framework 入れたら C# のコンパイラも入る。
C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\csc.exe
>>160 パクりというか、SunMicrosystems が不甲斐ないからしょうがなく別言語を作っただけ。
Sun さえしっかりしていれば MS もわざわざJavaとほとんど同じ新言語なんて作ってない。
そうか? Sunがしっかりしているから、J/Directなんてわけのわからんものが入った Javaが出回らなくて済んだんだけどな。
しっかりしすぎててMSの思い通りにならなくなったから新言語作ったんしょ
>>179 Javaを標準化したいが、Javaの仕様策定は自社でやるような会社を
しっかりとした企業といっていいのか?
>>180 MSの思い通り=世界最大のソフトウェアメーカの従業員の思い通り
なわけで、MSの思い通りになる方が数多くのプログラマが幸せになれる。
フォーム内でテキストボックスやブラウザなどの大きさを自由に変えるにはどうすればいいんでしょうか?
>>174 それできますか?
作り直さずに属性変更ができなくて困ってるわけですが…。
まぁ頻繁に作り直すわけではないので作り直す方向で行きたいと思います。
どうもありがとうございました。
>>182 自由にって、何にあわせて自由に変えたいの?
フォームのサイズに合わせて変えたいとかだったらアンカー使え。
System.Refrection.MethodInfoから デリゲートを作る方法ってあるんでしょうか? よろしくお願いします。
186 :
デフォルトの名無しさん :02/11/24 22:10
>>184 マウスで引っ張って好きな大きさにできるようにしたいんですが・・・
>>182 ー
>>186 俺もそれやろうと思ってたところ。
MouseDragフックしてSizeいじるしかないのかな?
MouseDragなんてイベントはなかった・・・ DragOverかな?取り敢えずやってみよう。
>>186 そういうのやりたいんだったら子ウィンドウ作ればいいじゃん。
タイトルバー/メニューなしのウィンドウ作って、
その中にテキストボックスだけ張る。
もちろん、上下左右アンカーつける。
>>189 それをやろうとしてんですけど、タイトルバー/メニューなしのウィンドウってのはどうするんでしょうか。
新しいformを作って貼り付けようとしてるんですけどうまくいかなくて・・。
>>190 新規コントロールにははじめからタイトルバーもメニューもない。
MS社員の溜まり場。さげ
193 :
デフォルトの名無しさん :02/11/25 23:10
厨なワタシに教えてください。。。 DirectXやWMediaPlayerを使わないでMidiデータを再生させる 方法ってありますか? 教えていただけると嬉しいです。。。 参考ページありましたらそれを教えていただけても幸いです。
>>193 TMIDI
Winamp
れこんぽーざ
シンガーソングライター
歌楽
他なんかあったっけか?
Visual Studio.netでたとえば if(.....){ hoge(); } と入力すると勝手に if(.....) { hoge(); } に変えられてしまうのですがこれをやめさせる方法ってないのでしょうか?
197 :
デフォルトの名無しさん :02/11/26 00:52
間違ってsageちゃった。。。 しかも漏れ、このスレの47じゃないし(汗。 スマソ
> 195 さん 情報ありがとうございます♪ 解決しそうです。
200 :
デフォルトの名無しさん :02/11/26 01:06
>>199 あ、ほんとだ。
オプションの全般ってとこしか見てなかった(汗
ありがとうございます。
C++と比較しての利点や欠点を教えて
203 :
デフォルトの名無しさん :02/11/26 16:22
>>199 あ、ほんとだ。
オプションの全般ってとこしか見てなかった(汗
ありがとうございます。
質問です。 csc /doc:XMLファイル でドキュメントファイルは出せるんですが,これをどうしたらいいんでしょうか? 自分でXSLやらCSSやらを書かないといけないのですか? どこかに綺麗に表示してくれるモノはないのでしょうか。
205 :
デフォルトの名無しさん :02/11/26 16:35
アグェ
206 :
デフォルトの名無しさん :02/11/26 16:40
207 :
デフォルトの名無しさん :02/11/26 16:42
208 :
デフォルトの名無しさん :02/11/26 16:54
>>206-
>>207 あーーー,鼻血が出そうなほど感謝します。
ありがとうございました。
209 :
デフォルトの名無しさん :02/11/27 00:31
ダブルバッファリングが出来んのですが。
よく分からんが SetStyle(ControlStyles.UserPaint,true); SetStyle(ControlStyles.AllPaintingInWmPaint,true); SetStyle(ControlStyles.DoubleBuffer,true); とやったら出来た。
>>172 「掃き溜め」と「ウジ虫」が2つあるぞ。
213 :
デフォルトの名無しさん :02/11/27 19:58
RichEditでScrollBarsのプロパティをForcedBothに 設定してるんですが、バーが表示されません。 なぜなんでしょう。 ちなみにWardWrapはFalseにしています。
>>190 FormBorderStyle を None にすればタイトルバーも消える。
>>196 47? 47? 47!! 反応してみる
217 :
デフォルトの名無しさん :02/11/29 19:49
>>217 >.NET Frameworkの評価版
WindowsUpdateに正式版があるよ。
219 :
デフォルトの名無しさん :02/11/29 19:57
>218 それはどういうことですか? 評価版の正式版を配布してるってことですか?
220 :
デフォルトの名無しさん :02/11/29 20:01
ちなみにWin updateのどこでしょうか カタログ?
1から10まで他人に聞かないと何もできないバカはプログラムしないでください。 いや、するのは勝手ですが2ちゃんに聞きに来ないでください。 くだらない質問歓迎 くだらない質問者カエレ
と煽るだけでは無意味なので .NET Framework は無料です。 .NET Framework SDKも無料です。 どうしても統合開発環境が欲しければ VisualStudioを買うか、SharpDevelopをダウンロードするかしてください。
223 :
デフォルトの名無しさん :02/11/29 21:25
ここはくだスレですから
っていうかマルチだし。
ダブルね
C#スタンダード版を購入したのですが、MSDEに対して サーバエクスプローラから「接続の追加」はできるのに 「新しいSQLデータベースの作成」が選択できません。 プロフェッショナル版じゃないとムリですか? osqlからcreate databaseはできました。
227 :
デフォルトの名無しさん :02/11/30 00:42
作成するクラスに、 沢山メソッドがある、マイクロソフトが作ったインターフェースを実装 しようとしていますが、メソッドが沢山なので、イチイチ書くのが面倒くさい です。インターフェースのメソッド宣言を簡単にやってくれる様な、ツール又は機能が、.NETのどこかに 搭載されていると思うのですが、今の所分かりません。 インターフェースのメソッドを簡単に宣言できる仕方をご存知の方おられますか?
228 :
デフォルトの名無しさん :02/11/30 01:17
プログラミング経験はDelphiを少し触った程度ですが C#スタンダード買いました。 今エディタを作っています。 質問なんですがフォント情報を丸ごとレジストリに 登録する事はできますか? 必要なメンバを何とかしてそれぞれ登録するしかないでしょうか。 また、Delphiでコンポーネントをそのままファイルに 保存していたのですがそういった事は可能でしょうか?
タブページの中にリサイズ可能な領域を表示させたいのですが,どうすればよいでしょうか?
230 :
デフォルトの名無しさん :02/11/30 08:55
スマソアゲサセテ・・・
>>228 >コンポーネントをそのままファイルに
あぁ、できるとも。Serializeせよ。
232 :
デフォルトの名無しさん :02/11/30 20:54
C#勉強しようと思って「独習C#」って本を買ってきました。
その本、各章の最後に「この章の理解度チェック」ってコーナーがあるんです。
その中に
「文字列の内容を逆順に表示する再帰的なメソッドを作成しなさい」とか、
「スタックは(スタックの説明)。charを保持できるスタッククラスStackを作成しなさい。」
で、ヒントとしてキュー(Queue)を使ったクラスの例があげられてるんですけど、相当考えないとわからないんです。
プログラムには向いてない頭じゃないかとか結構悩んでます。
ちなみにプログラムはC#が始めてです。
ネタじゃないです。
マジレスお願いします。
ちなみに先ほどの練習問題は6章のものです。↓独習C#目次
http://www.seshop.com/detail.asp?mode=spec&pid=2425
プログラミングが初めてなら相当考えないとわからないのが普通だろう。 で?
>>233 レスありがとうございます。
普通なんですか。
勉強するのやめようかと悩んでましたが続けることにしました。
>>231 どうもありがとうございます。
さっそくヘルプで探してサンプルがあったので
やってみます
sunのc#ってどこにあんの?マジで教えて。
238 :
デフォルトの名無しさん :02/12/01 08:57
.NET Framework SDK についてるような dexplore.exe で使う .NET Framework のヘルプを、切り離して持ち運ぶ方法って ありますか? msdn library みたいに、CD に保存して CD ドライブから ヘルプを閲覧できるようにしたいのですが。
239 :
毛の生えたブリーフ :02/12/01 09:06
>>232 「独習C#」は解説が順序よく分かりやすく書いてある本だと思います。大半の日本語の
C#本を持っていますが、「独習C#」を一通り読んでから、他の本を読んだら分かりやすいと
思います。練習問題は飛ばしてもいいと思います。本文の例題が分かれば・・・。
自己レスです。 OnMouseDown,OnMouseMoveをオーバーライドすることで解決しました。
>>240 行頭に「パネルの」を脳内で付け加えてください。
richTextBoxをシリアル化しようとしたのですが ISerializable が実装されてない為、継承コンポーネントを作成し そのまんま[Serializable]だけ付けてコマンドラインからDll化して ツールボックスのカスタマイズで追加してフォームに貼り付けようと したら「オブジェクト参照がオブジェクト インスタンスに 設定されていません!」と怒られます。 何か他にも準備がいるのでしょうか。
事故レス 解決しました。 ソリューションエクスプローラで参照設定が必要でした。
244 :
デフォルトの名無しさん :02/12/03 01:42
>>244 ストリーム系のClose()をしてみるとか・・・
>>245 (;´Д`)してみたんですが同じですた。
LISTを送るとこまでは正常に動いてるようなんですが。。。
Google「.net C# pop3 retr」ね。
>>244 ・LISTもRETRと同様に複数行読んであげる
・bufと比較するのはnullじゃなくて"."
これでうまくいった。
250 :
デフォルトの名無しさん :02/12/06 02:01
参照の追加でC#でつくったdllを追加するとそのプログラム内で使えるようになりますよね。 VC++だと、dllはエクスポートしたり、libファイルをリンクしなければ使えませんでした。 C#は内部的にVC++と同様なことをしていると考えてよいのでしょうか? そもそもC#でdll作ってもlibができないのが不思議でなりません。 どなたか解説お願いします。
>>250 簡単に言うと。
そのlibをDLL側に取り込んだということ。
>>251 なるほど。やっと分かりました。どうもありがとうございます。
モードレスダイアログからOwnerフォームのPublicメソッドを利用する 方法は、どのようはものがありますか? 私は、モードレスダイアログフォーム内のメソッド内で、 MainForm form=(MainForm)this.Owner; form.func(); などと、記述しています。 どなたか、これに代わる代表的な手法をご存知でしたら 教えてください。
改行を取り除くにはどうすればいいでしょう? str.Replace("\r\n",""); こんな事しても無理でした
255 :
デフォルトの名無しさん :02/12/06 11:12
DataGridのセルにButtonなどのコントロールを配置しているサンプルを どこかでみたことがあるのですが、自分でやってもできません。 コンパイル通るし例外も起きないのに、配置されているべき場所を みると空白になってます。 〜〜.Columns.Add("コラムタイトル",typeof(System.Windows.Forms.Button)); してから、ボタンをnewして NewRow["コラムタイトル"] = ボタンのインスタンス; ですが、これじゃあダメなのですか。
>>254 str = str.Replace("\r\n","");
どなたか VS.NET 環境のフォームデザインでの コントロール配列の作り方教えてホスィ・・。
260 :
デフォルトの名無しさん :02/12/07 01:25
251のは間違い。コンパイラが暗黙にlib相当のものを自動生成する。
261 :
デフォルトの名無しさん :02/12/07 02:53
>>260 使う側(exe側)からするとdllに取り込んだということでないと
使えない気がするのですが。
あ、そうか。コンパイル時のことですね。 dllから生成するということですね。分かりました。
262=261です。
.NETなんだろ?CD-ROMが付く少し前に買ってしまった なんだか損した気分
266 :
デフォルトの名無しさん :02/12/08 16:52
下がりすぎじゃないかしら。
267 :
デフォルトの名無しさん :02/12/09 17:26
C#コンパイラのオプションで、 /t:exeと/t:winexeってなんですか? /t:winexeだからって.net入ってないPCで 実行できないですよね?
>>267 それぞれ
コンソールアプリのコンパイルとWinGUIアプリのコンパイル
の指定だよ。
>>268 英語版かよ(笑
271 :
デフォルトの名無しさん :02/12/10 09:48
>>268 >>269 レスどうもです。
英語読めないので日本語のページを見てみました。
文字化けはUTF-8にしたら見ることが出来ました。
↓これをわかりやすく説明していただけると幸いです。
----------------------------------------------------
コマンド ラインで指定すると、次の /out、/target:winexe、
または /target:library のオプションまでに指定したすべてのファイルが
.exe ファイルを作成するために使用されます。
/target:exe オプションは、それ以前に指定された /out オプション
または /target:library オプション以降のすべてのファイルに有効です。
----------------------------------------------------
272 :
デフォルトの名無しさん :02/12/10 11:42
exeがでかくなるってことじゃないの?C#さわったことないが
273 :
デフォルトの名無しさん :02/12/10 15:25
ご存知の方がいらっしゃいましたらご教授下さい。 データグリッドでデータを表示しているのですが データグリッドをクリックした時に、どの列/どの行をクリックしたのか プログラム上で把握する方法を知りたいのです。 よろしくお願いします。
自己解決しました。ありがとうございました。 ちなみにこんな感じです。↓↓↓ System.Windows.Forms.DataGrid.HitTestInfo ht = dataGrid1.HitTest(e.X,e.Y); int rw = ht.Row; int cl = ht.Column;
275 :
デフォルトの名無しさん :02/12/10 19:42
動画を読み込んで、解析したり編集したりできるソフトの サンプルコードが置いてあるサイトとかないですかね? そういうソフトって1フレームずつ画像処理したりしてるんすか? なんかシッチャカメッチャカでごめんなさい。
>>271 hogehoge1.cs hogehoge2.cs ...csとか指定してあったら、
それらのファイルがEXE作成に使われるぞってだけの話じゃ?
277 :
デフォルトの名無しさん :02/12/11 15:56
.configファイル自動生成ツールとかありましたら 名称・ゲトできるURLなどをお教えください
>>277 スタート−管理ツール−.NET Framework Configuration
279 :
デフォルトの名無しさん :02/12/14 10:12
恥ずかしい質問。 C#上でのDirectXの扱い方が今一と言うか、さっぱり分かりません。 馬鹿にも理解できるよう、教えてホスィの…(´・ω・` )
280 :
デフォルトの名無しさん :02/12/14 11:28
>>馬鹿にも理解できるように うーんいまいちだね。
>>279 DirectX9が.NET対応する予定だから
馬鹿はそれを待つのがよろしいかと
レスどうもです。 馬鹿は指くわえながら、DirectX9を待つことにしました。 失礼いたしました。
284 :
デフォルトの名無しさん :02/12/15 16:20
Form上にIeObjという名前でIEコンポを貼り付けたとして、
IeObj.Navigate("
http://2ch.net ", null, null, null, null);
ってやるとエラーでちゃうんですよね・・・
二つ目以降の引数の意味がよくわかりません。
ちなみに、VC++で同じ事をやった場合、NULLでうまくいくのですが。
C#だと「'<null>' から 'ref object' に変換できません。」
とか意味わかんないこと言われちゃうんですよね。
長くて初心者チックな質問ですが、よろしくお願いします。
>>284 Object o = null;
IeObj.Navigate("
http://2ch.net ", ref o, ref o, ref o, ref o);
ではどうかな。意味は知らん。
>>285 ありがとうございました。
うまくいったようです。
しかし、こういう部分結構C#謎だと思うんですが・・・
>>286 C#が謎なんじゃなく、Navigateメソッドの仕様だし。
この辺はVB.netのほうがラクだ。引数ばっさり省略できる、、、よね?確か。
すみません。 Visual Studio C# .netをつかってるんですが Formをまたがっての操作の仕方がよくわかりません。 (例) Form1の button を押すと Form2 を表示し Form2 の textBox に文字を入れたのち Form2の button を押すと Form2 が消えて Form1 の textBoxに Form2 の textBoxの値が入る というようなことをしたいのです どうすればよいのでしょうか?
>>289 フォーム上のオブジェクトをpublicにして直接操作するなり
操作用のメソッドを作るなり
ウインドウメッセージをとばすなり
好きなようにスレ
291 :
デフォルトの名無しさん :02/12/16 14:37
スレッドの一番単純なサンプルをコピペしてもらえませんか? OCX使っているんだけど、あるメソッド呼び出したらそこでメインクラスが止まるみたいなので、次の動作(そいつにキーを送る)をスレッドでやろうと思います。 ただキーを送るだけなので、とにかく一番シンプルなパターンをお願いします。 どっかのサイトのリンクでもOK。
292 :
デフォルトの名無しさん :02/12/16 14:40
294 :
デフォルトの名無しさん :02/12/16 14:50
>>293 それで解決しないからここで聞いてるんだよ。292はその結果。見た?
295 :
デフォルトの名無しさん :02/12/16 14:59
>>265 サンクス!
ここのチュートリアル全部わかりやすいね。
298 :
デフォルトの名無しさん :02/12/16 17:48
C#で特定のタイトルのウィンドウがあるかどうか調べるにはどうしたらよいですか? FINDWINDOWみたいなやり方があれば教えてください。
299 :
デフォルトの名無しさん :02/12/17 01:06
だれかおしえて下さいませ。 DataGrid.EditItemIndex = (int)e.Item.ItemIndex; ってな感じで、DataGrid を編集モード(テキストボックス) にした際に、テキストボックスのサイズを制御する方法が わかりません。 いろんなプロパティを見たが、どれも、テーブルのサイズやフォント ばかりのように見える;;
ちなみに、ASP.NETです
>>298 Processクラスあたりだと思い思われふりふられ。
302 :
デフォルトの名無しさん :02/12/17 13:31
ただいま他アプリケーションが吐き出すログファイルをリアルタイムで監視する ソフト作ってるんですが、FileStreamを使って非同期でログファイルを 開いているものの、相手アプリがログファイルを更新終了するまでログの 更新内容を取得できません。 どうすれば書き込んでる最中のログファイルをリアルタイムで 読めるんでしょうか? 教えてください。お願いします。
303 :
デフォルトの名無しさん :02/12/17 16:26
>>301 processをベースにそのあたりやっててウィンドウタイトルで見つけるの難しそうだったからほかにないかなと。
結局その部分VB.netで組みました。VBだとappactivateとか便利なのがあるのにC#だとない。ちょっと不便な気がする。
304 :
デフォルトの名無しさん :02/12/17 19:27
C#でメールを読めるようになったのですが、 メール本体のfromとかtoとかを拾うクラスはないのですか? よろしくおねがいします。
305 :
デフォルトの名無しさん :02/12/17 20:41
今TcpClientでTCP/IP通信するプログラム作ってます。 質問は、通信をこちらから終了するときはどうすれば良いのか、ということです。 こう書いてあって、 TcpClient client = server.AcceptTcpClient(); StreamReader sr = new StreamReader(client.GetStream()); StreamWriter sw = new StreamWriter(client.GetStream()); /*このへんで通信*/ /*終了処理として次のうちどれが正しいですか? */ /*あるいは他に方法がありますか?*/ /*1*/ sw.Close(); sr.Close(); client.Close(); /*2*/ sw.Close(); /*3*/ client.GetStream().Close(); (いちおう上のどれでも終了しますよね?) よろしくおねがいします。
306 :
デフォルトの名無しさん :02/12/17 20:49
ほかに方法があるかは自分にはちょっと分からないんだけど、 閉じれるものは他の部分への干渉の恐れがなければ、全部閉じるのが良いと思うよ。
307 :
デフォルトの名無しさん :02/12/17 21:19
すごく低レベルな質問です…。
先日、Visual C#.netを購入したんですが、
テンプレートからASP.NET Webアプリケーション・ASP.NET Webサービスを作成しようとすると
(たとえば、プロジェクトをプロジェクト名・場所をデフォルトのまま作成しようとすると)
このプロヘクトの規定のwebアクセスモードはファイルの共有に設定されていますが、'
http://localhost/WebApplication1 'のプロジェクトフォルダをパス'\\〜(略)〜WebApplication1'で開けません。次のエラーが返されました :
webプロジェクト'WebApplication'を作成できません。UNC共有'\\〜(略)〜WebApplication1'は存在しないか、またはアクセス許可がありません。
と出て、実行できません…。いったい、どうすれば………
>>306 ありがとうございます。
とりあえず全部閉じることにしようと思いますが、
上のコードの/*1*/だと、sw.Close()の時点で、接続切れちゃってるんで、
その後が必要あるのかないのか、よくわからなかったのです。
・・・ってか、作成で失敗するからプロパティもクソも無いのか。 どうすりゃいいんだ。
311 :
デフォルトの名無しさん :02/12/19 11:26
文字列(例:123456)を金額(123,456)のように編集して違う変数に代入したいのですが どのようにすればよいのでしょうか? 宇宙仮面のページにあった例だとコンソールに出力しています。 変数に代入の方法が良くわかりません。 Console.WriteLine("n/N\t123456.789 = {0:n}", 123456.789); 宜しくお願いします。
>>311 string str = String.Fomat("n/N\t123456.789 = {0:n}", 123456.789);
自分でも、いろいろジタバタしてみたところ…
IISがインストールされていないからな様です。
当方、XP Homeedithionなんですが、
どうやらIISは付属されていないようですね。
もうこの際、Professionalに乗り換えてしまうべきなんでしょうか?
>>309 様、レスありがとうございました。
>312 レスありがとうございます。 String.Formatで出来ました。 {0:n}より{0:C}の方が通貨なのでよいようでした。
315 :
axWebBrowserの日本語の完全なヘルプがほしい :02/12/21 04:36
axWebBrowserってアドレスを指定してnavigateで表示する方法しかないんですかね? TextBoxみたいに textBox1.Text = "<html>\r\n</head>〜</html>"; とか RichTextBoxのAppendTextみたいなメソッドはないんですか? もしくはhtmlをちゃんと表示できるTextBoxなんかがあるといいんだけど
エラー対策として public void test() { //確実に使えるようにしておく WebRequest request = null; WebResponse response = null; StreamReader streamReader = null; // 既に使用していれば閉じて新しくつかう if (!StreamReader.Equals(streamReader, null) streamReader.close(); streamReader = new StreamReader(....); //最後に確実に閉じる if (!WebRequest.Equals(request, null) request.Abort(); if (!WebResponse.Equals(response, null) response.close(); if (!StreamReader.Equals(streamReader, null) streamReader.close(); } 私はこんなかんじにしてるんだけど。 これって問題あるかな?
DirectX 9.0のManaged DirectXのヘルプがVS.netのヘルプに統合されちゃって、 重くて著しく使いづらい。 ノートだからHDDまわしまくり。 VB/C++のヘルプのように単独で読めるようにする方法知りませんか?
319 :
デフォルトの名無しさん :02/12/23 18:07
質問です。intの配列をobjectの配列にキャストするにはどうすれば いいのでしょうか。 int[] intary = new int[] {1,2,3}; object[] objary = (object[])intary; こんなふうにやろうと思いましたがダメでした。配列の要素を一個ずづ キャストしないとだめなんでしょうか。
Array.Copyってつかえなかったっけ?
>>320 ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfsystemarrayclasscopytopic.htm
| Array.Copy メソッド
|
| 一方の Array の範囲を他方の Array にコピーし、
| 必要に応じて型キャストとボックス化を実行します。
まさにこれです。 キャストできました。 ありがとうございますm(__)m
325 :
デフォルトの名無しさん :02/12/24 03:03
WinXPは標準で.ZIPファイルの読み書きができるようですが、 なんのAPI、クラスを使えばいいんでしょうか?
>>322 おお、ありがとう
こんなツールがあったとは
327 :
デフォルトの名無しさん :02/12/24 19:47
>>327 無料だってさ。
You can include the Magic Library in your own private or commerical applications free of charge.
330 :
デフォルトの名無しさん :02/12/24 20:28
>328,329 ありがとう!少し自分の英語に自信が持てた。
Magic Libraryにあとツールバー、リバーさえあればいいんだが。
>>322 のツールってどんなツール?
試してみたいんだけど圧縮されているやつしかないし、
怪しさ満点すぎてダウソするのも躊躇りんぐ。
>>322 使ってみたけどよく和歌欄勝った。
AxImpで生成したDLLを読み込ませてみたけど変化無し。
まあ別にいいんだけどさ。
補足 移動ってのは展開されて出てきたフォルダのこと。 exeだけ動かしても動かん ちゃんと動いたら絶対感動すること保証する
337 :
デフォルトの名無しさん :02/12/25 13:45
ArrayListの内容をComboBoxに追加しようとしています。 ComboBox.Items.AddRange(ArrayList)だと error CS1503: 引数 '1' : 'System.Collections.ArrayList' から 'object[]' に変換できません。 のエラーになってしまいます。 ArrayListからforeachで取り出してAddすればいいのですが、 ほかにスマートに行う方法はないでしょうか?
>>337 ちょっとはリファレンス見ようよ << ArrayList.ToArray
>>338 すいません。Helpみました。
以後はそのクラスのメンバなど見てから質問します。
どうもありがとうございました。
341 :
デフォルトの名無しさん :02/12/25 17:40
VC++1.0時代以降、Javaをやっていたので、最近のWindowsプログラミング用語 が良くわかりません。C#の勉強を始めたばかりです。 Windows開発関連のWebサイト等を見ると、「フォーム」って言葉が、 あります。時には「親フォーム」とかも。これってJavaで言うところの、 java.awt.Windowやjava.awt.Frame、java.awt.Dialogとかに該当する ウィンドウ系の「クラス」の 事なんですか?具体的にはSystem.WinForms.Form とかが、java.awt.Windowに該当する?! それとも、IDE開発環境における、ビジュアルにボタンなどの部品をウィンドウに 貼り付けられる画面?ならWindowsフォームとでも言うのでしょうか。いまいち 判りません。 VisualBasic(良く知りませんが)だとフォームって言葉が頻繁に 出ていたかと思いますが、これも混乱の元になってます。 説明にあいまいな点があるかもしれませんが、ご教授いただければ幸いです。
>>341 > これってJavaで言うところの、
> java.awt.Windowやjava.awt.Frame、java.awt.Dialogとかに該当する
> ウィンドウ系の「クラス」の 事なんですか?
そうです。
> System.WinForms.Form
β版ですか?
今はSystem.Windows.Forms.Formになってます。
> VisualBasic(良く知りませんが)だとフォームって言葉が頻繁に
> 出ていたかと思いますが、これも混乱の元になってます。
VBでのフォームとまったく同義です。
Javaだとフォームのことを「ウインドウ系のクラス」とかいうのか? 長ったらしいな。
>>342 ご教授ありがとうございます。C# Standardを購入したのですが、まだ実際に
プログラムはいじってない状態でして(^^;)
System.WinForms.Formの件は、参考にした記事(@IT)が一年半前に書かれた
ものを見ていたためでした。現在はSystem.Windows.Forms.Formに変更されて
いるとのこと。了解しました。
ご親切に感謝いたします!
>>343 >Javaだとフォームのことを「ウインドウ系のクラス」とかいうのか?
フレーム。
>>343 「ウインドウ系のクラス」は説明上そんな風に私が表現しただけで
して、一般的ではないと思います。スマソ。
普段は特に意識してませんが、通常はFrameやDialogと言うかと思
います。
ひらがな⇔カタカナ の変換をするにはどうしたらいいのでしょうか。
>>347 まぁ、テーブル作って引くのが速いんじゃない?
いや、並びは一緒だからいくつか数字足してやればOK?
>>347 Microsoft.VisualBasic.Strings.StrConv()を使う方法があります。
これはVBのStrConv関数をC#から呼び出すという意味です。
∧||∧ ( ⌒ ヽ失礼しました。逝きます。 ∪ 。ノ ∪∪
>>351 ふと思ったんですがあれってVB.NETインストールしなくても使えるんですか?
VB.NETにランタイムがいるってあの一連のライブラリのことだと思ってました。
>>350 付属のライブラリを使わないほうがよっぽどダサい。
どうせVisualBasicって単語に反応してダサいって言ってるだけだろ。
>>352 VB.NETに必要なランタイムは.NET Framework本体に入っているので
.NET Frameworkが入っていれば追加のランタイムは不要です。
言語特有のランタイムが必要なのはJ#です。
356 :
デフォルトの名無しさん :02/12/25 21:42
358 :
デフォルトの名無しさん :02/12/26 00:33
>357 あ!♪〜( ̄ε ̄;)すいません。一緒に入ってたのXMLしかみてませんでした。 できそうですね。 最後に一つだけ、これとかCodeprojectのはすべてライセンスフリーなのでしょうか?
>>358 すまん、それはよく分からん。
各記事の作者ごとにライセンス形態は違うんじゃないかと思われ。
内部で使ってるか何かしてるらしいMagicライブラリのライセンスがどうのという話は
記事内にあったけど、肝心のVSNETToolbar自体のライセンス形態が見当たらない。
360 :
デフォルトの名無しさん :02/12/26 02:49
えっとたぶんとても初歩的なことだと思うんですが FormをShowDialogして表示してから、そのFormの処理を 自動的に処理を進めるにはどうすればいいのでしょうか。 具体的にはフォームを見せてから自動的にプログレスバーを インクリメントさせるような、「進行状況の表示」みたいな のがやりたいんです。
361 :
デフォルトの名無しさん :02/12/26 09:37
this = (this.GetType())myObject; みたいにして自分自身の型に明示的にキャストして 代入することはできないでしょうか。
>>361 つぅかthisに値入れないでくださいよと。
>>349 Microsoft.VisualBasic名前空間にVBCodeProviderしか見当たらないのですが…。
>>360 ---------Form1---------------------------------------------------
private void button1_Click(object sender, System.EventArgs e) {
Form2 form2 = new Form2();
form2.ShowDialog();
MessageBox.Show("終了");
}
----------Form1---------------------------------------------------
----------Form2---------------------------------------------------
private void Form2_Load(object sender, System.EventArgs e) {
Test();
}
private void Test() {
Encoding enc = Encoding.Default;
string str;
HttpWebRequest request = HttpWebRequest.Create("
http://www.xxx.xx.xx/ ") as HttpWebRequest;
HttpWebRespons response = request.GetResponse() as HttpWebResponse;
streamReader = new StreamReader(response.GetResponseStream(),enc);
treamWriter = new StreamWriter("test.txt",false,enc);
progressBar1.Maximum = int.Parse(response.ContentLength.ToString());
while (streamReader.Peek() >= 0) {
str = streamReader.ReadLine();
progressBar1.Value += enc.GetByteCount(str);
}
}
----------Form2---------------------------------------------------
>>362 自分自身を更新する基底クラスを作って初期値をまとめた
クラスに継承させたら便利だと思ったんですがダメですか・・・
そうですか・・・
>>363 参照の追加で "Microsoft Visual Basic .NET Runtime" を追加してみてください。
>>365 もしこれが構造体ならOKです。
クラスの場合SetValue()のようなメンバをコピーする関数を作って
this.SetValue(myObject);
のようなことをすれば良いでしょう。
>>366 解決しました。
助言ありがとうございます。
>>367 なるほど・・構造体ですか・・。試してみたら
上のコードは通るんですけど下のは通らないみたいです・・。
あとは自分でなんとか調べてみます。
ありがとうございます。
this = (myStruct)Object; //myStructはthisの型。
this = (this.GetType())Object;
下はType型へのキャストになってない?
371 :
デフォルトの名無しさん :02/12/26 11:58
VS.NETとC#.NETのスタンダード版を買うとしたら現時点でどちらがお得ですか?
MSにとってはVS.NETのほうが得だろうよ。 アンタにとっての得って何?
373 :
デフォルトの名無しさん :02/12/26 15:27
>>359 しゃーないし、聞いてみようと思ってるんですが
こんなメールで良いかなぁ?
I often visited "The Code Project"
When I visit "VSNetToolbar's Page" ,
I have a question.
Is it Free license?
I want to equip my program with VSNetToolbar.
添削お願いします・・・。
私はしばしば「コード・プロジェクト」を訪れました。 「VSNetToolbarのページ」を訪れる場合、私は質問があります。 それは自由なライセンスですか。 私はVSNetToolbarをプログラムに身につけさせたい。
375 :
デフォルトの名無しさん :02/12/26 15:53
I have a question. I want to use VSNetToolBar for my program. Is it free? If it's not, please let me know what kind of license it is. Thanks.
私は質問があります。 私はプログラムのためにVSNetToolBarを使用したい。 それは自由にありますか。 それがそうでない場合は、それがどんな種類のライセンスか知らせてください。 感謝。
金銭目的以外ならフリーでしょ? Magicのソースを流用してあるって明言してあるし、その時点で金は取れない。 シェアウェアにするとか業務で使うならともかく、訊くのは迷惑なだけだと思うが。
>>377 Magicは商用OKよん。
your own projects for either personal or commercial use
ただしMagic自体に値段付けちゃだめ。
The above items cannot be sold as is, either individually or together.
値段を付けさえしなければ改変とかしても構わない。
modified source code, ... modified built assembly
しかし(GPLと同じく)派生物にもライセンスが適用される。
従ってMagic自体を売っちゃ駄目。
The above items cannot be modified and then sold as a library component, either individually or together.
単なる付属DLLとして同梱するだけなら、
その他の部分にも値段を付けても大丈夫。
キモッ
Magic自体の話は確かにそうなんだけど、 VSNetToolBarはソース取り込んでるから、フリーじゃない場合、 >値段を付けさえしなければ改変とかしても構わない。 に引っかかることになるので、値段は付いてないだろうと思ったわけです。
>>380 > 値段は付いてないだろうと思ったわけです。
ここの部分は了解しました。
ただそれであれば377に書いてある
> 金銭目的以外ならフリーでしょ?
という結論は出ないと思います。
安全パイってことなら分かりますが。
失礼。 おっしゃる通り「金銭目的以外なら確実にフリーでしょ?」に訂正します。 逆の解釈で「金銭目的ならフリーではない」という意味にも取れましたね。 安全パイってことでした。
383 :
デフォルトの名無しさん :02/12/26 19:26
ええっと(^_^;) とりあえず、結論としてはフリーでOKなんでしょうか? 安全パイの意味がつかめん・・。
フェイルセーフなオッパイ
>>383 貴殿が作ったソフトが商用でなければ何の問題もない。
これが安全パイの意味。
商品作るつもり?
それだったら全部自作した方が安全だよ。
386 :
デフォルトの名無しさん :02/12/26 20:37
>>385 フリーです。助かりました。これで年が無事越せそうです(笑)
おい!漏れWEB製作で多少JScriptを齧った程度なんですが、C#と似ていますか? 情報きぼーん。
C#で四捨五入するにはどうすればよいのでしょうか。明示的に キャストすると切り捨てになってしまいます。MSDNを検索 してみても見つけられませんでした。よろしくお願いします
C#に限らんけど、 正の数なら0.5足してintにキャストすればいいんでないの。
>>387 それだったらJScript.NETってそのものがあるよ。
392 :
デフォルトの名無しさん :02/12/27 15:53
背景を消去しないでフォームを再描画する方法ってありますか? 超初歩的かもしれませんが、よろしくおねがいします。
背景を消去しないで・・・っていうのがよくわからんが、 OnPaintBackgroundをオーバーライドするとか?
394 :
デフォルトの名無しさん :02/12/28 10:03
BeforeNavigateのバグは動くようになおしたんですが,フレームページの場合イベントを拾ってくれません 何か解決策ないでしょうか.
395 :
デフォルトの名無しさん :02/12/28 11:18
C#ってCOMコンポーネントとか作れるのでしょうか? それともVS.NETになってCOMコンポーネントなんて作る 必要性はなくなったんでしょうか?
>>395 > C#ってCOMコンポーネントとか作れるのでしょうか?
tlbexpを使えばManaged DLLをCOMに変換できます。
> それともVS.NETになってCOMコンポーネントなんて作る
> 必要性はなくなったんでしょうか?
Managed DLLは普通に書いただけでもCOMと同等か
それ以上のことが出来るようになっています。
397 :
デフォルトの名無しさん :02/12/29 10:05
なるほど。 ATLとか勉強するより.NETやれってことだな
398 :
デフォルトの名無しさん :02/12/29 13:04
ボタンクリック後にフォーカスをテキストボックスに 移動したいんですがセット方法をおしえてくださいませんか・・
399 :
デフォルトの名無しさん :02/12/29 13:14
TextBox1.Focus();
他のソフトで使われるプラグイン作ってるんだけど 例えば、構造体はC++とか他の言語と同じように考えていいの? LPSTR は string 扱いでいいの? HICON は無いの? 関数のexportはどうするの? _stdcall みたいな呼び出し規約は? その辺詳しく説明してるサイトは無いのかよ!ウワァァンヽ(`Д´)ノ
>>400 その「他のソフト」が.NETをサポートしてないと無理
できないから説明してるところないんだよ
プラグインがCOMならtlbexpすればCからでも呼び出せるけど
_stdcallと書いてるところから考えると単なるLoadLibraryだろうからね
>>400 COMでやれってことだ。
てゆーかCOMスレってなくなったのかな?
>>400 何も考えずとも他の.NETアプリから使える。
>>403 .NET同士ならね
COMとかDNAとか地獄のようなことになっていた部分が
すっきりさわやかになったのは.NETの最大の功績だから...
405 :
デフォルトの名無しさん :02/12/29 22:08
とりあえずC#って書くの楽ー。 テストプログラム程度しか作ってないがMFC+Win32のころの質面度草から開放された幹事が…
┌──@───┐ │ ↓ dll←──A───.NET ↑│ ↑│ ││ ┌D┘ │ │└B→COM←E─┘ └─C─┘ 矢印の線を 利用する→利用される とすると、出来ないのは@だけ?
>>404 .NETというよりCLIの功績だね。
>>405 そだね。
MFCに比べると.NET Frameworkのクラスライブラリは使いやすい。
MFCはかなり使いにくかったしWTLはいまいち本腰じゃないみたいで
サードパーティーのクラスライブラリの方がはるかに使いやすい時代が続いて
正直このままじゃWindowsも危ないなって感じてたんだけど、
いきなり大逆転されたって感じ。
>>406 わざわざきれいな図おつかれ〜
もっと厳密に言うとdllというかunmanaged全般だけど
Managed C++を使えば1つのDLLの中に混ぜられるから
COMだけでなくManaged C++を経由する方法もあるよ
正直そこまでするメリットも思いつかないが…
>408 そうか、dll, .NETではなくunmanaged managedと読み替えればよかったんだ。 大枠過ぎてスレ汚しスマソ。自分はA、D、Eができれば満足なタコスケですので。 おおよそBなんて生涯学ぶ事も無いだろうな。 > Managed C++を使えば1つのDLLの中に混ぜられるから Managedの部分は興味がありますので、できたら後学のためにちょっと教えてくださいませんか?
>>409 > Managedの部分は興味がありますので、できたら後学のためにちょっと教えてくださいませんか?
何を書けば良いのかいまいちピンと来ませんが、
VC++7のコンパイラでは従来通り書いたコードは従来通りunmanagedで、
__gcを付けた部分だけmanagedになります。(=.NETにマップ)
つまり__gcで書いた部分はC#で書くのと同等です。
その部分は文法も従来のC++とはやや異なっており、
C#と同じことをC++風に無理やり書いたというイメージでしょうか。
それをManaged C++と言います。
1つのソースの中でmanagedとunmanagedを混ぜられるので、
部分的にunmanagedが必要ならManaged C++の出番です。
そうすればunmanagedとmanagedを同時に扱えるわけです。
VC++7(or VS.NET)でないとManaged C++は使えません。
VC++6でManaged C++を書くのは不可能です。
あと混乱するかもしれないのは、
C#のunsafeはあくまでmanagedであってunmanagedとは違うことかな。
411 :
デフォルトの名無しさん :02/12/30 00:24
412 :
デフォルトの名無しさん :02/12/30 05:07
C#でフォームの位置や形状、アプリケーションの設定を保存するには どのクラスを使ってどこに(.iniファイル、レジストリ、その他)保存するのが普通ですか?
>>401 ガビソ Σ(゚Д゚;)
C++の上位言語っぽいのにできないのか・・・
WindowsAPI 呼び出しはできるのに!ウワァァァァンヽ(゚`Д´)ノ
潔く諦めますた。
>>414 >C++の上位言語っぽいのに
名前だけだろ・・・
>>414 言語うんぬんの問題じゃなくて.NETを理解していないと思われ。
C#は構文を一般に普及しているため馴染み易いということでCに似せただけであって、 中身は別物だよ。Javaもそうだろ。
418 :
デフォルトの名無しさん :02/12/31 11:43
ユーザーにディレクトリを選択させるのってどうやるの?
>>418 APIのSHBrowseForFolder関数。
[HOW TO] C# を使用して [フォルダの参照] コモン ダイアログ ボックスを
ラップするマネージ コンポーネントを実装する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;JP306285 .NET Framework 1.1正式版まで我慢すれば、(まだベータ)
System.Windows.Forms.FolderBrowserDialogクラスがあるけどね。
裏技としては、デザイン時サポート用のクラスである
System.Windows.Forms.Design.FolderNameEditorクラスを
継承したクラスを作成して利用する手。C#相談室の過去ログ参照。
420 :
デフォルトの名無しさん :02/12/31 16:14
初歩的な質問で申し訳ないです。 コントロール(ピクチャボックス)をクリックした時に ブラウザで特定のページを開くにはどうすればよいのでしょうか? Helpで検索するとASP.NETネタが多くて・・・ テキストならLinkLabelでできるのはわかります。 よろしくお願いします。
>>420 >テキストならLinkLabelでできるのはわかります。
この部分から考えて、ひょっとしてPictrueBox上に描画してある
URLの文字列を認識して・・・・とかいう話?
そうでなけりゃ、Processクラスで表示したいURLで起動すればOKかと。
質問なんですが、文字列を数に変換するのってどうやるんでしょう。 cだったら、strtodなんですが、stringクラスにそれらしいメソッドが ありません。 例えば"1.234"だったら、どうすればfloa型に変換出来るのでしょう。
Convert で検索すればヨシ。
それだと関連付けされてない人が困ると思う
>427 文字列の拡張子はhtml? 関連づけしてないやつなんているのか?
>>427 422じゃないけど・・・
自力で解除してない限りは関連付けられてるでしょ。
自力で解除してる香具師のことなぞ知らん。
430 :
デフォルトの名無しさん :03/01/03 17:40
「C#300の技」という本を読んで、アプリケーションが重複起動しないように したのですが、explorer.exe がトラブルを起こして再起動したような場合などに、 アプリケーションが起動中なのにも関わらず、システムトレイに表示している トレイアイコンが消えてしまいます。 こういう場合、実行ファイルを再びダブルクリックすれば、トレイアイコンが再び 表示できるようにしたく、(Winny のように)、この Mutex なるものをキーワードと して調べてみましたが、未だ見つかりません。詳しい方ヒントだけでもお願いします。 [STAThread] static void Main() { // 重複起動防止 Mutex m = new Mutex(false, "AppliName"); // 初めて起動する場合 if (m.WaitOne(0, false)) { Application.Run(new AppliName()); m.ReleaseMutex(); } // すでに起動している場合 else { // ※ ここにトレイアイコンを再表示する // コードを書くのだと思う。 } m.Close(); }
>>429 例の独占禁止法関連の裁判のおかげで
関連付けをはずすことができるようになったはず
>>431 その場合、戻り値調べてメッセージ出せばいい。
それともProcess.Startを使うのが間違いだといいたいの?
>>431 そもそもそれ自力で解除してるし...
それに元のコードだと解除なしにIE起動してるし...
ユーザーに選択させるのが正しい。
>>431 「プログラムのアクセスと既定の設定」では変更はできても解除できないよ
だから
Process.Start("URL");
で何の問題もない
ユーザーが設定したブラウザが自動的に選ばれる
デフォルト以外のブラウザを使いたいという人のことを配慮するなら
>>434-435 が言うように設定できるようにすればOK
実際、市販アプリとかでは大抵できるしね
ただ必須じゃないけど
ともかく単にページを表示するだけなら
Process.Start("iexplore","
http://www.yahoo.co.jp/ ");
より
Process.Start("
http://www.yahoo.co.jp/ ");
の方がベター
SEの「10日でおぼえる〜」には「セットアッププロジェクト」の使い方が 記載されています。しかし、何度やってもパッケージ化されません。 スタンダード版をつかっていますが、VS.NETでないと無理なのでしょうか。
>>430 WindowAPIなら、
TaskBarCreatedMessageID = RegisterWindowMessage('TaskbarCreated');
で、explorerの再起動のメッセージIDをあらかじめ得ておいて、
後は、メッセージ処理関数内で TaskBarCreatedMessageID のメッセージが
きた時にトレイアイコンを再登録する処理をすればよいのだが・・・。
>>437 スタンダード版にセットアッププロジェクトあったっけ?
ウィンドウズフォームをいじって遊んでいるのですが、 メニュー項目(例えばファイル(F))を、Alt+Fで選択出来るようにする方法が わかりません。 ショートカット(例えば"ファイル"-"保存"はCtrl+S)の設定方法は わかったのですが。 どっかのプロパティに設定するとか、お決まりな方法があるかと思うのですが・・・。
ファイル(&F)としましょう。
443 :
デフォルトの名無しさん :03/01/05 09:49
よろしくお願いします。 Javaでいう setResizable(false) みたいに ウインドウのサイズ変更を不可にしたいのですが c#ではどのメソッドを使えばいいのでしょうか。 当たり前だと思いますがプロパティで MaximizeBox を False に設定してデバッグしてもダメでした。
FormBorderStyleをFixedSingleとかにしましょう。
>444 できました。どうもありがとうございます。お手数おかけしました。
446 :
デフォルトの名無しさん :03/01/06 09:45
>>400 dllexportの話ならかなり前の相談室の過去ログにやり方があったような。。。うろ覚えスマソ。
MDI子フォームの位置を変えられません。 通常のフォームと同じように form.Location = new Point(x,y) としてもダメ(親フォームのクライント領域の左上端)で、form.Offset(... としてもダメです。 どうかおながいします。
テキストボックスに、TextBox.Text = "あ\あ" と設定しても、 あ あ とはならず、 あ・あ となってしまいます。 この場合どうしたらよいのでしょう・・・。
\n\nをつっこむ
>>447 child.Parent = this;
↓
child.MdiParent = this;
違ってたらすまん。
>>450 全然違った。すまn。
でもウチでは出来てる。なぜだ。
ああ、確かにInitializeComponent()抜けて直後にキタ Form.Loadイベントハンドラ内で確認したらLocationが 0, 0 になってる。 Loadイベントでもう一回設定すれば初期位置も出来るのは確認した。
453 :
デフォルトの名無しさん :03/01/07 06:30
無知で済みません。 フォルダの中の全ファイルを1つずつ読み込んで 内容をarraylistに格納したいんですが良い方法は無いでしょうか?
現在コントトロールの作成中・・・ System.Windows.Forms.Controlから承継させて作ってるんですが、その一部に Buttonを付けたいと思ってデザイナの画面で追加しました。 OnPaintイベントでButton1の位置とかを調整させてみたんですが、 ボタンが表示されません・・・・ できないんでしょうか(^_^;
>>449 textBox.Text = "あ¥n¥nあ"
とすると、
"あ・・あ"
と表示されてしまいますが・・・
\r\nでしょ?
>>452 ありがとうございます。自分も確認しました。
コンストラクタ終了からLoadイベントの間に
Locationが初期化されてしまうんですね。
>>457 出来ました!ありがとうございます!
ずっといろいろ調べててわからなかったのですが。
そこらへん詳しく勉強したいんですが、何を見たらよろしいスいんでしょう。
>>459 CとWin32 APIの世界かな・・・。
>>455 コントロール作りたいんなら、
UserControlから派生しては?
>>459 .NET Framework SDKドキュメント
462 :
デフォルトの名無しさん :03/01/08 07:48
メニューのショートカットキーにカーソルの上下左右やA-Z単体を割り当てられないんですか?
464 :
デフォルトの名無しさん :03/01/08 18:55
NetworkStreamについて質問です。 FTPクライアント作ってるんですが例えば System.Net.Sockets.NetworkStream NS; System.IO.StreamReader SR; NS = TCP.GetStream; SR = new System.IO.StreamReader(NS,System.Text.Encoding.Default); string str1; while (true) { str1 = SR.ReadLine(); if (str1 == null) { break; } } のようにやると読み取る文字が無い場合、SR.ReadLine()はnullを返さず 制御が戻ってきません。 それでNetworkStreamのBeginRead EndReadを使って AsyncCallback myCallBack = new AsyncCallback(this.OnRecvCallback); IAsyncResult ar = this.NS.BeginRead(this.buffer,0,this.buffer.Length,myCallBack,null); ar.AsyncWaitHandle.WaitOne(); str1 = System.Text.Encoding.ASCII.GetString(this.buffer); public void OnRecvCallback(IAsyncResult ar) { // this.NS.EndRead(ar); } みたくしたのですが、これでも読み取るバイトが無い場合WaitOne()で止まってしまいます。 何か良い方法は無いでしょうか。
>>464 NS.DataAvailableでチェックするのはどうか
>>463 どうやって?enumにはそんなのなかったけど。
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/ 1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27 鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
>>467 マジ!? 知らずに聞いたとはいえ、気を悪くしたらスマソ
staticメソッドの中で、「自分を呼んだメソッド」ないし「自分を呼んだメソッドのあるクラス」を 知る方法がわかりません。ご存知の方、助けてプリーズ。 自分を呼んだアセンブリはAssembly.GetCallingAssembly()なんだけど、そこから クラスやメソッド名まで展開できないっす。
ベホマズン
>217 企業の戦略訴訟が黙認されてる社会で、それをやれと他人にいうのは どうかと思うが。
474 :
デフォルトの名無しさん :03/01/09 18:35
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
476 :
デフォルトの名無しさん :03/01/09 18:41
(・∀・)age!
>>474 サンクス!
StackTraceとStackFrameで無事取得できました。
#それともStackFrameだけで取れるのかなぁ…?
new StackFrame(1, false); だけで取れた。
Opera7 TEST
480 :
デフォルトの名無しさん :03/01/10 00:16
フォーム上にマウスが乗っていない場合のマウスのスクリーン座標を 取得するにはどうすればいいのでしょうか。
>>480 試しとらんけど、
Cursor.Positionじゃないかね。
VB6からVB.NETへ移行するガイドみたいなのにCursorを見つけてたんですが、 this.Cursor.Position無いなーって思ってました。thisはいらんのですね・・。 ありがとうございました。ばっちりこれですm(__)m
>>458 根本原因ワカタよ。
form.StartPosition = FormStartPosition.Manual;
これで、小細工無しで設定できる。
もう見てないかもしれないけど、一応。
>>26 今回のケースでは、
名誉毀損の書きこみがあったと認識し、または認識しえたとき。= 内容証明が届いた時
でしょ? いいたい事があるならはっきりと仰って下さい。
>>26 今回のケースでは、
名誉毀損の書きこみがあったと認識し、または認識しえたとき。= 内容証明が届いた時
でしょ? いいたい事があるならはっきりと仰って下さい。
>>26 今回のケースでは、
名誉毀損の書きこみがあったと認識し、または認識しえたとき。= 内容証明が届いた時
でしょ? いいたい事があるならはっきりと仰って下さい。
>>28 違います。判決は訴状送達の翌日(初日不算入の原則)からとしてます。
結局日本の司法はこんなものか
ということはなにか固定のほとんどは地方出身だということか。
テンプレの存在するコピってことで削除依頼したら通るかなぁ。 スレッドが読みづらくて仕方ないし。
また新しい形態の「便所の落書き」が出てくることを期待
ぬお、誤爆・・・。 しかも流れ的にはばっちり(苦笑 さんの事ではないんで、お気に触ったらスマソ。
ご苦労様です
494 :
デフォルトの名無しさん :03/01/10 19:36
おそらくFAQで恐縮なのですが、standard版でクラスライブラリが作成できないというのは、 単にウィザードがついてないというだけなのですか?それとも本当に無理なのですか?
>>494 あなたの技術力が無いからです。もしくはデマ流して楽しんでいるだけです。
だれかまともな方お答え願えないでしょうか?
499 :
デフォルトの名無しさん :03/01/10 22:08
卒論で動画処理関係のことをやることになったんですけど 動画を読み込んで1フレームずつ表示するにはどうすればいいんですか? 色々調べてみたけれどよくわからなかったので 連番bmpを作って読み込ませてはいるんですけど なんかめんどくさくって・・ よろしくお願いします。
>>497 開発環境からはクラスライブラリ(dll)は作れないんちゃうかった?
コンパイラで手動で直接コンパイルすれば
クラスライブラリ(dll)も作れるけど。
遂にというか、何と言うか
IPとられることが怖いやつが、こんなにいるなんて信じられん!!マンコとかく勇気すら無いやつは2chにいらんだろう!!
っていうか、C#ソースファイルの拡張子を .c# にしなかった MSはチキン野郎だな。
>500 どっかのスレでみたけど、*.projかなんかのファイル ちょこっと書き換えれば怒られないらしい。 俺はスタンダードじゃないんで確認できないが。
505 :
デフォルトの名無しさん :03/01/10 23:56
>>499 C#の前にやることがイパーイあるように思えるが・・・のぉ
君がやってみれば。 神になれるYO!
次スレ立てるときは のソース貼り付けおながい。
<p>次スレ立てるときは</p>
小豆大です
自板に告知しに行ってるあいだに、 前スレが1000逝ってましたわヽ(`Д´)ノ ストーコドコーイ!!
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50 ────────────────────────────
にょろゆきめ!! 悪戯ばっかりしおって!!
NYテロ
514 :
デフォルトの名無しさん :03/01/11 12:21
C#って双方向リストないの? ArrayListとかだとお尻にしか刺せない
∧_∧ / ̄ ̄ ̄ ̄ ̄ ( ´∀`) < なんでだろ〜! ⊂⌒ て) \_____ ( 、___つ ) ) し' ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ( ´∀` ) < なんでだろ〜♪ / ̄ヽ/,― 、\ o。。。\_______ | ||三∪●)三mΕ∃. \_,へ--イ | ゚ ゚ ゚ (_)(_)
さようなら
Webアプリケーションのデバッグができません。 プロジェクトを実行しようとしているときにエラーが発生しました : Webサーバーでデバッグを解しできません。サーバーはASP.NEtやATLSeverのアプリケーションのデバッグをサポートしていません。セットアップを実行してVisualStudio.NETサーバーコンポーネントをインストールしてください。 既にセットアップが実行されている場合は、有効なURLが指定されていることを確認してください。 だそうです。 コンポーネントはインストールしてるし…有効なURLの指定って、何ですか…? お馬鹿な質問でごめんなさい(´・ω・` )
572 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:02 ID:jWxHxvti
人を減らすんじゃなくて、質の低い書きこみを減らすのが目的。
今日も千葉県警に生贄をだしてみました。
604 名前:心得をよく読みませふ 投稿日:03/01/10 21:05 ID:4UHW021N
DHCや動物病院レベルの裁判で負けるとなると、今後抱えると想定される
懸案事項の数および賠償請求されるであろう推定額っていくらぐらいですかね>>ひろゆきさん
611 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:06 ID:jWxHxvti
7億ぐらい?657 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:12 ID:jWxHxvti
URLを無効化してみた。
673 名前:心得をよく読みましょう 投稿日:03/01/10 21:14 ID:9iG//6ip
これも生贄にどうだ
ある意味、さようなら2ch、、、懐かしき日々よ。
http://live2.2ch.net/test/read.cgi/news/1042196915/196 684 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/10 21:17 ID:jWxHxvti
脅してみた。
なーんか大変だな
半角系板では、業者が書き込むとリモホが表示させられてるみたい
広末犯してー(;´Д`)ハァハァ ↑こんなのは大丈夫だよな?
522 :
デフォルトの名無しさん :03/01/12 00:22
523 :
デフォルトの名無しさん :03/01/12 00:41
自作のコントロールのインスタンスを複数作り、その中の一つのインスタンス からその他のインスタンスを制御するようなことはできますか? たとえば複数のFormのインスタンスを作り、一つをクリックすると 全部のFormのインスタンスがクローズするような動作は どうやって実装するのでしょうか。 イベントとデリゲートで実装できないかと調べたのですが、 あまり情報が無くて・・。
全部のFormが入ったstaticなarrayを持っとけばいいのでは?
>>524 なるほど・・。それは思いつきませんでした・・。
インスタンス同士が自立的に通信しあうと取り回しが
楽かなと思ってたんですが。ありがとうございます。
あきらめる(・∀・)
各フォームがNextFormかなんか持って順々に開放してくとかね。
中部地区では一週遅れで今の時間にやってる。でも悔しくないのが種の良いところだな
その100万人がモナーが商標登録された時(現在も継続中だが)に 何かやったのかい? 2ちゃんねらーってのは口でなんか言うだけだろ? 誰も実際に行動なんかおこさねぇよ
>>500 スタンダードでも DLL 作れるぞ。
<Build>
<Settings
OutputType = "Exe"
>
</Settings>
</Build>
↑
これの OutputType を "Library" に書き換えるだけ。
531 :
デフォルトの名無しさん :03/01/12 19:28
ポタンクリックのイベントの事なのですが、 このイベントを処理中にポタンが押されたとき、イベント実行中にも関わらず 再入させたいのですが、こういう事はできるのでしょうか?
おっ俺の泉ピン子がっああっんっ
>確認のために2ちゃんを閲覧するだけでも2ちゃんのルールに従えというのですか? Yes! 呼ばれてないのに勝手に来て、そこのルールに従えないなんて人間としてどうだろうね(^_^;)
そうなんすか。どうもです。
>>531 イベントハンドラ中でスレッド立てればいいんじゃねーの。
>>517 誰も答えてないみたいだから、漏れが答えてやろう。
分からん、と。
IISがNIMDAってるとか。
538 :
デフォルトの名無しさん :03/01/13 17:31
誰かCOMポートつかったバイナリデータのシリアル通信してる人いませんか? MSComm使ったテキストの通信はできるんだけど、 バイナリデータを送ろうとするとエラーが出てうまくいかないのです。 ↓こんな感じでやると msComm.Output = 100; やっぱりPInvokeでゴリゴリ書くしかないのだろうか・・・
(^^)
DirectoryInfoのCreateSubdirectoryメソッドについてお尋ねします。 MSVS.NETドキュメントによると、作成しようとしているディレクトリ が既存の場合、IOExceptonが発生するとあるのですが、どういうわけか 何も例外が発生しません。 真偽はどっちなのでしょうか? それと、Directoryクラスも含めて`既存の場合に例外が発生するメソッド' はあるのでしょうか?
>>540 解説のところ読むべし
path の一部が無効でない限り、path に指定したすべてのディレクトリが作成されます。path パラメータでは、ファイル パスではなく、ディレクトリ パスを指定します。既存のサブディレクトリがある場合は、このメソッドは何も実行しません。
既定では、すべてのユーザーに、新しいディレクトリに対する完全な読み書きアクセス権が与えられます。
>>531 Application.DoEvents()
>>541 それだとIOExceptionのところの解説と矛盾してる気がするがどうよ。
指定したパスと同名のファイルがあったような場合なんかは、IOExceptionが
起きそうな気がするがどうだったん?
>>540
わかった。
作るフォルダと一緒の名前の"ファイル”があるとスローする。
>>542 これでどうかな?
ってか既に書いてあった。よく読め>>俺
うーん、やっぱり同名ディレクトリの場合は例外は発生しないんですね。 (ファイルだと発生するけど、そりゃ当然というか、なんというか...) [例外] IOException | path に指定された名前のファイルまたはディレクトリが既に存在しています。 ↑ ドキュメントのミス?
5
>>545 動作および、Remarksから考えるに、IOExceptionの説明は単にコピペの編集ミスでしょう。
良くあることです。
richTextBoxでキャレットの位置を取得するにはどうしたらいいのでしょうか。
>>547 コピペミスは確かによくあるんだけど、
コピペ元が見当たらんなぁ。
どうせ英文からの誤訳だろうと思って調べてみたけど英語版にもそう書いてあるし。
http://msdn.microsoft.com/library/default.asp? url=/library/en-us/cpref/html/frlrfsystemiodirectoryinfoclasscreatesubdirectorytopic.asp
>A file or directory already has the name specified by path.
さらにDirectoryNotFoundExceptionがどういうときに発生するのか、
ドキュメントからではようわからんねぇ。
551 :
デフォルトの名無しさん :03/01/14 01:13
正直、C#のライブラリとVC++のMFCの機能的充実度の違いって どのくらいあるの? MFCは一通り頭にあるけどC#はライブラリ 中心の解説がないので全体がよくわからん。
552 :
デフォルトの名無しさん :03/01/14 01:35
>538 さぁ、C#でcomポートさわったことないけど、100ってなによ。 キャストしなくていいのか?
ボクシングかってに働いてくれていいのかと思ったんだけどね。 キャストっていってもどんな型にキャストすればいいのかが分かんない。 検索しても文字列で通信してる例しか出てこないし・・・
>>517 誰からもまともな答が得られていないようなので、漏れが答えてやろう。
知るかボケ、と。
>>517 web.configの構文エラーに100カノッサ。
ありがとうございます。 ドキュメント、一通り読んだつもりでしたが見落としていたようです。 精進します。
何度かコンポーネントインストールしなおしたり、 webアプリケーションもほぼ何も手を加えて無いような簡単なやつで何度も試したりしてるんだけど、 状況依然変わらず。 ううう………
まさかOSがXP Homeとか…? まぁありえないと思うけど。
ありえませんね(^^; それに、IISが無かったら、webアプリケーションの作成自体できませんって。
>>562 web.configを削除して実行してみ。
(^^)
>>563 今試してみましたが、変化ありませんでした。
(´・ω・` )
566 :
デフォルトの名無しさん :03/01/15 19:45
m_end = DateTime.Now; Debug.WriteLine("End: " + m_end + " + " + m_sec); m_end.AddSeconds(m_sec); Debug.WriteLine("End: " + m_end); End: 2003/01/15 19:43:43 + 60 End: 2003/01/15 19:43:43 何で増えないのでしょうか?
567 :
bloom :03/01/15 19:51
>>566 m_end = m_end.AddSeconds(m_sec);
>>568 あー! なるほど。
ぼけてました。
ありがとうございました。
WAV, MP3 ファイルを C# で再生するには どうすればよいのでしょうか? 別にマルチメディアプレイヤー通してでもいいです。
>別にマルチメディアプレイヤー通してでもいいです。 ワラタ
>>570 ・DirectX for C#
・[DllImport("winmm.dll")]
・ActiveX (ActiveMovie Controlだったっけ?)を貼る
・Processでマチメディアプレイヤー通し
574 :
デフォルトの名無しさん :03/01/17 00:35
timerでPictureBoxの位置を少しずらしたいのですが、 以下のようにXを設定すればいいのかと思い、試したところ 変数ではないため戻り値を設定できません というようなエラーが出てしまいます。 どこが間違っているのでしょうか? xとyを両方セットする方法だとうまくいくのですが・・・ 『pb1.Location = new System.Drawing.Point(pb1.Location.X + 10,pb1.Location.Y + 10);』 if(pb1.Location.X < ClientSize.Width) { pb1.Location.X += 10; }
Location じゃなくて Top と Left いじればぁ
>>572-573 すぐに試す時間はありませんが、
DirectX 使う方向で考えてみます。
あと、マルチメディアプレイヤーってのは
マルチメディアプレイヤーコントロールのつもりでした。
578 :
デフォルトの名無しさん :03/01/17 12:49
C# では参照の参照というのは作れないのでしょうか? C で言えばポインタのポインタを作って、ポインタそのものを入れ替えながら 動作するプログラムを作りたいのですが・・・
579 :
デフォルトの名無しさん :03/01/17 12:55
画像処理用途なんですが、ビットマップを配列で直接弄れねーでしょうか?
>>578 参照をメンバに持ったクラスでも作ってやれば?
>>579 普通にファイル読めばいいじゃん。
>>580 やはり、そこまで大げさにしないと無理ですかね・・・ふぅ
地獄 if 文か、巨大ソースか、C# も時々不便。
>>582 そうです、
利用用途は・・・まああろいろ
多重間接参照は C とかでは普通に使います。
これを使うと時々複雑なアルゴズムをエレガントに書けます。
まああろいろ → まあいろいろ 間違いでした
585 :
hnhjfcldsa :03/01/17 14:41
586 :
ListView :03/01/17 17:23
ListViewの実装(ソース)は見られないんでしょか?? Java2 SDKにはソースがついてくるんだけど、 .NETだとどうなんでしょう。探してるんだけど見あたらないよ〜 ListViewの選択されたアイテムの色を自分で決めたいGoogle厨より
>>583 何が大げさなのかさっぱりわからん
class ValueContainer
{
public ValueType Value;
}
で終わりじゃん
>>586 WndProcでOCM_NOTIFYのNM_CUSTOMDRAW捕まえてカスタムドロー
Code Projectに転がってるよ
589 :
ListView :03/01/17 20:07
>>588 ありがとうございます☆ 道が開けました。
カスタムドローでぐぐってまた情報の海におぼれています。
この場合、WndProcをオーバーライドすることになると思うのですが、
元の実装は見ないでのっけてしまってかまわないのでしょうか。
ということで、MSDNからSharedSouceCLIを落としてみました。
しかしListViewのソースは入っていませんでした。うーむ。。。勉強が足りないです。
>>589 ListViewのソースなんぞない。
実体はWindowsのListViewなんだから、MSDN嫁。
>>592 それ使わなくてもILDASMでILに直して読める。
NativeMethods、SafeNativeMethods、UnsafeNativeMethodsクラスの
API宣言部分まで元のソース再現するの?
>>593 ILで読むのとC#で読むのとではかなり違うと思うが
>>589 , 593
ということは、C#でどのようにオーバーライドしたらいいんでしょう?
そもそも完全にオーバーライドするというんじゃなくて、
とりあえずいったんWindowsのListViewの動作をさせてしまうということ?
(たとえばListViewのOnClickをオーバーライドしたい場合、オリジナルのOnClickを
まず呼び出してしまって、そのあとに自分のしたい処理をやらせるってことすか?)
メソッドを完全に上書きするものなんだと思ってたので、
元のソースがわからなかったら一体どうやるんだ!と,、
その時点ですでに勘違いしていたということなのかな・・
教えてクレクレ君ですみません。
ILDASMですが、明日あらためて調べてみます(明日早いので・・)
毎度アドバイスありがとうございまっす☆
>>592 情報どうも感謝っす! 早速ダウンロードしました。
しかしListViewのソースが表示されない・・もうちょっと調べてみますです。
今日は、おやすみなさい!
最近C#はじめたが、Javaとの違いが思ったより多くて参ってます(;´Д`) 主な仕様を大体理解したが、たとえば Bitmap bmp = new Bitmap(fileName); 処理できないファイルを入れたら当然exception発生するが、F1押して bitmapのコンストラクタの詳細を見ても発生するExceptionの種類を書いておらず、 そもそもExceptionが発生する可能性があると分かるような記述が見当たりませんが、 皆さんはどうしてるのでしょうか? また、ランタイムExceptionはその関数だけ飛ばす素敵仕様になってるのもびっくりです。 java->C#の人にオススメなサイトや本などはありましたら紹介してください。 お願いします。
>>597 どんな例外が発生するかはAnakrinoで調べる。
これはC#というより.NET Frameworkの性質だから言語に関係ない。
言語の細かい差異が気になる人のためにJ#がある。
J#で.NET Frameworkに慣れてからC#に移行すればいいと思う。
>これはC#というより.NET Frameworkの性質だから言語に関係ない。 単にドキュメントが手抜きなだけだったりする。 Javaのドキュメントもわかりづらいけどね。
>599 ちと調べたが、ディスアセンブルのあれですか? 激しく面倒だなこりゃ(汗 こんな仕様(ドキュメント)じゃいくら早くもの作れてもばぐばぐで 使いもんにならない予感
>>601 逆アセンブラはILDASM。
Anakrinoは逆コンパイラ。
.NETでもJDKでもどっちみち使ってると中の実装を見る羽目になる。
逆アセンブラと逆コンパイラでは全然違う。
調べるも何もすぐ上でその話題が出たばかりなので参考に。
あとここで文句言ってないでMSに直接言わないと改善されないよ。
>602 ラジャー ところでAnakrino9ってやつ落としてきて実行してみたが、正常に動かない模様(;´Д`) オープンで自分で作ったアセンブルなどを選んでも、ステータスバーに そのファイル名が表示されただけであとは何ら変化が無いが、やり方おかしいからかな? ちなみにFrameworkのsp2です。
ちょっと上の、
>>598 はご覧になりましたか?
多分、そこからたどれる
>>335-336 で解決すると思います。
とりあえず.NETはまだ出たばかりなので、気長に行きましょう。
いまからMFCや旧VBを覚えるよりまし、程度のものです。
AnakrinoのReflectionとSecondaryって何が違うのですか?
>>605 中身は同じで、タブブラウザみたいな感覚で、
離れたところにあるクラスを行き来しながら見るためのアイデアでしょう。
それより下のテキストボックスが何に使うのか不明……。
ここに何も表示されたことがないです。
>>606 ああ、だからSecondaryか。ありがd
#あんまりいらない気もするけど
下のテキストボックスも良く分からんですね。
でもAnakrinoいいね。結構使える。
今日も遅くなってしまいお勉強が進んでいません。 Anakrino、これは強力ですね。スゲエもん教えてもらっちまいました。 あと、.NETフレームワークで用意されているコントロールを使うってことは、 結局ちゃんとWindowsのSDKがわかってないとイカンのだなとわかりました。 手がかりがつかめ気味なので、カスタムドローについて、ちゃんと取り組んでみます。
>604さん すぐうえに出てるにもかかわらずまた質問した厨な俺にも ちゃんと答えてくれてありがとうございます。 いま画像ビュアなどの機能を持った付箋ソフトを作ってみてるところだが、 608と同じ感想ですね。 結局windowsのSDKに縛られてて、多少フォームをカスタマイズしようとすると すぐAPIとかメッセージが出てきてなかなか進まない。 しかしまあソース丸見えじゃ、シェアウェアとか出しにくいだろうなこりゃ。
610 :
デフォルトの名無しさん :03/01/20 09:58
C#で画像処理をした画像の一部分だけ保存するには、どうすればよいのですか? 誰か宜しくお願いします。 ちなみにbitmap.save()に上記のようなオーバーロード関数がなかったので。
611 :
デフォルトの名無しさん :03/01/20 10:30
>>ListView
サブクラス化するのなら、関係ない部分はデフォルトのウィンドウプロシージャにメッセージを
流してやるだけでおっけー。
>>609 Obfuscator で多少は隠せる。1.1だったかでは、標準機能として実装されるはず。
612 :
デフォルトの名無しさん :03/01/20 10:31
>>610 その部分だけ切り出してコピー、そして Save でどうかな?
ToolBarのボタンが右クリックされたというイベント半ドラをください。 ButtonClickはあるけどButtonMouseDownがないので、 e.Buttonの意味が変わってしまいます。 本当にびっくりしましたよ。
俺はそれよりToolBarのイベントハンドラを各ボタンごとに分けて欲しい メニューはそれぞれ別々なのになぜツールバーは一括なのかわからん ハンドラの中で条件分岐しなきゃならんのは泣ける
最近 C# 始めまつた。 Magic 以外によさげな、フリーの GUI コンポーネント無いですかね。 .NET Framework 標準のコンポーネントは、何コレ? って感じなのですが・・・
TabControlのページをParentにして、 コンストラクタでDock=FillとしたFormを動的に貼り付けようとしたら、 トップレベルのなんたらは無理ですと怒られました。 言ってる意味は理解できました。 どうやったら貼り付けられますか? Formが無理なら変わりに何かやり方ありませんか?
UserControl
618 :
デフォルトの名無しさん :03/01/20 19:26
簡単にWaveファイル再生する方法ってないですか?
Panel
Panelで音が出せるのか。なるほど。
Stringから拡張子だけとかディレクトリだけとか抜き出し方がわかりません。
Path
ここは神が居るスレですか? とりあえず感謝です。
>>614-615 >>357 を見てみると良いこと書いてあるかも。
>>613 について調べようと思ってwww.codeproject.com逝こうと思ったら…
> C:\>ping www.codeproject.com
> Pinging www.codeproject.com [207.219.70.31] with 32 bytes of data:
>
> Destination host unreachable.
……??
ツールバーボタンはウィンドウハンドルを持たない。 そのため、ツールバー本体がクリックなどのイベントを受け取り、 そこにボタンがあるかどうかを判別してイベントハンドラに渡す仕組み。 Win32ではHITTESTを使ってボタンの右クリックを実現した。
>>517 漏れの知り合いも同じような症状に見舞われて生きる気力を失いつつあるらしいんだが、
事後どうなった?
>>627 csファイルを全部exeのプロジェクトに突っ込めばOK
既存項目の追加でMagicのTabControlフォルダのすべてのCSを追加しましたが、 エラーでビルドできなくなりました。
TabControlだけじゃダメなんじゃじゃないの? ソース見てないけど、普通その手のライブラリは共通のユーティリティクラスをまとめてるもんだからそれもいっしょに含めないと つーか素直にDLL同時配布すべきだな、Magicがバージョンアップするたびにソースファイル入れ替えはめんどいだろ
そうしますお手数かけました。 一応エラーの内容ですが、 abControl.cs の定義を使って、複数の場所で定義されています。 だそうです。
>>613 にもVSNETToolbarを勧めようと思ったけど、残念。
MouseDownイベントが無かった。
Interop使って
>>626 しる、ってことでファイナルアンサーっすか…
MagicLibrary.csprojを参照したらうまくビルドできました。 が、DLL不要になったかどうかは自信なし。
>>635 DebugかReleaseフォルダにdllなければOK。
exeのサイズが大きくなってるはず。
Magicで必要なものだけ組み込もうと昔やったが、
たしかリソース関連でエラーが出て、
結局ほとんどまるごと組み込んだような記憶が。
今のWinFormsはAWTみたいなものだから、 結局Win32APIを知らないと細かいことできないんだよね。 Swingみたく、GDI+だけを使って描画するようなものに、 そのうち移行していくのかなあ。 Longhornでは描画がDirectXベースとも聞くし、 GDI+じゃなくてDirectDrawなのかなあ。 それだとGDI+の存在意義が正直良く分からん。 普通の線を引いたりするだけならGDIの方が早いし、 ROPみたいにGDIじゃないと出来ないこととかあるし。
ぜんぜんインクルードされてませんでした。
MagicLibrary.csprojを参照するってことはその出力アセンブリを実行時に必要とするってことだろ (UIにこだわる前にその辺知識つけてからにしてくれ(;´Д`)) Magicの全ソースコード(もちりソースも含む)を自分のプロジェクトに放り込んでいらないものを順次削っていけば本当に必要な物だけが残る しかし巨大なライブラリほどその本当に必要なものってのも巨大で結局636行きになる可能性も濃厚だな
640 :
デフォルトの名無しさん :03/01/23 02:24
TextBox と Button の高さを揃えて並べたいんですけど、 どうすればいいんでしょうか?
VB6、VB.netをやってたものなんですが、VB.netはC#を真似て 無理やり作ったものだからどうせならC#にすれば?といわれました。 VBからC#に移るときの壁とかありますか? たとえば、VBなら簡単なコードで書ける処理がC#だとすんごく めんどいことしないといけなくなるようなこととか。
642 :
デフォルトの名無しさん :03/01/23 05:14
>>641 逆だろ
C#で書ける処理がVBだとめんどいってのはたくさんあると思う。
forループの構文とかもVBだと柔軟性なくて効率悪いし。
おれも最初VBやってたけどC#に乗りかえて
なんでVBなんかでやってたんだって感じたよ。
まぁ両方覚えるにこしたことはないけどな
C++かJavaやったことあるなら、そんなに苦労しないはず
たぶん・・・
>642 漏れもそう思う VB.NET使ってるやつの気がしれん 素直にC#使えばいいのに
確認してないけど WebBrowserとか使うときに引数が省略できたりする分だけVB.netのが楽だったり・・・
実はM$の戦略は C -> C++ ( -> Java ) -> C# のようにユーザーを移行させる事ではなく VB -> VB.NET -> C# -> C++ のように移行させる事だったりして…
646 :
デフォルトの名無しさん :03/01/23 06:18
ActiveX使うときに C# だと ref で渡すために無駄に変数作らなきゃいけない。たとえその値が必要なくても。 WebBrowser の Navigate なんか良い例だね。 それから VB で ByVal 0 を渡すのと同じことが C# ではできない。
VB.NETだとレガシーコンポーネントをうまくあつかえるんだろ。 まあ逝ってることはMC++と煮たようなもんだ。
649 :
◆aeECD45PNA :03/01/23 10:35
テキストエディタを作っていて ファイルメニューで「上書き保存」を実行したいのですがうまくいきません。 デバッグは通るのですが、ファイルを読み込んで適当に文字を追加した後 これを実行すると強制終了します。何がダメなのか分かりません。 アドバイスをどうかよろしくお願いします。 'System.IO.IOException' のハンドルされていない例外が mscorlib.dll で発生しました。 追加情報 : ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 private void menuItem8_Click(object sender, System.EventArgs e) { System.IO.StreamWriter sW = new System.IO.StreamWriter( textBox1.Text, true, System.Text.Encoding.GetEncoding("Shift-JIS")); sW.Write(textBox1.Text); sW.Close(); }
まあ落ち着け。 ファイル名とテキストの中身が同じになってるぞ。 System.IO.StreamWriter sW = new System.IO.StreamWriter( textBox1.Text/*←ここと*/, true, System.Text.Encoding.GetEncoding("Shift-JIS")); sW.Write(textBox1.Text/*←ここ*/);
>>650 コレで何とかできたと思ったのですがダメでした。
でもあと少しでできそうなので、なんとか自分でがんばります。
System.IO.StreamWriter sW = new System.IO.StreamWriter(
textBox1.Name,
…
先にお礼を言わせてください。本当にありがとうございました。
>>651 textBox1.Nameじゃなくて@"C:\aaa.txt"とか入れてみる。
>>650 >>652 やっとできました…
ご指導、どうもありがとうございました。
System.IO.StreamWriter sW = new System.IO.StreamWriter(
openFileDialog1.FileName,
false,
…
>>628 あ、状況依然変らずです。
お力添えになれずにすみません。
windowsフォームにメインメニューを表示することができません デザインViewでメインメニューのアイコン選択してるときは表示 されてるけど、それ以外やビルド後も表示されず・・・ なんでですか!?
>>655 それはあなたが挿入しているのがメインメニューではなくコンテキストメニューだからではないでしょうか
>>655 いえ、ツールボックスからちゃんとMainMenu選んでますし、
表示されてるアイコンのデフォルト名も「mainMenu1」
どうなってんだろ・・・
メニューに項目は追加されていますか? ひとつも項目がないメニューは表示されないような気がしましたが
>>659 「ファイル」「編集」などの項目は追加してあります。
もちろんコードも・・・
コンストラクタ内でちゃんと InitializeComponent を呼び出していますか? 新しく作ったまっさらなフォームでも同じ現象が発生しますか?
>>661 新しいフォームではうまくいきます。
でもコード見る限りでおかしいところが見当たらないんですよね・・・
メインメニュー関係のコードもちゃんと追加されてるみたいですし
フォームの Menu プロパティは正しく設定されていますか?
すんません、解決しました。 private void InitializeComponent()内に this.Menu = this.mainMenu1; の記述が無かったみたいです この辺のコードはアプリ側に完全に任せていいものだと思ってたのが いけなかったみたいです、結局修正が必要になることはあるんですね。 お騒がせしました
(^^)
C#でHTMLのブラウザを作成しています。 「AxSHDocVw.AxWebBrowser」というクラスを用いて ごく基本的なところまではできました。 今躓いているのは「mshtml.IHTMLDocument2」を使うためには どうすれば良いかという点です。 mshtml.dllかmshtml.tlbが必要だろう、ぐらいのことを予想はしている ものの、うまくいきません。 そのあたりについて教えて頂きたいと思っています。 また、この辺について詳しいサイトがあれば教えてください。 ちなみに、私はVisual C#ではなく、コマンドラインからcsc.exeを実行して コンパイルしています。
C#でHTMLのブラウザを作成しています。 「AxSHDocVw.AxWebBrowser」というクラスを用いて ごく基本的なところまではできました。 今躓いているのは「mshtml.IHTMLDocument2」を使うためには どうすれば良いかという点です。 mshtml.dllかmshtml.tlbが必要だろう、ぐらいのことを予想はしている ものの、うまくいきません。 そのあたりについて教えて頂きたいと思っています。 また、この辺について詳しいサイトがあれば教えてください。 ちなみに、私はVisual C#ではなく、コマンドラインからcsc.exeを実行して コンパイルしています。
助かりました。 ありがとうございました。
670 :
デフォルトの名無しさん :03/01/24 21:52
タスクトレイ型のアプリを作っているんですが、 Alt+TAB で切り換えられなくする方法がわかりません。 誰か教えて。
インターネットエクスプローラーでソース表示ができなくなりました。 システムがやられたんでしょうか?
>>672 ちなみに Delphi ですと、どう書くのですか?
>>670 ウィンドウを非表示にしても表示されるのかい?
>>674 とりあえず、以下を試してみたんですがダメでした。
Form に対して...
Visible = false
Hide()
ShowInTaskbar = false
WindowState = Minimize
起動時は非表示となるのですが、Alt+TAB で表示
されるダイアログにはアイコンが出てきてしまい、
選択すると表示できてしまいます。
ShowInTaskbarだけでどうよ?
>>677 そういうことだったんですか...
一生懸命 WinAPI 探してました。
おかげさまで実現できました。
どうもありがとうございます。
679 :
デフォルトの名無しさん :03/01/25 17:03
50x50で、閉じるボタン等の無い、まっさらなウィンドウを作成したいのですが、 this.ControlBox = false; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; しても閉じるボタン等が無くなるだけで大きさが50x50になりません。 どうしたらいいのか教えてプリーズ。
680 :
プロの逝って良しの1 ◆MvRbZL6NeQ :03/01/25 17:45
良くわかんないけどポート1434攻撃とやらで各国のネットが死んで行ってるそうな。 C#買うとSQLついてこなかった? ひょっとしてC#厨は1434攻撃で全滅してない? 生きてる?
ちょっと美しくないけど、イベントのPaintで改めて this.Width = 100; this.Height = 50; を指定することで解決しました。
×this.Width = 100; ○this.Width = 50;
683 :
デフォルトの名無しさん :03/01/25 20:39
生きてるage
C→C#のコンバータってどっかにある? ポインタ関係をちゃんと翻訳するやつ。
アホか。
アホだな。
型の宣言についての質問です。
下記のソースコードにおいて、名前空間 Plugin, DummyPluginの両方から、
名前空間 Commandingを見に行っています。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=58 名前空間 Commandingを見に行く理由は、構造体「CommandInfo」の定義が必要な為なのですが、
これを以下のようにしたいのです。が、やり方が分かりません。
・構造体「CommandInfo」の定義自体は、今まで通り、名前空間「Commanding」に置きたい
・名前空間 DummyPluginからは、名前空間「Commanding」を参照させたくない
・そこで、名前空間 Plugin内に、『構造体「CommandInfo」の定義は名前空間「Commanding」にある』旨
宣言をしたい
どなたかお分かりになる方、ご教授ください。おながいします。
>>687 using Commanding; は使わずに、Commanding.CommandInfo を CommandInfo と
省略できるようにしたいのかな?
なら using CommandInfo = Commading.CommandInfo だね。
CommadInfo を使うソース毎にいちいち指定しなきゃならないけど。
>>688 回答サンクスです。
> using Commanding; は使わずに、Commanding.CommandInfo を CommandInfo と
> 省略できるようにしたいのかな?
すみません、ちょっと違うかもです。記述の長短に関しては、それほど問題視はしてません。
> CommadInfo を使うソース毎にいちいち指定しなきゃならないけど。
私としては、この問題のほうを解消したいと思ってます。
> ・名前空間 DummyPluginからは、名前空間「Commanding」を参照させたくない
というのは、IPluginインターフェースを実装する際に、実装する側が「いちいち」Pluginアセンブリを
参照しなければならないという、「Commaindingアセンブリに依存した状態」を解消したいという意味です。
#名前空間という語を用いた所為で誤解されたかもしれません。すみません。
私としては、
namespace Plugin
{
public interface IPlugin
{
CommandInfo[] CommandInfos { get; }
}
// CommandInfoは別の場所で定義してある
public extern struct CommandInfo;
}
というような感じで記述して、DummyPluginからは「using Commainding;」がなくても CommandInfo構造体の
定義を解決できるようにしたい、ということです。
externは仕様上、メソッドにしか使えないとのことで、試しに書いてみたらエラーになりました。
>>689 誤 実装する側が「いちいち」Pluginアセンブリを
正 実装する側が「いちいち」Commandingアセンブリを
誤 Commainding
正 Commanding
>>690 誤 688補足
正 689補足
>>689 実は私も同じ事で悩んでいたことがあったのですが、C 言語の typedef に
相当する機能は無いので実現は難しそうでした。
構造体でなく、クラスであればあまり綺麗ではないけど
namespace Plugin
{
public class CommandInfo : Commanding.CommandInfo
{
}
}
と言う手がありますが。
>>692 度々サンクス!
> 実は私も同じ事で悩んでいたことがあったのですが、C 言語の typedef に
> 相当する機能は無いので実現は難しそうでした。
(´・ω・`)ショボーン…
> public class CommandInfo : Commanding.CommandInfo
お、継承を使うやり方はノーマークでした。
あと、abstractによる定義をうまく使えば、かなり理想に近い実装ができるかも、と思いつきました。
#Pluginアセンブリ側では abstract定義、Commanding側で実装をするやり方、うまくいくかな……
大きなヒント、ありがとうございました。もうちょっと頑張ってみます。
うっ、やっぱり完全に継承しないとだめだった…
>>692 のやり方で逝きます。
あげ
696 :
デフォルトの名無しさん :03/01/27 07:36
StreamReaderを継承する方法おしえて。
697 :
デフォルトの名無しさん :03/01/27 10:55
ツールボックスで使えるコントロールを自分で作る場合、どのようにすればよいのでしょうか? いいサンプルとかないですかね? IDEのヘルプはどう探してよいのやらさっぱりです・・・はぅ
699 :
デフォルトの名無しさん :03/01/27 12:02
簡単なエディタを作成したんですが、それで作成された テキストファイルの改行コードが全てLFになってしまいます。 これをCRLFで保存させるにはどうしたらいいのでしょうか?
CsGLを使いたいのですが、解説サイトご存じないですか? もちろん日本語でも、英語でもOKです。 公式サイトには、リファレンスしかなくて、具体的な使い方が知りたいのです。 よろしくお願いします。
StreamReaderを継承する方法おしえて。
>>702 今年の4/1まで待っていられなかったのか?
705 :
デフォルトの名無しさん :03/01/27 17:22
帳票を印刷したいのですが、 CrystalReportを利用するためには、データベースに接続しないと駄目でしょうか? DBに接続せずに、ローカルのテキストファイルをDataTableなどに落として それを帳票の形で印刷したいと考えています。 DataTableにデータを追加してそれをDataSetに追加し、 CrystalDecisions.CrystalReports.Engine.ReportDocument reportDocument1; ...(DataTableにデータ追加 -> DataSetに追加) reportDocument1.SetDataSource(ds);//dsはデータセット とすると、SetDataSourceしている箇所で例外が発生します。 ネットで拾えるサンプルでは、SetDataSourceする前の DataSetにデータを追加する際に、DBに接続してデータを吸い上げています。 詳しい方、ご教授いただけないでしょうか? #CrystalReportを使用する以外に、帳票を印刷するアドバイスをいただけたら 更に嬉しいです。。。
706 :
デフォルトの名無しさん :03/01/27 21:16
Visual Studio .Net Enterprise Developerが標準インストールで6GBなのに、 Visual C#の標準インストールが15GBなのはなぜでつか?
707 :
デフォルトの名無しさん :03/01/28 13:29
プロジェクトのあるフォルダをDOSプロンプトでカレントディレクトリにして立ち上げたり、プロジェクトのあるフォルダを開くとき、 今は変なバッチ組んだり、いちいち My Document からたどっていったりしています。 プロジェクトのあるフォルダにすばやく移動する方法、プロジェクトのあるフォルダを開く方法で手際よい方法しっていたらだれか教えて。
自己解決しますた。 物には順序があるようでつ。 1.DataSetとReportDocumentのインスタンスをNew 2.ReportDocumentのインスタンスに.rptファイルをLoad 3.DataSetにデータを追加 (XMLファイルをDataSet.ReadXml()で読み込むも可、 DataColumnとDataRowをAddしてデータを入力するも可) 4.ReportDocument.SetDataSource(DataSet) 5.CrystalReportViewer.ReportSource = ReportDocument; この手順で出来ますた お騒がせしました。また何かありましたらお願いします。
>707 コマンドプロンプトのショートカット作って プロパティの作業ディレクトリをいじってやる
現在VB6でプログラムを組んでます。 .NETを勉強しようと思うのですが、VB.NETとC#.NET、どちらを勉強した方が 良いでしょうか。
splitで区切った文字列を配列に入れる方法ってどうやるんですか
>710 悪いことは言わないからJScript.NETにしとけ
713 :
デフォルトの名無しさん :03/01/28 18:07
>>710 VB.NET でいいんじゃないかな、一度に憶える量はできる限り減らしておいたほうが楽だし。
C# は .NET Framework を憶えてからでいいと思う。
>>711 どうしたいのかもうちょっと良くまとめたほうがいいと思う。
配列にいれるの「配列」がどういうのか不明です。
でも、それが書けるようなら質問されないような気もしたりして・・・
さて、どう答えて見ようか。
>>714 すんません、えっとですねperlで言うとこの
while(<IN>){
@data = split(/\t/);
print "$date[0] と date[1]\n";
}
みたいなことがやりたいんです
$data、でした
>>715 あんたリファレンスちゃんと読んでる?
もろにstring[]を返すSplitってのがあるんだが。
ms-help://MS.VSCC/MS.MSDNVS.1041/cpref/html/frlrfSystemStringClassSplitTopic.htm
718 :
デフォルトの名無しさん :03/01/29 20:31
VS.netで使われているタブコントロール(右側に三角と閉じるボタンがついてるやつ) あれってどうやって使うんですかねー。 ツールボックスの中に入ってないから.netのコントロールじゃないのかな?
>>707 ツール→外部ツールで cmd.exeを/k して呼んでみたら?
723 :
デフォルトの名無しさん :03/01/30 02:43
>>707 サンプルのShellCmdをコンパイルして実行すると、
フォルダの右クリックに「Command」っていうメニューが増えて、
そのフォルダをカレントにしてDOS窓起動できたりするけど、
そういう話じゃないんだよね、たぶん。
724 :
デフォルトの名無しさん :03/01/30 03:01
725 :
デフォルトの名無しさん :03/01/30 04:39
オライリーの「Programming C#」第2版の日本語版ってまだ でてないよね? でたら買っちゃいそう。
>>717 いえ、読んだんですけど何がなんだかさっぱりで…
たとえばテキストファイルから1行ずつ読み込むのにはReadLine
を使うんですよね?ところが1行読んで次の行…最後でループ終了
だけの簡単なコードさえ書けないんです、何かサンプルコードでも
あれば分かりやすいんですけど…
ほんと低レベルで申し訳ないっす
727 :
デフォルトの名無しさん :03/01/30 15:51
>>717 多分リファレンスと本体の区別が付いていないんではないかと・・・ゆえに説明が難しいと思うのです。
>>726 参照を代入すればよいのなら型を作ってそのまま = でほうりこめばよいです。
が、それは意図しているものであろうか良く分かりませんが・・・
ちなみに僕も初心者なので変なこと書いているかもしれません。
ついでに質問なのですが、csc hoge.cs /doc:hoge.xml とかして出来上がったXMLドキュメントを
IEで見れるようにする手っ取り早いXSLとかって無いんでしょうか?
728 :
デフォルトの名無しさん :03/01/30 18:01
>>726 こんな感じ?
StreamReader sr = new StreamReader("hoge.txt");
string strA = "";
char chr = Char.Parse("\t");
while ((cause = sr.ReadLine()) != null)
{
if (strA.IndexOf("\t") == -1) continue; //一応
string[] strB = stra.Split(chr);
MessageBox.Show(strB[0] + "と" + strB[1] + "\r\n");
}
sr.Close();
MessageBoxの所を自由に料理。
ところで画面の解像度とリフレッシュレートってどうやればいじれますか?
うが、誤植が。 while ((strA = sr.ReadLine()) != null) と読み替えてください。
>>728 ありがとうございます、解決しました。
whileの条件は先にStreamReaderで読み込んでPeekを
使ったんですけど、これはどっちでもいいんですよね
ほんとにありがとうございました!
>>728 ChangeDisplaySettings
[ StructLayout( LayoutKind.Sequential,CharSet=CharSet.Ansi)] public struct ICMPHeader { public byte icmp_type; public byte icmp_code; public short icmp_cksum; public short icmp_x1; public short icmp_x2; [MarshalAs(UnmanagedType.LPStr)] public string data; } こういう構造体をつくって this.m_icmpheader = *((ICMPHeader *)(p_packet+hlen)); ってやると マネージ型 ('CaptureTest.ICMPHeader') の変数のアドレスまたはサイズを取得できません。 って言われちゃいます [MarshalAs(UnmanagedType.ByValTStr, SizeConst=50)] public string data; ってやっても言われちゃいます ご指摘よろしくおねがいします
733 :
デフォルトの名無しさん :03/01/31 07:26
文字列を検索してマッチした個所の背景色を変えるには どうしたらいいんでしょうか?
>>731 ヒントさんくす。
……勉強してきます……。
>>734 何を使ってやってるのかによるだろ。
例えば、HTML中の文字列なら、
Replace で 文字列→<span class="em">文字列</span>
スタイルシートに
span.em{color:文字色;}
738 :
デフォルトの名無しさん :03/02/03 01:17
昔Delphiを使っていて、そのうちJavaを使って遅くて幻滅して 最近またプログラミングしようかなと思っているのですが。 Delphiに戻るかC#に進むかで迷っています。 C#の総合開発環境って、Delphiと比べるとどうでしょうか。 同じくらい簡単で直感的でしょうか。教えてくだすれ。
アンタのいう直感的ってアンタにしか評価できないんでないのか? 最終的には。
>>739 そうですね。
具体的には、Delphi経験者がC#(VisualStadio)に移行したとき、「ラクちん!」と思ったか「糞!」
と思ったか教えて欲しいです。
フサ某を召還すれ
ListViewに関しては一週間くらい格闘しまして、 結局、アイテムの色変えはあきらめました。 Focusのあたっているところだけ変えるのがなかなかうまくいかない・・ オーナードローっていうかやっぱ自分で描かなきゃダメなのかな。 夢中のあまりVS.NET買いました。便利ですなぁ。。 さて、皆さん、新しい質問に移りたいと思います。 任意の場所に点を打つにはどうすればいいんでしょう。 DrawLineやDrawRectangleの最小サイズでは1ピクセルで打てません。 どうなってるんですか先生! PSETなんてMSXでもありましたよ! 1ドットの画像用意してSetPixelってことになるんだろーか まさかねぇ。知恵を貸してください皆さん本当おねがいしますから Googleで検索したら外人もずいぶん悩んでいるようでおもしろかった!
ごめん嘘ついた! 質問した直後にできちまったんだから! 答えは、 FillRectangleで1x1の長方形を塗りつぶす、でした。 結果はともかく、ほんとにこれでいいんだろうか? 質問続行します。1ピクセルを打つ方法ドシドシ募集ュート!
744 :
デフォルトの名無しさん :03/02/03 05:32
>>740 すげぇ改良されてることを期待したが、イマイチでガカーリしたというのが印象
大して変らんな。GCが楽ってくらい。
言語仕様はC系に慣れていれば見やすくなっている。
IDEはVSのほうが高機能。
フォームエディタはDelphiのほうが高機能。
以上。
746 :
デフォルトの名無しさん :03/02/03 05:44
>>740 レファレンスがVBもC++も共通だからひっかかりすぎてうるさい。
>>745 ありがとうございます。
フォームエディタが糞ではないことを祈りつつ移行してみようと思います。
>>746 ひっかかるというのは、キーワード検索をするとVBとかのまで出てくるという意味でよろしいですか?
フィルタ条件で、「Visual C# および関連項目」に 設定すればええのでは?違う話かな。
749 :
デフォルトの名無しさん :03/02/06 02:13
vs.netの評価版がプログラムの追加と削除から アンインストールできないのですが これはどうしてでしょうか。 「有効なインストール構成を決定できません。詳細についてはエラーログを参照してください。」 と出るのですがログなんて見あたりません。 どうすればアンインストールできるでしょうか。
750 :
デフォルトの名無しさん :03/02/06 04:24
>>749 俺はアンインストールできたけど、その後パソコンが宇安定になった゜д゜)
>>752 オフィスとかがエラーを起こす。
エラーメッセージのDLLをバックアップと比較してみたら、
DLLのバージョンが新しいままになってる。
これが原因じゃないかと思うんだが。
バックアップから戻すと、いろいろとやっかいなんだよな。゜д゜)
VS.NETって既存のDLLを置き換えるのか?
755 :
デフォルトの名無しさん :03/02/06 06:09
丸ごとHDを買い換えるか、フォーマットしちゃえば解決するでしょ。 パソコンなんてそんなもんだよ。
>>755 評価版なのだからテスト用の環境を作るのが普通。
ドキュメントにもそう記述されていたはず。
そうなのか。インストールしても問題なさげなのは.NETで作った アプリだけそうだな。
>>758 フレームワークインストール時には各種DLLが上書きされるよ
次期ウィンドウズには.NET標準装備?
標準装備されても.NETバージョンアップ時に
そういや.NETから使われるDLLは複数バージョン持たないのか?
763 :
デフォルトの名無しさん :03/02/06 06:46
csc.exe が見つからないので探し回ったら、windows ディレクトリの 中にあったので驚いたよ。アプリはアプリらしく、指定したディレクトリ に収まれよ。 明らかにOSの一部という位置付けだね。
764 :
デフォルトの名無しさん :03/02/06 06:51
時計とか電卓とかも MSはWindowsディレクトリに ごちゃ混ぜにつっこんでくれてるけど やっぱWindowsコアの扱いなんだろうな
そういやルートやWindowsフォルダにへんなファイルつくったり、 なんでレジストリにこんなもん保存するんだってドキュソソフトは、 大抵M$せいだよな。
>>767 dll化してDllImportすれば。
いやPerl知らねえけど。
>>768 Perlはライブラリではないですし、
cryptは単にOSのcrypt()を呼んでいるだけなんです。
でもWindowsだとCrypt関係のAPIがUNIXとまったく異なっていて、
単純なDESを行うだけの関数がないみたいなんです。
こうなるとUNIXのcrypt()を移植するしか方法がないんでしょうか。
>>767 で、何がしたいの?トリップでも作るわけ?(w
crypt といえば、cygwinのソースに興味がわいてさらさらっと見た遠い記憶があるんだけど、 結構小さいファイルだったように記憶しています。私の記憶が正しければ(^^; どうしても見つからなかったら、ソース取ってきて移植してしまうのも手かも。
>>769 C++ で書かれた DES ソース拾ってきて、
Managed C++ (.NET Framework に付いてる cl.exe) でコンパイルして、
Managed な DLL 化して、C# から呼び出せ。
今から64bit Windowsが流行る事を期待して、 普段使う数値型をInt32からInt64に移行したら無駄? それとも、64bit Windows版のJITがそのへん良きに計らってくれる 事を期待すべき?
>>774 結局773のソースをC#で書き直しました。
>それとも、64bit Windows版のJITがそのへん良きに計らってくれる >事を期待すべき? 良きに計らってもらったほうがいいと思う、物によると思うんですけど、 ライブラリのインターフェイスが32bitを前提にしていたりすると、 符号拡張のコードが無意味に入ってくるのを良く見ます。 だから16bitとか64bitとか、あんまり変なビット数をデフォルトにしないほうが最適化にはいいなと思う。 コンパイラ屋にしてもベンチを上げたいと思ったら一番使われていそうな所から手をつけますし・・・
>>775 C#のintを使っておけばー。
今はInt32だけどそのうち勝手にInt64にしてくれるんじゃない?
MSのことだから。
779 :
デフォルトの名無しさん :03/02/08 00:07
object型の配列をstring型の配列に変換するにはどうすればいいんですか? 普通にキャストしようとしてもできません。
int型の意味分かってんのかな。
>>778 C#では、 int = System.Int32 。
その辺、C/C++とは違うぞ。
int(Int32)/long(Int64) とは別にC/C++のintみたいな、
処理系で最速の整数型が欲しいとの意見もあるんだが、
そういう処理系依存な物は極力排除した方がいい気もする。
>>775 型を後から差し替えたいんだったらさ、
ファイルもしくは名前空間の先頭で、
using MyInt System.Int32;
とかいう風にしとけ。
そしたら、この1行修正するだけですむ。
>>779 各要素ごとにコピーする。
手動で書かなくても、CopyTo かなんかでいけるかもしれないけど。
>>781 それ、リフレクション使って、実行時に最適なInt幅に
差替え出来るんじゃないかな?
無理か?
>>783 リフレクションとかで苦労しなくても来年には C# に template が実装されるからそれまで待つべし。
あと、リフレクションで最適な幅の整数に差し替えるって言ってもさ、
まず、「最適な整数幅」を取得しないといけないわけで、そこで詰まる気がする。
785 :
デフォルトの名無しさん :03/02/08 15:45
厨な質問ですみません。テキスト処理をしてるんですが、 FileInfo fi = new FileInfo("hoge.txt"); で作成したfiを破棄するにはどうすればよいのでしょうか。 この後、 StreamWriter sw = new StreamWriter("hoge.txt",...以下略) で同じファイルを開こうとすると、fiが生きててエラーで落ちます。 StreamWriterとかは、sw.Close()がありますが、 FileInfoにはないので・・・
>>785 破棄する方法がないので、StreamWriterを直接作らないで
FileInfo.OpenWriteを使うのが手ではないかと。
>>781 >C#では、 int = System.Int32 。
今はな。
「C#では、int = System.Int64」
だよといつか言ってくる気がする、MSのことだから。
平気で仕様を180度、変更したりするとこだからさ。標準だろうとなんだろうと。
今度はさすがに無いんじゃないかな、 昔Cコンパイラが int を 16bit から 32bit に変えたけど、 これは 16bit int にはかなり実用上の支障があったからだと思う。 32bit から 64bit 交換することの支障のほうが交換しないことの支障より大きいから多分無いでしょう。
>>786 即レスありがとうございます。
FileInfo.OpenWriteでやってみます。
はぁ? Cの場合、intのビット数は決まってませんが。 16ビットCPUならintは16ビット、32ビットCPUなら32ビットというのは当然ですな。 (ISO/IEC 9899:1999(E) 5.2.4.2)
>>790 でもAlphaやR4000系は、なんかは64bitCPUにも関わらずきっちり int は 32bitですよ。
あんまり意味ないってことです。
なんか煽りっぽいのでこれにて退散。
LP64ではintは32bitなんだっけ?
>>788 C言語の場合、int 型の幅について規定がないからころころ幅が変わるけど、
(というか、intの定義自体が、処理系最速の整数)
C#はちゃんと初めから幅に関する規定もあって、
標準化仕様にも書いてある。
大体さ、MSっていきなり方針変換とかやりまくるけど、 少なくともプログラマの要求は聞き入れてる。 intをInt64に変えてくれっていうプログラマが圧倒的多数を占めない限り、 そんな唐突な変更はありえない。 ↑ 例え64bit機が主流になったとしても、 intをInt64に変えてくれなんていう奴は少数派だと思われ。
>>795 大口顧客が「int を Int64 にしる!」なんて要求出すか?
797 :
デフォルトの名無しさん :03/02/08 22:41
>>795 んなことないぞ、MSは顧客満足度だけは、同業他社と比べてやけに敏感だぞ、
主力製品のWindowsやOfficeは、規模が大きすぎてできていないみたいだが、
若干小さい市場の製品を見ていると良く分かる。
799 :
デフォルトの名無しさん :03/02/08 23:09
「int を double にしる!」
800 :
デフォルトの名無しさん :03/02/09 00:08
厨な質問ですけど、ごめんなさい。 鯖:win2000 office97環境 ASP.NETなんですが、サーバ側でEXCELファイル作って クライアントにDLさせたいんです。で、今までやった事は 1:dcomcnfgでユーザaspnetにEXCELの実行権を与える 2:tlbimp.exeでexcel8.olbからexcel.dllを作成 3:WEBアプリのルートにBINと言うフォルダを作成し、excel.dllを置く まではいろいろ調べ回ってやったのですが、この肝心のBINに置いた excel.dllはどうやって呼び出せばいいんでしょうか? <%@ Import Namespace="xxxx" %> ってやればいいですよね?xxxxには何を入れればいいのでしょうか? よくわからんのでとりあえず <%@ Import Namespace="EXCEL" %> なんてやったんですけど、「んなもんねー」って怒られます。 どうかご教授ください。おながいします。
801 :
デフォルトの名無しさん :03/02/09 00:12
おい。おまえらのなかで Microsoft.Win32.RegistryKeyのGetValueで REG_EXPAND_SZになっている値を展開せずに取得する方法 がわかる奴教えてください。おながいします。
>>800 大文字小文字が合ってないのでは?
ildasm.exeかなんかでexcel.dll開いて確認してみ。
>>802 ildasm.exe調べてみました。逆アセンブラなんですね。こんなのが
あったとは。。。これで名前空間を調べればいいってことですね?
ありがとうございます。
>>803 まあ、VS.NET使いなら参照設定でDLL追加した方が確実だろうけど。
>>804 ないんです。開発環境はメモ帳なのれす。多くのサイトでやっぱり
「参照設定で」という説明なので、困るのれす。(涙)
>>805 Webアプリの話でなければ、コンパイルオプション/rで指定すればOKなんだけどなぁ。
C#でアクションやシューティングのゲームを作る時って、 スレッドとタイマーどっちを使うべき?
ガーベッジコレクションに慣れない厨な質問ですが、 object a=new object(); object b=a; この場合、1行目で作成されたオブジェクトは a=null; b=null; でガーベッジコレクションの対象になるのですが、 ここで変数aだけをいじることで、自動的に「b=null;」になり、 ガーベッジコレクションの対象にしてしまう 便利な方法というのはないのでしょうか。
>>808 無い。
し、できたらできたで仕様的に(・A・)イクナイ!! バグを生むだけ。
... とJavaしか知らない俺が答えてみるテスト
>>807 タイマーはどのみち必要な気がするが。
スレッドはどっちでもいい。たぶん使わないほうがいいと思う。デバッグ&安定性を考えて。
ちなみに、タイマーもスレッドも使わない方法もある。
「ゲーム製作」とか、「ゲームのアルゴリズム」とか書いてある本を読んで、簡単なサンプルを動かしてみるべし。
サンプルを作った時点で、基本システムが手に入るんだから。
C#のゲーム本はなかったら、DelphiとかVBのが参考になる。
C++で教えてる本は、C++のわからない人は読まないほうがいい。C#に移植する時点でつまづく。
あと、微妙に板違いだよ。ゲ製作技術に逝ってこいや。
>>808 何がしたいのかよく分からんが、
ラッパー噛ませればいいんじゃないの?
あと、WeakReferenceで調べてみれ。
812 :
デフォルトの名無しさん :03/02/11 01:54
構造体をAPIに渡したいんだけど、やり方がわかりません。 intとかcharだけならアンセーフ型にしてポインタで渡せるけど、渡したい構造体には固定長配列があります。 具体的にはcharの32個の配列があって、それをマネージド配列で書くと構造体がマネージド型になります。 そうするとポインタとして渡せないんですよ。 固定長配列をC#で書くやり方を教えてください。 32個のcharを並べろなんていわないでください。
下のは、32文字(TStrなんで。32バイトにしたければByValStr)の配列になる。 [MarshalAs(UnmanagedType.ByValTStr, SizeConst=32)] public string hoge; ミソは、ByVal ... 値直接 ってのが付いてるとこ。
でたらめスマソ。いつもByValTStr使ってるんで、てっきりByValStrもあるかと思ってた。 構造体の属性で、Charの扱いを設定するのが正しかった。 [StructLayout(LayoutKind.Sequential,CharSet.Ansi)] struct HogeHoge ...
さらに間違えてた。 [StructLayout(LayoutKind.Sequential,CharSet=CharSet.Ansi)] が、本当。
>813 ありがとー。うまくいきました。
たびたびスマソ。 [MarshalAs(UnmanagedType.ByValArray,SizeConst=32)] char[] szName; でうまくいったけど、マネージ型になっちゃうんだね。 APIにポインタで渡したいから、アンマネージドじゃないといけなくて・・・
>>817 MarshalクラスのStructureToPtrメソッドとかどう。
以前漏れが試したときは力不足でうまくいかんかったけど。
>>817 P/Invoke で、構造体へのポインタを渡したいなら ref or out か?
[DllImport("hoge.dll")]
void api(ref foo structure);
単にrefでうまくいったけど。 [StructLayout(...)] struct Hoge { .... [DllImport("... extern IntPtr Func(ref HogeHoge phoge); HogeHoge phoge = new HogeHoge(); // newはおいらの癖 Func(ref phoge);
821 :
デフォルトの名無しさん :03/02/11 10:46
ZIPやCABファイルを展開するライブラリはないですか? ファイルのリストやイメージをオンメモリかストリームで扱えるものが良いです。
>>811 WeakReferenceでやりたいことができました。ありがとうございました。
私がやりたかったのは、
object[,] obj=new object[100, 100];
この配列が参照するオブジェクトは、ファイルから読み込んだデータですが、
サイズが大きく、メモリを圧迫する虞があるので、最新の50件のみを
メモリ上に確保しておき、必要に応じてデータを入れ替えるというものでした。
したがって、次の様なコードでそれを行うことにしました。
//[クラスのメンバ]
WeakReference[,] wref=new WeakReference[100, 100];
while(...){
wref[j, i]=new WeakReference(null);
}
ArrayList alist=new ArrayList();
//[当該データを用いる処理の直前]
while(...){
int index=alist.IndexOf(wref[j, i].Target);
if(index==-1){
object obj=(object)(new MyObject());
wref[j, i].Target=obj;
alist.Add(wref[j, i].Target);
}else{
alist.Add(weak[j, i].Target);
alist.RemoveAt(index);
}
}
//[当該データを用いる処理の直後]
while(alist.Count>50){
alist.Remove(0);
}
こんな感じで問題ないですよね
>820 refでうまくいきました。API呼ぶときもrefは使えるんだね。 ありがと〜。助かりますた。
C#で3Dプログラミングに挑戦してみたいのですが、まず何から手を付けたら良いですか?
826 :
しぃしゃーぷちゃん :03/02/13 06:41
だれかC#のXMLドキュメントを変換するXSL作った人いない? NDocはちょこちょこ変換するのに向かん。 それより【.NETプログラミングスレ】を誰か立ててくれ。 MSDNスレはなんか違うし、WAKWAKからじゃスレ立てれん。
827 :
デフォルトの名無しさん :03/02/13 07:38
フリーのXML変換ツールって何かある?
830 :
デフォルトの名無しさん :03/02/13 18:19
.TXT構想はXML規格とは異なるMSの独自規格になるテキスト形式ですか?
832 :
デフォルトの名無しさん :03/02/13 22:14
C#の将来性は
832の将来性は
別のスレと勘違いしてるようで。
835 :
デフォルトの名無しさん :03/02/13 22:55
C#とC++の違いは何ですか
>>835 文法だけ良く似たまったくの別物、ついでにこういう質問は別スレに書いてね。
別に書くなとは言わんから。
837 :
デフォルトの名無しさん :03/02/13 23:07
>>836 どのスレですか?
C#の質問はここしかないと思うのですが。
>>839 なぜuint型を使うのですか?
intで十分ではありませんか?
>>840 元のソースも同梱しておきましたが、
それを単純に書き直しただけで何も考えてないです。
842 :
デフォルトの名無しさん :03/02/14 21:27
C標準関数のtime()の戻り値から、スマートに.NETの DateTime型へ変換するにはどうすれば良いですか?
>>842 こんな感じでいいのかな?
using System;
using System.Runtime.InteropServices;
class TimeTest {
[DllImport("msvcrt.dll")]
static extern long time(ref long timer);
static void Main() {
long t = 0;
time(ref t);
DateTime result = new DateTime(1970, 1, 1);
result = result.AddSeconds(t);
Console.WriteLine("UTC : " + result);
}
}
>>841 unsigned系は混乱の元なので使用を控えめにしましょう。
>>845 PInvoke だと unsigned 一色になったりするけど
Managed と混ざると変な感じするよねぇ。
>>846 でも、元がunsignedだったら、unsignedで受けないのはおかしいし、
・・・といってもたいがい、signedな範囲までしか使ってなかったりするから、
signedで受けても問題ないんだが。うむむむ
849 :
デフォルトの名無しさん :03/02/15 17:41
>>848 ソデスカ。
スベテノC#プログラマノミナサン
C#デunsignedガ廃止ニナッタトキニ備エテunsignedノ使用ヲ控エメニシマショウ
>>849 クラスライブラリにあるし、かなりプリミティブな型なのに廃止かよ。
WindowsAPIも捨てるのかよ。unsignedなしだと使えない機能がでてくるぞ。
>>850 Javaは見事に捨ててしまったようです。
「シガラミは捨てろ!」と
>>849 は言いたいのでしょう。
852 :
デフォルトの名無しさん :03/02/16 03:21
ついでにunsafeも切り捨て。 危険なものは自作API生成で使用させないために。 publicメンバ関数の引数に値型の参照引数も使用禁止にしよう。 C#の一部の機能が廃止されてJava化する際に備えて危険なも のはpublicメンバ関数の引数に指定させないようガイドラインを定めなくては。 廃止に備えなくては。C#のアップグレードで地獄をみる恐れがある。
>>852 詰めが甘いな
Java化っつーんなら値型そのものが消滅
delegateも消滅
intとかの自動box化も消滅
で、それで困る部分を書くためにMC++が残ると(w
>>853 それはJava化というよりはSmallTalk化に近いのでわ
855 :
デフォルトの名無しさん :03/02/16 05:33
>>853 完全にJava化してはなんのためにC#(とそのAPI)を使っているかわからなくなるのでは?
完全にJava化するならJavaを使ったほうが良いということになるのでは?
856 :
デフォルトの名無しさん :03/02/16 07:27
>>855 その前にではではではではうるさい人間になるのでは?
このスレは返答も管刷れ(kudasure)化するんですね
Java厨は死滅スレにもどってね。
VC#にプラグインできて、フリーなCVSってあるかな。 専用サーバとか不要でなるべく簡単なやつ。 誰か知ってたら教えてください。
>>853 そしてthrowsが復活するのですね (w
862 :
デフォルトの名無しさん :03/02/16 13:12
>>853 >intとかの自動box化も消滅
そして構造体も消滅し値型も消滅しC#にGenericsが導入され
型キャスト問題が解消されSmallTalk化するわけですね。(大爆笑
もっとくだらない質問行こうぜ!
>>862 SmallTalkは間違い
Smalltalkが正しい
>>860 妄想でunsignedを攻撃する方が病的
865 :
デフォルトの名無しさん :03/02/16 13:50
>>864 病気とunsignedとの関係を説明してください
>>865 unsignedが廃止される根拠がない
uintが無いと0xFFFFFFFFを表現したいと思ったときにlong使うことになるのは泣けるな・・・
>>867 最初からlong使え。
shortもfloatも使用禁止。
doubleも禁止してdecimalも考慮。
>>869 int a = 0xffffffff;
エラー CS0029: 型 'uint' を型 'int' に暗黙的に変換できません。
ま、そんなのは当然で
int a = -1;
とか言いたいんだろうけど
uintがあって不便なことはないぞ
>>871 0xffffffffffffffffはDecimalですか、そうですか
uintで済むものにわざわざlongを使うメリットが思い浮かばん ループの添え字にushortじゃなくintってのなら分かるがな unsignedが廃止されるなんてどこにも根拠がないし 強いて言うとJavaに移植しやすいくらいか デメリットはあるが 1. メモリが無駄(特に配列) 2. 遅くなる(少なくともIA32では) 64bitに移行すれば後者はushortと同じく相殺されるが メモリが無駄なのは相変わらず
switchの式にlongやStringが使えないワケじゃないから、いいんじゃない? Javaは使えないけど。
>>872 じゃ、decimal使いましょ。
>>873 これからの時代はその程度のメモリを気にしない時代だ。
マシンん性能は向上し、ムーアの法則は維持され、日進月歩だ。
どうしてもそれを気にするならunsafeを徹底的に使って
もっとメモリを節約するかC#をやめてC++でコーディングすべきだ
という方向に話が進みそうですがどうでしょ?
>>874 switchもいらないと思う。
if文で十分
コンパイラが0xffffffffをuintだって認識してんだから 素直にuint使っとけって設計思想だろ
>>875 整数は何も考えず全部BigNum使えってのと同じじゃないか?
>>877 整数だ小数だ考えるな
すべての数値は多倍長浮動小数点数を使え
Javaチューです。 java.util.LinkedListに相当するクラスはなんでしょう・・・ 挿入や削除がO(1)でできればいいっす。
>>880-881 レスありがとうございます。無いようですね(泣)
Queueで代用できるから、でしょうか?
でもO(1)保証はないような・・・
>>878 おいおい、まてまて、誤差問題があるだろ。
桁オチとかアンダーフローとか無視できないぞ。
整数も使うべし。
すべての数値は分数の分母、分子による整数だけで表し
最終的な結果にのみ通分、割り算などをして数値を求めるのが理想だ。
>>883 それだと有理数しか保証できないだろ
Mathmaticaのライブラリみたいな無理数や未知数が
オブジェクトとして扱えるライブラリじゃなきゃ意味ねー
885 :
デフォルトの名無しさん :03/02/16 21:10
>>884 BigNumberをカプセル化して分数クラスを自作ってんじゃだめ?
886 :
デフォルトの名無しさん :03/02/16 21:58
MathmaticaとMahoromaticの違いはなんですか?
887 :
デフォルトの名無しさん :03/02/16 22:21
文字列の書式化ってどうやるんですか? string s = sprintf("%d, %d", 1,2); みたいな
>>887 Mahoromaticが何かわからず検索してしまった人?
>>888 string s = string.Format("{0}, {1}", 1, 2);
892 :
デフォルトの名無しさん :03/02/16 22:44
>>888 java.text.MessageFormat
>>892 アホ。DecimalFormatだろ。
894 :
デフォルトの名無しさん :03/02/16 23:03
マジですか・・・サンクス しかし長さが何千個にもなったらLinkedListじゃないと 割に合わないような。まあそのときは自作しろってことですね。 でもなあ。
現段階では .NET Framework のコンテナって不十分よね。 誰か STL のコンテナ群&アルゴリズムっぽいライブラリ作ってくれないかなぁ。
generics
>>898 意訳すると、
「C#にgenericsが実装されるまで誰もそんなライブラリ作らねーよタコ」
ってことでいいのかな?
>>897 えぴすてーめー氏がどっかの雑誌でそういうの作ってる会社を紹介してたぞ。
Java版のそういうのも作ってたところらしいが、名前忘れた。
コンテナライブラリなんて暇な学生が集まってでっち上げればいいんだよ。 なんでこれくらいのことができないんだよ。まったく役に立たないよな。
えびすてーめーって 恵比寿てめー? エビ捨てめー? 絵ビス手目?
XSLTを覚えるよりXmlReaderとXmlWriterでちょこっとフィルタを作った方が 簡単な気がするんだがどうだろう? それ以前にJavaの要らない手軽なXSLTプロセッサ見たことないし、 何で勉強して覚えれば良いのか見当も付かないのだが。
>>904 覚える労力と、使う労力を比べてどうする。
覚えるのは多少大変かも知れんが使えるようになればXSLTのほうが簡単だぞ。
それに手元に.NETがあるんだからXSLTプロセッサくらい作れ
>>905 でもなあ、XmlReader, XmlWriterはサンプル見て一発で概念が理解できたのに、
XSLTはどこから手を付けていいか見当も付かない。
> それに手元に.NETがあるんだからXSLTプロセッサくらい作れ
自分が分からないものを作れないよ。
>>906 XslTransformクラスを使えばXSLTがわからなくても作れるぞ。
LoadメソッドでXSLTファイルを読み込んで
Transformメソッドで変換するだけだ。
というのはとりあえずおいといて、XSLTならW3C勧告読むのが結局一番早いと思う。
邦訳もその辺に転がってる。
独習XMLはくその役にもたたんかった。
XSLTは関数型言語に近いと言われてるから、なかなかなじめない人も多いね。
910 :
デフォルトの名無しさん :03/02/19 01:37
関数型言語からオブジェクト指向言語に移行するわけだから。
釣られるなYO!
912 :
デフォルトの名無しさん :03/02/20 11:17
DrawString()などでBitmap画像にテキストを描画しても あるウィンドウの下にくると消えてしまいます。 自動的に再描画するにはどうすればよいのですか?
PaintイベントかOnPaintのオーバライドで再描画してください。 つか、Bitmapに描画しても画面にはなんも出ないと思うが。
Process Process = new Process() ってコンパイルできるけど変じゃね?
915 :
デフォルトの名無しさん :03/02/20 21:14
子コントロールに起こったイベントを親コントロールにも起こしたいのですが どのようにすればできますか?
>>914 型名と識別子名がコンパイラ内でバッティングしない仕様みたいね
見た目が変といえば変だけど
VBの Public Form1 As New Form1() を継承したんでねが。
>>914 public Font Font{ get; set; }
を許容するための必然
920 :
デフォルトの名無しさん :03/02/22 13:17
ファイルのパスですが C:\AAという文字列をURL形式のfile:///C:/AAに変換したいのですが どうすればいいでしょうか。
>>920 new Uri(@"C:\AA").AbsoluteUri
C#のint(System.Int32)クラスまたはその派生クラスって、 インスタンス変数を定義できますか?
structって派生できないんじゃないの
>>925 御意
>>924 public struct MyInt32 : System.Int32
{
public static int test = 0;
}
エラー CS0527: 'System.Int32' : インターフェイス リストの型がインターフェイスではありません。
>>924 そもそも、お前の言うインスタンス変数って何?
int n;
↑int クラスのインスタンス変数定義なんて簡単に出来るじゃん。
>>927 インスタンス変数というのはメンバ変数のことです。
一般的に使われる用語だと思いますが……
>>926 staticメンバ変数はクラス変数でしょ。
>>928 >インスタンス変数というのはメンバ変数のことです。
>一般的に使われる用語だと思いますが……
927じゃないが、927のいいたいことは、
それを知ってる人間が何故924の質問をするの?ってことだろ。
漏れも何を聞きたいのか、質問の意図がわからん。
931 :
デフォルトの名無しさん :03/02/28 18:36
C#とDelphi、Windowsで動くGUIアプリを趣味で無料で作るなら、どちらがオススメですか? 説得力ある理由をキボン。
>>931 どっちもヘジたんの作品だし、
大差ないんだから新しい方(C#)使えば?
>>931 プログラミング素人さんのようですが。
趣味とか無料とか、時間も金もかけられないなら、どっちもおすすめできない。
C#とかDelphiを覚えるには、最低100時間と最低2万円と最低5000行の経験が必要になる。
とりあえずHSPあたりで遊んでみれ。そのほうがすぐに作れて楽しいから。
HSPでも、AI麻雀くらいは作れる。GUIバリバリ(w
ちなみにHSPが無理だったら、C#とかは絶対無理。
おまえなにもんだ
マルチにはHSPがお似合いだろ。
937 :
デフォルトの名無しさん :03/03/01 21:43
VC#でグラフを描くにはどうすれば良いですか? それ用のコントロールがないみたいで、ヘルプにも出ていません。 もしかして、自分で描かなきゃならないんですか? 教えてください。 それにしても、VBにあってC#に無いとは、どういうことだ!
System.Graph.Out.*
>>938 即レスありがと。
でも、Systemの下にGraphという名前空間は無いみたいですが。
940 :
デフォルトの名無しさん :03/03/01 22:09
.NETSDK付属のクイックスタートチュートリアルを見れば コンポーネントの作り方が懇切丁寧に載ってるよ。 サンプルはグラフィカルなコンポーネントの書き方ではないけど、 似たような感じでグラフィックスパッケージのクラスを使って描画処理を書けばいい。 別にグラフ描画コンポーネントが無くても無問題。 作ればいいってこった。
>>940 ううう……。ありがとうございます。
わかりました。がんばります。
自分でグラフ描くなんて、DOS以来だなあ。うひょひょー。
C#とDelphi、両方することにしました。 で、2003/01/27公開の.SDKをダウンロードしたのですが、 これは2002/08/07公開のSP2を当てた方がいいのでしょうか? あと、無料のIDEは#D、CPad以外にありませんか? どちらもDelphi6Personalに劣っている感が。。。
943 :
デフォルトの名無しさん :03/03/03 22:51
あ
>>942 無茶言うなYO!
Delパソナルから見て無料IDEがどの程度だか知らんが、
パケジでも売ってるモノと比べるなんて。。
そんなに気になるならVS体験版かスタンダード使え。
>>945 942の書いている#Dってのがおそらく「SharpDevelop」のことを
言っていると思われ。
>>942 自分で作れ。
>Delphi6Personal
個人ベースと企業ベースを比べて何の意味が・・・・
個人だから企業だからというのは意味のないことだ。 問題はそんなことではなくクローズドソースプロジェクトが オープンソースプロジェクトをはるかに凌駕しているという事実だ。
ListViewにアイコン付きでファイル名一覧を表示しています。 このListViewに、自前でカット&ペーストを実装しているのですが、カットした時に ファイル名に付けているアイコンを半透明にする方法がわかりません。 どうすればできるでしょうか?
>>949 System.Drawing辺り見れ。
アイコンを取得ー>半透明にするー>アイコンを半透明のにセットしなおす。
って感じで漏れはやったことある。
>950 1.アイコン取得(Image) 2.imageAttribute作成(アルファ0.5F) 3.新規Bitmapに描画 4.ImageListに再格納 こんな感じでできました。ありがとうございます。
953 :
デフォルトの名無しさん :03/03/06 12:58
XMLドキュメントの解析ってちょーめんどくねー?
>>954 C#のXMLドキュメントのこといってんだろ?
確かにあれはどう考えても設計ミスだとしか思えん
ほっしゅほっしゅ
957 :
デフォルトの名無しさん :03/03/06 19:45
C#のXMLドキュメントってメソッドの戻り値の型とか分かんないよね? どうやってまともなドキュメントを作れば委員だろう・・・
>>957 確かにそうなんだよ
リフレクションを併用しないとだめっぽい
962 :
デフォルトの名無しさん :03/03/07 18:05
今の今までここのスレタイを「くすだれ」と思っていた
タイトルは変えたほうが。
966 :
デフォルトの名無しさん :03/03/07 22:16
C#がプロフェッショナルなスレ にしようぜ!
C# じゃなくて C♯にして。
C井 C共
ふらっとC#。 ってどうだろ?だじゃれだが。
・・・・・
くださいC丼 ってのはどうだ?
実質内容とかほとんど同じだし
くだスレのC#相談室へ吸収・合併に1票
>>964 詳細キボンヌ
>>969 悪くないんじゃない。
気楽に立ち寄れそうな感じという意味では、
くだすれを継承してるし。
ちょと待っとけ、後で立てとくから 【サンは氏ね】時代の救世主 C#スレッドPart3【M$マンセー】
>>975 そのスレタイじゃ荒れるからやめれ。
969の方がマターリできそうでいい。
977 :
デフォルトの名無しさん :03/03/08 22:46
誰か早く新しいすれ立てろよ。 漏れはワクワクだからスレ立てれん。
C#相談スレがあるからいらない。
>>975 やめろリア厨
Sunが死んでもC#は普及しない。SunとJavaが死んでもD言語がC#のライバルになる。
>>969 のを使って、
【くだすれ】ふらっとC#【Part3】
とか無難じゃない?
>>975 氏ね。そのスレタイでまともなスレになるわけねーだろ
#は全角ね。
>>975 いかにもリア厨が作った臭いタイトルだな
>>1 の趣旨を重視するなら合併というのはどうか?という気もする。
でも、C#スレがやたら多いのも事実。
C#"プログラミング"のスレを纏めるのはいいけど、「どんなくだらない質問でも」
っていうのが相談室スレで受け入れられるのかなぁ。
くだ質の行き場の有る無しも考えといた方がよくね?
ふらっとC♯ か廃止のどちらかで。
> C#スレがやたら多い 相談室とここの2つしか無いと思うんだけど・・・
>>988 DirectC#とかC#死滅スレも数えちゃってるんじゃないの?
あと.NETスレも数えてる可能性が高い。
そっか、DirectX C#はカウントされるか。
#←シャープの全角なのに、「しゃーぷ」→「♯」の変換と結果が違うのね・・・あう。 で、本題。 C#相談室とくだすれC#は毛色が違うから両立でいいのではないかな。に一票。
じゃ、ふらっとC♯で行こ。
相談室とくだスレは統一、フラットC♯に一票
ふらっとは?
1000
鬱だし濃
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。