[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/22 15:05 / Filesize : 273 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part7)



1 名前:デフォルトの名無しさん [04/10/02 11:10:17]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part6)
pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html


792 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:20:31]
>787
あのさ、どういう機能を実現したいのかまずは日本語だけで
まとめてみれば?

あと>785みたいな人の神経を逆撫でするような書き込みしといて
その後すぐ質問ってどういう神経なんだろう。投稿前に見直し
とかしてる?

793 名前:デフォルトの名無しさん mailto:sage [04/11/30 18:22:53]
ちなみに779はMSDN見れる人?
単に見れないからMSDN代わりにここを利用しようとしてる?
ちょいとそこんとこ教えて。

794 名前:デフォルトの名無しさん mailto:sage [04/11/30 19:31:09]
>>783
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=84&fi=no
にソースコードを書いておきました。
埋める場所は空欄(先の通り)となっています。

795 名前:デフォルトの名無しさん mailto:sage [04/11/30 22:28:05]
VB6からVB.NETになってジレンマに陥ってるのか

漏れも一時期Senderをキャストしてイベントの内容拾ったりしてたが
無駄だということに気が付いてやめた

796 名前:779 [04/11/30 23:07:33]
>ShowDialog()の戻り値を見るのが普通だと思うけど

ええっ、戻り値があったのか? 知らんかった。そうだったの。ガックシ。
FolderBrawserDialogはもっと悲惨だった。こっちは探してもEVENTがない。
継承元からイベントを取れないか半日も悪戦苦闘してあきらめた。
いつにもまして「MSのアフォたれ、馬鹿たれ」と思っていが、戻り値があるんか?
なら簡単だった。

>平然とウソを書くなよ。ちゃんとヘルプ読んだか?
HELP
■ShowDialog
(CommonDialog から継承されます)
 オーバーロード。 コモン ダイアログ ボックスを実行します。

何だこのHELPは。このHELPをみて分かるか? わかるか?おい。


797 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:11:10]
>796
じゃあCommonDialogの方も読むだろ、普通

798 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:11:32]
いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。

799 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:12:10]
>796
アホ

800 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:25:39]
とりあえずチンコの皮は剥けたようだな



801 名前:デフォルトの名無しさん mailto:sage [04/11/30 23:27:11]
ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。

802 名前:デフォルトの名無しさん mailto:sage [04/12/01 03:36:56]
Overloads Public Function ShowDialog() As DialogResult

なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?

803 名前:779 [04/12/01 06:41:54]
>じゃあCommonDialogの方も読むだろ、普通
普通は読まん。遡るほど分からなくなるものだとは知らないの?普通。
分かりやすく、使いやすくするために継承するんですよ。
遡るほど、分かりやすいなら最初からSystemを読んでください。分かりやすいですか?

>いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。

  エムエスの
  アフォ糞餓鬼の
  ガタガタの
  能書き言わず
  サンプルを出せ
      (一首贈呈)

 サンプルコードが大切だよね。マトモな。
>800 
お前は剥けすぎベロリンチョ
>ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。
 林晴彦のサンプル全部みたよ。10ページに渡って穴が開くほど見たが、
戻り値を使う例はただの一つも無い。(VB6のだけどね)
すまん、このセンセのチンコも剥いてやってくれ。

>Overloads Public Function ShowDialog() As DialogResult
>なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?
 なんでそれを目に入るところに書かないのかなあ?


804 名前:デフォルトの名無しさん [04/12/01 06:49:05]
ここホントにC#スレか?
VB.NETは別スレあるからそっちでやれよ。

805 名前:779 [04/12/01 06:58:26]
>789
.> NET Frameworkにはない。 //Frameworkの扱うべきレイヤからかなり外れてるから。
どういう意味なの? File1やDir1の方がシンプルでスマートだと思うよ。
対応するのはFoldeBrowzerDialogだろうけど、今一って感じる。ダイアログは簡単
だけど、フォームに貼り付ける方がいい場合がたまにある。

>手っ取り早いのはVBのコンポーネントを参照するこったね。
 このコンポーネントって参照できるの? どうやって? OCXが分からん。
 VB6組み込みじゃないの?
 分からないからVB6でDirとFileをフォームに貼り付けてActiveXを作って
 VBNETに貼り付けてやってみたが誤動作する。
  Dirをダブルクリックすると内部でエラーがでてハングする。
 うまくいかんかった。
 もちろんそのActiveXはVb6上ではテストしてますよ。


806 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:17:31]
うは
チンコの皮までレスしてる
VB6の概念から抜け出せてないようだから.NETはしばらくやめておいたら?
もしかしたら2005でお望みの機能が追加されてるかもしれんし

>>805のようなOCXの事書いているようだから
マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
コントロールの上でF1押せばほとんどのHELPが載っているし
記述の癖も1日2日すれば慣れると思うんだが
良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので
掘っていけばほぼ答えは見つかる
それでもなければ全文検索

>フォームに貼り付ける方がいい場合がたまにある。
フォームに張り付かないのか?

807 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:21:18]
>803
素晴らしいよ、君は。
一生そうやって生きればいいね。

808 名前:デフォルトの名無しさん [04/12/01 07:39:51]
オーバーロードの一覧
フォームをオーナー ウィンドウのないモーダル ダイアログ ボックスとして表示します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function ShowDialog() As DialogResult
[指定した所有者を持つモーダル ダイアログとしてフォームを表示します。

[Visual Basic] Overloads Public Function ShowDialog(IWin32Window) As DialogResult
使用例

[Visual Basic] 
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
    
  'Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub 'ShowMyDialogBox

809 名前:779 [04/12/01 07:47:09]
> Dim testDialog As New Form2
まちがってない?


810 名前:デフォルトの名無しさん mailto:sage [04/12/01 07:47:10]
VB6の参考書を読んで.NETが解らないと言ってたのか
冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな



811 名前:デフォルトの名無しさん [04/12/01 07:47:49]
>>809
あってるよ

812 名前:779 [04/12/01 07:50:49]
糞長いOK書くくせに
System.Windows.Forms.DialogResult.OK
これは何?
  Dim testDialog As New Form2
宣言をしっかりして、Localでは省略するのが正解だと思うよ
第一動かんサンプル(W


813 名前:811 [04/12/01 07:51:12]
VSのヘルプをまるまるコピーしてある
もしForm2の下に並線が出るようだったら
ソリューションエクスプローラで新規のフォーム(Form2)を追加してくれ

814 名前:779 [04/12/01 08:07:24]
>811
 ありがとう。しかしこの例は何を説明したいのかサッパリ分からん。
 実行したらFolderBrowserDialogが立ち上がって、OKしても
 txtResultには何にも帰ってこない。

 あれ、Form2ってインスタンスなんでしょ
 クラスとしても認識するんですか? わけわからん。

815 名前:779 [04/12/01 08:13:01]
 あっごめんForm2は継承クラスでした。Vb6がぬけませんね。

816 名前:779 [04/12/01 08:32:35]
へんなコードがまざっていて勘違いした。
例の意味はこういうことね。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As New Form2
If x.ShowDialog() = DialogResult.OK Then
Debug.Write("OK")
Else
Debug.Write("CAN")
End If
End Sub

MSってなんで持って回ったような頓珍漢な例をかくんだろね。

817 名前:779 [04/12/01 08:37:56]
林センセの場合もそうですが、、、
(日経BPソフトプレスの全サンプルもそうですからしかたありませんが)
先生方こういうサンプルが多いんですがだめですよ。
戻り値がある場合は必ず戻り値を見るようにしましょうね。
If CommonDialog1.filename <> "" Then
とくにこの判別のしかたはまずいですよ。誰かの本みて真似してるんでしょ。

■サンプル(悪)
Private Sub Command1_Click()
'***** ファイル名の取得 *****
With CommonDialog1
.filename = ""
.Filter = "Data(*.dat)|*.dat"
.ShowOpen
End With
'***** ファイルのオープンと表示 *****
If CommonDialog1.filename <> "" Then
Open CommonDialog1.filename For Input As #1
Do Until EOF(1)
Line Input #1, a$
Print a$
Loop
Else
MsgBox "キャンセルされました。", , "メッセージ"
End If
End Sub


818 名前:779 [04/12/01 08:38:17]
■改良サンプル
try
cd = CommonDialog1
  cd.filename = "":cd.Filter = "Data(*.dat)|*.dat"
if cd.ShowOpen = vbOk then
   fname = CommonDialog1.filename
 If fname <> "" Then
    '***** ファイルのオープンと表示 *****
End If
end if
catch ex as Exception
msgbox ex.discription
end try


819 名前:779 [04/12/01 09:20:05]
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
....
testDialog.Dispose()
End Sub

このMSサンプルの testDialog.Dispose() は意味の無いコード
もし意図的に終了処理をする必要があるなら、内部でするべきだ。
(ShowDialog、モーダルだろ!)
こういう無造作に何でも追加したコードは最も悪い例だね。


820 名前:779 [04/12/01 09:28:43]
>VB6の参考書を読んで.NETが解らないと言ってたのか
>冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな
 コンプレッサーをモーターに置き換えて読むんだよ。そんなに違いはない。
ボタンを押したら、ランプがついて、回って、時間が来たらとまる。




821 名前:779 [04/12/01 09:40:31]
>マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
>コントロールの上でF1押せばほとんどのHELPが載っているし
 NETになって多少はよくなってるな。
 
>記述の癖も1日2日すれば慣れると思うんだが
>良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので

 これは皮肉? どこがオブジェクト指向?
 MSオブジェクト羅列っていうんだよ。
 
>掘っていけばほぼ答えは見つかる
それがみつからないから、藁おもつかむ。


822 名前:デフォルトの名無しさん [04/12/01 09:46:40]
構造体の中身のクリアってどうやるんだっけ???

823 名前:デフォルトの名無しさん mailto:sage [04/12/01 10:05:26]
Disposeの意味も知らずにまあ吠える事。

>>822
構造体という物にクリアという概念そのものが余りなじまないわけだが。
//Integerをクリアって何それ、って感じでしょ。
用意されているならEmpty静的読み込み専用フィールドを使うとか。
(引数を取らない)デフォルトコンストラクタがあるならnewし直すとか。
引数を0とNothingのみでnewし直すとか。

824 名前:779 [04/12/01 10:52:27]
>823
外部でDisposeが必要なのはComponentのメモリーリリース。
FormはCompornetじゃない。リリースの必要はない。やってもgcに対しては意味がない。
ひょっとすると君の方じゃないのか吼えてるのは
Disposeの意味より、Compornentの意味だな重要なのは。
さて正しいのはどちらだろう。


825 名前:デフォルトの名無しさん [04/12/01 11:03:49]
>>823
なるほど!ちょっとやってみます。

826 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:06:33]
>>824
これでも読んでみると良いよ。
ttp://www7.big.or.jp/~pinball/discus/vb/54337.html

827 名前:779 [04/12/01 11:10:08]
>822
 クラスは構造体のバージョンアップ。
だから構造体は使わない方がいいですよ。全部クラスでやる。
構造体を使う意味はない。
 だからクラスにしてClear()メソードを実装するのが正解。
かな?



828 名前:デフォルトの名無しさん [04/12/01 11:23:02]
>>827
ありがとうございます!
上手い具合にいきました!

829 名前:デフォルトの名無しさん [04/12/01 11:26:46]
>>779は初心者神か
相当偉い人のようだが

830 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:48:24]
さすがに828には失笑を隠せなかった。



831 名前:779 [04/12/01 11:53:05]
>829
>さすがに828には失笑を隠せなかった。
お前の方が失笑ものだ。構造体をまだ使ってるんだろ。




832 名前:デフォルトの名無しさん mailto:sage [04/12/01 11:54:19]
>>827
> 構造体を使う意味はない。
言い過ぎ。

833 名前:779 [04/12/01 12:02:06]
>これでも読んでみると良いよ。
>ttp://www7.big.or.jp/~pinball/discus/vb/54337.html
たしかにShowDialogの時はDisposeに飛んでこないね。フォームを閉じた時点で
内部のコンポーネントを使うことを意識しているのか?
 xx.ShowDialogをやったからと言って、そのあとでxx.Dispose()をやってる
例はないな。ざっと10例近くのサンプルを見たがそういう例はない。
MSのあのサンプルだけだね。

 大事なことがよく分からんなー。
 1000万回ほどぐるぐる回ししてテストしてみるか。


834 名前:デフォルトの名無しさん mailto:sage [04/12/01 12:02:23]
構造体をつかわにゃ実現できない機能もあるだろうに

835 名前:779 [04/12/01 12:05:34]
>言い過ぎ。
 言いすぎではないとおもうよ。構造体は使わない方がいいと思う。
 どうしても区別したいなら、名前のつけ方を変えたらいい。

836 名前:779 [04/12/01 12:06:13]
>構造体をつかわにゃ実現できない機能もあるだろうに
ない

837 名前:779 [04/12/01 12:08:49]
>相当偉い人のようだが
 きみの観察眼は鋭いかも?ウホン。

838 名前:デフォルトの名無しさん mailto:sage [04/12/01 12:08:56]
是非クラスだけでP/Invokeを宣言する偉業に取り組んでいただきたい。

839 名前:デフォルトの名無しさん [04/12/01 12:10:33]
>>836
どうして言い切れる?

840 名前:779 [04/12/01 12:20:01]
おい。P.Invokeで検索したら

■高度なトピック
Obfuscation for .NET -- Dotfuscator by PreEmptive Solutions
P/Invoke メソッド
  P/Invoke メソッド (つまり、ネイティブ プラットフォーム メソッド) の名前は自動的に変更されません。


これのどこが高度なトピックなのか? 中身がないのが高度なのか。Pu
そりゃ中身が無けりゃ誰にもわからん。高度だよな。pU。




841 名前:779 [04/12/01 12:22:04]
>どうして言い切れる?
 できない例をだしてください。
たちどころに、、、、clsでかいて見ましょう。
高度すぎて中身が書いて無いとどうにもなりませんが。


842 名前:779 [04/12/01 12:31:31]
Obfuscation for .NET
ドットネットのこころを暗くする要因
-- Dotfuscator by PreEmptive Solutions
先制攻撃的解決によるドットフスケーター(これは英語かよ?)



843 名前:779 [04/12/01 12:45:20]
 なんだDotfuscatorって隠蔽ツールか。マニュアルまで隠蔽ツールで
処理しないでね。


844 名前:デフォルトの名無しさん mailto:sage [04/12/01 13:04:57]
構造体はバイト配列などで代用できるな

845 名前:832 mailto:sage [04/12/01 13:06:23]
クラスだけで実装ができるからって構造体が無意味とは
いえない。
初心者の内はそれでいいが、最適化の過程で構造体を
使いたくなってくる場面もある。
「なくてもできる=無意味」じゃないということだ。

846 名前:779 [04/12/01 13:30:17]
 何の最適化ですか? ソースの見栄え、飾りのこと?
それとも実行コードの? コードには違いは影響しないと思うよ。
違いを儲ける必然せいがない。
いらない機能は有害とおもう。
 まあベテランが新しい技術についていけないから、とりあえず残してある
という理由はわかりますが。
 少なくとも初心者にとっては有害ですね。


847 名前:デフォルトの名無しさん mailto:sage [04/12/01 13:41:00]
非管理のメッセージをやり取りするにはどうしても構造体が必要になるな
モノによってはクラスでも大丈夫だが、厳密に定義されて無いメッセージが戻る場合や
構造体そのもののサイズが重要な場合はクラスだとちと難しい罠

848 名前:832 mailto:sage [04/12/01 13:45:31]
>>846
まー、いずれわかる。
要らないうちはあわてて知る必要もないから、せいぜい頑張れ。
将来なにかで行き詰まったら、まじめに検証してみるといい。

849 名前:779 [04/12/01 14:07:03]
>非管理のメッセージをやり取りするにはどうしても構造体が必要になるな
>モノによってはクラスでも大丈夫だが、厳密に定義されて無いメッセージが戻る場合や
>構造体そのもののサイズが重要な場合はクラスだとちと難しい罠

 それは配列でしょ。
 構造体というのは配列を含んでいるの? 配列は重要だとおもうよ。
配列以外の構造体のことね。
  それとも、構造体はメモリーアレンジが予測可能とかそういう性質が
 あるの? うんそれなら意味あるね。クラスにはそんな機能は無いかも?
 つければいいだけなんだけどね。
  そういう違いがあるのか? ヒョットシテ。





850 名前:デフォルトの名無しさん [04/12/01 14:23:32]
( ゚Д゚)ポカーン



851 名前:779 [04/12/01 14:36:29]
>将来なにかで行き詰まったら、まじめに検証してみるといい。
そうします。
 要するに、要らん機能がOS周辺にあるから、それに合わすために
言語にも要らん機能がいるってことですね。


852 名前:デフォルトの名無しさん mailto:sage [04/12/01 14:52:23]
( ゚Д゚)ポカーン

853 名前:デフォルトの名無しさん mailto:sage [04/12/01 22:03:43]
マルチスレッドに対応していないDLL内のメソッドをマルチスレッド
プログラムから呼び出したいのですが、安全に呼び出すための
常套手段はどんな方法でしょうか。

イメージ的には呼び出し前に何らかのロックを取得して
呼びだし、実行後にロックを解除するみたいな
感じかなと・・・

854 名前:デフォルトの名無しさん mailto:sage [04/12/01 22:31:45]
Monitor
 Enter
 Exit

855 名前:デフォルトの名無しさん [04/12/01 23:11:51]
ハイパーリンクで飛ばす時に、Submitボタンのように
フォームの内容をURLに追記したいのですが、
どうすれば良いのでしょうか?

856 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:00:45]
>855
もうちょい詳しくお願い

857 名前:デフォルトの名無しさん mailto:sage [04/12/02 00:08:36]
>>779
まぁ、記述が長いと思うならImports であってるんだっけ?
それで名前空間をインポートしてもいいと思うんだが?

そこまで判らないとは言わせない(;´Д`)

そこまでの記述を吹っ飛ばせるから長さは感じないはず
まぁ、コレをするとそのうち似たよな名前作ってしまうと、名前空間がこんがらがってくるのだが・・・
まぁ、普通に問題ないと思われ

858 名前:777 mailto:sage [04/12/02 09:29:24]
HELPヽ(´Д`)ノ

全然わかんないよママン_| ̄|○

859 名前:フナ太郎 mailto:sage [04/12/02 10:23:08]
>>858
もうリンク切れてるし。

860 名前:777 mailto:sage [04/12/02 11:26:36]
Public Class Form1
Structure ViewPort
Dim Xgw As Integer
Dim Ygw As Integer
Dim Xgc As Integer
Dim Ygc As Integer
Dim Xvw As Double
Dim Yvw As Double
Dim Xvc As Double
Dim Yvc As Double
End Structure
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim c As Color
Dim vp As ViewPort
c = Color.FromArgb(255, 255, 0, 0)
↓ここから
 vp.Xgw = 000
vp.Ygw = 000
vp.Xgc = vp.Xgw / 2
vp.Ygc = vp.Ygw / 2
vp.Xvw = 000
vp.Yvw = 000
vp.Xvc = 000
vp.Yvc = 000
DrawPoint(000, 000, c)
DrawPointScs(000, 000, c, vp)
DrawPointWcs(000, 000, c, vp)
DrawLine(000, 000, 000, 000, c)
DrawLineScs(000, 000, 000, 000, c, vp)
DrawLineWcs(000, 000, 000, 000, c, vp)
↑ここまで の数値入力がわかりません。
End Sub



861 名前:777 mailto:sage [04/12/02 11:32:43]
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
PictureBox1.Refresh()
End Sub
Private Sub DrawPoint(ByVal x As Integer, ByVal y As Integer, ByVal c As Color)
Dim g As Graphics
Dim p As Pen
g = PictureBox1.CreateGraphics
p = New Pen(c)
g.DrawEllipse(p, x, y, 1, 1)
End Sub

862 名前:777 mailto:sage [04/12/02 11:35:48]
Private Sub DrawLine(ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal c As Color)
Dim x As Integer
Dim y As Integer
Dim a As Double
If x1 = x2 Then
x = x1
If y1 <= y2 Then
For y = y1 To y2 Step 1
DrawPoint(x, y, c)
Next
Else
For y = y2 To y1 Step 1
DrawPoint(x, y, c)
Next
End If

863 名前:777 mailto:sage [04/12/02 11:36:15]
Else
a = CDbl(y2 - y1) / CDbl(x2 - x1)
If Math.Abs(a) <= 1 Then
If x1 < x2 Then
For x = x1 To x2 Step 1
y = CInt(a * CDbl(x - x1) + CDbl(y1))
DrawPoint(x, y, c)
Next
Else
For x = x2 To x1 Step 1
y = CInt(a * CDbl(x - x1) + CDbl(y1))
DrawPoint(x, y, c)
Next
End If
Else
If y1 < y2 Then
For y = y1 To y2 Step 1
x = CInt(1.0 / a * CDbl(y - y1) + CDbl(x1))
DrawPoint(x, y, c)
Next
Else
For y = y2 To y1 Step 1
x = CInt(1.0 / a * CDbl(y - y1) + CDbl(x1))
DrawPoint(x, y, c)
Next
End If
End If
End If
End Sub

864 名前:777 mailto:sage [04/12/02 11:36:40]
Private Sub DrawPointScs(ByVal x As Integer, ByVal y As Integer, ByVal c As Color, ByVal vp As ViewPort)
Dim Xg As Integer
Dim Yg As Integer
Xg = x + vp.Xgc
Yg = -y + vp.Ygc
DrawPoint(Xg, Yg, c)
End Sub

Private Sub DrawPointWcs(ByVal x As Double, ByVal y As Double, ByVal c As Color, ByVal vp As ViewPort)
Dim Xv As Double
Dim Yv As Double
Dim Xs As Integer
Dim Ys As Integer
Xv = x - vp.Xvc
Yv = y - vp.Yvc
Xs = CInt(Xv * vp.Xgw / vp.Xvw)
Ys = CInt(Yv * vp.Ygw / vp.Yvw)
DrawPointScs(Xs, Ys, c, vp)
End Sub

865 名前:777 mailto:sage [04/12/02 11:37:01]
Private Sub DrawLineScs(ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal c As Color, ByVal vp As ViewPort)
Dim Xg1 As Integer
Dim Yg1 As Integer
Dim Xg2 As Integer
Dim Yg2 As Integer
Xg1 = x1 + vp.Xgc
Yg1 = -y1 + vp.Xgc
Xg2 = x2 + vp.Xgc
Yg2 = y2 + vp.Ygc
DrawLine(Xg1, Yg1, Xg2, Yg2, c)
End Sub
Private Sub DrawLineWcs(ByVal x1 As Double, ByVal y1 As Double, ByVal x2 As Double, ByVal y2 As Double, ByVal c As Color, ByVal vp As ViewPort)
Dim Xv1 As Double
Dim Yv1 As Double
Dim Xv2 As Double
Dim Yv2 As Double
Dim Xs1 As Double
Dim Ys1 As Double
Dim Xs2 As Double
Dim Ys2 As Double
Xv1 = x1 - vp.Xvc
Yv1 = y1 - vp.Yvc
Xv2 = x2 - vp.Xvc
Yv2 = y2 - vp.Xvc
Xs1 = CInt(Xv1 * vp.Xgw / vp.Xvw)
Ys1 = CInt(Yv1 * vp.Ygw / vp.Yvw)
Xs2 = CInt(Xv2 * vp.Xgw / vp.Xvw)
Ys2 = CInt(Yv2 * vp.Ygw / vp.Yvw)
DrawLineScs(Xs1, Ys1, Xs2, Ys2, c, vp)
End Sub
End Class

866 名前:777 mailto:sage [04/12/02 11:40:01]
リンク切れてると言うか本体ごと無くなってますね_| ̄|○
ちょっと長いですがこちらに張らせて頂きました。すみません。

求めるモデルが
三角形の頂点 (200,200) (400,200) (300,400)
ViewPort 左下座標(150,150) 幅300 高さ300
となります。

867 名前:デフォルトの名無しさん [04/12/02 12:56:04]
>856
反応サンクスです。
>855 の続きです。
まるっきり初心者ですので宜しくお願いします。

Submitでページを移行させると、フォームの内容がURLの後ろの方に
「 hogehoge=**** 」
のように追記されて、次のページで内容を取得できますよね?
同じように、Hyper Linkでページを移行させて、次のページで元ページの
フォームの内容を取得する為には、どのような方法を使えば良いのでしょうか?

SubmitのようにURLの後ろに付いてくれるとありがたいのですが、
全く別の方法でも構わないので教えて頂けるとありがたいす。

868 名前:デフォルトの名無しさん [04/12/02 15:24:41]
DataGridにArrayListをバインドさせているのですが、

869 名前:デフォルトの名無しさん [04/12/02 15:27:09]
ぐはっミスッタ
途中でArrayListの編集を行った後
DataGridが更新されないのです。
フォーカスが移るとDataGridも反映されます。

DataGrid1.DataSource = objArray
DataGrid1.Refresh()
DataGrid1.Update()

じゃ駄目ですか・・

870 名前:869 [04/12/02 17:35:28]
仕様上ArrayListを使用した時のDataGridは反映されないみたいですね。



871 名前:デフォルトの名無しさん mailto:sage [04/12/02 18:05:51]
>>867
<A href="www.google.co.jp/search?ie=UTF-8&q=%e3%83%8f%e3%82%a1%ef%bc%9f">

872 名前:デフォルトの名無しさん [04/12/02 18:39:31]
>>871
すみません、用語の使い方とかメチャクチャってことっすか?

もっと簡単に書くと、「Submitボタン」を
「下線付きの文字列」(hrefとかasp:hyperlink)に変えたいんですが、
テキストボックスに入力された内容を次のページで取得する為には
どうすれば良いのでしょうか?
(Submitの時は、URLから前頁の情報を引っ張ってました。)

873 名前:デフォルトの名無しさん mailto:sage [04/12/02 18:57:20]
<A href="javascript:document.forms('xxx').submit()"

874 名前:デフォルトの名無しさん mailto:sage [04/12/02 19:00:39]
>872
うろ覚えだけど、リンクボタンっていうオブジェクトがなかったっけ?

875 名前:デフォルトの名無しさん [04/12/02 21:08:50]
C#のイベントのアクセサってVBだとどうかくのでしょうか?
もしかしてVBにはない?

[attributes] [modifiers] event type member-name {accessor-declarations};
の{accessor-declarations}を書きたいんですが

876 名前:デフォルトの名無しさん mailto:sage [04/12/02 21:31:01]
>874
 確かにあるし、普通のボタンと全く同じ感覚で使えるので、867=872が
普通にWebアプリケーションの処理を理解していれば問題ないんだけどね。

>872
 あのねぇ、Webアプリケーションの基礎的な動作について、根本的な
理解が足りないのね。
 そして、根本的にASP.NETでのコントロールの値の取り方が分かって
いない。(以前の経験を引きずりすぎ)

 Submitボタンでページ遷移(サーバーに送信)を行う際の動作は、
「GET」Methodと「POST」Methodの二種類あるのよ。
 「GET」Methodの場合は、ブラウザが自動的にsubmit先のURLに
QueryStringを自動的に生成・追加して送っているのよ。
 「POST」MethodはQueryStringを使わず、submit先のサーバーに
接続した後にデータを送っているのよ。
 ASP.NET(VB.NETのWebアプリケーション)は「POST」Methodを使う様に
作られているのよ。(まずGETを使おうと思わないし)

 VB.NETで普通にWebフォームを作成して、普通にWebフォームに
配置したコントロールの値は、Me.コントロール名.(値の格納されているプロパティ)
だけで取れるんだよ。余計な事を考えすぎ。

877 名前:デフォルトの名無しさん mailto:sage [04/12/02 23:40:39]
質問なんですがVB.netでEXCELシートにテキストボックスから
文字列を出力させる方法を誰か知っている方教えてください。
いろいろ調べてはいるんですが、よく分からなくて
初歩的な質問でスマソ

878 名前:デフォルトの名無しさん mailto:sage [04/12/03 00:53:57]
InstallShieldで作成したインストーラでアプリをインストールすると
同時に.NET Frameworkを最新版にするようなことは可能でしょうか。

879 名前:872 [04/12/03 00:57:56]
>>874 >> 876
ありがとうございます。
全てが初めてなので大変参考になります!
POSTにすべきというのは理解しました。
遷移先での取得方法ですが、サンプルでもよく「Me」という単語
を見かけるのですが、どう使うのでしょうか?

880 名前:デフォルトの名無しさん [04/12/03 07:40:07]
2つのコンボボックスの選択メンバのデータソースに同一のDBテーブルを設定すると
片方のドロップダウンから選択した値が、
もう片方のコンボボックスにも自動的に入ってしまうんですが、
それぞれ独立して選択できるようにするにはどうしたらいいでしょうか?
できればテーブルは増やしたくないです。
仕事いってきます。



881 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:25:16]
>>877
「Excel.Application」を検さくぁwせdrftgyふじこ

882 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:31:52]
>>880
そんな変態的な設計を止める

883 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:48:56]
アクセス形式のDBを使っているのですが、NULL値の取得方法が分かりません。
例えば、コンボボックスを使ってSelectionValueがNULL値のときに他のコンボボックスの
EnabledをFalseのようにしたいのですが、うまくいきません。

Private Sub combobox1_SelectedIndexChanged(・・・・・・)
If combobox2.SelectionValue ="" then
combobbox1.Enabled = False
End If
End Sub
のようにすると「演算子が、型 'DBNull' および 文字列 "System.DBNull" に対して有効ではありません。」
になってしまいます。  
 「If combobox2.SelectionValue ="" then」 の部分を「If combobox2.SelectionValue = null then」
にしても同じでした。。。このような場合どのようにしてNULL値を取得するのでしょうか?
よろしくお願いします。

884 名前:デフォルトの名無しさん mailto:sage [04/12/03 09:54:08]
すいません(T_T)コンボボックスの「1」と「2」が間違ってました。
Private Sub combobox1_SelectedIndexChanged(・・・・・・)
If combobox1.SelectionValue ="" then
combobbox2.Enabled = False
End If
End Sub

でした(*_*)よろしくお願いします



885 名前:デフォルトの名無しさん mailto:sage [04/12/03 10:27:03]
DBのNULL値はSystem.DBNullという独自クラスなので、チェックにはIsDBNull関数を使うんだったはず。

886 名前:デフォルトの名無しさん mailto:sage [04/12/03 11:26:19]
おお♪IsNull関数を調べたら出てきました♪

null値は""でもnullでもないのですね(汗)
オブジェクトの型にデータ(system.DBNull)を渡して、IsNull関数を使ってBoolean型にTrue、Falseを返すのですね^^
ちなみに自分なりに書いてみたのですがうまく行きました♪

Dim aaa As Object
Dim bbb As Boolean
aaa = ComboBox1.SelectedValue
bbb = IsDBNull(aaa)
If bbb = True Then
TextBox1.Text = "self"
Else
TextBox1.Enabled = True
TextBox1.Text = ComboBox1.SelectedValue
End If
End Sub

>>885さんありがとうございます♪♪♪

887 名前:デフォルトの名無しさん [04/12/03 15:00:36]
簡単なタイピングソフトを作ろうと思ってます。
やろうとしてること↓

例文(ローマ字)をテキストボックスに表示して、
フォームがアクティブなときに打ったキーを取り出して、
例文の1文字目から順番に比較しようとしました。

しようとしたのですが、例文から1文字ずつ取り出すっていうのができません。
substringで文字を取り出して、for文でまわそうとしたのですが失敗しました。
文字列を配列のようにするにはどのようにすればよいでしょうか?

888 名前:デフォルトの名無しさん mailto:sage [04/12/03 15:14:42]
StringのCharsプロパティが各文字の配列になってる。
TextBox1.Textの三文字目が欲しいならTextBox1.Text.Chars(2)。
String.Lengthプロパティで文字列の長さも分かる。

889 名前:デフォルトの名無しさん [04/12/03 16:29:38]
WindowsのDataGridって表示行数指定するプロパティない?


890 名前:デフォルトの名無しさん mailto:sage [04/12/03 16:59:55]
>>889
好きが行数のデータソースを作ればいいだろ。



891 名前:デフォルトの名無しさん mailto:sage [04/12/03 17:13:49]
VB.NETって何ですか?

892 名前:880 mailto:sage [04/12/03 18:13:58]
結局ひとつのテーブルから、まったく同じデザインのVIEWを2つ定義することで解決しました。
こういうやり方が妥当かどうか分かりませんが、
データの冗長性を排除して保守性を高めるには、とりあえずこれしか思い浮かびませんでした。
朝っぱらからすんませんでした。
これから残業です。
多分また来ます。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef