VB.NET質問スレ (Part12 ..
694:デフォルトの名無しさん
05/10/17 16:19:08
693の続き
Private Sub Button1_Click( _
ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim wreq As HttpWebRequest
Dim wres As HttpWebResponse
'ウェブリクエストでテキスト1の内容表示、エンコード
wreq = HttpWebRequest.Create(TextBox1.Text)
wres = wreq.GetResponse()
Dim enc As System.Text.Encoding = _
System.Text.Encoding.GetEncoding("euc-jp")
Dim s As IO.Stream = wres.GetResponseStream()
Dim sr As New IO.StreamReader(s, enc)
'コンテンツ内容をテキスト2に表示
Dim Textline As String = sr.ReadToEnd()
TextBox2.AppendText(Textline)
sr.Close()
s.Close()
End Sub
End Class
695:デフォルトの名無しさん
05/10/17 21:24:43
>>689
まずはTCP/IPの勉強をして来なさい
696:デフォルトの名無しさん
05/10/17 21:38:51
>>693
整形式XML(のフラグメント)になりうるんであればXmlReaderとかが使えるけど、HTMLだと難しい場合も多いだろうね。
素直なのは、正規表現(System.Text.RegularExpressions名前空間のRegexを中心とする各クラス)を使って整形するとか。
mshtmlを使って解析させるって手もあるけど……。
697:デフォルトの名無しさん
05/10/17 23:41:11
タスクバーを扱うには、どのあたりのクラスを使えばいいんでしょうか。
シンプルにクイックラウンチをON/OFFしたいだけなんですが。
698:デフォルトの名無しさん
05/10/17 23:51:21
他のプロセスのコントロールをいじるってのは.NETのクラスライブラリでは無理。
Win32APIを駆使することになる。
Shell_TrayWnd の ReBarWindow32 に
RB_GETBANDINFO で ToolbarWindow32 のハンドルと一致するの探して
RB_SHOWBAND で操作、かねぇ。
構造体ポインタのやりとりとなるとVirtualAllocExとかCreateFileMappingとか使う必要もあるね。
699:デフォルトの名無しさん
05/10/17 23:54:41
トレイアイコンのこと?
notifyiconをフォームにドロップするだけ
でフォームのresizeとnotifyiconのmousedownあたりにゴニョゴニョ書けばok
700:デフォルトの名無しさん
05/10/18 00:13:55
>>698
あ、サンキューです。
そのあたりの情報までは見つけていたけど、「.NETならもっと簡単なんじゃねぇの?」と
思ったんですが、できないというのがわかればがんばってAPI叩きます。助かりました。
>>699
いえ、>>698に書いてあるあたりです。
701:デフォルトの名無しさん
05/10/18 00:59:19
>>696
調べを進めていく上でのキーワードがいただけました。ありがとうございます。
(実は何を書いてあるのか殆ど分かりませんがw XMLは聞いたことがあるので、ググリまくります。)
702:デフォルトの名無しさん
05/10/18 02:38:28
>>698
あくまで他スレッドがコントロールを直接操作できないだけ
他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok
703:デフォルトの名無しさん
05/10/18 02:42:19
>>702
?
いつスレッドの話になった?
704:デフォルトの名無しさん
05/10/18 03:46:05
XMLをQueueメモリに保存し、適時取り出して再度Xmlとし、処理していきたい
と考えています。
次のようなコードでQueueに書き込む分にははエラーは出ませんが、
Dim WriteQueue As Queue = New Queue
Dim xmlDoc As New System.Xml.XmlDocument
(ここにXMLを構築するコードを書き込んでいます)
WriteQueue.Enqueue(xmlDoc)
DequeueメソッドでXMLに書き戻すのがうまくいきません。Queueに書き込んだ
ものとソックリ同じ物を、新しく作成したXmlDocumentとしたい(つまり、コピー
を作る)んですが・・・・・
705:デフォルトの名無しさん
05/10/18 05:52:26
>>702
話がずれてる上に間違ってる。
>他スレッドがよんだ自スレッドのメソッドがコントロールをそうさするのはok
okじゃないから Control.Invoke / BeginInvoke を使おうな。
706:デフォルトの名無しさん
05/10/18 06:31:27
>>704
インスタンスとか参照とか理解してなさそうだが……。
取りあえずClonseメソッド。
707:デフォルトの名無しさん
05/10/20 07:09:58
.netではDDE通信が推奨されていないらしいですが
代わりにどのような方法が推奨されているでしょうか?
708:最凶VB厨房
05/10/20 07:12:12
リモチン?
709:デフォルトの名無しさん
05/10/20 09:34:36
>>707
.net Remoting
情報少ないけど、ほぼ唯一でてるオレンジの本見れば、DDE程度はOK。
ただ、自アプリ同士の連携の場合だからね。
昔のOfficeとかがDDEを提供していた(?)のと同じように、OfficeとかがRemoteオブジェクトを提供してるわけじゃないので。
(.netの弱点ってネイティブでOffice連携が無いことなように思える)
710:デフォルトの名無しさん
05/10/20 10:11:43
>>708, 709
thx.調べてみます。
代わりにソケット通信っていうのはありでしょうか?
711:デフォルトの名無しさん
05/10/20 12:13:24
>>710
.NET RemotingはTCP/HTTPをベースにしてる(内部で利用している)。
712:デフォルトの名無しさん
05/10/20 12:46:14
>>711
さんくす。じゃ、簡単にソケット通信でやっちゃおうかな
713:デフォルトの名無しさん
05/10/20 13:01:00
ソケットは単なる文字列の送受信。
リモーティングはシリアル化されたオブジェクトのやり取り。
目的が全く違います。
714:デフォルトの名無しさん
05/10/20 13:27:10
質問です。
スタートアップに指定したフォームを判断することはできますか?
if Form1 = Application.StartupForm then
みたいなことをしたいんですがー。。
715:デフォルトの名無しさん
05/10/20 14:00:22
画面から『閉じる(×)』ボタンを非表示にしたいです。
最大化・最小化は残したいので、ControlBoxでは実現できませんでした。
何かいい方法はないでしょうか
716:デフォルトの名無しさん
05/10/20 14:54:17
Visual Studio の操作?に関してになるのですが、
C# の場合 メソッドのオーバーライドを行なう際は
Protected Override とタイプすると、インテリセンスが開き、
その中からオーバーライド可能なメソッドを選択すると自動的に
シグネチャ含めてコードが追加されるのですが、VB.NET の場合は
Protected Overrides とタイプしてもインテリセンスが開きません。
VB.NET の場合は、エディタの左上から (overrides) を選択し、
その右からオーバーライドしたいメソッドを選択する、といったように
マウスでカチカチやるのが一般的なのでしょうか?
717:デフォルトの名無しさん
05/10/20 18:28:22
>>715
無効化なら
URLリンク(www.atmarkit.co.jp)
だが、さて非表示にはできたかねぇ……。
718:デフォルトの名無しさん
05/10/20 19:06:49
>>714
プログラマがどれで起動したか把握できないってのはどうよ?
719:デフォルトの名無しさん
05/10/20 19:44:58
ASP.NET、VB.NETで開発しております。
ログをテキストファイルに出力するような共通関数を作成したいのですが
どうにも行き詰って困っております。
wwwroot下にフォルダを作成し、その下に動的にログファイルを作成したいのですが
何かいい方法ありますでしょうか?
よろしくお願いします。
720:デフォルトの名無しさん
05/10/20 19:46:50
どこで行き詰まったの?
721:デフォルトの名無しさん
05/10/20 23:03:31
>ソケットは単なる文字列の送受信。
やはりそういうことか!
722:デフォルトの名無しさん
05/10/21 09:28:57
でも簡単なやり取りだけならソケット通信でもいいよね?
723:デフォルトの名無しさん
05/10/21 09:51:56
>>722
だから自分で目的を考えてでしょ。
単なる非同期・同期での通信ならばソケットでコマンドで十分。
イベント+情報の送受信ならばリモーティング。
724:デフォルトの名無しさん
05/10/21 13:32:37
VB.NETの勉強としてTextBoxクラスを継承して
書式チェック機能を持ったTextBoxを作成しようとしています。
Validatingイベント内で、書式チェックエラーとなった場合に
フォーカスの移動をさせないようにしたのですが
Formの閉じるボタンを押しても同イベントが発生して
閉じるボタンが無効になってしまいます。
イベント内でイベントをキャンセルしているので当然なのですが
チェックを行ってエラー時はフォーカスを移動させないが
特定の処理(画面を閉じるなど)の場合はチェックしない
という機能を作ろうとした場合、どのようにすればいいでしょうか?
先人達の知恵を貸してください。
725:デフォルトの名無しさん
05/10/21 20:28:20
>>724
>閉じるボタンが無効になってしまいます。
普通そんな事にはならないと思うけど。
閉じるボタンってウィンドウの右上のXのことだよねえ?
フォーム上にフォームを閉じるためのコマンドボタンが用意してあって、
それをクリックしようとしてもクリックできない、なんてオチだったりして。
726:デフォルトの名無しさん
05/10/22 08:06:42
>何かいい方法ありますでしょうか?
log4net
EntLib/LoggingAB
727:デフォルトの名無しさん
05/10/22 16:45:43
TextBox1 - TextBox10 の .Text にすべて"*"を表示させたいのですが、
それぞれに
TextBox1.Text = "*"
TextBox2.Text = "*"
:
:
;
TextBox10.Text = "*"
より頭のいい方法を教えていただきたいのですが、
728:デフォルトの名無しさん
05/10/22 17:03:24
>>727
TextBox配列にいったん格納してからループで値セット、ってあまり手間は変わらんか。
729:最凶VB厨房
05/10/22 17:14:01
TextBox型のものに"*"をFor Eachでセットしていくとか。
730:デフォルトの名無しさん
05/10/22 18:00:23
>>728, >>729
727ですが、私は初心者ですので、
具体的にお願いできますでしょうか?
教えていただいてるのにすみません。。。
731:デフォルトの名無しさん
05/10/22 18:09:10
初心者ならまずは地道にやっとけってこった
732:デフォルトの名無しさん
05/10/22 18:54:52
>>727
URLリンク(dobon.net)
↑のようなことをやりたいってわけじゃないってこと?
733:最凶VB厨房
05/10/22 20:51:25
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Const kome As String = "*"
Dim c As Control
For Each c In Me.Controls'フォームのコントロール全部に対して
If c.GetType() Is GetType(TextBox) Then'テキストボックス型のものなら
Dim t As TextBox
t = CType(c, TextBox)'コントロールをテキストボックスとして扱って
t.Text = kome'テキストプロパティに*をセット
End If
Next'していく
End Sub'とかネ
734:デフォルトの名無しさん
05/10/22 21:00:24
>>733
ControlにTextがあるんだからCType(c, TextBox)は必要ないぜ。
それより「結果を表示するTextBox11まで*になってしまいましたどうしたらいいですか」とか返されそうだな。
735:デフォルトの名無しさん
05/10/22 21:01:41
あ、それと型判定は
If TypeOf c Is TextBox Then
な。
736:最凶VB厨房
05/10/22 21:06:09
具体的な指摘どもども。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Const kome As String = "*"
Dim c As Control
For Each c In Me.Controls 'フォームのコントロール全部に対して
If TypeOf c Is TextBox Then 'テキストボックス型のものなら
c.Text = kome 'テキストプロパティに*をセット
End If
Next 'していく
End Sub 'とか
737:デフォルトの名無しさん
05/10/22 21:07:10
>>733
そんな気張って答えるような質問とも思えんが。。
>>734
突っ込む奴が馬鹿だと萎えるなw
738:最凶VB厨房
05/10/22 21:09:46
>>737
最近コードを書いてなかったので
ちょっとしたリハビリや。
739:デフォルトの名無しさん
05/10/22 21:15:06
第一さ、そういうの「頭のいい方法」って呼んでよいものかどうか。。
サンプルコードとしてもあまり良質と思えないし。
俺がサンプルかくならせめて、
(1) Nameが"TextBox*"に一致するTextBoxのコレクションを作る関数を示す
(2) Nameが"TextBox*"に一致するTextBoxのコレクションを内部的に作って、それを
操作するクラスを示す
このぐらいするよ。
740:デフォルトの名無しさん
05/10/22 21:17:31
>>739
先生、VSを使ってないのでNameプロパティは基本的に空です! どうしたらいいですか!
741:先生
05/10/22 21:23:20
>>727
742:デフォルトの名無しさん
05/10/22 23:04:42
10個くらいなら手で書いちゃえよ
743:デフォルトの名無しさん
05/10/22 23:27:21
初回しか埋めないってんなら、>>742で。
何度か*でクリアするってんなら、>>728で。
744:デフォルトの名無しさん
05/10/22 23:29:20
>>743
いや、複数回クリアするならメソッドに切り出せばいいと思うんだな
745:初心者
05/10/23 11:48:58
USBドライブを差し込んだことを検知する方法ありますでしょうか?
746:初心者自己レス
05/10/23 12:11:14
745 自己レス
C#ですけど、URLリンク(www.publicjoe.f9.co.uk)にありました。
お騒がせ
747:デフォルトの名無しさん
05/10/23 12:54:15
Range("D2:D6").Value = Array("国", "数", "理", "社", "英")
エクセルのマクロでこうやって入力すると全部国ってなってしまいます
D2が国D3が数D4が理って具合になればいいんですが
どうすればいいんですか?
748:デフォルトの名無しさん
05/10/23 13:04:09
>>747
URLリンク(oshiete1.goo.ne.jp)
749:デフォルトの名無しさん
05/10/23 13:13:32
>>748
マルチだっていいたいのかな?
嫌味な奴w
マルチの何が悪いのかサッパリわからんが、マルチが気に入らないなら放っときゃいいのに。
>>747
自分で答え見つけた方が楽しいだろうからヒントだけ。
ヒント:直線は平面の特殊ケースだと考えよう。
750:デフォルトの名無しさん
05/10/23 14:02:28
VBでスロットのプログラム作ってるのですが、「スタート」ボタンを押したら
0.1秒単位でラベルの数字が回転しているように見せるにはどうしたらいいのでしょうか。
お願いします。
751:デフォルトの名無しさん
05/10/23 14:04:46
>>749
お前馬鹿ですね。
「 V B . N E T 質 問 ス レ 」
752:デフォルトの名無しさん
05/10/23 14:06:22
>0.1秒単位でラベルの数字が回転しているように見せる
まず日本語の勉強をした方がいいね。意味不明。
753:デフォルトの名無しさん
05/10/23 14:36:06
>>750
数字をパラパラ切り替えるんじゃなくて、リアルに上下スクロール
しているように見せたいってこと? けっこう面倒だと思うよ。
すべての数字や絵柄をピクチャ扱いで配列に入れて、乱数を元にス
タックしたシリンダ用の配列を使って、Y軸方向に詰めながらスラ
イド表示させるくらいかな?
0.1秒を刻むならEnvironment.TickCountプロパティでどうにかな
るかと。数字の全体が表示されるまでに0.1秒かかるようにしたい
ってのは、自分で管理する必要あり。
754:デフォルトの名無しさん
05/10/23 14:40:56
>>753
おいおい750も750だが、あんたもあんただなあ。。
いったい750のどこをどう読めばそういう解釈がw
755:デフォルトの名無しさん
05/10/23 17:56:30
>>719
そういや俺もできなかったわ
結局トレースログのテキストをそのまま使った記憶あるな
そもそもファイル自体が作れなくない?
ファイル作れない、既存ファイルへの書き込みができないみたいな状態になって
すげぇ困ってトレースログをそのまま使ったな。できるのかな、これ
756:デフォルトの名無しさん
05/10/23 20:10:17
IISのセキュリティー設定とかきちんとやった?
プロセスの所有者が書き込み権限あるかとか。
757:デフォルトの名無しさん
05/10/23 21:00:45
VB.NETを使用して、Winアプリを開発しています。
アプリは、画像アップローダなんですが、VB.NETでサーバにファイルを
アップロードする方法がわかりません。
どなたかわかる方がいたらお教えください。
758:デフォルトの名無しさん
05/10/23 21:06:36
サーバによる。
759:757
05/10/23 21:09:24
言葉が足らず申し訳ございません。
サーバは、webサーバです。
760:757
05/10/23 21:14:06
まだ足りませんでした、IISではないです。
よろしくお願いします。
761:デフォルトの名無しさん
05/10/23 21:35:34
>757
相手がWebサーバーなら受け取る側もアプリが必要だが・・・
アプリが必要かどうかはアップする方法やサーバーの設定による。
762:デフォルトの名無しさん
05/10/23 21:38:16
>>757
ヒント:<input type="file">
HttpWebRequest
763:757
05/10/23 21:55:18
ヒントありがとうございます。現在はこのように処理をしてるんですが
req = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
req.Method = "POST"
req.ContentType = "multipart/form-data"
reqStream = req.GetRequestStream()
reqStream.Write(data, 0, data.Length)
さて?こっからファイルのアップロードは
どうやるんだろうとなってしまっています。
もう少しヒントを頂けたら幸いです。
764:デフォルトの名無しさん
05/10/23 22:06:37
つうかね、入門書かってこいよ。
ファイルのアップロードなんて入門書に載ってる。
765:デフォルトの名無しさん
05/10/23 23:32:18
winXP、vb.net2003、office2003使用です。
vb.net側で、「Imports Microsoft.Office.Interop」と「Dim ThisApplication As New Excel.Application」を利用してエクセルを起動した後、エクセル側で「ファイル」→「終了」の操作をしてエクセルを終わらせた場合に、
「エクセルが終了した」ことをvb.net側で情報として捉えることができるコマンドはありませんか?
766:デフォルトの名無しさん
05/10/23 23:39:36
>>765
それってVB4+Office95時代からある問題だけど今でも出来ないんじゃない?
767:デフォルトの名無しさん
05/10/23 23:55:41
どうしても必要ならタイマ使ってポーリングすればいいじゃん。
エクセルが生きているかどうかの確認は工夫すれば出来たはずだよやった記憶があるから。
768:デフォルトの名無しさん
05/10/23 23:56:15
MSDN2のVSTOのリファレンスにWorkbook.Shutdownイベントなんてのがあったけどこの辺?
解説読むと違う気もするけど。
769:765
05/10/23 23:57:16
>>766
ホエ!やっぱムリなのか〜?
ネットで調べても、VB側ですべて処理させたら、プロセスの終了まで出来ることはわかってんだけどね。。
やってることは、VB側でマクロを含んだエクセルを起動させて、あとの処理はエクセルのマクロまかせでエクセル側で終了まで処理させるのよ。。
マクロでやらせてるのは、定型の様式への入力支援で、文字の入力まですれば、罫線や結合や印刷範囲の指定までマクロで一気にやらせてます。ただ、そのほかの処理もあるんでエクセル側での終了は必須なんだよな〜
で、エクセル側で終了しても、VB側のフォームが終了するまで起動したエクセルのプロセスが残るもので、それを何とか終了できないかと。。
>>766
回答サンクスです。も少し研究してみます。
770:デフォルトの名無しさん
05/10/24 00:05:07
ポーリングしてたら、もしExcelファイル開いていたら保存ダイアログ出る場合に固まっちゃうぞ
771:765
05/10/24 00:18:17
ThisApplication.ActiveWorkbook.Nameで既存ファイルを呼び出した場合でも、起動したworkbookの名前は取得できるんで、それから何とかできないかと考えてるんですが。。
「ポーリング」はよくわからないですが、一定時間ごとに監視するというやり方ですかね?だとしたらなるべくパソコンには余計な負担はかけたくないですが。。
できれば、「エクセルが終了した時点で」その情報を取得する方法がないかと。。
明日もあるんで今日は寝ます。レスくれた皆さんありがとうございました。。
772:765
05/10/24 00:26:32
>>768
Visual Studio Tools for Office..
たかがこんなプログラムにこんな高い製品は買えない。。
今の.netも個人持ちなのよ。。
773:デフォルトの名無しさん
05/10/24 09:27:56
お世話になります。
データセットのDataRowの値が「H」だった場合には、データグリッドに、「ハードディスク」と表示するというような処理をしたいのですが、MSDNで調べても方法が分かりません。
できれば、データグリッドの値だけを変えるようにしたいのですが、どなたか方法をご存じないでしょうか?
よろしくお願いします。
774:デフォルトの名無しさん
05/10/24 09:33:39
WinFormかASP.NETかどっちだ?
775:デフォルトの名無しさん
05/10/24 09:51:01
すいません。WINDOWSのFORMです。
776:デフォルトの名無しさん
05/10/24 09:57:59
あげ
777:724
05/10/24 14:16:12
返事が遅れてすみません
>>725
×ボタンの事であってます
Validatingイベント内で
If IsNumeric(CType(sender, TextBox).Text) = False Then
e.Cancel = True
Exit Sub
End If
のようにしているだけです
Validatingイベント内でキャンセルしているので
フォーカスは移動できないのですが(これが当然の動作という事は判ってます)
Formの×ボタンを押そうとした時はValidatingを発生させないような事はできますでしょうか?
778:デフォルトの名無しさん
05/10/24 15:30:11
>>777
.NETフレームワークのアップデート汁
779:デフォルトの名無しさん
05/10/24 15:39:26
>718
そのレスはもしかしてVB.NETで派生フォームとか使ってないの?
フォームAからフォームB、フォームC、フォームDを派生させたとして、
B〜Dのいずれかがスタートフォーム。
それをフォームAの中で判断したい。
フォームAの記述
If ( me = StartupForm) Then
・・・
End If
780:デフォルトの名無しさん
05/10/24 19:40:10
ユーザーコントロールを派生したくラスの
デフォルトのイベントを OnLoad 以外にすることって可能ですか?
781:デフォルトの名無しさん
05/10/24 19:53:11
デフォルトのイベントって何?
782:デフォルトの名無しさん
05/10/24 20:43:47
>>777
あ、なるほど確かにそうなるね。
確信はないけどコントロール側で対処するのは正攻法では難しいんじゃないかな。
フォームのClosingイベントハンドラで引数のeの値をヲチすると、
コントロール側でそういうことをしている場合これのCandelメンバが
Trueに設定されるようだから、これをFalseに書き戻してやれば
いいんじゃないかな。
とりあえず俺の環境ではうまくいった。
783:デフォルトの名無しさん
05/10/24 22:09:58
先生、0除算をしたら、DivideByZeroExceptionが投げられると思ったら、
なんか無限記号が表示されるんですけど、どういうことなのでしょうか?
784:デフォルトの名無しさん
05/10/24 22:39:32
>>783
浮動小数を使った場合のデフォルトの動作。
で、VB.NETは特に指定しなかったら除算は大体Doubleとして計算されるから。
判断はDouble.IsInfinityメソッドとか。
785:最凶VB厨房
05/10/24 23:30:36
無限記号だって?
よっこらせーっと
786:最凶VB厨房
05/10/24 23:36:36
Dim a As Single = 30
a = a / 0
MessageBox.Show(a)
+∞
ぽっかーん
787:757
05/10/25 00:46:32
もう一度質問させてください。
VB.NETを使用して、Windows Applicationを開発しています。
POSTによりWebサーバに画像ファイルをアップロード(PHP使用)する方法がどうしてもわかりません。
どなたか教えていただけませんか?
現在はこのように書いています。
Dim req As System.Net.HttpWebRequest = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
req.Method = "POST"
req.ContentType = "multipart/form-data"
Dim reqStream As System.IO.Stream = req.GetRequestStream()
↓ ここにが画像を入れるのかなと思っていますが…
Dim data As Byte() = System.Text.Encoding.ASCII.GetBytes("?key=11&gazou='バイナリ?'")
reqStream.Write(data, 0, data.Length)
Dim res As System.Net.WebResponse = req.GetResponse()
Dim resStream As System.IO.Stream = res.GetResponseStream()
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(resStream, enc)
Dim html As String = sr.ReadToEnd()
788:757
05/10/25 00:49:30
追記させてください。
PHP使用とは、受け取り側のWEBサーバーはPHPを使用しています。
789:デフォルトの名無しさん
05/10/25 00:49:59
FileStreamで読み出せば
790:757
05/10/25 01:02:37
レスありがとうございます。
ほんとに最近こればかりに時間を割かれているので・・・。泣きそうです。
Dim wkStream As New System.IO.FileStream("C:\gazou.jpg", System.IO.FileMode.Open)
のように読み込んで、
dim inData as byte = new byte(4096)
dim bytesRead integer = wkStream.Read(inData, 0, inData.Length);
while (bytesRead > 0)
reqStream.Write(inData, 0, bytesRead);
bytesRead = wkStream.Read(inData, 0, inData.Length);
end while
って感じになるのですか?
791:757
05/10/25 01:52:37
やっぱりだめでした。
Dim reqStream As System.IO.Stream = req.GetRequestStream()
reqStream.Write(data, 0, data.Length)
Dim wkStream As New System.IO.FileStream("c:\gazou.jpg", System.IO.FileMode.Open)
Dim inData(wkStream.Length) As Byte
Dim bytesRead As Integer = wkStream.Read(inData, 0, inData.Length)
While (bytesRead > 0)
↓ここでバイト数オーバーとでます、。
reqStream.Write(inData, 0, bytesRead)
bytesRead = wkStream.Read(inData, 0, inData.Length)
End While
reqStream.Close()
すでに画像のアップロードに成功された方、
どうか教えてください。
792:デフォルトの名無しさん
05/10/25 08:31:58
普通にHTMLページでそのファイルアップロード画面へアップした場合と、
なにか悩んでるプログラムでの、
HTTP通信の差を見た?
ログとるなり、他のツール使うなりすれば見れるでしょ。
つうか、サーバもいじれるならFTP立ち上げたほうが早いし問題ないし。
HTTPのファイルアップロードは所詮オマケというか無理がある仕様だし。
793:デフォルトの名無しさん
05/10/25 08:36:29
ところでGetRequestStreamの解説を読んだことがなさそうだな>質問者
794:デフォルトの名無しさん
05/10/25 16:07:35
DataColumnCollectionの列順を変えたいのですが、どなたかよい方法をご存じないですか?
MSDNで調べても、方法が載っていません。
よろしくお願いします。
795:デフォルトの名無しさん
05/10/25 17:26:38
新しいDataTableを作る
796:デフォルトの名無しさん
05/10/25 19:13:31
その並び順を気にする発想が理解できん。
797:デフォルトの名無しさん
05/10/25 19:59:06
一度取得したテーブルをどうこうするより、希望する列順で取得できる
クエリを出したほうが楽かと。
798:デフォルトの名無しさん
05/10/25 23:39:21
どうもこんばんわ。
VB.NETでクォータービューの、FFTみたいなのを考えているんですが、アルゴリズムに
いまいち自信がもてません。
今は、Form1Paintに2次元配列から取得したマップデータをもとに、DrawImageで
全てのマップチップを描画しています。コントロール配列でピクチャーボックスにしなかったのは
重いかなぁとおもったからです。DrawImageでも普通にちらつきますのでバックバッファいれなきゃなりませんが。
今は、iとjで2重ループで回して左奥から順番に右手前まで描画しています。
マップ回転は描画する順番を変えてやっています。
それでとりあえずはそれっぽいマップが出来上がったのですが、その上にキャラを
置いたり、カーソルを表示したりする時に、その座標をどのように取得するべきなのかが
よくわかりません・・・。
DrawImageだと座標が取れないので、自分でxとyを決めるのでしょうか。
でもそういうのだとなんだか・・・単に座標は合っていて、見た目は正しいけれど、
実際はそこに見えているだけで配列データにリンクしていないので、どうもしっくりこないなぁ。
と感じます。
すみません・・自分で書いてても判りにくいんですが、正しいアルゴリズムの
ヒントでも結構ですので教えていただけないでしょうか。
799:デフォルトの名無しさん
05/10/26 00:05:28
>>798
ヒント: 内部的に2次元で処理して、クォータービューはDirect3Dまかせ
800:デフォルトの名無しさん
05/10/26 00:14:16
>>798
なんて事は無い質問だな
3次元クリッピングっていう奴だ
801:デフォルトの名無しさん
05/10/26 09:59:20
例えば、
On Error Goto ErrHandler
:
:
ErrHandler:
で、ErrHandlerに飛んできた時に、呼び出し元の行番号を取得する方法ってあります?
現在の行番号を取得することはできるんだけど・・・
802:デフォルトの名無しさん
05/10/26 10:47:43
>>801
そんなんも考えつかない or 調べられないのだったら、
プログラマー辞めたら?
803:デフォルトの名無しさん
05/10/26 10:51:59
>>802
うはw
なにコイツw
プログラミング以外人に誇るモノがない人ですか?
804:801
05/10/26 11:05:45
New StackFrame(True).GetFileLineNumber
で現在の行番号を取得したり、
Reflection.MethodBase.GetCurrentMethod.Name
で現在実行中のメソッド名を取得はできたんですけどね・・・
これくらいしか調べられなかったオレって・・・
805:デフォルトの名無しさん
05/10/26 12:10:12
行番号???
まあ、ログ吐きたい場合などにほしくなるけど、結論的には不可です。
デバックコンパイルすれば例外の中に履歴的に出るから見れるけど、実行時はありません
806:デフォルトの名無しさん
05/10/26 12:26:07
>>801
On Errorより、Try〜Catchを使った方がいいのでは?
807:デフォルトの名無しさん
05/10/26 12:30:01
そそ
ワシもtry-catchでexception.stacktraceじゃいかんのか?とオモタ
808:駆け出しのPG
05/10/27 00:41:10
Windowsフォームで作ったアプリに簡単なプロテクトを掛けたいのですが、良い方法はありませんか?
809:デフォルトの名無しさん
05/10/27 00:41:56
プロテクトって何をプロテクトするのよ
810:駆け出しのPG
05/10/27 00:44:12
EXEコピーを防止したいです。
もちろんユーザーが素人に限定されますが。
811:デフォルトの名無しさん
05/10/27 00:50:50
それは何故?
812:駆け出しのPG
05/10/27 00:56:34
依頼されてアプリを作りましたが、依頼者の仕事仲間で需要があるそうです。
依頼者は業務上の使用ですので著作権を完全には放棄したくありません。
813:デフォルトの名無しさん
05/10/27 00:58:20
>もちろんユーザーが素人に限定されますが。
>それは何故?
という意味でしたか?
814:デフォルトの名無しさん
05/10/27 01:57:54
ん、取りあえず思いついたいい加減なやり方。
ライブラリプロジェクトHogeを作って、ライセンスドクラス一つだけ用意。メンバはライセンスキーだけ。取りあえず空。
メインのプロジェクトはそれを参照。
Hoge.dllを除いてユーザに配布。
ユーザのLANアダプタのMACアドレスのMD5を取得。
送信して貰う。
そのMD5をライセンスキーと言うことにして、それをHogeのライセンスドクラスのライセンスキーに設定。
Hogeを再コンパイルして、単独で配布。
あとは起動時にHogeのライセンスキーとユーザのLANアダプタのMACアドレスのMD5が一致するか確認。
毎回ユーザのLANアダプタのMACアドレスのMD5を取得するのは面倒なのでレジストリに取っておくとか。
.NETの知識が多少でもある人ならすぐあれこれできてしまうな。
許可の取消もできないし。
いずれにせよユーザの何らかの情報を元に制限を加える必要がある。
単なるパスワードじゃ教えて終了だし、バイナリごとに異なるキーでも実行ファイルのコピーには無力だし。
815:デフォルトの名無しさん
05/10/27 06:50:09
>814
ありがとうございます。
試してみてまたここにカキコします。
数日下さい。
816:デフォルトの名無しさん
05/10/27 08:42:19
不思議な日本語を見た
817:デフォルトの名無しさん
05/10/27 14:59:47
あるファイルが他のプロセスにロックされているかどうかを知る方法はありますでしょうか?
818:デフォルトの名無しさん
05/10/27 15:06:09
実際に開いてみる
819:デフォルトの名無しさん
05/10/27 15:51:31
2005 Express Edition Beta 2を使ってツールを使ってるんだけど、結構いい感じ。
ヘルプが日本語で無いのは残念だけど。
製品版では日本語ヘルプがちゃんと用意されるだろうから、オレみたいなホビーユーザーなら、Expressで不足は無いと思う。
んで、質問。
Expressで作ったブツは自由に配布できるの?
完全に学習用限定な「Borland C#Builder Personal ダウンロード版 1.0」みたいな例があるから、ちょっと不安になる。
820:デフォルトの名無しさん
05/10/27 16:46:51
>>819
Go-Liveの申請をすれば、配布は出来る。
諸注意等は、ググって調べてくれ。
821:デフォルトの名無しさん
05/10/27 20:24:38
VB.NET のお試し版をダウンロードできるサイト、教えてもらえませんか。
822:デフォルトの名無しさん
05/10/27 21:22:41
URLリンク(www.microsoft.com)
823:デフォルトの名無しさん
05/10/27 21:48:17
NDOCでソリューションファイルの読み込み方教えろや!
ニートども!
824:デフォルトの名無しさん
05/10/27 22:21:18
>>820
製品版についての話だと思うんだが>配布
825:デフォルトの名無しさん
05/10/27 22:22:54
>>824
??脳が不自由な方?
826:デフォルトの名無しさん
05/10/27 22:33:35
>>825
ほへ?
>819「Expressで作ったブツ」の"Express"はベータでない製品版で、
それで作ったものを配布可能かどうかを聞いてる、と読んだんだが。
そうなるとGo-Liveとは関係ない。
827:819
05/10/27 23:43:31
どちらとも解釈できる書き方して申し訳ない m(_ _)m
実は、オレ自身、同じエディションでもベータ版と製品版でライセンスが違うとは知らなかったよ。
製品版Expressなら、ブツは配布できるって事でOK?
>821
URLリンク(www.microsoft.com)
一応、復元ポイントを作成してからインストールする方がいいかも。
828:デフォルトの名無しさん
05/10/27 23:51:31
>>826
「ほへ?」はねぇべ?
わやきもいじゃ。
829:デフォルトの名無しさん
05/10/28 01:17:27
>>828
824と823を間違えてるのに気づけよ
830:801
05/10/28 10:29:57
>806
>807
exception.stacktraceでこんな情報を取得できるって気づきませんでしたw
Try〜Catchは場合によって使用していたのに・・・。
遅レススマソ。
831:デフォルトの名無しさん
05/10/29 08:26:33
教えてください。
URLリンク(mbm.livewiredev.com)
[INFORMATION]で[SHARED MEMORY]の項目を選び、[C CODE]の中の
:: VB.NET Code
» VB.NET code can be downloaded here, thanks to Pedro Navarro
を選んでダウンロードし解凍してVB 2005 Express Edition Betaで[ビルド]し、[デバッグ開始]したら、
[sensor 2]のほうの[name]での表示(“CPU”)が“PU”に化けたり、”U”だけになったりする。
また[sensor2]の[Current value]の表示が整数できちんと出ることもあるが、しばらくすると、
Eの型で表示されてしまう。時々(っていうか、なりっぱなしになってしまうこともある)、
まるで表示されなくなってしまうこともある。何故なんだろうか。
VB.netは持ってないんで、ベータ版でしかテストできないので、誰か他のバージョンで
動作確認をして報告してもらえるとありがたいです。
(尚、上記は、”Mother Boardmonitor5が動いている状態でないとテストできません。)
832:デフォルトの名無しさん
05/10/29 08:35:49
Cでのchar[]を全部Char()で宣言してる……。
833:デフォルトの名無しさん
05/10/29 10:24:40
>>832
レス、どうも
ちょっと、その意味がわかりません
834:デフォルトの名無しさん
05/10/29 12:59:16
「bitmapinfo構造体のメモリハンドルとビットマップデータのメモリハンドル」が
与えられて、そのデータをピクチャボックスに表示したいのですが、どうやったら
いいのかさっぱり分かりません
ヒントだけでもお教え頂けませんでしょうか
835:デフォルトの名無しさん
05/10/29 13:37:14
簡単に言えばー、
Win32APIのCreateDIBitmap関数でHBITMAP作ってー、
Image.FromHbitmapメソッドでBitmapにする。
メモリハンドルというのがHLOCALならアドレス取得にはLocalLock関数。そうでないのならそれに応じた関数。
Win32APIでは使い終わったGDIオブジェクトやメモリ領域の後かたづけに気を付けて。
836:デフォルトの名無しさん
05/10/29 13:37:57
ヒント
(1) MSDN(ドキュメントビュア)を起動して、"bitmapinfo"を検索する
(2) 検索結果の「場所」のカラムヘッダをクリックしてソートし、
「場所」が「プラットフォームSDK: GDI」になっている適当な項を表示する。
(3) 表示されたページ、およびその一番下の「参照」にリンクされているページを
注意深く読む。ドキュメントビュアのツールバーの「同期」ボタン(←→)を押して、
関連するページも読む。
(4) このスレのテンプレに紹介されているウェブサイトなどで、グラフィックを
扱っているサンプルを探してピクチャーボックスに画像を描画する一般的な方法を掴んでおく。
(5) Graphicsクラスのメンバを見て、デバイスコンテキストを取得する方法はないか調べる。
837:831,833
05/10/29 17:23:14
>>832->>836
尚、サンプルコードでは、Refresh() した直後には、senssor1のデータ関数を読んでるだけで、
Sensor2のほうはしてないようなので、タイムラグによるデータの変質なのかなとも思いました。
なので、sensor2のほうもsensor1と同時に新たに宣言したstring変数に代入し、更に、sensor2の
データがtext表示される直前に、その変数(温度データ)の長さが2バイトかどうかでデータチェック
して、2バイト以外の場合は、もう一度、refresh()してから変数にとりこむようにしたら、表示
そのもとしては、なんとか格好はついたようです。
838:831,833
05/10/29 17:25:44
つまり、sensor1の表示の前に
Dim sensorname1 As String
Dim sensorname2 As String
Dim sensortemp1 As String
Dim sensortemp2 As String
sensorname1 = MBMInfo.Sensor(1).ssName
sensortemp1 = MBMInfo.Sensor(1).ssCurrent
sensorname2 = MBMInfo.Sensor(2).ssName
sensortemp2 = MBMInfo.Sensor(2).ssCurrent
を加え、sensor2の表示の直前で
While Len(sensortemp2) <> 2
MBMInfo.Refresh()
sensorname2 = MBMInfo.Sensor(2).ssName()
sensortemp2 = MBMInfo.Sensor(2).ssCurrent
End While
を加えたら、少なくとも表示としては良くなって、「ひょっとして内部的」にも
なんとか、うまく動いているような感じもします。えへへ(-_-;)
839:831,833
05/10/29 17:30:10
While Len(sensortemp2) <> 2
は
While Len(sensortemp2) > 2
のほうがいいですかね
840:デフォルトの名無しさん
05/10/29 18:27:55
ところで、誰か、Microsoft Visual Studio.net Academic version2002
を使ってる人っていますか?
841:sage
05/10/30 16:43:44
FlexGridの表の幅をドラッグで変更できるようにするにはどうすればいいのでしょうか?
842:デフォルトの名無しさん
05/10/30 20:03:03
すいません、質問です。
VB.NET 2003 で作ったアプリのメモリ消費量に関することなのですが、
フォームを表示するだけのアプリでもメモリ16Mぐらい消費しています。
これってこんなもんなんですか?何かやったら減らせるもんなんでしょうか?
レジストリ読み書き(するだけの)ツール作ったらメモリ消費30M近くになって
「iTunesよりすげー」とか言われてショックでした・・・
843:デフォルトの名無しさん
05/10/30 20:05:37
>>842
.NETはJava並みの重さだからしょうがないよ
844:最凶VB厨房
05/10/30 20:16:51
最小化するとWorking Setは減る。
845:デフォルトの名無しさん
05/10/30 20:44:06
タスクマネージャのメモリ使用量なんて目安の一つでしかないのに随分幅きかせてますね
846:デフォルトの名無しさん
05/10/30 23:46:17
というかVB.NETの新バージョンはほんとに年内に出るの?
847:デフォルトの名無しさん
05/10/31 09:17:37
2003と2005では何が変わるんですか?
848:デフォルトの名無しさん
05/10/31 12:34:20
バグが変わる。
849:デフォルトの名無しさん
05/10/31 14:21:53
shgetfileinfoでファイルのアイコン取得してるのだけど、最初はいいのだけど
しばらくほっておくと破棄されたアイコンにアクセス出来ないとかってエラーが出る
(タイマーで再表示してる)
これって何がいかんのでしょう
850:デフォルトの名無しさん
05/10/31 16:30:36
DataTableで、DataTableAからDataTableBにデータを丸写ししたいのですが、
DataTableAには列C、列D、列Eがあり、DataTableBには列C、列Dがあります。
そして、DataTableBは、列順が、列D、列Cとなっています。
こういう場合、CLONEやCOPYだと、スキーマまでコピーされてしまいます。
どなたか、スキーマはコピーせず、データのみを丸写しするよい方法を
ご存じないでしょうか?
よろしくお聞かせ願います。
851:842
05/10/31 21:06:51
気にするとハゲるってことですね。
どうもありがとうございました。
>>845さん
あなたを含めた識者はその詳細なメモリ使用量とやらの測り方を知ってるんでしょうけど。
たとえばPCの性能をクロックだけでしか見れないような人も多いですので。
そんなクラスの人はメモリ使用量というとタスクマネージャでしか測れないもんです
(下手するとタスクマネージャすら知らない)。うちもそんなクラスのマです。失格ですね。
852:デフォルトの名無しさん
05/11/01 01:03:46
>>850
地道にDataTableAをループ走査。
853:デフォルトの名無しさん
05/11/01 01:35:03
vbにはIME周りのAPIはないんですか?
854:デフォルトの名無しさん
05/11/01 10:02:16
Control.ImeModeくらいだな
855:デフォルトの名無しさん
05/11/01 15:52:01
なんだ、結局
VB.NETのユーザってVBユーザとあんま変わってないのか。
856:デフォルトの名無しさん
05/11/01 16:08:45
開発環境が変わった程度で人がそうそう変わるわけはない
857:デフォルトの名無しさん
05/11/01 18:21:15
>>856 格言ですな
858:デフォルトの名無しさん
05/11/01 18:47:58
人がそうそう変われないのに、開発環境はどんどん変わる。
‥‥せめて互換性は残しておいてよ。orz
859:デフォルトの名無しさん
05/11/01 21:36:50
VBAってVB.NETになるんですか?
今からVBA勉強するより、VB.NET勉強しておいたほうがいいですか?
860:デフォルトの名無しさん
05/11/01 21:55:40
当分は消えないだろうなぁ……(遠い目
861:デフォルトの名無しさん
05/11/01 22:41:16
>>860
あれじゃね・・・・・・・スr(ry
862:半人前
05/11/02 00:55:02
VB.net を使用してWindowsの
「ブー」(警告音)
っていう音を出したいのですがどのようなコード
を書けば宜しいでしょうか?
お教え願います。
863:デフォルトの名無しさん
05/11/02 00:59:45
ビープならBeep関数があるが、それじゃなくて?
コンパネのサウンドで設定するような奴?
864:半人前
05/11/02 01:02:07
>>863
>ビープならBeep関数があるが、それじゃなくて?
>コンパネのサウンドで設定するような奴?
レスありがとうございます。
ビープというのは、Windowsの警告音の事を指すのでしょうか?
ちょとVSを立ち上げて【Beep】を試してみます。
どうもありがとうございます(^_^)b
865:半人前
05/11/02 01:17:00
すみません。VS2003にて下記のコードを試して
みたのですがどうもうまく行きません。一体何が原因
なのでしょうか?
For i As Integer = 0 To 100
Beep()
Next
866:デフォルトの名無しさん
05/11/02 01:20:50
何がどううまくいかないんだっての
そこを説明しろ
それだから半人前なんだ
867:半人前
05/11/02 01:25:32
>>866
申し訳ありません。
上記のコードをButton押下のタイミングで鳴らそうとして
いるのですが、全く音が鳴りません。
※当方、スピーカー(安物ですが、、、)を一応つけてしっかり
映画を再生すると音が鳴っているのを確認した上で、
上記のコードを実行してはいるのですが一向になりません。
868:半人前
05/11/02 01:29:39
失礼しました。一応押下したタイミングで鳴っておりました。
しかしながら、
例え100回ループのコードを記述してもスピーカーから流れる音というのは
「ブ」
でありできれば
「ブブブブブブブブ・・・」
といった風に連続で鳴らしたいです。。。
869:デフォルトの名無しさん
05/11/02 01:35:45
まずそもそもBeep関数で鳴る音は>>862で望んでいる音なのか?
ループ回数を2桁増やしたりしたらどうなのか?
870:半人前
05/11/02 01:45:27
上記に関連して一ついい案が浮かんだのですが、
1秒毎にBeepを発生させれば
人間の耳には、ブブブ・・・と聞こえる気が致しました。
そこで、はたまたご質問なのですが1秒毎に実行させたい
場合には、どの様なコードを記述すれば良いでしょうか?
ぐぐって
System.Windows.Forms.Timer
を使うらしいという事は、分ったのですが肝心のサンプル
ソースが無い為に不完全燃焼中です。。。
871:半人前
05/11/02 01:50:52
>>869
>まずそもそもBeep関数で鳴る音は>>862で望んでいる音なのか?
>ループ回数を2桁増やしたりしたらどうなのか?
半人前でして、音の種類には特にこだわっていない
ですからひとまずOKです。
あと、二桁増やして For i as integer = 1000 としても
やはり最後の1回分しか音は聞えませんでした。
1秒間隔で鳴らすというのが一番無難なのでしょうか?
私の手元の書籍を参照しても時間制御に纏わる開設が無いので
どうすれば、時間制御が出来るかいまひとつ分りません。
どうか、深夜に申し訳無いですがお教え下さいませ。
872:デフォルトの名無しさん
05/11/02 07:31:38
1秒だと間があきすぎだと思う。
Sleep(200)くらいでいいんじゃね?
873:半人前
05/11/02 08:05:16
>>872
おはようございます。
早速のレスをありがとうございます(^_^)b
試してみます。
874:半人前
05/11/02 08:10:38
>>872
解決しました。ありがとう!!
875:デフォルトの名無しさん
05/11/02 11:28:54
ASP.NET Web Matrixで作成されたシングルファイルをVS.NET 2003のVB.NET ASP Webアプリケーション用の
フォームとコードビハインドのファイル(HTMLとコード部分)に分割する方法というかコツはないでしょうか?
何度やってもエラーが取れず困っております。
※適切な板が見つからなかったのですがASP.NETもこの板でいいのでしょうか?
876:デフォルトの名無しさん
05/11/02 23:19:27
VS.NET2003プロフェッショナルのVB.NETで開発しています。
↑このパッケージにについてるクリスタルレポートを使って印刷機能を実装しようと思うのですが、
完成したexeを不特定多数に配布してもライセンスは問題ないでしょうか?
またクライアントにexe以外の何かを入れないと動かないのでしょうか?
877:デフォルトの名無しさん
05/11/03 02:51:32
起動時に解像度の変更をしたくて、
Imports Microsoft.DirectX
Imports Microsoft.DirectX.DirectDraw
Dim device As New Device
Dim Width As Integer
Dim Hight As Integer
Width = 800
Hight = 600
Me.FormBorderStyle = FormBorderStyle.None
device.SetCooperativeLevel(Me, CooperativeLevelFlags.Exclusive Or CooperativeLevelFlags.Fullscreen)
device.SetDisplayMode(Width, Hight, 16, 0, False)
フォームロードにこんなコードを書いてみたのですが、実行すると数秒で解像度等々元に戻ってしまいます。
ずっと設定の解像度を保持してるには、どうしたらよいのでしょうか?
望む動作としては、ゲームにあるような解像度を変えつつ、フルスクリーン表示という感じです
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4703日前に更新/282 KB
担当:undef