08/05/24 00:25:15
>>534
まま。そう気を落とすなよ。
とりあえずフォームにいろいろ貼ってどんなコントロールがあるのか調べてみなさい。
540:デフォルトの名無しさん
08/05/24 01:18:29
まあ正直なところ
簡単そうなメモ帳
と言ってる時点でWindowsアプリ全般に対する誤解つーか強固な先入観を感じる
まずそっから解きほぐすとなると、面と向かわなきゃ無理だ罠
541:デフォルトの名無しさん
08/05/24 11:39:04
メモ帳って”最低限の機能”が意外と多いきがす
542:デフォルトの名無しさん
08/05/24 13:04:08
印刷・検索・置換以外なら比較的簡単だと思うんだけどなあ……。
543:デフォルトの名無しさん
08/05/24 13:41:27
>>542
Windows標準のメモ帳に実装されている機能を「最低限」と言ってるんじゃないの?
544:デフォルトの名無しさん
08/05/24 14:51:47
多い少ないと簡単かそうでないかは違う尺度
545:デフォルトの名無しさん
08/05/24 14:53:04
てか「見た目メモ帳」で良ければリッチエディットぺたぺたで終わり
しかし、そこからが地獄
どう考えても学習向け題材ではない
2chブラウザの方がまだマシ
546:デフォルトの名無しさん
08/05/25 00:19:21
リッチはいらんだろ
547:デフォルトの名無しさん
08/05/25 09:17:10
VC++で、ビルドをするとpdbファイルや、ilkファイル、objファイルが生成されるのですが、
これらのようなファイル(exeファイル以外の勝手に生成されるファイル)は配布時には入れなくてもいいのでしょうか?
548:デフォルトの名無しさん
08/05/25 09:17:37
Tab 押したら隣のコントロールに移動してしまいました>< で詰まってみるとかどうよ
549:デフォルトの名無しさん
08/05/25 09:18:40
>>547
Debug ビルド → それらのファイルが出来る、配布不可
Release ビルド → それらのファイルが出来ない、配布可
550:デフォルトの名無しさん
08/05/25 09:26:17
>>549
リリースビルドでもいっぱいでてくるのですが……。
どこかで設定しないといけないのでしょうか?
551:デフォルトの名無しさん
08/05/25 11:01:11
見るとこ間違ってないか?
デフォルトならDebugとReleaseでフォルダ違うぞ
552:デフォルトの名無しさん
08/05/25 11:03:57
でもまあリリースでもobjやpdbはできるだろうな。
実際の配布にはexeだけあれば十分(あと必要に応じてランタイムの用意)。
553:デフォルトの名無しさん
08/05/25 11:20:33
みなさんありがとうございます。
VC#の設定を全部インポートしたから変になったのかな……。
再インストールしてみます。
>>552
objとかpdb生成しないようにはできないのでしょうか?
わざわざ手動でするのですか?
554:デフォルトの名無しさん
08/05/25 11:44:12
再インストールしましたが、
やはり生成されるようです。
こんなものなのですね……。
555:デフォルトの名無しさん
08/05/25 12:06:29
まずはobjファイルが何者であるかググレ
そしたら何故出来るか理解出来るだろ
556:デフォルトの名無しさん
08/05/25 13:06:07
文字列(テキストファイル)をLoadメソッドでXMLDocumentにするような感じで
文字列をHTMLDocument?のような構造化されたオブジェクトに変換する何かってありますか?
557:デフォルトの名無しさん
08/05/25 14:39:14
日本語でおk
で済ませたい所だが一応エスパーってみるとだ
拡張子が.htmlではないけど中身がHTMLなテキストなファイルをHTMLDocumentに読ませたいと
あんまアタマいいやり方じゃないが、WebClientにローカルパス指定して読ませるとかどだろう
558:デフォルトの名無しさん
08/05/25 15:36:31
>>557
分かりづらくてすみません
XMLDocumentだとタグの1つ1つにプロパティのようにアクセスできるじゃないですか
そんな感じでHTMLのテキストを読み込んでそういう感じのオブジェクトに変換してくれる何かがないかなと・・・
559:デフォルトの名無しさん
08/05/25 15:54:46
うわ・・・すみません、HTMLDocumentっていうそのものずばりがあったんですねorz
お騒がせしました
560:デフォルトの名無しさん
08/05/26 23:02:07
.NET Frameworkというのが何なのかググってもわかりません。
易しい言葉で詳しく説明していただけませんか?
561:デフォルトの名無しさん
08/05/26 23:23:41
クラスライブラリとランタイム
562:デフォルトの名無しさん
08/05/27 11:53:26
世に出ているデスクトップアクセサリ/マスコットってどういう仕組みで動いているんでしょうか。
いろいろとググってみましたが、よくわかりませんでした。
フォームを透過し、画像を貼り付け?何かヒントをくださると助かります。。
563:デフォルトの名無しさん
08/05/27 12:03:05
大丈夫。仕組みがわかったとしても君には作れないから。
564:デフォルトの名無しさん
08/05/27 12:05:14
>>563
そんなことおっしゃらず、おねがいいたします。
565:デフォルトの名無しさん
08/05/27 13:46:21
>>563
自分で作るとか作らないとかは関係ありません。
仕組みを聞いているだけです。
566:デフォルトの名無しさん
08/05/27 20:21:03
いもうとデスクトップを実際に作ってみないか?3
スレリンク(tech板)
567:デフォルトの名無しさん
08/06/01 21:08:54
enumってどう発音すんの?
568:デフォルトの名無しさん
08/06/01 21:19:44
適当に発音すればいい
569:デフォルトの名無しさん
08/06/01 22:07:04
エネマって読むんだお
570:デフォルトの名無しさん
08/06/01 22:07:49
浣腸かよ
571:デフォルトの名無しさん
08/06/02 22:19:18
javaのhsqlDBみたいに、フリーで手軽に使えるデータベースは.netにはないのですか?
572:デフォルトの名無しさん
08/06/02 22:41:15
mdbファイル
access無くても使えるし
573:デフォルトの名無しさん
08/06/03 05:41:13
>>572
あーあれ直接扱えるんですね。なるほどありがとうございます。
と思ったけど、うちの自宅マシンにaccess入ってないのでデバッグやデータ作るのめんどくさそう・・
ほかになんかないですかね?
とりあえずXMLがラクそう?ですかね。
574:デフォルトの名無しさん
08/06/03 07:51:23
>>573
そういう用途で実質業界標準なSQLiteでいいんじゃね?
対応環境もめちゃ多いし。
575:デフォルトの名無しさん
08/06/03 21:35:19
SQL Serverでもいいぜ、サービスがいやならCompactとか。
576:デフォルトの名無しさん
08/06/03 22:14:17
msdnのDatagridviewの説明読んでも全然わかんない
577:デフォルトの名無しさん
08/06/04 02:33:04
まあなんだ
取り敢えずDBテーブルからフォームにポトペタしてみ?
578:デフォルトの名無しさん
08/06/04 11:45:38
>>577
表示したいのはDBのレコードじゃなくて自作クラスの配列なんだ
DataSourceに突っ込んだら表示されたけど
何も考えずDataSourceに突っ込んだら一行にこんな感じに表示されるけど
┌─┬─┬─┬─┬─┐
│あ│い.│う.│え.│お│
└─┴─┴─┴─┴─┘
それを下のように一行の中に縦に二つのセルを並べたりはできないの?
┌─┬─┬─┐
│ │い│う │
│あ├─┼─┤
│ │え│お.│
└─┴─┴─┘
579:デフォルトの名無しさん
08/06/04 17:09:44
>>578
DataSourceの形がそんなだから、表示もそんな形になる
DataSourceの形を工夫すれば、できなくはない
DataGridViewの上では2レコードだけど、
コーディング上ではそれを1レコードとみなす、ってことね
580:デフォルトの名無しさん
08/06/06 04:09:46
VB2008についての質問です。
My Projectの設定で作った変数の値は、user.configに保存されますが
これだと、ビルドしたexeを別のフォルダに移した場合、それまでにユーザーが入力した値がリセットされてしまいます。
それで、ユーザー用の設定ファイルを常にexeと同じフォルダに生成し、常に読み込み・保存でそちらを利用したいのですが
これを実現させるにはどのようにすればいいのでしょうか?
581:デフォルトの名無しさん
08/06/06 08:43:47
それはVistaでややこしい事になるからしない方がいい
M$的にはDocuments and Settings内がユーザー個別だから使えと言うこと
582:デフォルトの名無しさん
08/06/06 19:09:39
うーん、そうなんですか、ありがとうございます
仕方ないので、任意のタイミングでデータを読み書きするボタンを置いておいて、
自分でインポート・エクスポートしてもらう事にします
583:デフォルトの名無しさん
08/06/08 00:50:04
質問です。SQL server 2005 と VB.NET2005を使用して簡単なソフトを作っています。
実用的なものではなく、VBとSQLの練習みたいな感じです。
SQLから値を取得しようとコードを書いていたのですが、
SqlExceptionはハンドルされませんでした。
ユーザー '' はログインできませんでした。
このユーザーは SQL Server の信頼関係接続と関連付けられていません
というエラーがでました。
認証がWindows認証だったので、SQL Server認証にしようしても接続することができません。
このような場合どうすれば良いでしょうか?
584:デフォルトの名無しさん
08/06/08 01:31:41
>>583
app.configの接続文字列ってわかるかな?
わかればそれを晒してみよう。
585:デフォルトの名無しさん
08/06/08 08:03:43
583です!返答ありがとうございます。
app.configの接続文字列とはどこで見たらよいのでしょうか?
ソリューションエクスプローラーにapp.configはでてきているんですが、
プロパティに接続文字列がでてきません・・・・。
初歩的な質問からですみません。
586:デフォルトの名無しさん
08/06/08 12:44:31
DBに繋ぐためにapp.configの中の接続文字列を見て
DBと通信してる。とりあえず、app.configの中にDataSourceとかServerとかあると
思うし、それを確認すべき。"(local)"とか書いてると思う。
SQLServerのエディションはなに?
587:デフォルトの名無しさん
08/06/08 13:33:24
つかDBエクスプローラから一遍ポトペタしとけばその辺自動で作ってくれると思ったが
それで出来たDataGridが要らなければ消せばいい
588:デフォルトの名無しさん
08/06/08 22:02:58
説明不足ですみませんでした。
SQL Server Management Studio Expressを使用しています。
app.configの接続文字列についてですが、
connectionString="Data Source=ユーザー名;Initial Catalog=shuwa;Integrated Security=True"
となっています。
589:デフォルトの名無しさん
08/06/08 22:03:38
ユーザー名を「(local)」にしてみたら?
590:デフォルトの名無しさん
08/06/08 23:22:59
(local)にしてみましたが、同様のエラーメッセージがでてしまいました・・・。
今、VBに書いているプログラムです。
Imports System.Data.SqlClient '接続クラスの作成
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Cn As New SqlConnection("server=(local);Data Source=ユーザー名;Initial Catalog=shuwa;")
Dim SQLCm As SqlCommand = Cn.CreateCommand
SQLCm.CommandText = "SELECT かな FROM shuwa WHERE 指文字 = 001 "
Dim Value As String
Cn.Open()
Value = SQLCm.ExecuteScalar
Cn.Close()
MsgBox(Value)
End Sub
End Class
591:デフォルトの名無しさん
08/06/08 23:24:32
まず、001って'001'
シングルクオーテーションで囲まないと
592:デフォルトの名無しさん
08/06/08 23:55:29
Valueはstringで大丈夫か?
DBNullの可能性はないのか
593:デフォルトの名無しさん
08/06/09 00:19:00
SQLCm.CommandText = " SELECT かな FROM shuwa WHERE 指文字 = '001' "
という事でしょうか?エラーは相変わらずです。。
さらに、また疑問がありまして・・・自動生成されるプログラムについてもいまいち理解しきず、今まで、コメント扱い
にして作業していたのです。ヘルプや関連サイトを見てはいるんですが、これは必要なんでしょうか?
1 Private Sub Shuwa_Table_1BindingNavigatorSaveItem_Click・・・
2 Private Sub Form1_Load・・・・でTODO: このコード行はデータを 'ShuwaDataSet._shuwa_Table_1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
コメントを外すとビルドエラーで1でHANDLES句には、それを含む型または基本型の1つの定義されたWithEvents変数が必要です。
とでています。
594:デフォルトの名無しさん
08/06/09 00:32:54
もう、そのままコードうpしちゃいなよ~
595:デフォルトの名無しさん
08/06/09 00:56:05
っ [教えてgoo]
もう来んな。
596:デフォルトの名無しさん
08/06/09 00:58:01
うまく伝えられずすみません。以下がコードになります。
Imports System.Data.SqlClient '接続クラスの作成
Public Class Form1
'自動生成されるプログラム()
Private Sub Shuwa_Table_1BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Shuwa_Table_1BindingNavigatorSaveItem.Click
Me.Validate()
Me.Shuwa_Table_1BindingSource.EndEdit()
Me.Shuwa_Table_1TableAdapter.Update(Me.ShuwaDataSet._shuwa_Table_1)
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: このコード行はデータを 'ShuwaDataSet._shuwa_Table_1' テーブルに読み込みます。必要に応じて移動、または削除をしてください。
Me.Shuwa_Table_1TableAdapter.Fill(Me.ShuwaDataSet._shuwa_Table_1)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Cn As New SqlConnection("server=(local);Data Source=ユーザ名;Initial Catalog=shuwa;")
Dim SQLCm As SqlCommand = Cn.CreateCommand
SQLCm.CommandText = " SELECT かな FROM shuwa WHERE 指文字 = '001' "
Dim Value As String
Cn.Open()
Value = SQLCm.ExecuteScalar
Cn.Close()
MsgBox(Value)
End Sub
End Class
597:デフォルトの名無しさん
08/06/09 01:00:19
URLリンク(www.atmarkit.co.jp)
ここ読んでみそ
598:デフォルトの名無しさん
08/06/09 01:02:47
連続すみません。
592さん!StringをSqlDataReaderに変えたところ、ログインエラーはでなくなりました!
ありがとうございます!!
599:デフォルトの名無しさん
08/06/09 01:11:20
エラーメッセージちゃんと読んでたのか?
600:デフォルトの名無しさん
08/06/09 16:13:12
質問させて下さい。
C#にて、.NET Framework 2.0にServis Packが適応済みであるかを調べたいのですが
上手くいきません。
開発環境は Visual Studio 2005
開発環境OS Windows XP Pro SP3
インストール済みの.NET Framework
・2.0
・2.0 lang
・2.0 SP1
・2.0 SP1 lang
System.Runtime.InteropServices.RuntimeEnvironment.GetSystemVersion()
にてバージョンの取得を試みたところ、SP1がインストールされている環境下でも取得されるバージョンは「2.0.50727(SP無し)」
教えてエロい人!
601:デフォルトの名無しさん
08/06/09 16:37:39
バージョンの下にビルド番号があるみたい
2.0.50727.832
2.0.50727.1433
エライ人じゃないから、これ以上はわからん
602:デフォルトの名無しさん
08/06/09 22:30:51
ループを使用する場合、変数の宣言はループの外側ですべきですか、
それとも内側でしょうか。
Dim s as String
For i as Integer = 0 to 10
s = Cstr( i ) & "回目"
Console.writeline(s)
Next
か、
For i as Integer = 0 to 10
Dim s as String = Cstr( i ) & "回目"
Console.writeline(s)
Next
ということです。前者の方が領域の使い回しにはなりそうですが、
どこかでGCの為には毎回宣言すべきというのも見た気がして…
603:デフォルトの名無しさん
08/06/09 22:33:25
Objectdatasource の insert メソッドをコードから呼んだ時は identity の値って取得出来るの?
insertメソッドってint型しか返さないし select メソッドを直後に呼んだら正しい値が返って来るとは限らないような。
604:デフォルトの名無しさん
08/06/10 00:47:59
>>602
stringをGCw
605:デフォルトの名無しさん
08/06/10 05:15:42
>>602
変数のスコープは小さく
606:デフォルトの名無しさん
08/06/10 06:08:16
>>602
前者でも文字列本体の領域が使いまわされるということは全くないから、
安心しろ。どっちも同じようなもんだ。
というわけで、変数の有効範囲が小さい後者がよしとなる。
607:デフォルトの名無しさん
08/06/10 12:22:38
>>601 ありがとう!エロすぎるよ!!!!1111
608:デフォルトの名無しさん
08/06/10 12:27:20
>>601 ありがとう!エロすぎるよ!!!!1111
609:デフォルトの名無しさん
08/06/10 13:29:10
Thread の扱いについて。
Thread t = new Thread(new ThreadStart(worker));
t.Start();
void worker()
{
:
}
などとしてスレッドをスタートさせ、worker が終了するとスレッドも消滅するそうですが、
インスタンス t はどうなるんでしょうか。t はまだ有効で、t.Start() でまたスレッドをスタート
させることができるのでしょうか。
毎回インスタンス作り直してもガベージコレクタが回収してくれるんでしょうけど、
ちょっとこの辺が気にかかってます。
610:デフォルトの名無しさん
08/06/10 13:53:16
まず試してみればいいじゃない
611:デフォルトの名無しさん
08/06/10 15:05:18
>>602
領域云々では全く差はない。
よってスコープを広げるメリットはない。
612:デフォルトの名無しさん
08/06/10 15:06:35
>>609
インスタンスは残ってるけど再起動はできない。
よってほっとくのが吉。
613:609
08/06/10 15:09:56
>>610
そのつもりではいるんですが、今は手が回らないんで、先行して質問してみました。
また、再スタートできたとして、それでよいのか単なる偶然かも気になるところなんですよね。
…て書いてると回答が。
>>612
ありがとうございます。では再起動させる時は作り直すようにします。
どうも Win32 でやってた頃の癖が染みついてて、作ったインスタンス
後始末しないと気持ち悪かったりするんですよね。
614:デフォルトの名無しさん
08/06/11 07:00:35
一つのFormにTabControlを用い、複数のページをタブで切り替えられるようにしています。
各タブにはスピンボタンがいくつかあり、そこに入力された値はpropertybindingで記録しています。
なのですが、起動時に一番初めに表示されるタブのページに、全タブのスピンボタンの値の合算を
表示するようにしているのですが、これが起動時は正しく合算後の値が表示されているのですが
一度でも初期表示のページのスピンボタンを操作すると、合算の値が起動後に一度でも開いたタブのみの
合算値になってしまいます。
ちょっと分かりづらい説明だと思いますが、要は各タブに貼り付けられたスピンボタンのvalueの値が、
一度でもそのタブを開かないとMy.Settingsから書き戻されないようなのです。
どうも、起動した瞬間はvalueに関連づけたMy,Settingsの値が入っているようなのですが
起動→操作可能になるまでの間にvalueの値が0になっているようなのです。(My.Settingsには値が保持されている)
0にするような操作は一切行っていないのですが、propertybindingの値を読み込み保持させるには、どうすればいいのでしょうか?
もう5時間くらいずっと悩んでいるのですが、何をしても全く解決できません。
615:デフォルトの名無しさん
08/06/11 10:08:38
タブコントロールって最初の奴以外は、選択されない限りインスタンスが作られないんでなかったか
回避策としては、タブの親玉のPreInit?だかで一旦非表示にして、全タブを前面に持ってくる
もっとスマートなやり方あるかもだが
616:614
08/06/12 03:30:42
>>615
ちょっと不格好だとは思いますが、Form1_Loadの中で
Me.TabControl1.SelectedTab = TabPage2
Me.TabControl1.SelectedTab = TabPage3
という風に一度全てのタブに切り替えるようにすると、初めから値が入った状態で操作できるようになりました。
ありがとうございました。
617:デフォルトの名無しさん
08/06/25 00:29:39
visualbasic2008ですが、初期状態でPictureBoxに画像Aを表示させておいて、
クリックすると画像Bに数秒だけ切り替えて音声ファイルを再生し、また画像Aに戻るプログラムを作りたいのですが
Dim strm As System.IO.Stream = My.Resources.se01
Dim player As New System.Media.SoundPlayer(strm)
PictureBox1.Image = My.Resources.B
player.Play()
PictureBox1.Image = My.Resources.A
という風に記述すると上手く画像が切り替えできません。
player.Play()の後にsleepを入れてみましたが、どうも画像を切り替える前に音再生の所で処理が止まっているようです。
要は、
URLリンク(saionji.net)
のフラッシュのような事がしたいのですが、画像を上手く切り替え、かつマウスの連打にも対応させるにはどうすればいいのでしょうか?
618:デフォルトの名無しさん
08/06/25 17:10:26
考え方を切り替えて,ゲームみたいに自分でループ回してフレーム単位でやった方が簡単だよ
もしくはWPF使う
619:デフォルトの名無しさん
08/06/25 20:21:17
DirectX場合、GDI関数のようにGUIスレッドからしか操作できないという制限はあるの?
別に出来るなら自分でループまわすのが一番自然なんだけどな。
620:デフォルトの名無しさん
08/06/30 22:49:53
webサイトを作ろうとやっているわけなんですが、
アップの後に確認してみたところ、どうしても
Parser Error Message: Could not load the assembly 'App_Web_default.aspx.cdcab7d2'. Make sure that it is compiled before accessing the page.
と出てきてしまい
<%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" %>
が悪いと出てくるわけなんですが、どうすればいいのか理解ができない状況です・・・
もし、ここが悪いんじゃね?っていうのがあれば教えていただければ幸いです。
621:デフォルトの名無しさん
08/06/30 23:21:24
ム板にもASP.NETスレはあるから行ってこいよ。
どうせマルチなら何ヶ所しても同じだろ。
622:デフォルトの名無しさん
08/07/04 15:07:13
C++のマネージ配列を強制的に開放することはできないのでしょうか?
623:デフォルトの名無しさん
08/07/04 17:11:11
参照をはずしてあとは祈れ
624:デフォルトの名無しさん
08/07/04 17:23:26
解放を制御したかったらアンマネージドでやれ
625:デフォルトの名無しさん
08/07/10 03:15:04
C++とかで直接書くのではなく、.NETをつかう利点てなに?
626:デフォルトの名無しさん
08/07/10 05:27:56
マイクロソフトは.NETにユーザー押し込めて囲いたいだけだろな
それに乗るか乗らないかだよね
627:デフォルトの名無しさん
08/07/10 11:49:15
C++は文法が難しすぎて
628:デフォルトの名無しさん
08/07/10 12:18:08
C++と.NETの2者選択ってのじゃなくて済み分けてるけどね。
.NETは生産性が高く、実行コストが高い。
C++は生産性が低く、実行コストが低い。
十分テストが出来て広く多数に使ってもらう用途にはC++。
WEBや企業内システムのような用途には.NETが向いてる。
629:デフォルトの名無しさん
08/07/12 01:08:58
array<Byte>の全体にmemset相当のことをしたいんだけど、どうすればいいの?
ループで回して1つずつセットした → かっこ悪い
pin_ptrしてmemsetした → 納得いかん
ForEachした → 大げさ過ぎる
630:デフォルトの名無しさん
08/07/12 02:25:49
>>629
かっこ悪いと一緒なんだが
static class Util {
public static T [] setAll<T>(this T [] ar, T val) {
for (int i=0; i<ar.Length; i++) ar[i] = val; return ar;
}
}
double [] ar = new double[10].setAll(123.45);
631:629
08/07/12 15:36:08
やっぱし、そういう手しかないのね。
0にしたい時だけはClearでいいようだけど。
初期状態を0xffにする時とかがねぇ。
632:デフォルトの名無しさん
08/07/12 18:04:01
System.IO.BinaryReaderで開いたファイルをシークさせるにはどうすればいいのだろう。
素直に考えるとhoge.BaseStream.Seek()なんだろうけど、msdnヘルプ見たら
注意:読み取り中または BinaryReader の使用中に基になるストリームを
使用すると、データの損失や破損の原因になることがあります。
たとえば、同じバイトが 2 回以上読み取られたり、バイトが読み
飛ばされたり、文字の読み取りが予期しない結果になることがあります。
って書いてあるからちょっと不安。
633:デフォルトの名無しさん
08/07/13 07:49:32
>>631
C++でも構造体の初期化にはmemset使うなって流れになってるけど、
配列はどうなんだろ。スレ違ですまそ。
634:デフォルトの名無しさん
08/07/13 11:43:59
>>632
シークが必要になったら、BinaryReaderは破棄して、元になったストリームをシークする。
んで、そのストリームから別のBinaryReaderを作って完了。
FileStream fs( "hogehoge", FileMode::Open);
BinaryReader br1( %fs);
// ここでbr1から好きなだけ読む
fs.Seek( 0, SeekOrigin::Begin); // 先頭にシーク
BinaryReader br2( %fs);
// ここでbr2から飽きるまで読む
635:デフォルトの名無しさん
08/07/13 11:45:13
NetworkStreamのようにSeekできないのはどうすればいい?
636:デフォルトの名無しさん
08/07/13 11:51:37
メモリなりファイルなり一度どこかに蓄える
637:デフォルトの名無しさん
08/07/13 11:55:10
>>633
C++はプログラマの責任においてできることの範囲が広いわけで、
パフォーマンスや保守性など、各種要因を天秤に掛けて決めるべきかと。
C++/CLIは.NETの制限の中にあるんで、基本的にはmemsetは御法度なんだけど、
せめてArrayにFillメソッドがあってもいいような気もする。
638:デフォルトの名無しさん
08/07/13 22:40:50
>>633
ネイティブC++でも構造体の初期化にmemset非推奨ってーのは、
多分アライメントの関係で下手をすると尻切れになりかねないからだと思われ
例えば合計6バイトの構造体だと、実際のサイズは8バイトになると思うが
この構造体を配列にして初期化しようとすると、sizeofの実装によってはズレが生じかねない
ましてや.NETだと間に何が挟まってるか知れたもんじゃない
スレチだからこの辺で
639:デフォルトの名無しさん
08/07/13 23:11:10
「思われ」みたいなヲタク口調の奴って気持ち悪いな。
なんだよ「思われ」って。
想い想われかw
640:デフォルトの名無しさん
08/07/14 01:11:15
と、何にでも噛み付く狂犬がキャンキャン吠えてます
641:デフォルトの名無しさん
08/07/14 13:28:50
C言語の"%5d"に相当するToStringのフォーマット指定はなんて書くざますか?
"%05d"相当にしかならんのですが。
642:デフォルトの名無しさん
08/07/14 14:03:06
.PadLeft(5) つなぐとか
643:デフォルトの名無しさん
08/07/14 14:05:40
ググったらわかりました。
ToStringじゃできないのでString.Formatを使うらしい。
つか、MSDN分かりにくすぎだろ。
644:デフォルトの名無しさん
08/07/14 21:14:15
>MSDN分かりにくすぎだろ。
そういう感想の人もいるんだな。
いや別に煽ってる訳じゃなないし、たぶん俺が麻痺しちゃってるんだと思うけど
すくなくとも書式指定に関してはそういう不満は覚えなかったな。
だいたい>>641みたいな需要って(DOSの時代ならともかく)いまどきあまり
ない気がするよ。
645:デフォルトの名無しさん
08/07/15 06:22:12
WriteLineやStringFormatで使える書式
位置 ( , 桁数 ) : フォーマット
ToStringで使えるのはファーマットの部分だけ
漢字等の幅広文字も1文字で数えるから総桁数はあんまり使わないよね。
646:デフォルトの名無しさん
08/07/15 09:44:50
ToString().PadLeft(5) は無視か。
647:デフォルトの名無しさん
08/07/15 19:46:28
他に手がないならともかく、さすがにそれはなぁ。
648:デフォルトの名無しさん
08/07/20 21:43:53
すいません質問です。
StringのReplaceを大文字小文字を無視してすべて置換する方法はありませんかね?
649:デフォルトの名無しさん
08/07/20 22:02:03
ない
650:デフォルトの名無しさん
08/07/21 20:11:57
ないな…あってもいいと思ったんだが。
手抜くなら、Regex.Replace関連で代用かな…
651:デフォルトの名無しさん
08/07/22 23:34:14
セットアップウィザードを使ってインストーラーを作成しています。
ReadMe.txtのショートカットをプログラムメニューに配置したいのですが、アイコン関係がよく判りません。
手順としては、
アプリケーションフォルダにReadMe.txtを追加する。
ReadMe.txtのショートカットを作成する。
このショートカットをユーザーのプログラムメニューに配置する。
(プロパティはいじっていません。)
実際にインストールしてみると、問題なくReadMe.txtは表示されるのですが、アイコンが、%APPDATA%\Microsoft\Installer
\xxx.exeにあるアイコンが表示されます。
他のプログラムメニューに登録されているReadMeのように、txtファイルに関連付けられたアプリケーションの
アイコンが表示させたいのですが、どこをいじればよろしいでしょうか?
よろしくお願いします。
652:デフォルトの名無しさん
08/07/23 15:10:07
Microsoft.Office.Tools.ExcelとMicrosoft.Office.Interop.Excelの違いがよくわかりません。
それを知りたいのと、
単純にCUIでExcelファイル(.xls)を読み込んでバイナリデータにコンバートしたい場合、
どちらを使えばいいのでしょうか?
653:デフォルトの名無しさん
08/07/26 17:55:38
Visual Basic 2008 Express Editionをインストールして
新しくプロジェクトを作成してみると、以前までコードが自動生成されていたのが
生成されなくなってしまいました。
ex)
Public Class Form1
End Class
のような感じでしか出力されていない状態です。
何か設定を弄らないといけないのでしょうか?
654:デフォルトの名無しさん
08/07/26 18:41:07
>>653
今頃それに気づくということは以前というのはVS2002とか2003なのか?
プロジェクトのすべてのファイルを表示でForm1.Designer.vbが表示されるからそこにいろいろ入ってる。
Sub Newを書かないときにInitializeComponent()を誰が呼んでるのだという問題だったらまた話が違う。
655:デフォルトの名無しさん
08/07/26 21:21:10
>>654
以前に使用していたのは2005です。
問題の解決ができまして
原因は私の勘違いでボタンオブジェクト作成⇒自動挿入と思っていました。
ボタンオブジェクトでダブルクリックしないといけなかったという…
お答えくださりありがとうございました。
656:デフォルトの名無しさん
08/08/09 15:06:32
質問です。
フォルダAppの中にBase.dllとModA.dllが存在しています。
このフォルダのdllはすべてVB.NET(1.1)で書かれており、
Base.dllの中には継承フォームの親クラスなど、
ModA.dllの中にはBase.dllを利用(参照)して作った実際の画面クラスなどがあります。
Base.dllは頻繁に更新されており、
ModA.dllの参照に設定されているバージョン番号よりもかなり新しい状態です。
現状、この内部だけの動作なら問題なく動いています。
現在、新しいWindowsアプリを作成中で、
C#で作ったアプリからModA.dll内の画面クラスを
System.Reflectionを使用して動的に呼び出したいのですが、
Base.dllを継承したフォームを呼び出そうとした瞬間に
「Base.dllが見つかりません。」というExceptionを投げられてしまいます。
・Base.dllとModA.dllは必ず同じAppフォルダに入っている
・Appフォルダそのものの位置は移動可能
・新アプリでは、Appフォルダの位置をユーザーに指定させる
・新アプリの位置も移動できる方が望ましい。
という条件で、上記のExceptionが出ないようにすることは可能でしょうか?
助言をお願い致します。
657:デフォルトの名無しさん
08/08/09 19:36:19
>>656
いろいろ書いてる割には見事にポイントをはずして要領を得ないね。
とりあえず言えることは、「出来るはず、やり方が悪い」
658:656
08/08/09 20:31:55
>>657
では、正しいやり方を教えてください。
659:デフォルトの名無しさん
08/08/09 20:53:21
それは657にエスパーであれっていってるのと同義だと思うけど
660:デフォルトの名無しさん
08/08/09 20:57:54
C#が1.1なのか他のバージョンなのか。
リフェレクションはAssembly.LoadFromを使っているのかそれとも別の方法か?
リフェレクションで読み込んで呼び出している部分のソースをさらす。
VBで同じ手法のリフレクションを使って実現できているのか。
「Base.dllが見つかりません。」じゃなくてスタックトレースを出せ。
E伊東さんとお知り合いか?
とりあえず、このくらいは書いとけよ。
661:デフォルトの名無しさん
08/08/09 22:44:55
リフェレクションえろいな
662:デフォルトの名無しさん
08/08/09 22:47:14
>>656
無理。
依存してるライブラリが更新されたらコンパイルしなおす必要がある。
さもなくば、動的にクラスを構成しないといかん。
663:デフォルトの名無しさん
08/08/09 23:16:46
厳密名を使ってるなら話は別だがPublicKeyToken=nullのときはVersionのチェックはない。
664:デフォルトの名無しさん
08/08/10 20:55:34
LoadFromが原因だろう。
厳密名とかの話じゃない。
LoadFromで読んだ場合、自動的に同じフォルダのBase.dllを
読んだりはしてくれない。
AssemblyResolveなどで自分でハンドリングして読み込むか、
事前にBase.dllもLoadFromで読んでおくことはできる。
でも、アプリのフォルダを自由に指定とかなってくると、
たぶんどっかでトラぶってにっちもさっちも行かなくなると思うぞ…
665:デフォルトの名無しさん
08/08/11 19:50:24
フォーム1で使っている変数(数字の1~100)を
フォーム2にとばして使いたいのですが、どうすればいいのかわかりません。
自分で調べた所、プロパティを設定すればいいとのことでした。
URLリンク(homepage1.nifty.com)
ここを参考にして色々とやってみたのですが、
どうもうまく実際に使っているXの値を別のフォームに送れません。
どうか、ヒントをください。
666:デフォルトの名無しさん
08/08/11 20:13:58
[ヒント]
プログラミングに王道なし。
いやまじめな話、そのレベルから掲示板で解説しろってそりゃ無理あるぞ。
667:656
08/08/11 22:59:52
>>660
C#は1.1です。
try
{
Assembly a;
a = Assembly.LoadFile("C:\App\ModA.dll");
foreach(Type type in a.GetTypes())
{
if(type == typeof(インターフェース))
{
return true;
}
}
}
catch(Exception e)
{
MessageBox.Show("エラー発生");
}
ソースはこんな感じです。スタックトレースってのはよく分かりません。
ごめんなさい。
>>664
Base.dllを先に読み込めばいいんですね。
明日試してみます。
668:デフォルトの名無しさん
08/08/11 23:05:34
ってしかもLoadFileじゃねーかよ
669:デフォルトの名無しさん
08/08/11 23:28:49
>a = Assembly.LoadFile("C:\App\ModA.dll");
もしかして~
a = Assembly.LoadFile(@"C:\App\ModA.dll");
とか
a = Assembly.LoadFile("C:\\App\\ModA.dll");
で直ったりして
670:デフォルトの名無しさん
08/08/11 23:44:47
まさかね
まあBase~っていってるから違うと思うけど。
しかしなー、LoadFromやLoadFile系はトラブるんだよなー
できればフォルダを自由に指定ってのはやめた方が無難だけどなー
671:デフォルトの名無しさん
08/08/11 23:50:07
LoadFileはいろいろ制限が多いし、
LoadFromは署名がないと相対パスしかダメなんだっけ。
やっぱ構成ファイルを書きまくるとか。
672:デフォルトの名無しさん
08/08/12 00:25:37
MSDNから
>LoadFile は、LoadFrom メソッドとは異なり、ファイルを LoadFrom コンテキスト内には読み込みません。
>また、読み込みパスを使用して依存関係を解決することもできません。
ModA.dllのあるディレクトリから依存のあるBase.dllを探してくれない
673:656
08/08/12 00:41:21
>>669
書き込みミスです。@付きになってます。すみません。
LoadFromにすれば直るのでしょうか?
>>664の先に読み込むというのが気になるので、
それをまず試してみようと思います。
どちらにしても今すぐ確認はできませんので、
確認し次第再度書き込みます。
いろいろ助言をありがとうございます。
674:デフォルトの名無しさん
08/08/12 00:45:38
>>664はLoadFileの制限ぽい感じだな
675:デフォルトの名無しさん
08/08/12 00:53:41
C#でアプリ作ってるのですが、.NET Framework入ってない環境で起動した場合、
強制終了になる前に任意のメッセージ出して終了するにはどうすればよいでしょうか?
676:デフォルトの名無しさん
08/08/12 08:07:28
環境を調べるネイティブアプリ作って、入って無ければエラー出して終了、
入っていればC#アプリを起動するとか。
677:デフォルトの名無しさん
08/08/12 13:27:53
>>676
そのつもりでDOSスタブみたいな形で埋め込めればいいなぁと
あれこれ模索してたりしてたんですが、やっぱ分けるしかないでしょうか。
678:デフォルトの名無しさん
08/08/12 14:33:44
>>677
先頭のほうにmscoree.dll::_CorExeMainを呼ぶjmp命令があるから、
その飛び先を変えてやればいいと思う。
ちなみに、XP以降のWindowsローダーはマネージドアセンブリを読み込んだ場合、
このネイティブなスタブコードを実行せずに、_CorExeMainから直接実行し始める。
679:678
08/08/12 15:15:17
何が言いたいのかよく分からない文章になってたけど、
要するにXP,Vistaあたりでは必要なバージョンのランタイムがないときに、
実行前に任意のメッセージを出すことはできない言うことです。
スタブコードを書き換えるのはやったことがないけど、そこに感染するウイルスがいくつかあるんで、
もしかしたらアンチウィルスソフトウェアに文句言われる可能性はあるかもしれないですね。
680:656
08/08/13 00:01:05
LoadFromを使用して、先にBase.dllを読み込んでおけば
無事動くようになりました。
新たな問題はいくつか出てくるようになりましたが、
今のところ少しずつ解決していけてるので大丈夫だと思います。
丁寧な回答ありがとうございました。
681:DD
08/08/20 13:29:19
ASP.NET2.0のGridViewで質問があります。使用言語はC#です。
1つの画面に以下のコントロールがあります。
・TextBox (TextBox1)
・Button (Button1)
・GridView (GridView1)
・SqlDataSource (SqlDataSource1)
TextBox1に検索する主キーの値を入れ、Button1をクリックすると、
その主キーの行の背景色を変更する、といったことをやりたいと思っています。
GridView1のSelectedRowStyleのBackColorに適当な色を指定して
DataBoundイベントでGridView1.DataKeys[i].Valueをループで検索。
見つかったらGridView1.SelectedIndex = iとすることで
ほぼやりたいことは実現できています。
この状態でGridView1のAllowPagingをTrueに設定し、
Button1クリック時に、検索してヒットした行のあるページに
自動的に切り替えるにはどのようにすればよいのでしょうか?
現状のコードでは、現在のGridView1のページしか検索出来ないためうまく出来ません。
どなたかご教授願えないでしょうか?
682:デフォルトの名無しさん
08/08/22 14:15:56
>>681
PageIndexで表示したいページを設定できる
683:デフォルトの名無しさん
08/08/23 09:19:12
VC# 2005とWindows Forms(.Net Framework 2.0)でOfficeライクにお絵かきできるコントロールを探しています。
実はVisioのDrawing Control(ActiveXベース)がやりたいことを網羅しているのですが、
アプリケーションを動作させる全ての端末にVisioを入れなければいけないので
泣く泣くあきらめました。
URLリンク(www.c-sharpcorner.com)
実行環境が無料で何か良いコントロールをご存知の方は
お教え頂けますでしょうか。よろしくお願いします。
684:デフォルトの名無しさん
08/08/23 22:54:37
VC++2005EEとForm(.NET2.0)で作ったアプリを配布したいのですが
どのような配布形式が一般的でしょうか?
VS.net2003bootstrapper plug-inのようなものがあれば使いたいです。
685:デフォルトの名無しさん
08/08/24 02:37:40
.NET2.0はかなり普及してるし、そのままでも良いとは思う。
必要ならこの辺を参考に
URLリンク(dobon.net)
686:DD
08/08/25 18:12:57
>>682
PageIndexで表示したいページを設定できることは分かっております。
問題なのは、DataBoundイベントでGridView1.DataKeys[i].Valueをループで検索した場合、
現在のPageIndex内のデータしか検索できないのです。
やりたいのは、全てのページを検索し、ヒットしたらそのページを表示することです。
DataBoundイベントではなく、何か別のイベントで検索する必要が
あるのではないかと思うのですが、
そのイベントが何なのかが分かりません。
どのようにしたら良いのでしょうか?
687:デフォルトの名無しさん
08/08/25 22:01:53
GridViewではなく、DataSource自体をぐるぐる回って調べていくとか。
泥臭いかw
688:DD
08/08/27 13:39:15
>>687
例えばDataSource自体をぐるぐる回って調べるとしたら、
どのイベントを捕まえればよいんでしょう?
実はそれをやろうとしてみたんですが、どのイベントで処理すればよいのか
分からなくて・・・。
689:デフォルトの名無しさん
08/08/27 23:57:48
一端DataViewに取って、後はそれ使えば?
常識的に考えて並びは一緒だから、現在のページ×1ページあたりの行数+indexで行けるハズ
690:デフォルトの名無しさん
08/08/28 10:34:42
>>687
泥臭いも何もそれが正しいやり方だと思うんだが。
>>688
イベントって、Button1のクリック以外に何があるん?
GridViewのDataSourceにセットしたものがDataTableオブジェクトだった場合、
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowIndex = -1 Then Return
If e.Row.Cells(1).Text.Contains(Me.TextBox1.Text) Then
' 検索ワードが入っている行の背景を緑に
e.Row.BackColor = Drawing.Color.LightGreen
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim rIndex As Integer
Dim tbl As DataTable = CType(Me.GridView1.DataSource, DataTable)
For rIndex = 0 To tbl.Rows.Count - 1
If tbl.Rows(rIndex)(1).ToString().Contains(Me.TextBox1.Text) Then
' 検索ワードが見つかったらループから抜ける
Exit For
End If
Next
' ページインデックスを算出
Dim pIndex As Integer = rIndex \ Me.GridView1.PageSize
' GridViewに算出したページインデックスをセット
Me.GridView1.PageIndex = pIndex
' 適応実行
Me.DataBind()
End Sub
691:DD
08/08/28 18:27:18
>>689
一端DataViewに取る、その方法が分からないんです(T_T)
そこのところ、ご教授願えないでしょうか。
>>690
Dim tbl As DataTable = CType(Me.GridView1.DataSource, DataTable)
とありますが、当方C#なもので、よく意味が分かりません(^^ゞ
C#で書くと
DataTable tbl = (DataTable)GridView1.DataSource;
なのかな、と思って試してみましたが、GridView1.DataSourceがNULLでうまくいきませんでした。
692:DD
08/08/28 18:42:28
>>689
>>690
おかげさまで解決いたしました!
以下のコードでDataTableに取り出すことが出来ました。
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
DataTable table = dv.Table;
丁寧な解説、どうもありがとうございました。
693:デフォルトの名無しさん
08/09/01 20:47:23
C#で作ったプログラムからExcelを操作するプログラムを作りたいのですが、
Excelを操作する方法についてインターネットで調べてみると
どうやらExcelのバージョンによって参照設定するCOMってやつのバージョンが違うみたいです。
今作ってるプログラムをそのまま実家にメールで送って使ってもらう予定なのですが、
COMのバージョンが違うと正しく動かない可能性もあるのでしょうか?
使う予定の機能はExcelを読み込んで決まった位置に値を書き込むぐらいなんですが、
不具合を起こしにくいコツなどがあれば教えてください。
694:デフォルトの名無しさん
08/09/01 21:33:36
> 不具合を起こしにくいコツ
.NETでOfficeのCOMを利用しないというのが一番の対策じゃないかw
xlsファイルなどを直接操作できるライブラリを使うのがお勧め
695:デフォルトの名無しさん
08/09/01 21:40:40
>>694
すみません、できれば.NETを使用することを前提にお願いします。
COMって、自分で作ったdllみたいにReflectionで動的に探してきたりはできないんでしょうか?
696:デフォルトの名無しさん
08/09/01 22:17:30
それはできる。
でもメンバアクセスまで全部リフレクションでやる羽目になる。
悪いことは言わないからせめてVB.NETにしとけ。
697:デフォルトの名無しさん
08/09/01 22:59:19
>>696
ありがとうございます。
とりあえずGoogleってた結果、
Type.GetTypeFromProgID()というのを見つけたので実装はできそうです。
VBを1から勉強するかは後で考えるとして、
COMを動的参照するときって、普通はどういうクラスのどういうメソッドで参照先dllを探すのですか?
今までは自分で作ったdllを動的参照することしかしたことがなかった上、
インターフェースは静的に参照してそれを実装したクラスをReflectionで見に行く
ってことしかしたことがないので、COMの一般的な探し方を教えてくれませんか?
名前はともかくとして、COMのdllがある場所ってどうやって調べるんですか?
698:デフォルトの名無しさん
08/09/01 23:11:05
>>697
レジストリ(HKCR)を探せば見つかるが、プログラミング目的では普通やらない。
みんなProgIDとかClsIDとかで識別するから。
それに、DLLなら直接読み込んでオブジェクトを作ることも可能だが、
EXEに実装されているとどの道COMのAPIを介さないといけない。
699:デフォルトの名無しさん
08/09/02 00:19:01
>Type.GetTypeFromProgID()
を使うんだからおかしなことを考える必要はない。
問題は、インターフェイスを参照できないから、
メソッド呼び出しとかまですべてリフレクションでやらなきゃならないこと。
700:DD
08/09/02 11:03:35
>>697
とりあえず、VC#2005なら、ソリューションエクスプローラーの参照設定右クリックから
参照の追加。
COMタブを選択して、Microsoft Excel XX.X Object Library を選択して
OKボタンクリック。
これで一応使える。
COMオブジェクトは最後に必ず開放。こんな感じでどうでしょう。
/// <summary>
/// COM オブジェクトの参照カウントを解放する
/// </summary>
/// <param name="comobj">COMオブジェクト</param>
private void ReleaseComObject(Object comobj)
{
// COMオブジェクトだったら
if (comobj != null && System.Runtime.InteropServices.Marshal.IsComObject(comobj))
{
try
{
System.Runtime.InteropServices.Marshal.ReleaseComObject(comobj);
}
catch { }
finally
{
comobj = null;
}
}
}
701:デフォルトの名無しさん
08/09/02 12:14:10
>>700
それだと複数バージョンのExcelに対応できないだろ>>693読め。
702:DD
08/09/02 13:11:52
>>701
あ、その通りですね(^^ゞ
以前Excelを扱った時はSpreadsheetGearを使ったので
COMを使った操作は良く分からないです。。。
サードパーティのライブラリを使用したくないとのことですので
これは使えませんね。
お役に立てずm(__)m
703:デフォルトの名無しさん
08/09/02 15:25:27
> comobj = null
意味ないじゃんw
704:DD
08/09/02 15:26:49
>>703
ですね(^^ゞ
はった後私もそう思いました。
705:デフォルトの名無しさん
08/09/02 19:07:53
>>701
バイナリになってしまえば問題ないんだよ。
「複数バージョンのExcelに対応できない」のはあくまで開発環境のみ。
一部バージョンが違うと例外が発生するメソッドがあったりするけど、
そこだけ個別に対応すれば問題ない。
706:697
08/09/02 21:11:51
いろいろなご解答ありがとうございます。
今回は複雑なエクセル操作をするわけではないので、
すべてリフレクションでやるクラスを作って、それを使いまわそうと思います。
ありがとうございました。
707:デフォルトの名無しさん
08/09/02 21:33:39
VBでクラスライブラリ作った方が簡単だと思うけどな。
708:デフォルトの名無しさん
08/09/02 23:26:51
>>705
え?まじで?
うっそーん?
709:デフォルトの名無しさん
08/09/04 20:20:35
VBAではセルの文字列の色をCellsのCharactersで調べられるのですが
.NETではどうればいいのでしょうか?
msdnにはRangeにCharactersがあるのですが
書いてみると定義がありませんと
エラーがでます。
using Excel = Microsoft.Office.Interop.Excel;
var xls = new Excel.Application();
var book = xls.Workbooks.Open(略
var rng = (Excel.Range)book.sheet.Cells[1, 1];
こんな感じでRangeクラスを取得してます。
ちなみにVS2008SP1を使っています。
710:DD
08/09/08 10:36:38
>>709
rng.Font.Color
で取得できるのでは?
711:709
08/09/08 19:52:53
>>710
すいません、質問の内容を微妙に間違えてました。
取得したいのは文字列のn番目の文字の色なんです。
Characters(4, 1).Font.ColorIndex
と書くとVBAでは4文字目の色の取得や設定が
出来るんです。
それだと多分セルに設定された文字列の色になるんですかね?
712:デフォルトの名無しさん
08/09/08 21:09:12
net導入するときはVB6を残したままでもいいですか?
713:DD
08/09/09 11:55:55
現在Visual Studio 2005 C#で以下のようなことを実現したいと考えております。
DropDownList(値にはIDが入っている)で選択した項目に一致するレコードをGridViewに表示する。
DropDownListにはALLという項目があり、これを選択すると
すべてのレコードを表示する。
このようなことをやりたいのですが、どうやったらいいのか分かりません。
現状ではALLを静的に追加しており、その値は0となっています。
また、GridViewのデータソースにSqlDataSourceを割り当て、
SqlDataSourceのSelectParameter(ID)にDropDownListの
SelectedValueを設定し、ALL以外の項目を選択した場合は
正常に動作しています。
どなたかご教授ください。
714:DD
08/09/09 12:06:29
自己解決しました。
URLリンク(bunise.seesaa.net)
このページを参考にしてやってみてはいたのですが、なかなかうまくいかず
質問させていただきました。
結局は、SqlDatasourceのCanselSelectOnNullParameterをFalseにするのを
忘れていただけでした(^^ゞ
お騒がせいたしました。
715:デフォルトの名無しさん
08/09/09 23:36:55
.NET2005環境を利用しています。
Private Sub ShowMsgBox(ByVal PromptText As String, Optional ByVal Type As Integer = 0, _
Optional ByVal Title As String = "")
に対して、配列CmdArgsの1番目(0番目ではない)~3番目の要素を
引数として渡したいのですが、2番目・3番目の要素は省略される可能性があります。
呼び出しについて例としてPerlで書くと、「$ShowMsgBox(CmdArgs[1..$#CmdArgs]);」のように
不定要素数の配列をインデックス1から最後まで指定して投げることが出来ますが、
VBではどのような形で呼び出せばいいでしょうか。
要素数を判別して、条件毎に呼びだし方を変更するしかないでしょうか。
716:デフォルトの名無しさん
08/09/09 23:58:56
>>715
ShowMsgBox(ParamArray args as Object())でも多重定義しとくとか。
まあどのみちその中で要素数を調べてToStringして別のシグネチャのShowMsgBoxを
呼び出すコードを書くわけで、同じといえば同じかもしれないけど。
っていうか趣味の問題かもしれんがOptionalは使わない方がいいんじゃないか?
717:715
08/09/10 00:20:30
>>716
なるほど、即レスありがとうございます。
要素数判定で呼び出し方を返る、という形で書いてみましたが
かなり冗長な呼び出し方になってしまい、本末転倒な感じがしてきました。
If CmdArgs.Length > 3 Then
ShowMsgBox(CmdArgs(1), CmdArgs(2), CmdArgs(3))
ElseIf CmdArgs.Length > 2 Then
ShowMsgBox(CmdArgs(1), CmdArgs(2))
Else '←必ず0、1番目の要素は定義されている
ShowMsgBox(CmdArgs(1))
End If
ShowMsgBox側で配列としてまとめて受け取ってから、
処理した方が良さそうですね・・・。
>Optionalは使わない方がいいんじゃないか?
C感覚で勉強中だったので、多重定義が可能なことを忘れていました。
もう少し勉強してみます(`・ω・´)
718:デフォルトの名無しさん
08/09/10 01:26:13
ドレミファソラシドの周波数を算出するため、十二平均率
URLリンク(ja.wikipedia.org)
の周波数比を計算させたいのですが、ExcelのPOWER関数のような累乗根計算の方法はありませんか?
719:デフォルトの名無しさん
08/09/10 01:36:09
Math.Pow
720:デフォルトの名無しさん
08/09/10 02:17:05
>>719は累乗と累乗根の違いすら分かってないから参考にしないように。
721:デフォルトの名無しさん
08/09/10 03:17:17
ニヤニヤ
722:デフォルトの名無しさん
08/09/10 08:55:11
Math.Pow( >>720, 1.0/12.0);
723:デフォルトの名無しさん
08/09/10 11:37:07
>>720
やる夫
724:718
08/09/10 12:12:07
>>719,722
ありがとうございます!
以下のようにしたら十二平均律の周波数を算出できました。
Dim i As Integer, fr(12) As Double
For i = 0 To 12
fr(i) = Math.Pow(Math.Pow(2, i), 1.0 / 12.0)
Next
725:722
08/09/10 12:35:12
>>724
素直に
Math.Pow( 2.0 , i / 12.0)
と書くべし
726:デフォルトの名無しさん
08/09/10 12:49:08
ワロタ
727:デフォルトの名無しさん
08/09/10 12:53:46
素直なのは>>724なんじゃない?
整理したら>>725だけどさ
x _
√a = a^(1/x)
であるから、
x __
√a^b = (a^b)^(1/x)
となり、十二平均律では、x = 12, a = 2, b = (1から12)となるので、
12 __
√2^b = (2^b)^(1/12)
bをiとして、
2^i = Math.Pow(2,i)
これにより、
Math.Pow(Math.Pow(2, i), 1.0 / 12.0)
728:デフォルトの名無しさん
08/09/10 13:02:47
意味が分からずに言われたとおりに簡略化して書いてる奴って職場だとホント困るんだよな・・・。
729:デフォルトの名無しさん
08/09/10 13:04:56
中学数学でしょ
730:722
08/09/10 13:09:00
主観入ってたわ。
頭の中で
x __
√a^b = a^(b/x)
になってた。
というわけで、>>725を訂正して、
Math.Pow()を2回呼ぶより、整理して1回にしたほうが良いと思う。
分かりにくかったら無視してくれ。
731:デフォルトの名無しさん
08/09/10 13:15:30
Math.Powは見るからに処理長そうだしねえ
慣れるまでは理解するまでベタ書きが無難だが
慣れたら呼び出す回数を減らすことを勧めたい
732:デフォルトの名無しさん
08/09/10 13:44:50
問題にはならないだろうけど、一応精度の問題もある
733:デフォルトの名無しさん
08/09/10 17:19:53
ここぞとばかりにOOoのMath使ってみたんだけど
ほんとハナクソだな・・・('A`)モウツカワネ
URLリンク(www1.axfc.net)
734:デフォルトの名無しさん
08/09/10 17:30:52
404 Not Found
735:デフォルトの名無しさん
08/09/10 17:32:29
すまん、リファラ読んでるっぽいな。
URLリンク(www1.axfc.net)
736:デフォルトの名無しさん
08/09/10 20:34:53
>>727
発想が逆立ちしてるよw
数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
12音階というのは2(1オクターブ)を対数軸上で12等分したもの、
というのが全ての出発点で12乗根√2っていうのはそこから導出した値に過ぎないんだよ。
対数軸(y = log(x))上の等差数列はxの世界では等比数列になる、って考えてもいいけど
普通は直感的に基準となる音からn番目の音の周波数は2の(n/12)乗倍だってわかるだろ。
737:デフォルトの名無しさん
08/09/11 16:35:43
すみませんが、質問です。
Googleなどの検索エンジンで .NET の情報を効率よく集めるには、どのような
検索語にすればよいでしょうか?
ただ入力すると、.netというドメイン名にばかりヒットしてしまいます。
738:デフォルトの名無しさん
08/09/11 16:40:29
>>736
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
>数学できない子にありがちだけど、問題を自分でわざわざ複雑にしてるよ。
739:デフォルトの名無しさん
08/09/11 16:43:02
検索エンジンの使い方までサポートする幅広いスレだな
せめてVBで検索しろ
740:デフォルトの名無しさん
08/09/11 16:53:14
>>739
ありがとうございます。C#で検索することにしました。
.NETは別にC#だけではないのですが、関係ないページばかり見つかるよりマシです。
741:デフォルトの名無しさん
08/09/11 16:55:30
いやVisualStudioだろ
742:デフォルトの名無しさん
08/09/11 17:14:38
VisualStudio は .NET だけじゃないんじゃ?
743:デフォルトの名無しさん
08/09/11 17:23:41
だから.NETと組み合わせるんじゃ?
でもVisualStudioじゃ取りこぼし多そうだがなあ
744:デフォルトの名無しさん
08/09/11 17:40:51
うん、組み合わせのつもりで言ったぞ
VisualStudio .NET 2005 +言語名なら確実だろう
745:デフォルトの名無しさん
08/09/11 17:45:11
マイクロソフトは一般名詞を商標にして
いつの間にか自社製品を示す言葉にするのが得意だからな。
746:デフォルトの名無しさん
08/09/11 17:54:08
そうだね。あれは本当に迷惑。
昔の話だけど .doc という拡張子は元々テキストファイルのものだったのに、
勝手に MS Word のものにされた。
Word という名前といい、いまだに腹が立つ。
747:デフォルトの名無しさん
08/09/11 17:56:00
それはそれとして、ノイズが混じらなくて、取りこぼしをなるべく少なくする
には、どんな検索語がいいかな。
VisualStudioは、ちょと取りこぼし多そう。
748:デフォルトの名無しさん
08/09/11 18:14:16
そろそろスレチじゃね
.NET資料の探し方とは言え、googleの検索仕様に左右される話題だし
749:デフォルトの名無しさん
08/09/11 18:31:12
正規表現を使うって発想がないWindowsの天下で
わざわざ正規表現を実装する検索サイトはないよな
あったら凄まじく便利なんだが
750:デフォルトの名無しさん
08/09/11 18:34:42
有るわけがない。
文化の問題ではない。
751:デフォルトの名無しさん
08/09/11 18:59:48
ここで正規表現が使える奴が居るかも怪しい
752:デフォルトの名無しさん
08/09/11 19:45:57
.NETにも正規表現クラスあるけどちょっと使い方がまどろっこしい
753:デフォルトの名無しさん
08/09/11 23:27:37
正規表現は一種のツールだからな。
プログラミングサイドで実装されてても、
OS側が環境として提供してくれないと・・・
754:デフォルトの名無しさん
08/09/11 23:44:32
>>746
外国だとテキストファイルに.docはマイナーだったって聞いている。
わざわざかぶること前提で.docに決めたわけなかろう。
755:デフォルトの名無しさん
08/09/12 00:04:36
少なくとも.NETはトップレベルドメイン.netとかぶること前提だけどな
756:デフォルトの名無しさん
08/09/12 09:57:40
しかし readme.doc は国内外を問わず添付されてた気が
757:デフォルトの名無しさん
08/09/12 10:03:53
拡張子の制約で使い勝手を縛るのはWindowsとhttpのMIMEtypeだけだよ。
758:デフォルトの名無しさん
08/09/12 10:26:40
知ったようなことを言う
759:デフォルトの名無しさん
08/09/12 11:59:51
反論すら成立してない
760:デフォルトの名無しさん
08/09/12 19:55:34
そういやマックのファイルっていまだにマックバイナリ付いてるの?
761:デフォルトの名無しさん
08/09/13 09:07:27
ビジュアルベーシック.NETでOSは作れますか???
762:デフォルトの名無しさん
08/09/13 09:09:50
>>761
少なくともバカは治せない
763:デフォルトの名無しさん
08/09/14 03:50:40
>>760
マックバイナリが何なのか理解してないね
764:デフォルトの名無しさん
08/09/14 12:43:56
>>763
意味が分からない。
どうせ絡むならはぐらかしたような言い方せずに全部言えよ。
「何なのか理解していない」のが君の方でなければなw
765:デフォルトの名無しさん
08/09/14 12:51:38
調べればいいだろ
「いまだに」とかつける勘違い名人には教えません
766:デフォルトの名無しさん
08/09/14 13:04:24
>>765
一般的事実なら調べれば分かるかもしれないが、
馬鹿なお前さんの独善的「思い込み」の意味をどう調べろって言うのかね。
本当、最近こういうセカイ系的メンタルの奴が多くて困る。
767:デフォルトの名無しさん
08/09/14 13:08:06
というか、何も具体的なこと言えないから最初から人に絡むなよ。
768:デフォルトの名無しさん
08/09/14 23:24:20
C++スレで自分では答えられないザコから誘導されてきました
VC++ 2005 Express
自分のアプリから、別のアプリが起動してるかどうか見たい
207 名前:デフォルトの名無しさん[] 投稿日:2008/09/14(日) 20:48:40
iniファイルは釣りでした。
起動してるプロセス(リスト)の取得教えて
210 名前:デフォルトの名無しさん[sage] 投稿日:2008/09/14(日) 21:59:34
くだすれ.NET逝け
769:デフォルトの名無しさん
08/09/15 03:05:51
うん。見れば
770:デフォルトの名無しさん
08/09/15 04:23:42
>C++スレで
やっぱりC++/CLIとC++の区別が付いてなかったのか、VIPに逝け
771:デフォルトの名無しさん
08/09/15 19:45:31
質問です。
WINDOWS XP使用で、コンパイラはBorlandC++compiler5.5です。
インストールしたあとパスの設定で、
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\GTK\2.0
とあったところに\bin;c:\Borland\Bcc55\binと付けました。
なのに、実際コマンドラインでメモ帳を開こうと>C:\WINDWS\NOTEPAD.EXEと打ち込んでも、
指定されたパスは見付かりませんとでます。(NOTEPAD.EXEはCディスクの中のWINDWSに入れてあります。)
他にもカレントディレクトリを変えようとして、>cd ○○と打っても、
確かにあるはずなのに指定された(ryになってしまいます。
誰か助け手ください(涙)
772:771
08/09/15 20:08:40
スレ違いのようでしたので、他に聞いて見ます。
すみませんでした。
773:デフォルトの名無しさん
08/09/16 22:58:28
質問ですお願いします。
C#でUDP通信するソフト作ってるんですが、
通信時の暗号化に3DES使おうとプラグロミングして
reflectorで覗いたらキー丸見えで萎えました。
クラックを防げる暗号化ってどう実装したらよいでしょうか
制限事項としては
(制限1)クライアントで暗号化したものをサーバで複合できる(逆も然り)
(制限2)上記制限1のため、暗号化キーは固定する必要あり?
3DESのキーをまた暗号化してしまうとか、
キー生成アルゴリズムを埋め込んで、キー自体を持たないとか
外部にキーを持たせてdll参照するとか色々考えたんですが
結局トレースされたらばれてしまうのでティンときませんでした。
道かよろしくお願いします。
774:デフォルトの名無しさん
08/09/16 23:04:49
3DESじゃなきゃだめなの?
公開鍵じゃだめなの?
775:デフォルトの名無しさん
08/09/16 23:09:06
公開鍵も考えたんですが、ようは、誰かが作った偽クライアントがサーバに接続されるのを防ぎたかったので
鍵自体バレると・・・と思ったけど
今よく考えたらreflectorでソース見れる時点で暗号化どうのこうののまえに偽クライアントは作れてしまいますね。。。
.netで作るのをやめる事にします。
どうもありがとうございました。
776:デフォルトの名無しさん
08/09/16 23:42:59
これは酷い思考停止
777:デフォルトの名無しさん
08/09/16 23:44:50
ネイティブで作ったって一緒。
まあ解析しにくいことは否定しないが。
本当に安全にやるなら、SSLとかでやってるのと同じような仕組みを作らにゃならん。
778:773
08/09/16 23:59:23
すみません775は私です。
私は生産者側なのでクラックにはあまり興味ないですが、.NETの形態上ソースが見えてしまうのは仕方がないんですよね。
今まで、いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。
生産対象物がきわめて専門的なBtoBのようなソフトであれば、ソースをほしがるような客先は少ないです。
逆に、保守のことを考え、わざわざソースをセットで渡してしまうこともありますが、
たとえばネットゲームのような、完全なBtoCまたはCtoCの形を取るソフトであれば、不特定多数のクライアントがいるわけで
そのなかには必ず中身を解析したり、場合によっては不正な手順でサーバにアクセスする人たちが出てきます。
そういった人たちのモチベーションに反比例するのが解析の難しさ、めんどうさだと思います。
もちろん従来のネイティブコードでクラックできないわけではないですが、.NETよりはめんどうです。
そうした意味では、.NETという、言ってしまえば実行ファイルのソースが公開されているプラットフォームを避けるのも一つの手かなと思いました。
長くなりましたが、つまり、知りたいことは、
1).NETでClient/Server作ってる人は、どういう実装をされてるんでしょうか。
2)そもそも.NETは使わないんでしょうか。
度々すみませんがもう少し知恵をお貸しください。
779:デフォルトの名無しさん
08/09/17 00:04:57
だから本当に確実な認証が必要なら、パスワードか証明書かICカードかUSB鍵か、
とにかくソースを解析しても不可能な方法をとるわけだよ。
>いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。
それってどんな認証だよっていうか認証って言わないだろそんなの。
780:デフォルトの名無しさん
08/09/17 00:12:17
ん?
ひょっとして接続が許可された人間でも偽クライアント(というかその許可情報)を使用した接続とか
できないようにしたいって言ってる?
そんなことは基本的には不可能だよ。
たとえばソース解析するまでもなくそのクライアントアプリをコピーして別のマシンで動かした場合はどうなるんさ?
※パスワードやらその他認証用の情報も基本的に同じようなもの
781:773
08/09/17 00:12:45
>>779
すみません話を混ぜて書いてしまいました。
>いかに破られない認証をするかを考えてきましたが、認証の部分だけ省いてソースをコピペしたらちゃんと動いてしまうんですよね。
これは、キーさえわかっていれば他の部分コピペして新たに偽クライアント作ったらサーバ側からは偽クライアントだとはわからないという意味です。
パスワードか証明書かICカードかUSB鍵がいらない偽クライアントが出来てしまえばサーバ側では対処できないだろうという意味で書きました。
ネットゲームのBOTツールとかがそれにあたるんでしょうか。
782:773
08/09/17 00:15:19
>>780
そうです!それが言いたかったんです。
クライアントアプリの複製は問題ないです。
クライアントアプリを騙って不正なパラメータでアクセスをされるのを防ぎたいんです。
783:デフォルトの名無しさん
08/09/17 00:27:03
不可能。
だってクライアントが正しいかをサーバ確認できるのは通信内容によってのみだから。
基本的にクライアントプログラムが本物かを「確実に」確認する方法はない。
784:773
08/09/17 00:42:33
だとすると、暗号化の議論の中では邪道とされている、処理の隠蔽しか暫定的な回避策は無いですね。
.NETには不可能ですが。
逃げにしかなりませんが、Client側はネイティブな別の言語に移植する事にします。
また、暗号化のクラック対策としては、定期的にClient/Serverともアップデートをかけて、
実行前にキーを変更する仕組みにしようと思います。
勉強になりました。
ありがとうございました。
785:デフォルトの名無しさん
08/09/17 00:47:00
つーか難読化とか耐タンパとかでググれって誰も言わないのは何でなんだぜ?
786:773
08/09/17 01:03:15
>>785
そんなのがあったのですね。勉強不足でした。
早速フリーの難読化ソフトで実験してみたら、実行は出来るのにコンパイルが通らないソースが出来上がり感動しました。
さすがに定数は難読化されなかったですが。
ソフトの種類によっていろいろなのかな。
ちょっと色々調べてみます。ありがとうございました。
787:デフォルトの名無しさん
08/09/17 01:42:37
本格的には使いにくいからじゃね?
788:デフォルトの名無しさん
08/09/17 14:36:03
javaseで掲示板へ投稿するスクリプト作れますか?
ポストリクエストを少々いじるのはjavaeeになるのでしょうか?
よろしくお願いいたします
789:デフォルトの名無しさん
08/09/17 19:48:25
ここ数件の 書き込みに 対して スレタイ 欲嫁 と 言ってやりたい
790:デフォルトの名無しさん
08/09/17 20:29:49
Form2が閉じた時にForm1を更新するにはForm.Closedイベントを使えばいいのはわかるんだけど、
Form1から、Form2が”閉じてる”て状態を捉えるにはどうすればいいのですか?
Form2.Enabled = Falseじゃ駄目みたいなんだけど
VB.NETです
791:デフォルトの名無しさん
08/09/17 21:02:32
Visible
792:デフォルトの名無しさん
08/09/17 21:53:24
IsDisposed
793:デフォルトの名無しさん
08/09/17 22:10:00
どういう動作を意図してるかわからんけど
閉じてるかどうか判断して閉じてたら開きなおすならこんな漢字化
Public Class Form1
Dim f2 As Form2 = Nothing
''' <summary>
''' Form2をShowする
''' </summary> '''
Private Sub ShowForm2()
'Form2をはじめて開く場合
If f2 Is Nothing Then
f2 = New Form2
Else
'Form2が閉じてた場合
If f2.IsDisposed Then
f2 = New Form2
End If
End If
f2.Show(Me)
f2.Activate()
End Sub
End Class
794:デフォルトの名無しさん
08/09/17 23:11:49
>>790
Application.OpenFormsで現在開いている(表示されている)フォームのコレクションが取得できる。
こんなかに、Form2が入っているかどうか見ればいいかと思われる。
795:デフォルトの名無しさん
08/09/17 23:21:14
790です
色々ありがとうございました
勉強になりました
意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。
796:デフォルトの名無しさん
08/09/17 23:42:27
>>795
それだと状態を常に監視する為にコールバックしないといけないような
というかそもそもその動作ならForm2が開いているかどうかは関係ないよ
button1が押されたときに
button1.Enabled=False
Form2が閉じるときに
DirectCast(Me.Owner, Form1).Button1.Enabled = True
797:796
08/09/17 23:44:17
途中で送信してしまった
スマソ
Form2を開くボタン(仮にbutton1)のスコープをForm2から参照可能にしておいて
>>795みたいなかんじでやれば、Form2の状態など監視せずにスマートにいけるんじゃね
798:797
08/09/17 23:45:59
安価間違いグダグダスマソorz
×>>795みたいなかんじ
○>>796みたいなかんじ
799:デフォルトの名無しさん
08/09/17 23:46:33
>>795
そういうのはForm1の適当なメソッドにForm2の適当なイベント(例えばFormClosed)を
紐付けするんだよ。
VBならForm2の参照をWithEventsで持つ方法でもいい。
というか、くだすれか何か知らんけど、
こんなレベルの話は入門書を一冊軽く斜め読みすれば分かることで
掲示板で人に聞くような内容じゃない。
800:デフォルトの名無しさん
08/09/17 23:49:26
799
まぁまぁ「くだすれ」なんだから
ごもっともだけども。
801:デフォルトの名無しさん
08/09/17 23:52:38
>>794のやつが一番スマートだと思われるが。
Form2のNameプロパティに"Form2"と設定してあれば
If Application.OpenForms("Form2") Is Nothing Then
MessageBox.Show("Form2は閉じてる")
Else
MessageBox.Show("Form2は開いてる")
End If
と判断できるし
802:デフォルトの名無しさん
08/09/17 23:57:13
>>801
?
ずっとチェックするの?
>意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。
僕はその意見には反対ですが、
まぁ、一番スマートなやり方はどうかは別にして、やり方はいくつもあるってことだね
初心者はいろいろやってみて、一長一短あるのを自分なりにとらえるようになるのも勉強だ
803:デフォルトの名無しさん
08/09/18 00:11:44
>意図していた動作は、Form1にある、Form2をshowするボタンを、Form2が開いてる間は無効にする、というものでした。
であれば、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim f2 As New Form2()
f2.Show()
Button1.Enabled = False
AddHandler f2.Disposed, AddressOf Me.Form2_Disposed
End Sub
Private Sub Form2_Disposed(ByVal sender As Object, ByVal e As EventArgs)
RemoveHandler CType(sender, Form2).Disposed, AddressOf Form2_Disposed
Button1.Enabled = True
End Sub
804:デフォルトの名無しさん
08/09/18 11:10:57
Disposedで良かったっけ?
Showなら良かったんだっけかな。
805:デフォルトの名無しさん
08/09/18 14:48:09
クラスにこういうプロパティを実装しています。
------------------------------
Private mHOGE As String
Public Sub New()
Me.HOGE = ""
End Sub
Public Property HOGE() As String
Get
Return HOGE ←※
End Get
Set(ByVal value As String)
mHOGE = value
End Set
End Property
------------------------------
※のところで、
「変数 'HOGE' は、値が割り当てられる前に使用されています。Null 参照の例外が実行時に発生する可能性があります。」
という警告が出るのですが、これは書き方がどこか間違っているのでしょうか。
806:デフォルトの名無しさん
08/09/18 15:15:46
それ以前に無限ループになるのは確実だわな。
807:デフォルトの名無しさん
08/09/18 15:24:02
これは俺もたまにやっちまう。
セッターの方だといきなりスタックオーバーフローでめげるぜ。
808:デフォルトの名無しさん
08/09/18 15:25:43
いやセッターとも限らんか。
ともかく実行したらアウチ
809:デフォルトの名無しさん
08/09/18 15:37:55
すみません。
Return mHOGEですよね。
よくよく読んだら理解できましたorz
810:デフォルトの名無しさん
08/09/18 17:20:06
XP3
.NET C#のSDKのURLください
811:デフォルトの名無しさん
08/09/18 17:38:58
kaiketusita
812:デフォルトの名無しさん
08/09/18 21:36:31
質問です。
パスワードを設定したExcelのファイル(オープン時にパスワードを求められる)があるのですが
これをC#からパスワードを自動入力で開く方法ってありませんか?
普通にダブルクリックしたときはパスワード入力、
C#で作ったプログラムで開くボタンをクリックすれば
パスワード入力なしでエクセルを起動するってしたいんです。
詳しいかた宜しくお願い致します。
813:デフォルトの名無しさん
08/09/19 01:47:24
.NET1.1はSDKを含め、全てアンインストールしてもいいのでしょうか?
マイクロソフトは.NET1.1をどのような位置付けで考えているのでしょうか
814:デフォルトの名無しさん
08/09/19 11:44:15
Change系のイベント連鎖についてですが
避けたくてもどうしてもTextBox1のChangeイベントでTextBox1.Textに
値を代入しなくてはならない、なんて場面はよくあると思いますが、
みなさんどうやって連鎖を回避されていますか?
フォームレベルのフラグ変数とか、
他コントロールのフォーカス使ったりとか、
わざわざ条件を自作するような技しかないんでしょうか。
815:デフォルトの名無しさん
08/09/19 19:13:53
>>814
>なんて場面はよくあると思いますが
いやそうそうないと思う。
というより、そんなことを思った時は大抵ロジックが不適切なんだと思う。
少なくとも処理内容と目的を具体的に書かないと納得できないよ。
816:デフォルトの名無しさん
08/09/20 10:12:29
>>815
不適切なロジックでもやらないといけない場面はよくある
書く人の志向だけで作れるような、そんな恵まれた職場や
案件ばかりじゃないよ、実際
817:デフォルトの名無しさん
08/09/20 11:44:23
まあそうだけど、でもそうとも限らん。
何も言ってないのにそういう事情を考慮する義理もない。
818:デフォルトの名無しさん
08/09/20 18:38:36
>>813に回答お願いします
819:デフォルトの名無しさん
08/09/20 18:51:38
>>818
おすきにどうぞ。
何が動かなくなっても知りません。
820:デフォルトの名無しさん
08/09/20 21:18:26
>>813
普通に普通のランタイムと同じじゃないの?
それを使っているアプリがあれば、そのアプリが動かなくなるだけ。
821:デフォルトの名無しさん
08/09/20 21:20:16
よく分からんな、使ってないなら要らんし使ってるなら要るだろう。
別にランタイムだけなら残しといてもたいしたことないと思うが。
822:デフォルトの名無しさん
08/09/21 08:48:20
ここの住人がそれを使ってるアプリが今後も量産されていくという展開をお読みになる、または1.1しかありえない2.0以降で.NET?はぁ?ということならば消さないでおきます
つまり2.0以降より必要度が低いのであれば消します
HDDが40GBしかないもんで
823:デフォルトの名無しさん
08/09/21 10:50:12
そりゃ必要度は低いだろ。
だがわざわざ消すほどの容量でもないんでは?
ってだけだ。
824:デフォルトの名無しさん
08/09/21 11:48:57
.NET1.1必須のやつはそう多くないし、消してもいいんじゃないかね。
必要になったらまた入れればいいさ
825:デフォルトの名無しさん
08/09/21 14:27:02
そう言ってくださるならば消します
マイクロソフトは1.1を黒歴史的に捉えてると思わざるをえないので
826:デフォルトの名無しさん
08/09/21 14:34:24
黒歴史は1.0であって、1.1は現役
827:デフォルトの名無しさん
08/09/21 14:58:39
そりゃ、どんなソフトメーカーでも同じで、
旧バージョンは出来るだけ使って欲しくないよな。
828:デフォルトの名無しさん
08/09/21 15:16:49
よく分からんが、仮に黒歴史と捉えてたとしてだからどうってもんでもないだろ。
開発者の立場ならそりゃ分かるが。
829:デフォルトの名無しさん
08/09/21 16:09:08
動作必須環境に 「.NET1.1」と書かれているのと「.NET2.0以上」と書かれていた場合、
どちらがより多くの支持を集めますか?
830:デフォルトの名無しさん
08/09/21 16:57:03
フリーソフト作者?
フリーソフトのユーザー限定ならドトネト製というだけで却下という人が多いんじゃないか。
よくも悪くも.NETはパッケージ以外の業務用ソフト以外ではあまり普及してないのが現実だろう。
というか、他人に背中押して欲しい優柔不断な奴かなんかしらんが、
そんなこと自分の頭で考えたらどうよ。
831:デフォルトの名無しさん
08/09/21 17:28:49
1%でもよ多くの支持を集められそうな方はどちらですか?
というか、超初心者ですので曖昧な回答は必要ありませんし、
自分の頭よりは、あなたたちの意見の方が正確性が高いと判断しております
832:デフォルトの名無しさん
08/09/21 17:33:23
なるほど、君は例えば「朝まで生テレビ」のような番組(まあ下らない番組だけど)
を見て「いつも結論がでない」とか的外れな批判をするそういうタイプの馬鹿なんだね。
833:デフォルトの名無しさん
08/09/21 17:35:32
いいえ、人物考察等はスレ違いですし、必要がありません。
自重していただければこれ幸いと存じます
834:デフォルトの名無しさん
08/09/21 17:36:34
Ver違いでなんか支持変わんねえよ 糸冬了
はい次の方~
835:デフォルトの名無しさん
08/09/21 17:39:50
私も質問です
.NET1.1のランタイムは削除して良いのですか?
836:デフォルトの名無しさん
08/09/21 17:47:42
こんなの釣り人に決まってるだろ
837:デフォルトの名無しさん
08/09/21 17:49:21
>>836
>>833
838:デフォルトの名無しさん
08/09/21 17:50:03
.NET 1.1必須といえばVS2003やTurbo Delphiといった開発ツールくらいかなぁ。
大概の1.1用のアプリは.NET2.0上でも動く。
839:デフォルトの名無しさん
08/09/21 17:59:35
RinGOchは動かない
840:デフォルトの名無しさん
08/09/23 21:12:11
>>812もお願いします。
841:デフォルトの名無しさん
08/09/23 22:16:50
ここに書いてある通りじゃダメなの?
URLリンク(msdn.microsoft.com)
っていうか、エクセル操作しようっていうのにMSDNもエクセルのVBAのヘルプも
見てないわけひょっとして?
842:デフォルトの名無しさん
08/09/24 13:48:52
VB2008のExpressでプログラムの勉強を始めたばかりの者です
バックグラウンドでキーボード入力を監視するソフトを作りたいんですけど、入力文字を盗み見するところで悩んでいます
どういった方法が一般的でしょうか
843:デフォルトの名無しさん
08/09/24 13:52:39
また水前寺清子か・・・
844:デフォルトの名無しさん
08/09/24 13:56:26
いっぽんどっこの唄を思い出した
845:デフォルトの名無しさん
08/09/24 14:13:37
若い子じゃわからないネタだし、わかる年代だとチートがわからんだろ
846:デフォルトの名無しさん
08/09/24 19:47:49
両方のチーターが分かる年代でもキーローガーとチートが頭の中で
概念的に結びついてる奴はいないと思うわ。。
847:デフォルトの名無しさん
08/09/24 20:29:07
キーローガー作んなよボケが
848:デフォルトの名無しさん
08/09/25 01:36:52
キーロガーつくるワケではないです
入力されたキーによって音を鳴らそうってだけなんです
849:デフォルトの名無しさん
08/09/25 01:48:40
年貢とは納めるもの
850:デフォルトの名無しさん
08/09/25 06:29:06
それワンツーワンツー
851:デフォルトの名無しさん
08/09/25 09:59:51
まあキーボード フックでググれ
.NETでもできるみたいだぞ
852:デフォルトの名無しさん
08/09/25 19:43:56
ありがとうございます
853:デフォルトの名無しさん
08/09/28 09:11:22
.netで作ってる自分のプログラムからWordやExcelをモーダルで開くことってできますか?
854:デフォルトの名無しさん
08/09/28 20:40:17
お前のプログラムのことなんて知らんがな
855:デフォルトの名無しさん
08/10/02 12:06:51
ツリーコントロールにコンテキストメニューを設定しているのですが、
ノードを右クリックすると、一瞬そのノードが選択されたあと、すぐに
直前のノードにフォーカスが戻った状態でコンテキストメニューが開いてしまいます。
右クリックしたノードが選択した状態でコンテキストメニューが開くようにするには
どうすればいいでしょうか?
856:デフォルトの名無しさん
08/10/02 17:04:26
>>855
マウスダウン時にクリックしたノードを選択ノードに設定するとか
Dim hti As TreeViewHitTestInfo = Me.TreeView1.HitTest(e.Location)
If hti.Node IsNot Nothing Then Me.TreeView1.SelectedNode = hti.Node
857:デフォルトの名無しさん
08/10/03 19:11:10
2008をインストールしていたのですが
Web Developerの方は完了後に出たリンク先からLive IDに入り登録キーをとれました
VC++,VBの方は閉じてしまって登録キーを得られるページがわからなくなってしまいました
登録キーを得られるページの入り方(アドレス)を教えてください
858:デフォルトの名無しさん
08/10/03 19:25:16
MSサポセンに電話
859:デフォルトの名無しさん
08/10/03 19:27:36
書き忘れました
Express Edition です
860:デフォルトの名無しさん
08/10/03 19:49:50
じゃあ俺がサポセンで聞くから番号載ってるアドレスよこせ
861:デフォルトの名無しさん
08/10/03 19:59:20
番号? DLインストールしたものなんですが
Webから取得できないんですか
なぜDeveloperだけできたんだろう?
862:デフォルトの名無しさん
08/10/03 20:13:35
メール受信したか?
863:デフォルトの名無しさん
08/10/03 20:21:07
はい、Developerのやつだけ
864:デフォルトの名無しさん
08/10/03 20:44:42
ああ、登録のところからできそうです
お手数かけました
865:デフォルトの名無しさん
08/10/03 23:52:34
さいきん遊びで.net(C++)はじめたんですが、
javaプログラマが.netやるにあたりこれをみとけば
導入しやすいというサイト等ないでしょうか?
null判定やら整数判定やら、その他もろもろ一々
調べないといけないので効率わるいです。。。
866:デフォルトの名無しさん
08/10/04 00:01:43
>>865
URLリンク(msdn.microsoft.com)(VS.80).aspx
C#に関するMSDNの記事としてはかなり親切で優秀
867:デフォルトの名無しさん
08/10/04 00:05:07
ああC++/CLIか
先にC#やったほうが入りやすいんじゃね
868:デフォルトの名無しさん
08/10/04 00:10:24
・・・なんで C++/CLI。その言語、C++ と CLI 両方に精通していないと
難しいから両方初心者なら基本お断りだぞ。いや、というかむしろ
そうでないと使う意味がない方が正確かも。
既存コード等があってそれとの相互運用したいとか、ちょっと細かく
最適化したいとかそんなときに使うもの。
869:デフォルトの名無しさん
08/10/04 00:13:44
すごく限定された一部の特殊な目的のために部分的に使う言語であって常用するもんじゃない
870:デフォルトの名無しさん
08/10/04 00:16:09
ネイティブのラッパー書くときは楽だよな
871:デフォルトの名無しさん
08/10/04 00:17:49
でもあくまでラッパーまでなんだよね
それがMS推奨のスタイルみたいだし
872:865
08/10/04 00:25:35
なるほど。
なんで選んだかというと、
C++の勉強がてら、あとはとりあえず.netも
みておくかと思ったからです。
あと.netあるのでいろいろ用意されていそうで
楽かな~とも思いました。
873:デフォルトの名無しさん
08/10/04 00:33:39
.NETやるならまずC#かVB.NET
C++/CLIだけやっても意味がないよ
874:865
08/10/04 00:45:21
う~ん、
いろいろドキュメントみた限りだと、C#やVBとならんで
C++も並列な位置づけで選択可能にみえたんですが・・・
たとえばwikipedia。
URLリンク(ja.wikipedia.org)(ja).png
要はコンパイラさえあれば良いように見えて、
そしてC++コンパイラがあるので、C++を選ぶことに
躊躇がなかったんですよ。
875:デフォルトの名無しさん
08/10/04 02:02:44
VC++コンパイラ(C++/CLI言語)はその中でも特殊で、
部分的に非.NETの(x86とかの)ネイティブな機械語を含むプログラム(混合アセンブリ)を出力でき、
そうでなくとも非.NETなプログラムとの親和性が大変良くて、
というかそもそも従来のC++の構文はそのままに.NET用の構文がまるまる追加されているだけで、
そのせいで非.NETと.NETを両方使おうとするとデータの変換が面倒だという具合。
876:デフォルトの名無しさん
08/10/04 02:12:51
世界一の/clr:safe使いに俺はなる!
877:デフォルトの名無しさん
08/10/04 11:24:42
アンマネージコードを混ぜないならC++/CLIをわざわざ使うメリットがないんだよね
自由度がほんの少し高いだけで、できることはC#と変わらない
文法が複雑でC#やVBより低レベルで面倒、VSのサポートも貧弱、情報少ない
C++ができる人でも学習コストは決して低くない(C#に移行した方が早いかも)
878:デフォルトの名無しさん
08/10/04 15:52:45
んじゃWINDOWSでC++やるなら黙ってMFCか
WIN32API直接たたいてろってことですかね?
879:デフォルトの名無しさん
08/10/04 15:57:55
ATL/WTL 忘れてる
880:デフォルトの名無しさん
08/10/04 18:35:36
そもそもなんでC++なんだ
881:デフォルトの名無しさん
08/10/04 19:01:01
VC++6.0ってもうゴミなの?
882:デフォルトの名無しさん
08/10/04 21:28:27
使えるか使えないかなら使えるからごみというのはどうかだけど
不自由するか不自由しないかなら確実に超不自由する
さすがに 10 年前のソフトなので
883:デフォルトの名無しさん
08/10/04 22:06:57
MSDNが死んでます;;
884:デフォルトの名無しさん
08/10/06 20:57:53
Oracleへの接続をoo4oからODP.NETに変更したいのだが、
oo4oとODP.NETの差分をうまく吸収してくれるクラスって
どこかに公開されてないですか?
oo4oを使用していたときのロジックをできるだけそのままにしたい。
885:デフォルトの名無しさん
08/10/12 01:34:53
以下のコードを実行するとStackOverflowExceptionが発生します。
array<String^>^fileEntries = Directory::GetFiles((String^)Directory::GetCurrentDirectory());
何がいけないのか、コールスタックを見ようにも見方が分からず・・・
886:デフォルトの名無しさん
08/10/12 12:34:20
>>885
例外が起きている場所がそこでない可能性もあるな。
デバッグビルドになってないとか、設定で最適化がONになってるとか。
887:デフォルトの名無しさん
08/10/12 21:12:58
C#を勉強しましたのでVisualC#2008でアプリケーションを作ろうと思っています
TableLayoutPanelでEXCELの枠固定みたいなことって出来るのでしょうか
作りたいアプリのカラムが結構な数になるので カラム2と3の間を固定できるようなプロパティがあれば教えていただけないでしょうか
TableLayoutPanel以外のクラスでも出来るのであればそれも教えていただけないでしょうか
よろしくお願いいたします
888:デフォルトの名無しさん
08/10/12 21:15:02
'Microsoft Visual Basic.NET 2003 の初心者ですが、質問させてください。
Imports System
Imports System.IO
Public Class Form1
Inherits System.Windows.Forms.Form
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As StreamReader = New StreamReader("テスト.txt")
Dim line As String
Dim str01 As String
Dim str02 As String
Dim str03 As String
Do
' テスト.txt内の1行を読み込んだ後、それぞれ変数の中に入れたいのです凹
line = sr.ReadLine()
' 結果
'str01 = "a"
'str02 = "123456"
'str03 = "テスト00 "(256バイト固定)
' どういった方法があるのでしょうか??
Loop Until line Is Nothing
sr.Close()
End Sub
End Class
'********************************
'テスト.txt内容
'********************************
a,123456,テスト00(名前256バイト)
b,654321,テスト01名前
c,112233,テスト02
'********************************
ちゃんとした質問になっているのかさえわかりませんが、どなたかご指南よろしくお願いします。
889:デフォルトの名無しさん
08/10/12 21:52:45
何を聞きたいのかぐらいまとめたほうがいいと思うが
890:デフォルトの名無しさん
08/10/12 22:15:04
<<889
そですね汗 失礼しました。
文字列 "a,123456,テスト名"
カンマで区切られた文字列をそれぞれ変数の中に入れたいのですが、どういうやり方があるのでしょうか?
**結果**
Dim str01 As String = "a"
Dim str02 As String = "123456"
Dim str03 As String = "テスト名"
********
・・・あまりまとまってなぃかな凹
改めてご指南よろしくお願いします。m(_ _)m
891:デフォルトの名無しさん
08/10/13 00:07:19
そういうのはCSVという
文字列と数字の扱いとか、エスケープするのかとかあるけど、
簡易的にはString.Splitとか使える
892:デフォルトの名無しさん
08/10/13 14:18:15
VC#2008 Professional Edition SP1,( .NET Framework 3.5 SP1)をWindows XP SP3上で使用しています。
Windows FormsでMDIアプリを作成しているのですが、MDIの親にImageListを置いている場合
MDIの親に置かれているImageListはMDI子フォームから参照するにはどうしたらよいでしょう?
ただし、コード上で必要なときに呼び出して参照することは既にできています。しかし、問題はデザイン画面上で
プロパティに出したいということです。
プロパティ画面上で ImageList : fMDIForm.ImageList1 みたく・・・
以前Delphiを使用していたときはuses節に参照したいクラスを記述して、デザイン画面上でプロパティから参照できました。
Web上の様々な情報や書籍を参照しても、MDIフォームに関する情報はあまりなく、困っています。
A) 解決する方法はある
B) デザイン上ではあきらめて必要なときにコードで記述するしかない。
C) ImageListなどどの画面でも共通で使用したいものは、あきらめてそれぞれの画面に置く
D) その他
のいずれかでしょうか。ご存じの方よろしくお願いします。
893:デフォルトの名無しさん
08/10/13 19:32:59
D) ソースを晒せ
894:デフォルトの名無しさん
08/10/13 19:48:21
2005以降でImageListって積極的な使い道というか、
それを使わないとできない事なんてあったっけ?
俺の認識では完全にObsolete扱いなんだけど。。
895:デフォルトの名無しさん
08/10/13 21:32:22
AbsoluteにObsolete扱いですかそうですか
896:デフォルトの名無しさん
08/10/13 21:36:58
プロジェクトのリソースじゃダメなの?
897:デフォルトの名無しさん
08/10/14 17:46:23
TabControlを上部に表示させ、
その下にGridDataViewを表示させています。
ウィンドウのサイズを小さくしたときに、
TabControlの位置と、DataGridViewの位置を変更させないようにして、
かつ、TabControlのサイズは変更させずに、
DataGridViewは上部分(TabControlの直下)は固定で、
ウィンドウを小さくした分だけ小さくさせるようにしたいんですが、なかなかうまくいきません。
あ、DockNoneでうまくいきました。てへ
898:デフォルトの名無しさん
08/10/14 17:49:29
なかなか思ったとおりにならないときは、間にコンテナかますのがいい。
899:デフォルトの名無しさん
08/10/21 11:37:45
スレッドについての質問です。
たとえば、TreeView.Nodes などのコレクションや、それに格納されているデータにアクセスする際も
Invoke を使用する必要があるんでしょうか。排他だけですむならかなり楽なんですけど。
900:デフォルトの名無しさん
08/10/27 17:07:53
WCFでBasic認証付きのプロキシを超えるにはどう設定すればいいか、
ご存知の方はいらっしゃいませんか?
901:デフォルトの名無しさん
08/10/27 19:57:04
プロジェクトとソリューションの違いを教えてください。
いろんなクラスをまとめているのがプロジェクト、と思っています。
そのプロジェクトをさらに上位から管理するのがソリューション?
両者の概念について分かりやすく書いてあるWebなどはないでしょうか?
(○確認○行のサイトと@ITのサイトは見ましたが、よく分かりません・・)
902:デフォルトの名無しさん
08/10/27 20:53:31
みなさんはデータを新規に書き込むとき、
TableAdapter.Updateで行いますか?
それともExecuteNonQueryで行いますか?
903:デフォルトの名無しさん
08/10/27 20:55:27
>>901
一つのライブラリとか実行ファイルとかまとまった単位がプロジェクト。
何か解決したい課題があったときに、一つの実行ファイル・ライブラリじゃおさまらない時に
複数のプロジェクトまとめるのがソリューション。
904:デフォルトの名無しさん
08/10/27 20:56:41
>>901
俺も完全に把握してるわけじゃないけど、
とりあえず1プロジェクトが1アセンブリに対応すると考えればいいんじゃないの?
そんで、プロジェクトはソルーション内の別のプロジェクト(つまりアセンブリ)を
「プロジェクト参照」できる。
だからよく使うライブラリ的なクラスとかユーザーコントロールなんかを
別のプロジェクトに切り分けておけば、他のアプリの時に流用が楽にできる。
これだけ聞くとコンパイル済みのクラスライブラリ(dll)でもよさそうだけど、
一旦dllにするとアプリにあわせて微妙にカスタマイズとかできないからね。
905:デフォルトの名無しさん
08/10/27 21:44:40
グループで作る時にプロジェクトごとに担当決めて管理者はこれをソリューションとしてネットワーク上でだな
906:901
08/10/28 20:53:41
>>903, >>904
ありがとうございます。
今はまだなんとなくですが、今後会社で注意深くみてみると
両者の差は使い方で分かってくるような気がしてきました。
907:デフォルトの名無しさん
08/10/28 21:12:21
>>906
まあドクターパソコン(なんて知らんか…)じゃないけど
頭で考えるより実際やってみればすぐわかるよ。
908:デフォルトの名無しさん
08/11/14 16:00:17
VB2005で組んだWindowsアプリケーションを、
そのままASP.NET、WEBアプリケーションにすることはできないでしょうか。
909:デフォルトの名無しさん
08/11/15 02:10:41
すごく無理
とにかく無理
無理無理無理よカタツムリ
910:デフォルトの名無しさん
08/11/24 14:03:02
>>909
まるでラップのような>>909のセンスに嫉妬w.
911:デフォルトの名無しさん
08/11/24 19:24:53
いいえ
プログラミングはロックです
912:デフォルトの名無しさん
08/11/24 19:52:53
そしてプログラマはロックマンですね分かります
913:デフォルトの名無しさん
08/11/24 23:09:11
>>911-912
エアーマン噴いたじゃねえかこの野郎wwww
914:デフォルトの名無しさん
08/11/24 23:17:37
ヲタ野郎どもの笑いのポイントは理解不能だ。
何が面白いの?意味わからん。
とにかく気色悪いんだよヲタは。
915:デフォルトの名無しさん
08/11/26 10:56:42
同族嫌悪ですね、わかります。
916:デフォルトの名無しさん
08/11/27 17:02:01
.Netがインストールできません。
USB2-NFCというICカード・リーダ・ライタを買ったところ、
.Net3.0のインストールが必要でした。
URLリンク(tshimizu.cocolog-nifty.com)
そこで、インストールしてドライバーを入れても反応しません。
このホームページによると
.Netがインストールされていれば
URLリンク(tshimizu.cocolog-nifty.com)
の右上の画像の様にグレーになるはずなのですが、グレーにならないんです…。
このスレで良いのかわからないのですが、よろしくお願いします。