VB.NET質問スレ (Part21) at TECH
VB.NET質問スレ (Part21) - 暇つぶし2ch1:デフォルトの名無しさん
07/04/23 12:42:36
前スレ

VB.NET質問スレ (Part20)
スレリンク(tech板)

テンプレは2~10くらいまでの間にある予定

2:デフォルトの名無しさん
07/04/23 13:52:20
MSDN
URLリンク(msdn2.microsoft.com)
どぼん!のVB道のトップページとTipsページ
URLリンク(dobon.net)
URLリンク(dobon.net)
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)
Insider.NET
URLリンク(www.atmarkit.co.jp)
宇宙仮面の C# プログラミング
URLリンク(ukamen.hp.infoseek.co.jp)
.NET のつぼ
URLリンク(park16.wakwak.com)
.NET TIPS
URLリンク(www.atmarkit.co.jp)
緑のバイク ★ 初めてのC# プログラム全般
URLリンク(homepage3.nifty.com)
VB.NETとC#でデザインパターン
URLリンク(hccweb1.bai.ne.jp)
匣の向こう側
URLリンク(www.ne.jp)
WisdomSoft
URLリンク(wisdom.sakura.ne.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
どっとねっとふぁん - C# Tips And Samples -
URLリンク(homepage3.nifty.com)
C#プログラミングTips
URLリンク(www.atmarkit.co.jp)

3:デフォルトの名無しさん
07/04/23 13:53:37
CodeProject
URLリンク(www.codeproject.com)
the GotDotNet Home Page
URLリンク(www.gotdotnet.com)
KEN's .NET
URLリンク(www5b.biglobe.ne.jp)
Cetus Links: 19,498 Links on Objects and Components / .NET
URLリンク(www.cetus-links.org)
HIRO's.NET
URLリンク(vbdotnet.fc2web.com)
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
URLリンク(www.atmarkit.co.jp)
.NETでいきまっしょい!
URLリンク(santamartadotnet.hp.infoseek.co.jp)
これがほしかった!厳選サンプルツール集
URLリンク(anetm.com)
ぬーやんのdotNET講座
URLリンク(www.geocities.jp)
PINVOKE.NET
URLリンク(www.pinvoke.net)
WinAPI Database for VB Programmer
URLリンク(www.geocities.co.jp)

4:デフォルトの名無しさん
07/04/23 13:54:28
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
URLリンク(custom.programming-in.net)
CodeZine
URLリンク(codezine.jp)
ConvertCSharp2VB
URLリンク(www.kamalpatel.net)
@IT:.NET Tools
URLリンク(www.atmarkit.co.jp)
SharpLibrary Redirector
URLリンク(www.sharplibrary.com)
MSDN アカデミック アライアンス 技術資料
URLリンク(www.microsoft.com)
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
URLリンク(www.microsoft.com)
PAPA'n VB
URLリンク(www.mitene.or.jp)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)
(Java覚え書き)デザインパターンあれこれ
URLリンク(www.dmz.hitachi-sk.co.jp)
algorithm
URLリンク(www.mnet.ne.jp)
ラムダ計算入門
URLリンク(www.kb.ecei.tohoku.ac.jp)
数値計算の基礎
URLリンク(www7.ocn.ne.jp)

5:デフォルトの名無しさん
07/04/25 11:09:56
ゴミ箱に移動、をWin32APIを利用して実行した場合、それを元に戻すには
別の Win32API などを使って簡単にできるものでしょうか。
よろしくお願いします。

6:デフォルトの名無しさん
07/04/25 11:20:58
>>5
実装した事はないがこういうのは前に調べた時にリンクのこしてたんではってみる

かなり強引というか力技www
削除したのを戻す可能性があるのなら自分でフォルダをゴミ箱に見立ててやってはどうだろ?
これなら削除したファイルの一覧は基本的に自分がPGから移動させたものしかないので管理とかもらくだと思う

削除→ゴミ箱に見立てたフォルダへ移動
戻す→上記のフォルダからもとの場所へ
完全削除→ゴミ箱へも移動させずファイルをデリート

こんなんじゃぁだめかな?
どうしてもゴミ箱じゃないといけないならしょうがないんだけど・・・

URLリンク(mtamaki.cocolog-nifty.com)
2005年1月27日の記事

7:デフォルトの名無しさん
07/04/25 12:00:45
VB.Netで作ったクラスをCOMクラスとして公開して
Excel 2000のVBAからアクセスしたいんだけど、どうすればいいんだ?

---------- VB.Netのソース ----------------
<Microsoft.VisualBasic.ComClass()> <System.Serializable()> Public Class Class1
<System.Runtime.InteropServices.DispId(1)> Public Function Sub1(ByRef x As Integer)
x = x + 1
Return (x + 1)
End Function
End Class
-----------------------------------------

Dllつくってtlbへの参照設定はできるんだが、つぎのソースでエラーが起きる。

--------- Excel VBAのソース --------------
Sub main()
Dim x As MyProject.Class1
x = New Class1 <--- ここでエラー
x.Sub1 (1)
End Sub
-----------------------------------------

--------- エラーメッセージ ----------------
実行時エラー '-2147024894' (80070002)':

ファイルまたはアセンブリ名MyProject、またはその依存関係の1つが見つかりませんでした。
-----------------------------------------

8:デフォルトの名無しさん
07/04/25 13:28:06
>>6
どうもです。
やっぱり難しそうなので自分で専用の移動用フォルダで管理した方が
いいですか。わかりました。その方向で検討してみます。

ありがとうございました。

9:デフォルトの名無しさん
07/04/25 14:06:51
質問です。

テキストファイルをOpenFileDialogで読み込む際に、String型ではなくて、
System.Text.StringBuilderクラスで読み込みたいのですが、どうやればいいでしょうか。


Dim Dialog As New OpenFileDialog

If Dialog.ShowDialog(Me) = Windows.Forms.DialogResult.OK Then

Dim value As New IO.StreamReader(Dialog.FileName)

ここで、value.ReadToEndではString型になってしまいます。
それともStringからStringBuilderクラスに変換するメソッドなどがあるのでしょうか。

10:9
07/04/25 15:08:33
自己解決しました。

Dim sr as new System.Text.StringBuilder(value.ReadToEnd)

これで良かったみたいです。
板汚し失礼しました。

11:デフォルトの名無しさん
07/04/25 15:09:30
>>5
Win32APIは知らんが、
Shell.Applicationを使えば簡単にできるのでは?
Folder.MoveHere FolderItem


12:デフォルトの名無しさん
07/04/25 15:18:36
>>10
何がしたいw

13:デフォルトの名無しさん
07/04/25 19:23:08
質問です。
SQLサーバから取得したテーブルをDataGridViewにFILLする際の
書式指定のやり方を教えて下さい。


4987123456789 (文字列13桁)

表示させたい書式
49-87123-45678-9

columns(0).DefaultCellStyle.formet が疑わしいと思うのですが、さっぱりです。

14:13
07/04/25 21:04:36
自己解決しました。。。CellFormattingを使用。

Private Sub DataGridView1_CellFormatting(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
  Dim o As Object = e.Value
  If Not (o Is Nothing) AndAlso e.ColumnIndex = 0 AndAlso e.Value.ToString().Length = 13 Then
    Dim s As String = o.ToString()
    e.Value = String.Format("{0}-{1}-{2}-{3}", s.Substring(0, 2), s.Substring(2, 5), s.Substring(7, 5), s.Substring(12))
    e.FormattingApplied = True
  End If
End Sub

15:デフォルトの名無しさん
07/04/25 22:18:17
VB2005でASP.NETシステムを書いてます
Win2003 ServerにWebサイトの発行でできたソースを設定し、ブラウザで表示させたところ、
web.configに以下のエラーが発生しました。

'/' アプリケーションでサーバー エラーが発生しました。
--------------------------------------------------------------------------------

構成にエラーがあります。
説明: この要求を処理するために必要な構成ファイルの処理中にエラーが発生しました。以下のエラーの詳細を確認し、構成ファイルに変更を加えてください。

パーサー エラー メッセージ: アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されているセクションを使うことはできません。このエラーは、仮想ディレクトリが IIS でアプリケーションとして構成されなかった場合に発生します。

ソース エラー:


行 81: -->
行 82: <!--認証について-->
行 83: <authentication mode="Forms">
行 84: <forms name="xxxxx" protection="All" loginUrl="login.aspx" timeout="30" defaultUrl="menu.aspx"/>
行 85: </authentication>

83行目にエラーがあると表示されます。
これはどのように修正すればいいのでしょうか?

16:デフォルトの名無しさん
07/04/26 21:02:13
質問ですが
VB.NET2005で作成したアセンブリにはMyが入ってしまうのですが
これを入らないようにする方法はありませんか

17:デフォルトの名無しさん
07/04/26 21:03:17
あります

18:デフォルトの名無しさん
07/04/26 21:04:03
>>17
詳しく教えてください

19:デフォルトの名無しさん
07/04/26 21:10:27
あるなし厨と教えて君ワロタ

20:デフォルトの名無しさん
07/04/26 23:00:44
UnZip32.dllを使ってzipファイルを解凍しているのですが
既存ファイルがある場合は選択コマンドが出ます。
コマンドを表示させずに既存ファイルを全て置き換えるには、このSwitch設定をどうしたらいいですか?
Switch = "-x"

21:デフォルトの名無しさん
07/04/26 23:11:46
>>20
なぜここで聞く?

22:20
07/04/26 23:19:03
>>21
うるせぇ、答える気ないなら来るなバカ

23:20
07/04/26 23:23:42
>>22
うるせぇ、お前が勝手に答えるなバカ

24:20
07/04/26 23:28:19
>>22
>>23
あの、誰ですかあなた達?w

スレ違いのようでした。
すみません。

25:20
07/04/26 23:32:15
あのすみません
分かる方お願いします。

26:デフォルトの名無しさん
07/04/26 23:38:35
>>20
<option>
-o すでにファイルが存在しても、ユーザーに問い合わせることなく上書きする。
URLリンク(www.red.oit-net.jp)

27:デフォルトの名無しさん
07/04/27 11:29:32
>>25
ググれば答え出てたぜ?

28:デフォルトの名無しさん
07/04/27 11:57:47
TreeViewコントロールのTreeNodeを選択したときの、選択時バックラーを、
例えば ContextMenuStrip コントロールの中の ToolStripMenuItem を
選択したときの選択時バックラーのように、薄いパープル色にしたいのですが、
可能でしょうか?可能としたらそのためにはどのようにすればいいでしょうか?



29:デフォルトの名無しさん
07/04/27 13:41:06
バックラー。武具がどうかしましたか?

30:デフォルトの名無しさん
07/04/27 18:24:20
バックラーを背景色(バックカラー)のことだとすると、ノードをオーナードローするしか
ないんじゃね?
ちなみに、オレの環境(XP)ではToolStripMenuItemの選択色は薄いパープルにはならんけど。
ToolStripMenuItemにはRenderModeあるし。



31:デフォルトの名無しさん
07/04/27 19:58:07
>>30
>ノードをオーナードローする

そうですか、わかりました。やってみます、どうもでした。

32:デフォルトの名無しさん
07/04/28 00:51:37
Dim xlApp As New Excel.Application()
xlApp.Visible = True

てな具合にEXCELオブジェクトを表示させたあと、
ユーザーがEXCELを終了させたことが
わかるようにするにはどうしたらいい?


33:デフォルトの名無しさん
07/04/28 01:48:28
その小学生の作文みたいな文章、少しは文章推敲したら?
「わかるようにするにはどうしたらいい? 」という日本語が分からないよ。
わかるって誰がだよw

エクセルのウィンドウがユーザーによって閉じられたとき、それをプログラムで
検出したい、という意味か?

それならたぶんエレガントな方法では出来ないと思う。
そういうイベントは用意されてないし、そうでなくてもエクセルのイベントって
なぜかうまく受信できない場合が多い。

泥臭い方法だけど、エクセルのウィンドウがユーザーによって閉じられるとApplication.Visibleが
Falseになるようだから、それをポーリングすれば一応できないことはないと思う。

34:デフォルトの名無しさん
07/04/28 10:22:51
VB.NETを初めてする者がわかり易い参考書やサイトはありますか?
プログラム経験はなしです。上記のサイトを見させてもらったのですが、
VB.NETだけでなく、ASP.NET、C#という言語のものもあって混乱しています。
スレ違いかもしれませんが、よろしくお願いします。

35:デフォルトの名無しさん
07/04/28 13:59:34
同じことをするC#とVB.NET両方のコードを載せてあるところが多いから
VB.NETのコードだけを見ればいいだろ
まあ両者はほとんど同じ言語だからそのうちC#も読めるようになるよ

36:デフォルトの名無しさん
07/04/28 14:31:15
そうそう、あっちもこっちもすると混乱するだけ。
初心者ならVBのほうがいいと思う。
C#はわかってる人間には効率的に書けたりするけど、VBに比べると
コンピュータ言語っぽさがあるから。

37:デフォルトの名無しさん
07/04/28 15:53:39
旧VB に慣れた人なら兎も角、新規に学ぼうという人は C# で型の概念をきっちり身につけた方が良いと思うんだけどな。
せめて Option Strict On がデフォルトならなぁ……。

38:デフォルトの名無しさん
07/04/28 19:14:02
>>35-37
ありがとうございます。
仕事で開発部門にまわされてそこでVB.NETを使うので覚えるようにと
言われたのですが、似たような記述で戸惑っていました。
サイトを見てもいまいち理解しにくかったので、参考書を買ってみようと思います。

39:デフォルトの名無しさん
07/04/28 20:25:58
VBの方が実際によく使われてるけど
C#はC#→VB.NET, Java, C/C++, … と続けてどんどん習得していきやすい

40:デフォルトの名無しさん
07/04/29 01:43:25
>>39
まじで?
俺VB.NETから .NET入っクチだけど
世の中の流れはC#だなぁ・・・と思ってC#に移行したんだが
まぁ、結局仕事で両方使わないといけないので両方使ってるけど


41:デフォルトの名無しさん
07/04/29 12:41:18
言語の問題じゃなく、考え方さえちゃんとわかってればいいと思う。
VB.netでもUIに貼り付けて適当にイベントコード書くのじゃなくて
クラス設計とかを考えて使ってれば問題ないと思う。

42:デフォルトの名無しさん
07/04/29 13:10:27
しかしStrict = Onなんて意味ねえな、と個人的には思う。

周囲の目があるから意味ねえと思いつつStrict Onにしてはいるけどね。
Strict Onにしといてよかった、なんて思ったこと一度もないよ。

縮小変換を縮小変換と意識せずついうっかり書くなんてことあるか?
ありえねえw
だったら明示的に型変換することに何の意味があるんだよアホらしい。

ArrayListのアイテムにDirectCastを強制することで、突っ込んだ型と違う型に
キャストしてしまう可能性を減らせるか?
絶対ありえねえw
同じ場面ならやはりdestinationの型の指定を間違うだけだろ。

43:デフォルトの名無しさん
07/04/29 13:18:54
みんなお前みたいにちゃんと理解してやってるとは限らないだろ

44:デフォルトの名無しさん
07/04/29 13:30:40
まぁ、こういうアホを納得させるには誉めるのが無難だな。

45:デフォルトの名無しさん
07/04/29 17:17:35
っていうか、プログラム初心者はとにかく動くプログラムを作れるようになるのが先決。
そうじゃないと、どんな話も理解できない。

「プログラム初めて」っていう人にオライリー本薦めるバカも世間にはいるようだが。

46:デフォルトの名無しさん
07/04/29 17:39:23
作りたいアプリをとりあえずStrictオフでガーっと作ってみて、
動作もだいたい完成レベルになったので、
Strictオンにして暗黙の型変換してるところを全部書き直したが、
動作速度が全く変わらなかった。

47:デフォルトの名無しさん
07/04/29 17:41:53
レイトバインディングの弊害はコンパイル時に型に起因する問題を解決できないこと。
分かって書いてるならそっちの方が都合が良いことも多いんだがね。

48:デフォルトの名無しさん
07/04/29 18:27:15
クラス設計なんか考えなくていい。
使いたい機能が使いたいときに手順に従ってガーッと使うだけで動くプログラム書けるんだから。

49:デフォルトの名無しさん
07/04/29 18:29:56
釣れそうですか?

50:デフォルトの名無しさん
07/04/29 20:20:43
そういうのは移行とは言わないw
まあ、どっちでもって人はたくさんいるだろな


51:デフォルトの名無しさん
07/04/29 20:27:49
初心者にとっては、オフだととんでもないのを書いてしまうので有用。
上級者にとっては、まれにやってしまうミスを見つけられる場合があるので有用。
他の人の書いたプログラムを見るとき、あえてやってるのか、間違えてるのか明らかなので有用。
どう考えても有用。


52:デフォルトの名無しさん
07/04/29 20:31:59
オフだとインテリセンスが使いにくいし

53:デフォルトの名無しさん
07/04/29 21:05:37
あと速くなるのはレイトバインディングを減らせた場合で、
最初からまっとうにコーディングしてるなら変わらん。


54:デフォルトの名無しさん
07/04/29 21:22:19
値型をいっぱい使ってたら速くなるだろ
逆にいえばOffだと値型の意味がない

55:デフォルトの名無しさん
07/04/29 21:27:49
あほ

56:デフォルトの名無しさん
07/04/29 21:28:38
だからそういうのはまっとうに使ってない場合だろw

57:デフォルトの名無しさん
07/04/29 21:32:45
まっとうに使うって言って全部型指定したらStrict Onと同じだろw
Offだと型指定しなくても「まっとう」になっちゃうって話

58:デフォルトの名無しさん
07/04/29 21:32:51
>>54
こういう奴がいるからオンにしなければならない。

59:デフォルトの名無しさん
07/04/29 21:39:42
>>57
おまえオフの場合は型書かない前提なのかよ。

いや、普通は違うと思うぞ。
そんなインテリセンスも使えん状態じゃやっとれんだろ。


60:デフォルトの名無しさん
07/04/29 21:42:57
「オフだと値型の意味がない」って書いといてそうは読み取れん。
wとか書いてるしあやしいんだよ

61:デフォルトの名無しさん
07/04/30 01:52:27
どうしてレイトバインディングとか極端な話になるのかね。
CreateObjectでエクセルとか操作する場合を除けば、Strict = Offでも
レイトバインディングなんてわざわざする訳がなかろうに。

別に煽りとかそんなんじゃなく、純粋に興味があるから聞くけど
俺は>>42に書いたとおりStrict = Onに積極的な意義はないと思うけど、
それは間違いだという意見の人は、是非具体的にその理由を教えてくれないか?

62:デフォルトの名無しさん
07/04/30 02:43:32
んなもんどっちでもええわ。
サポート機能のひとつなだけで、間違いとかそういう問題じゃねーよ。

63:デフォルトの名無しさん
07/04/30 08:18:41
デフォルトでonになってるんだからあえてさわらんでもという感じだな

64:デフォルトの名無しさん
07/04/30 08:25:19
いや、なってないけど。。

65:デフォルトの名無しさん
07/04/30 10:16:15
型指定するのってデフォじゃないの?

66:デフォルトの名無しさん
07/04/30 12:16:48
今までVBでやってきて、VB.NETでの開発に移行するのですが(遅っ!)、
ランタイムライブラリとクラス・ライブラリをどう使い分けていますか?
一つのプログラムで、クラスライブラリなら全部クラスライブラリで統一
して記述していますか?

ある所では今までのVBで使えた関数を使って、別の所ではVBで使えた関数では
なく、クラスライブラリの関数を使うといった、2つを混合させて記述してもOKですか?


67:デフォルトの名無しさん
07/04/30 12:58:32
C#な人との共同の仕事じゃなきゃ別にいいんじゃない?
VBライブラリは将来なくなる可能性がある、とかMSは言ってるけど
どうせハッタリで実際はなくせないと思うし。

68:デフォルトの名無しさん
07/04/30 14:41:49
.NET2.0で最終進化だと言い切ってもらいたんだが

69:デフォルトの名無しさん
07/04/30 15:36:24
そろそろ新技術Orgが発表されます。

70:デフォルトの名無しさん
07/04/30 22:57:44
VB2005です。恐縮ですが質問があります。

テキストエディタをRichTextBoxを使って製作しているのですが、
Wordのように文書に段落番号を設定できるようにするには
どのようにすればよいのでしょうか。
箇条書きや段落のインデントの設定などはわかったのですが
段落番号がわかりません...。

よろしくお願いします。

71:デフォルトの名無しさん
07/04/30 23:20:09
標準では無理。
PARAFORMAT2 を EM_SETPARAFORMAT で投げることになるかな。めんどくさそ。

72:デフォルトの名無しさん
07/05/01 19:42:25
すみません。PHPからの移行者なんですが、PHPだと画像が1つあれば
それを拡大・縮小など簡単にできたんですが、VB.netでもできますか?

できれば、VBでつくりたいとおもっています。よろしくお願いします。

73:デフォルトの名無しさん
07/05/01 19:45:37
System.Drawing
あたり見てみるといいんちゃう?

74:72
07/05/01 19:52:09
>>73
どうもありがとうございます。vb drawingで検索したところ、
そのものずばりのURLがでてきました。実はサムネイル画像をつくりたかったんですが
その作り方がかいてあります・・URLリンク(www.atmarkit.co.jp)

どうもありがとうございました。助かりました。

75:デフォルトの名無しさん
07/05/01 21:16:46
HEX()やOCT()みたいな関数で2進数に変換してくれる関数は存在しないのでしょうか?

76:デフォルトの名無しさん
07/05/01 21:33:10
Convert.ToStringつかいなされ

77:デフォルトの名無しさん
07/05/01 21:57:00
ASPとCOMでHTTP通信のReadとかWriteとかあるんだけど、
送信は好きな時に送ればいいけど、受信はイベントでも発生するの??

78:デフォルトの名無しさん
07/05/01 21:59:25
すごい前衛的な日本語の使い方だなw

79:デフォルトの名無しさん
07/05/01 22:11:31
>>76
ありがとございます。
これって0000-0000みたいに出力のフォーマットを指定することはできませんか?

80:デフォルトの名無しさん
07/05/02 01:15:30
>>79

一例をあげると
string.format("0000-0000")
これじゃね?

もちろんほかにも色々あるけど、簡単なのはこれかな

81:80
07/05/02 01:16:34
間違えたwww
convert.tostring(""0000-0000"")
まぁオーバーロード一覧見てみればいいよ


82:デフォルトの名無しさん
07/05/02 08:18:06
恥ずかしい奴だなw
それって単なる0のプレースホールドしてるだけじゃないのか?
>>75をよく見ろよ

83:デフォルトの名無しさん
07/05/02 09:15:12
>>82
 あ~>>79だけ見てた
 指摘トン

84:デフォルトの名無しさん
07/05/02 21:46:05
>>77
レスありがとうございます。
で本題の方は・・・

85:デフォルトの名無しさん
07/05/03 17:09:28
VB2005で質問です。
win32 APIを使って他のWindowにアクセスするプログラムを作りましたが、
終了してもプロセスが残ったままになります。
アンマネージリソースの開放(?)とかが必要なのでしょうか。
もし、必要ならば具体的にどうすれば良いのでしょうか?


86:デフォルトの名無しさん
07/05/03 17:25:21
プログラミングなんてやめてしまう、が正解。
たぶん才能ないし向いてないんだよ。
そんな質問の仕方をするようではね。

87:デフォルトの名無しさん
07/05/03 17:36:20
Application.Exit

88:デフォルトの名無しさん
07/05/03 17:54:24
解放でしょ

89:デフォルトの名無しさん
07/05/03 18:15:14
>>85です。
解放ですね。。。。
Application.Exit とか Dispose() とかも試してますが上手くいかないです。
VS2005のデバックモードでは何も問題ないです。(これは当然か。。)



90:デフォルトの名無しさん
07/05/03 21:53:07
>>86
ここに来る四角が無いw

91:デフォルトの名無しさん
07/05/03 22:03:29
>>89
スレッドが残ったりしてない?Environment.Exit でどう?

92:デフォルトの名無しさん
07/05/03 23:55:59
せめてこうすればよくわかるとは思うんだが
なにも想像がつかない

VB2005で質問です。
win32 APIの”A”を使って他の”Bにアクセスするプログラムを作りましたが、
”C”のような手順で終了しても”Dの”プロセスが残ったままになります。
アンマネージリソースの開放(?)とかが必要なのでしょうか。
もし、必要ならば具体的にどうすれば良いのでしょうか?


Aは使っているAPI
Bは外部のプログラムだろうけど呼び出しはどうしているのかなど(Shellで起動させた.Netのアプリ など)
Cは何をどのように終了させているか
Dは対象となるプログラム(Bプログラムなのか、そのAPIを使っているプログラム自身なのか)

べつに、こういう書き方が正しいわけじゃないけど
できるだけ詳しく書かないとエスパーじゃないんだし 叩かれるだけだぜ?

まぁ、>>89の状況から察するに自身のプロセスだろうけど
とりあえず終了するとき、ほかのWindowのインスタンスが残ってないかとか いろいろあると思うんだけどな

でもなんとなく・・・・>>91の予感がする


93:70
07/05/04 00:19:41
>>71
遅レスすいません。

おかげさまでできました...
教えて頂いてありがとうございました。

94:デフォルトの名無しさん
07/05/04 01:49:46
>>85です。

>>91さんのご指摘通りですっきりしました。 ありがとう。
Environment.Exit って知りませんでした。
大半の時間を【System.Threading.Thread.Sleep】している
お遊びプログラムなので、win32APIではなく、sleep中に
終了させてしまったということなのでしょうかね。
おかげさまで、デバッカと離すことが出来ますので良しとします。

95:デフォルトの名無しさん
07/05/04 02:01:02
なんじゃそりゃ

96:デフォルトの名無しさん
07/05/04 02:19:15
どっちにしろ>>94はPGとしてカスだな
知らないなら機能を調べてから使えよ
そのソフトの修正やバグ取りで尻拭いする人間のことを考えろ

Application.ExitとEnvironment.Exitの違いもどうせ調べてなさそうだし

97:デフォルトの名無しさん
07/05/04 02:20:32
趣味グラマなんでしょ

98:デフォルトの名無しさん
07/05/04 02:32:43
納得してしまった

99:デフォルトの名無しさん
07/05/04 10:00:07
すいません。全くの初心者ですが質問させてください。
何故VB.netのスレのテンプレのリンク先がC#ばっかりなんですか?

100:デフォルトの名無しさん
07/05/04 12:35:10
>>99
死ねカスが
100年ROMって勉強してから聞け

101:デフォルトの名無しさん
07/05/04 14:39:49
>>100
99じゃないけど、カス厨うざいよ。

102:デフォルトの名無しさん
07/05/04 22:04:15
超質問、これからVista用プログラム作りたいのだけど
Vistaのアカウント制御オン状態でコードサインが無いと実行するか毎回聞かれて
ウザいんだけど、作成したプログラムを配布するとしてどこからサインもらおう?
シェアウェア製作者とかどうしてるんだろう?

103:デフォルトの名無しさん
07/05/05 18:47:36
VB.NET2005の
いくつかボタンがあるフォームの
Form Availableイベントに
Button2.Focus()
を書いてもフォームが表示されたときにボタン2にフォーカスがいかないのはバグ?

104:デフォルトの名無しさん
07/05/05 19:10:22
>>103
Availableイベントなんて無いぞ。
たぶんActivatedのことだと思うが、そのときのCanFocusプロパティはFalseだから仕様だ。
Select()するかShownイベントでFocus()しろ。

105:デフォルトの名無しさん
07/05/05 19:33:30
そうActivatedだった

106:デフォルトの名無しさん
07/05/05 19:54:05
MSDNライブラリのFormメンバ説明で
Shown フォームが初めて表示されるたびに発生します。

初めて、という言葉と、たびに、という言葉があるが結局どういうことなんだ?

107:デフォルトの名無しさん
07/05/05 23:15:05
>>106
いや・・・そのままだと思うんだが・・・・・

108:デフォルトの名無しさん
07/05/06 00:07:50
(((Shown フォームが初めて表示される)*n)たびに)発生します。

109:デフォルトの名無しさん
07/05/06 01:20:02
初めては1回しかないのに
たびは何回もということであり

110:デフォルトの名無しさん
07/05/06 02:05:57
ここは日本語の解釈を質疑応答するスレになりました

111:デフォルトの名無しさん
07/05/06 02:25:59
つーか解説読めばわかるだろ

112:デフォルトの名無しさん
07/05/06 02:33:58
在日なんだろ?w

113:デフォルトの名無しさん
07/05/06 04:34:17
VB初心者ですが、以下の件に関し教えて下さい。
テキストボックスで数字を小数点以下3桁表示にするには
どのような方法があるのでしょうか?
また小数点をチェックする方法はどのように行えばよろしいのでしょうか?
(誤入力で小数点が2つ入力されるのを防止するため)

114:デフォルトの名無しさん
07/05/06 04:47:13
TextBox じゃないとダメなのか? NumericUpDown とか

115:デフォルトの名無しさん
07/05/06 12:13:15
>>114
可能であればテキストボックスが良いのですが・・・

116:デフォルトの名無しさん
07/05/06 13:15:18
1文字以上の数値の後 小数点があるかどうかチェックし、あれば以降の小数点はうけつけない
また、小数点がある場合以降3ケタしか許さない

とりあえずこのロジックをテキストボックスのチェンジイベントにでもいれてみれば?
これも実装できないんならちょっとそれ以前の問題かと…・
指定された文字があるかどうかは
instrでもつかえばいいっしょ

117:デフォルトの名無しさん
07/05/06 13:19:42
あぁ、VB6と間違えてたw
折角だからこっちのがイイ罠

string.substring

118:デフォルトの名無しさん
07/05/07 11:17:09
フォントにはBold Italic が選択できるフォントと
Boldしかないようなフォントがあると思いますが
これを判別するにはどのようにすればいいんでしょうか?

119:デフォルトの名無しさん
07/05/09 11:06:43
VB2005Expressを使ってます。よろしくお願いします。

URLリンク(dobon.net)
ここを読んでいて思ったのですが、「設定プロバイダの自作」というのを行えば
My.Settingsで設定ファイルが保存される場所を、実行ファイルがあるフォルダ内
などに変更できるでしょうか?全然検討違いなことを言ってるでしょうか?

120:デフォルトの名無しさん
07/05/09 21:10:04
できる。方向性は間違ってない。

121:119
07/05/10 09:42:35
>>120
ありがとうございます! きちんと勉強してみようと思います。

122:デフォルトの名無しさん
07/05/10 15:11:54
ごめん、ふとおもったんだけど
Windows.Formsにあるコントロールクラスの Controls.Remove(obj as control) についてです

例えば
Form1のControlsにForm2のインスタンスが格納してあって
Form1.Controls.Remove(Form2)
てやったばあい、Form2のインスタンスは
明示的にDisposeで開放予約もなにもしなくてもRemove側とGCで勝手に開放してくれて
こっちはその辺の処理は考えなくていいんでしょうか?
その辺の挙動がわからない・・・・

123:デフォルトの名無しさん
07/05/10 16:30:36
Controlsは単なる集合だから、そこから削除されても別に関係ないと思うが。
結果、誰も参照無くなってGCの対象になるかもしれないが。


124:デフォルトの名無しさん
07/05/10 18:08:15
初心者です。質問させてください

WEBサービス内でタイマーコントロールは使用できますでしょうか?

WEBサービスの処理の中で定期的に行いたい処理があるのですが。

ご教授よろしくお願いします

125:デフォルトの名無しさん
07/05/10 22:05:16
なんかおかしくない?


126:デフォルトの名無しさん
07/05/11 08:33:27
VBでコンソールアプリ書いてタスクで実行させる方が簡単じゃない?

127:デフォルトの名無しさん
07/05/11 09:27:05
>>125
そんな気がするよな・・・・・
サービスじゃねぇのか
とか思ったりするんだが・・・・・

128:デフォルトの名無しさん
07/05/11 11:55:50
2005でFlowLayoutPanelに10KByteX20ほどの画像を2列X10行で表示させ、スクロールできるようにしているんですが
スクロールする時に画像が綺麗にスクロールされず 見た目が悪くなっています。
なんかスクロール中に引き伸ばされたような感じになり、スクロールをやめるとすぐに正常に表示されます。
貼り付けたフォームのダブルバッファのOn Offは試しましたが効果がないような気がします。

どなたか解決策をご存知の方いらっしゃいませんか?
説明不足・・・かもしれませんが よろしくお願い致します。

129:デフォルトの名無しさん
07/05/11 12:25:45
>>128
その文章じゃ、君がやってることもやりたいことも誰にも伝わらないと思う。
エスパーがいれば別だが。

130:デフォルトの名無しさん
07/05/11 13:08:13
早くスクロールすると、再描画が間に合わずに
「スクロール中に引き伸ばされたような感じ」に描画されてるんじゃ
ないかと受信した。

解決策: PCを買い換える。

131:デフォルトの名無しさん
07/05/11 13:08:36
うわぁぁ
× 早く
○ 速く

132:デフォルトの名無しさん
07/05/11 13:18:55
>>129
ごめんなさい 説明がうまくできずにごめんなさい

>>130
そのとおりなんです
で、早くするというか スクロールバーをドラッグして引っ張ると
ゆっくりでも引き伸ばされたような感じになってしまいます。

PC買い替えは・・・ちょっと無理だと思います(;´Д`)
まぁ、開発側でもそれなりになるのでユーザー側でもそうなるんじゃないかって懸念があるので
ソフト側で出来る限りその減少を押さえ込みたいなと思いまして。

133:デフォルトの名無しさん
07/05/11 13:29:19
>>128
●グラボ買い換える Or ドライバを最新にする
●DataGridView使う

以上適当に言ってみますた

134:デフォルトの名無しさん
07/05/11 14:15:18
>>133
やっぱそんな感じになりますか(;´Д`)
まぁ、最悪時間かけてグリッドにでも展開するかなんかしたほうがいいのかもしれませんね・・・



135:デフォルトの名無しさん
07/05/12 04:03:03
>>134
うちではそんな現象にならないけど。
画像が重いんじゃねーの?

136:デフォルトの名無しさん
07/05/12 19:55:53
昔Access2000のVBAでできあいのアプリをいじったことある程度の者です。
先日思い立ってフリーになったというVisual Basic2005をインストールしました。
(はじめどこから落とすのかまるで見当つかなかった…)

で、フォームの開き方やIsNull関数の仕様の変更につまづきながらもなんとか目的のおもちゃは出来ました。
が、何も考えずプロジェクト名をWindowsApplication1で保存してしまって、そのまま発行したら
インストール時のアプリケーション名がWindowsApplication1になってしまいました。
そもそもこんなおもちゃ、setup.exeからインストールするような形態で配布するようなもんじゃないし…。

というわけで3つ質問があります

1.上記のようにsetup.exeからインストールするのではなく、普通のフリーソフトのように
  zipから解凍すれば即使えるような形態にするにはどうすればよいでしょうか?
2.発行される実行ファイルに好きなアプリ名をつけるにはどうすればよいのでしょうか?
3.このアプリで作ったファイルを実行するには.NET Framework2.0必須でしょうか?

宜しくお願いします。

137:デフォルトの名無しさん
07/05/12 21:14:40
そもそも発行する必要もない。


138:デフォルトの名無しさん
07/05/13 00:24:02
その知識で作った「目的のおもちゃ」が何なのか知りたい。
1と2は入門書を見ればすぐに載ってる。バージョン管理の方法まで。
3→必須です。

139:デフォルトの名無しさん
07/05/13 05:52:49
>>137
>>138
お答えをヒントになんとかわかりました。ありがとうございます。
まさかあんな奥底にこっそり作られてるとは思わなかった…。
名前もプロジェクトのプロパティだったとは。

140:デフォルトの名無しさん
07/05/13 09:02:47
よろしくお願いします。2005 Expressを使ってます。
TabControlコンポーネントでタブの幅をぴったりにする方法がわかりません。
URLリンク(www.imgup.org)
Paddingプロパティで、ある程度は幅を広げられるのですが、ぴったりにはなりません。
SizeModeプロパティをFixedにすると、どこかにタブ幅を決めるところがあるのかと
思っても、見つかりません。

ぴったりにする方法をよろしくお願いします。

141:デフォルトの名無しさん
07/05/13 10:21:56
>タブ幅を決めるところがあるのかと思っても、見つかりません。
見つからないのではなく、探す気がないだけでしょ。
TabControlメンバ一覧をよくみた方がいいよ。
人に教えられるより自分でみつけた方が気分いいでしょ


142:デフォルトの名無しさん
07/05/13 11:34:09
プラグイン用インターフェイスで使用可能な型について教えてください。

プラグイン機能の開発を試みています。
プロパティでFontオブジェクトをやりとりしたいと考えていますが
インターフェイスの記述で、System.DrawingがImportsできません。
どういった実現方法があるのか、教えてください。

Imports System.Drawing '←記述不可

Namespace Plugin
    Public Interface IPlugin
        ReadOnly Property MainFont() As Font '←で使用したい
    End Interface
End Namespace

VB2005stdです。よろしくお願いします。


143:142
07/05/13 11:45:20
>>142
自己解決しました。
参照設定すればOKでした。

144:デフォルトの名無しさん
07/05/13 22:30:23
VB2005を使っているのですが
フォームに様々な多角形や枠付線を描写する場合
PictureBox貼り付けてそれをイベントの方で各点のxy座標を指定して変形させて描写するしかないんでしょうか?
画面に対して縦横のラインが直角や平行ならいいんですが、斜め45C以外に書いたりする複雑な図形があるので少し手間取っています

あれだけボタンなどのアイテムがあるのならペイント系のアイテムもあってもよさそうなんですが、そういったものは存在しないんでしょうか?

どうかご助言の方をよろしくお願いいたします。

145:デフォルトの名無しさん
07/05/13 22:43:05
何を求めてるのかさっぱり分からん
取りあえず開発環境はお絵かきソフトじゃないぜ?

146:デフォルトの名無しさん
07/05/13 23:54:49
簡潔にいうとフォームに手軽に図形を描きたいという事です

現状はピクチャボックスを塗りつぶしてイベントのほうで描写をし直して
各点(四角形なら4点)の位置を調整して様々な図形に変形させているので各点の座標を調整するのに手間がかかってしまう・・。
普通に正方形だとピクチャボックスそのまんまの形でいいんですが
ダイヤ型や、星型、Σみたいな形などの複雑な形になると各々の点の座標を修正しては実行して確認の繰り返しをやっています。


ペイントで画像描いて貼り付けようともしましたが各図形の色を変更させたりしたいのでその枚数分を使うとなるとプログラム的に大きくなりそうなので自分で描写した方がいいのかなという結論に至りました。
こういう図形を描写しそれの色を変更などをしたいプログラムを作成する場合はどういった方法が一般的なのでしょうか?
こういったプログラムを作成されている方が折られましたら是非助言をお願いしたいです・・・よろしくお願いします。

147:デフォルトの名無しさん
07/05/14 00:01:17
Graphicsクラスを使用しています↑

148:デフォルトの名無しさん
07/05/14 00:04:15
正直、そんなこともできんのならプログラマなんてやらん方がいいと思うわ。。

149:デフォルトの名無しさん
07/05/14 00:05:46
誰だって初心者の時期はあるだろ

150:デフォルトの名無しさん
07/05/14 00:14:34
いや初心者だからわからんとかそんな次元じゃないな。
考える力が決定的に掛けているか、そうでなければ算数レベルの数学能力すら
ままならんのだろう。

いずれにしろプログラマとしては致命的だな。


151:デフォルトの名無しさん
07/05/14 00:23:43
>>150
どこで数学能力使う?

152:デフォルトの名無しさん
07/05/14 00:27:25
>>147-151
Graphicsクラスで初心者云々ということならよりもっと簡単な別な方法があるということでしょうか?

153:デフォルトの名無しさん
07/05/14 00:40:51
そうじゃなくて、その程度の思考力がないなら
プログラミング以前の問題があるだろうという話。

154:デフォルトの名無しさん
07/05/14 00:52:53
思考力ですか?
>>146の描写方法の考え方がおかしいということでしょうか

155:デフォルトの名無しさん
07/05/14 00:58:21
Graphics以外での描写方法を知りたいんなら思考力も計算能力もまったく関係ない気がするだけど

156:デフォルトの名無しさん
07/05/14 01:02:03
とりあえず

つpolygon

157:デフォルトの名無しさん
07/05/14 01:02:44
>ダイヤ型や、星型、Σみたいな形などの複雑な形になると各々の点の座標を修正しては実行して確認の繰り返しをやっています。

方眼紙に書いてからやればいいじゃね?

158:デフォルトの名無しさん
07/05/14 02:09:22
>>150
おまえアホだな。
>>146が職業プログラマとは限らんし、プログラムにわからない事があるだけで
自分の資質なんて考えちゃいないだろ。

中学~高校と英語を勉強してきた普通の人たちが簡単な英語の翻訳を質問したら
「お前は通訳としては致命的だな」なんてコメントするか?

159:デフォルトの名無しさん
07/05/14 07:17:21
>>158がいいこと言った!

160:デフォルトの名無しさん
07/05/14 07:27:29
>>158
ウンコ触るな

161:デフォルトの名無しさん
07/05/14 09:43:30
どういうプログラムなのかが気になる。
お絵かきソフトもどきを作るのではなくて、あらかじめ決まった数種類の図形をボタンのクリックや
タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
座標の指定は手作業しかないんじゃ?
あとは156に言った多角形を書くpolygonとか。多角形を塗りつぶすFillPolygonとか。



162:デフォルトの名無しさん
07/05/14 09:58:56
つうかもう固定で描画するなら画像はっつけろよwwwwww



163:デフォルトの名無しさん
07/05/14 12:40:32
>>158
日本語書けよ。

あのねえ、プログラミング(に限らないが)には「知識や経験」だけでなく
ある程度の「資質」が必要とされるんだよ。当たり前だろ。

単に知識や経験が不足しているのなら学習して補っていけば済む。
ここがそういう場所であることには俺は異論はないよ。

でも資質が欠けていたらどうしようもないよ。
何やったって最初から無駄。
155cm43kgの奴が相撲取り目指すようなもんで、本人にとっても不幸なだけだろ。

もちろんそれでもどうしてもやりたいんだ、っていうのなら別に勝手にすれば。
でも>>146みたいなこと聞いてるようじゃ何ひとつまともなプログラムなんて
書けるようにならないことは俺が請け負うよ。

164:デフォルトの名無しさん
07/05/14 12:46:34
すみません、返答遅れました

>>155-162
レスありがとうございます。

>>156
Polygonですか?
どういったものか調べてみたいと思います。

>>161
>あらかじめ決まった数種類の図形をボタンのクリックや
>タイマーなどのイベントで色を変えたり図形を変えたりしたいということかな?
簡単に言うとそういうことになります
それと図形の位置の調整はやはり座標を手作業でしかないんですね、分かりました
例えば多角形の場合、実際にコードを実行して描写を確認しないといけないので、そこに便利な方法が無いのかと疑問に思っていました。

>>162
確かに画像を貼り付けた方がフォーム上で簡単に位置を修正したりできるのですが
何分図形の数が多いので数*色数で大体で言うと100枚前後の画像が必要になってくるのですが
フォームにそれだけのピクチャボックスを乗せるとなるとやはり処理や動作に支障をきたすのではないのでしょうか

165:デフォルトの名無しさん
07/05/14 12:48:47
画像をファイルにしといてLOADすればよかんべ。
せめて、入門本ぐらいは読もうよ。
仕事でめったに使わない画像の読み込みとか出てるから。


166:デフォルトの名無しさん
07/05/14 12:54:18
まぁ背景色の変更はソリッドとかであれば結構簡単に出来るから画像でもいいならそれも可能かと・・・
ただ、それを拡大縮小になってくると微妙だけど(;´Д`)


167:デフォルトの名無しさん
07/05/14 12:58:42
他人に配布するかしないかにもよるけどなぁ。
フォームに百枚のピクチャーボックス??なんでその必要が?
>>165の言うとおりです。
例えばだけど、
一つのフォルダにまあ百枚なら百枚の図形を入れて、フォームロード
時に配列かなにかにそのパスを入れて、PictureBoxのImage.FromFile
で画像を切り替えればいいんじゃない?


168:デフォルトの名無しさん
07/05/14 13:01:04
100枚配布するのが嫌ならリソースにつっこんどけ

ちなみにこの方法のメリットはプログラムを直さずに画像の差し替えで対応できるという点
とうぜん変更勝手にされちゃうとかのデメリットもあるが・・・


169:デフォルトの名無しさん
07/05/14 13:21:01
>>165-168
ひとつのピクチャーボックスに代わり代わりで画像を読み込ませればいいという説明でしょうか?

それでしたらすみません、説明不足でした
100枚というのはひとつのピクチャーボックスに100枚の画像を入れ替えて表示するのではなく
フォームに位置が違う100箇所ぐらいのピクチャーボックスを配置してそこに画像を読み込ませてそれぞれ色を変化させたりして表示するということです。
100枚同時に表示させる必要があるんです。
色を変える場合はピクチャーボックスの中身の画像を色が違う画像とすりかえればいいのですが・・そういうことですよね?


170:デフォルトの名無しさん
07/05/14 13:23:44
あ、それとも
必要毎にフォルダから画像を読み込ませるということでしょうか
そういうやり方だと負担が減るのかな

171:デフォルトの名無しさん
07/05/14 13:49:23
1フォームに画像が100個程度あるってことでFA?
で、それらは同時に色が変わったりするの?
それとも個別に色が変わったりするのかな?
その辺の動作周りをもう少しkwsk


172:デフォルトの名無しさん
07/05/14 13:54:47
>>171
説明ということで書いていたので100まではないんですが大よそで60前後の様々な形の画像を表示させるつもりです
色は同時に変わったり、個別に変わりもします・・要するに個別ということですよね;

173:デフォルトの名無しさん
07/05/14 13:55:45
処理的に厳しいでしょうか;

174:デフォルトの名無しさん
07/05/14 13:59:09
質問者は名前欄に最初のレス番号入れてけれ。どれがどれか分からん

175:144
07/05/14 14:08:12
そうですね、すみません・・

176:デフォルトの名無しさん
07/05/14 14:58:34
フォームに60個のピクチャーボックス??
それをコードで書く気なの?すごい…。そんなプログラム組みたくない…。

まあ、するのなら同じ図形で色だけ違う画像ファイルを1セットにするか、
コードで書いてbrushesを変えて色を変えるかだろうけど。色をランダムに
変えていいのなら、コードの方がいいかもな。

フォームに動きを加えるのはいいことだと思うけど、一体どんなプログラムで
どんな人を対象に作ってるのか差し支えなければ教えてよ。

177:デフォルトの名無しさん
07/05/14 15:28:18
まぁあ60個を同じ処理にするってのならハンドラちょこっといじればいけるだろうけど
出来れば想定する最低環境も知りたいところであったりもする

つうか・・・勉強の為に60個のピクチャボックスフォームにのっけて画像表示させてみるってのテストしてみようw
メモリは画像の大きさにもよるだろうけどさ・・・・

178:デフォルトの名無しさん
07/05/14 15:54:36
>>176-177
やはり珍しいケースなんですね
私自身もVB初心者だしどうなるか・・。

処理に関しては仮に作ったプログラムで確認したんですが
Graphicsで図形作ったコードですと色買えなどの処理は関数を作ってやってあとは各々で読み出すだけで簡単にできました
ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。

画像の場合はまだよく分からないので未知数ですが
とりあえず処理速度にしろ、作成方法にしろ色々教えていただいたことを試してみたいと思います。


179:デフォルトの名無しさん
07/05/14 16:02:07
>>178
> ただ処理以前に座標で指定する多角形を60個作るとなると位置調整で頭が痛くなりそうです・・。

前々から思っているんだが、ここがおかしいだろ。
一体何の調整がいるって言うんだ。

180:デフォルトの名無しさん
07/05/14 16:03:31
ちなみに一般的に有効にプログラミングをするとした場合
この例ですと
Graphicsで画像を描写する方法と、画像を読み込んで表示させるのはどちらが効率的だと判断できるんでしょうか?

181:デフォルトの名無しさん
07/05/14 16:05:37
>>179
多角形が一つ一つ形が違うのでその形を形取るための多角形の頂点の座標の調整と
それをフォームのどのあたりに表示させるかの座標の調整の二つです。

182:デフォルトの名無しさん
07/05/14 16:16:05
>>180
有効にって言葉も幅外広いからなぁ・・・
何かを取れば何かを失う部分もあるし

画像でやれば画像作るのはめんどくさいけど
後々変更してくれとか言われた時にコーディング量は減るし(考え方によればコーディングすらも必要ない 画像の追加・変更だけでよい)

自分で書けば融通の利く処理が出来るがその分修正にソフトの書き替えが必要だし

俺なら 表示させるサイズが固定であればこの場合、画像を選ぶ
完全に動的サイズになるなら自分で書く かな?


183:144
07/05/14 16:23:14
>>182
なるほど・・・
だとしたら図形は色は変わりますがサイズは固定なので画像の方がいいかもしれませんね
そもそもモニタ自体のサイズがまだ未定だったのでそこから決定していかないと画面座標でやってたらずれてしまいますね;
参考にさせていただきます、ありがとうございました。

184:デフォルトの名無しさん
07/05/14 16:25:53
>>183
あれだ、画像だけPNGとかで読み込んで背景色はバックグラウンドカラーという手もあるっちゃぁ・・あるとおもうんだ

185:デフォルトの名無しさん
07/05/14 16:28:03
図形はベクタデータで持っとけば色変えたり拡大したりするのも簡単なんじゃねえの?

186:デフォルトの名無しさん
07/05/14 16:32:30
>>185
俺もそう思う
けど、どうも質問者的に難しそうなので俺は簡単な実装方法を提案してみたさww


187:デフォルトの名無しさん
07/05/14 16:34:54
モニタの解像度依存でずれるとか言ってるし……
もうね……

188:デフォルトの名無しさん
07/05/14 16:39:44
ラベルに[m2]って書いて2の部分を上付けに指数表示にしたいんですがどうやればいいんすか?

189:デフォルトの名無しさん
07/05/14 16:40:43
>>150がプログラマとしては致命的なのは分かったからすっこんでろ^^

190:デフォルトの名無しさん
07/05/14 16:42:46
いまさらそんな遠距離レスつけなくても^^

191:デフォルトの名無しさん
07/05/14 16:44:23
>>188



192:デフォルトの名無しさん
07/05/14 16:56:43
>>190に言ってるんだよ^^

193:デフォルトの名無しさん
07/05/14 17:10:17
俺じゃねえよ^^

194:デフォルトの名無しさん
07/05/14 17:11:57
ばかまるだしだ・・・

195:デフォルトの名無しさん
07/05/14 17:12:06
そうやって書いたら[msup2;]っラベルのテキストに表示されるんですが…

196:デフォルトの名無しさん
07/05/14 17:15:18
それは書き方が悪いんだろ

197:デフォルトの名無しさん
07/05/14 17:20:18
>>193
墓穴掘らなくていいよ

198:デフォルトの名無しさん
07/05/14 17:22:43
ちゃんと>>191のとおりにかいたよー

199:デフォルトの名無しさん
07/05/14 17:24:32
>>195
専ブラとかのコピペしてたら超笑えるwwwww

へいほーめーとる
で変換してラベルに入力しろや

200:デフォルトの名無しさん
07/05/14 17:27:52
へいほうめーとるで変換できるんかいー!うまくできたわみんなありがつ

201:デフォルトの名無しさん
07/05/14 17:32:50
い・・・一体なんだったんだ・・・・(;´∀`)

202:デフォルトの名無しさん
07/05/14 18:11:01
2つのビットマップ(実際の画像と、モノクロのマスクパターン)を用意して透過処理を
したいんですけど、VB.NETでどう実現するのやらさっぱりで。

VC++6.0とかで BitBlt 関数使って描画するのとかはやったことありますのでその程度の
知識ならあります。誰かヒントとなるリンクだけでもいいですから教えてください。

できれば VS2003、.NET Framework1.1 の環境下で動くのでお願いします。

203:デフォルトの名無しさん
07/05/14 18:17:26
Graphicsでアルファブレンド っつうのはどうっすか?

204:デフォルトの名無しさん
07/05/14 18:35:03
>>202
GDI+はPNGをサポートしてる。
ここまで言えばわかるよね?

205:デフォルトの名無しさん
07/05/14 18:36:46
ああでも遅いから速度が必要なら自分でBitBltでマスク処理した方がいいかもね。

206:デフォルトの名無しさん
07/05/14 18:38:21
もひとつ忘れた。
別にPNG使わなくても、GDI+には透過色を指定する機能もある。

まあしかし、自分でこれだけ答えておいてなんだけど、
少しはMSDNライブラリ読めよ。

207:202
07/05/14 18:52:36
>>203-206
レスありがとうございます。

とりあえずマスクパターンを使うのじゃないですけど、MakeTransparent ってので
透明とする色を指定することで対応はできました。

マスクはどうやんのかまださっぱりですけど。

MSDNは・・・読んでみたんですけど、どこに必要な情報があるのかすらたどり着かなくて。
申し訳ございません。

もう開発から設計に移って5年ぐらい経つんですが、
「過去に似た様な処理をVC++で作ったことがあるから」って理由で借り出されたものでして。

オジサンもう疲れたよ・・・orz

208:デフォルトの名無しさん
07/05/14 19:01:53
>>207
ご苦労様w
マスク処理は.NETネイティブの機能だけでやるのはきついと思う。
描画サーフィスをビットマップに転送する機能がGDI+にはないからね。

つまりWin32のBitBltつかって昔ながらの方法でやるしかない。

209:202
07/05/14 19:11:06
>>208
>つまりWin32のBitBltつかって昔ながらの方法でやるしかない。

そうですか。その情報だけでもありがたいです。ありがとうございます。

最近の小僧どもはゆとり教育のせいか、開発言語が複雑になりすぎたせいかで
すぐに諦めて「できません」とかほざくもので・・・すみません、愚痴ですね。

今から自分の仕事やりますw

210:デフォルトの名無しさん
07/05/14 19:18:28
>>209
みると俺の環境は恵まれてるんだなぁ・・・と痛感する

211:デフォルトの名無しさん
07/05/15 07:42:55
できませんはただの報告だからいいんじゃないの?
やりたくありませんと言ったら鉄拳制裁ものだが。

212:デフォルトの名無しさん
07/05/15 09:51:44
>>211
出来るはずのものをできませんとかねーよ
>>209の例だと調べりゃこのスレでもでてた即いくつかの方法や代替案がでてくるだろう どれだけレベル低いんだよ
低いなら調べたなりに出来ない根拠や別の案があるけど、多分あの様子だとないんだろうな・・・


213:デフォルトの名無しさん
07/05/15 10:41:50
Delphi製の、Pchar型の文字列を渡すとPchar型の文字列が返ってくるDLLを使いたいと思い、
DLLを使う方法までは調べたのですが、データ型としてPcharが使えません。
VB2005から、Pchar型を使うDLLを使用する方法は無いでしょうか?

214:デフォルトの名無しさん
07/05/15 17:07:25
PCharいうたら短い文字列へのポインタだったか?
Charset=Charset.ANSIを指定してDllImportすりゃいい。
型はStringBuilderだ。

215:デフォルトの名無しさん
07/05/15 17:15:54
渡す方はStringで、受けとるほうがStringBuilderだな。
一つの引数で上書きされるなら、StringBuilderか。

216:213
07/05/15 18:35:56
>>214-215
ありがとうございます! 教えていただいた単語を手掛かりに頑張ってみます。

217:デフォルトの名無しさん
07/05/16 16:06:05
インターフェースなんですが、Implementsを書いたあとにIntelliSense見たいに
実装を挿入することって出来ないのでしょうか?

実装しないでビルドするとエラーの説明で、実装すべきメソッドが表示されるので
あっても良さそうなんですが。。。

218:デフォルトの名無しさん
07/05/16 16:14:19
質問です。

ローカル上のIPアドレスからホスト名を取得しようとしています。
2.0だとDns.GetHostEntryを使うようにとあったので

x = System.Net.Dns.GetHostEntry("**.**.**.**").HostName

このようにしていました。
Win2k上では正常にホスト名を取得していたのですが、XP上ではIPアドレスしか取得できません。

Resolveを使うと取得できたのですが、旧形式だと警告されてしまいます。
他に取得する方法はないでしょうか?
よろしくお願いします。

219:デフォルトの名無しさん
07/05/16 18:02:39
VB2005でアプリ作りました。で、匿名で公開したいんですけど、
これどこかにコンピュータネームやWindowsのユーザーネームが埋め込まれてるってことはないですよね?
わけわからずにClickOne使った時、勝手に上記が埋め込まれてたのでビクビクしています。
リソースハッカーでみた限りはないようなのですが。

220:デフォルトの名無しさん
07/05/16 18:02:42
>>217
できるよ
例えば 新しいクラスで

implements idisposable○

ここでEnter押したらそのクラスの一番下に入ってないか?

221:デフォルトの名無しさん
07/05/16 18:03:35
>>218
新形式使えれ


222:217
07/05/16 18:52:59
>>220
ありがとうござます。
もう少しでスニペットで一個一個作るところでした。

223:デフォルトの名無しさん
07/05/16 20:14:55
ファイルを解凍するときに
既にUNLAH32.DLLは動作中ですってエラーがでるのだけど
UNLAH32.DLLを終了処理するには、どう記述したらいいですか?


224:デフォルトの名無しさん
07/05/16 20:32:39
うまく表現できないんだけど、必ず
  Public X as Single
  Public Y as Single

の二つのフィールドを持つ値型、みたいな型の指定ってできないかな?

もちろんインターフェイスを使えば近いことは可能なんだけど、
構造体の配列をストリーミング的に渡すような使い方をしたいので
パフォーマンス的な理由でなるべくならインターフェイスは使いたくない。

こういう場合、やっぱり特定の型の構造体の配列をベタに引数に取るようにするしかないのかな。

225:デフォルトの名無しさん
07/05/16 20:33:25
実行中のプロセスがあるからじゃないのか?
プロセスみてみてKillすれば?
つうか、動作中です って出てるのを終わらせるのは・・・あんまお勧めしないが?
まぁどういうソフト組んでるかにもよるし・・・

自分で1回UNLAH32.DLLをつかって解凍したあとの動作なのかな?

もしそうじゃないとすれば、UNLAH32.DLLを使うようなソフトは?
WindowをSafeモードで起動して 自分のソフトで解凍しようとしてもそうなるの?


226:デフォルトの名無しさん
07/05/16 20:36:26
>>224
構造体でいいと思うんだけど・・・
少なくとも俺はそうしてる
C++なら別のやり方もあるけど・・・

そこまでパフォーマンスを気にするなら何か他のところで余裕で稼げそうな気がする

227:デフォルトの名無しさん
07/05/16 20:40:40
>>225
自分で1回UNLAH32.DLLをつかって解凍したあとの動作です。

開放処理する必要があるのでしょうか?
その場合どう記述したらよいのか・・・

228:デフォルトの名無しさん
07/05/16 20:45:53
>>227
ということはアンマネージリソースが開放されてないんじゃないかと予想してみる

多分解凍が終わったら引数が帰ってくると思うんだけど・・・・
それがちゃんと出来てるなら

MarshalクラスつかってComObjectかどうか調べて
ReleaseComObject でキチンと開放してやってみてはどう?


229:228
07/05/16 20:48:06
ごめん、書き忘れ
そういえば
UnlhaGetrunning
みたいな現在実行中かどうか調べる関数なかったっけ?

実際にやってる処理差し支えなければ書いてみれば きっと皆こたえてくれるような気がするけどw

230:デフォルトの名無しさん
07/05/16 21:02:33
>>229
'LHA書庫操作を行う
Private Declare Function Unlha Lib "Unlha32" (ByVal hWnd As Integer, ByVal szCmdLine As String, ByVal szOutPut As String, ByVal dwsize As Integer) As Integer

'ファイルのダウンロード
Internet.DownloadFile(URL1, FileName1)
'書庫の解凍
Dim UnlhaLzhFile As String '書庫ファイル名
Dim UnlhaDir As String 'ファイルのパス
Dim UnlhaFiles As String'ファイル(ワイルドカード指定可)
Dim UnlhaSwitch As String '書庫操作命令
Dim UnlhaOptions As String '書庫操作スイッチ
Dim UnlhaCommandString As String'Unlhaのコマンド
Dim UnlhaRetunValue As Integer '書庫操作の結果戻り値
'各種パラメータの設定
UnlhaLzhFile = My.Settings.FilePath01 '"C:\お気に入り.lzh"
UnlhaDir = "C:\Documents and Settings\My Documents\My eBooks\My eBooks\"
UnlhaFiles = ""
UnlhaSwitch = "x"
UnlhaOptions = ""
'ファイル名の前後にダブルコーテーションを付加
UnlhaLzhFile = """" & UnlhaLzhFile & """"
UnlhaFiles = """" & UnlhaFiles & """"
UnlhaDir = """" & UnlhaDir & """"
'各種パラメータの値を元にコマンドを作成
UnlhaCommandString = UnlhaSwitch & " " & UnlhaOptions & " " & UnlhaLzhFile & " " & UnlhaDir & " " & UnlhaFiles & " "
UnlhaRetunValue = Unlha(0, UnlhaCommandString, Nothing, 0) '書庫操作を行う 解凍

231:デフォルトの名無しさん
07/05/16 21:27:21
>>226
やっぱりそれしかないのかな。。

値型用の(ボックス化されない)インターフェイスみたいなものがあっても
いいように思うんだけど。

232:デフォルトの名無しさん
07/05/16 21:29:07
FreeLibrary()

233:デフォルトの名無しさん
07/05/16 21:34:29
>>230
とりあえずウチの環境でVer2.55のDllつかって
パスだけ変えて動かしたらちゃんと動いてるよ

ソフトの中で同じ処理3回呼んだけど
問題なかった

なにか止まっているとかじゃないかな?

>>231
の呼んで開放してやるといいかも

234:デフォルトの名無しさん
07/05/16 23:00:57
初歩的な質問ですがお願いします
参照設定で X を指定する
これはソリューションエクスプローラの参照設定からX追加という作業でよろしいんでしょうか?
これは何を意味しているのでしょうか?

235:デフォルトの名無しさん
07/05/16 23:51:44
>>234
それでいいよ

意味するところは
ある機能に特化した機能の塊を使えるようにする為

ざっくり言えば
Formやボタンなんかが使えるのは使いやすいように最初から
System.Windows.Form
っていうクラスを参照している感じ



236:デフォルトの名無しさん
07/05/17 00:06:41
>>235
わかりやすい説明でありがとうございます

237:デフォルトの名無しさん
07/05/17 00:16:28
いやそれで納得しちゃダメだってw
>>235はImports文によって名前空間の「パスを通す」ことと
プロジェクトのアセンブリの参照設定を混同してる。

234が言ってるのは前者。235が言ってるのは後者

238:デフォルトの名無しさん
07/05/17 00:17:26
すまん前者と後者が逆だな

239:デフォルトの名無しさん
07/05/17 00:26:18
URLリンク(msdn2.microsoft.com)(VS.80).aspx

240:デフォルトの名無しさん
07/05/17 00:28:53
コピペ君って馬鹿だな、まで読んだ。

241:デフォルトの名無しさん
07/05/17 00:42:08
つうか 普通にラベルとテキストボックス30個くらい貼り付けたフォーム開いたら
奇麗に表示されないんだけどどうなのよ
VB6で同じことやったら普通に開くのになぜドトネトのほうが遅いんだ?????

242:デフォルトの名無しさん
07/05/17 00:44:46
WindowsFormsはそんなもん


243:デフォルトの名無しさん
07/05/17 00:47:42
マジで???
Javaも大概重いと思ってたけどそれに同じくらい重いのな(´ヘ`;)
P4 2.4Gでそれなりに重いからWin2000とかの昔のに入れたらもっと重い感じがするってことなのか…・
orz

244:デフォルトの名無しさん
07/05/17 01:04:34
ハリボテの表示が遅いだけで処理は遅くないぞ

245:デフォルトの名無しさん
07/05/17 01:15:43
>>244
UIの描画とかが遅いだけってことなのか
ちょっと安心したよ あの調子で全体遅かったらつかえねー とか思ってたんで

フレームワークがJAVAみたいな資産に足引っ張られてgdgdにならないことを祈りつつ頑張って勉強してみるよ

246:デフォルトの名無しさん
07/05/17 01:22:53
まあどうせ WinForm は WPF にまるごと置き換え予定だしな
少なくともあと5年ぐらいは掛かるだろうけど

247:デフォルトの名無しさん
07/05/17 01:23:58
初心者なんですけど
コンパイルするときに
"cl ファイル名"でやると、
「"cl"は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。」
ってでるんだけど"cl"じゃ駄目なの??

248:デフォルトの名無しさん
07/05/17 01:33:08
ここはVB.NETのスレですが・・・

249:デフォルトの名無しさん
07/05/17 07:55:59
vbc hoge.vb で幸せになれると思うよ。vjcでさらに・・・

250:デフォルトの名無しさん
07/05/17 11:20:04
URLリンク(msdn.microsoft.com)
このタスクバーにアプリケーションを乗せたいんだけど、やり方がさっぱりなんだ。
どこから手を付けたらいいか教えてください。


251:デフォルトの名無しさん
07/05/17 11:57:01
「幸せになれる」って言葉使うヤツきもい

252:デフォルトの名無しさん
07/05/17 12:02:58
>>250
アプリケーションを乗せるってのはグーグルツールバーみたいなアドインのこと??

253:250
07/05/17 12:11:03
>>252
Google Deskbarにみたいにです。
タスクバー右クリック->ツールバーで選択できるようにしたいのです。

機能は検索するとかそういうのを作りたいわけじゃないんですが、
まだタスクバーに作ったアプリを起動させることができないので。

254:250
07/05/17 12:18:13
DeskBandと言うらしいのですけど、そこからがわからない。

255:デフォルトの名無しさん
07/05/17 12:32:46
どっちかというとosの仕様に関する知識になるのかねえ。
こういう資料ってどこにあるんだろう。

256:デフォルトの名無しさん
07/05/17 13:15:31
>>250
BandObjectでぐぐれ

257:デフォルトの名無しさん
07/05/17 13:17:31
QTTabBarがやってるな。C#製らしいけど。
ってみてみたら>>256を使ってるみたい

258:デフォルトの名無しさん
07/05/17 15:45:47
BandObjectってC#なのか?VBじゃ使えんの?

259:デフォルトの名無しさん
07/05/17 15:47:35
使えるだろ・・・・

260:デフォルトの名無しさん
07/05/19 00:01:57
ビルドでbinフォルダにEXE作るとして
他のフォルダのdllを読込む時、
binの中に勝手にdllがコピーされるので、
binのdllを削除したら
「依存関係の 1 つが読み込めませんでした」
というエラーになりました。

この状態でもdllの参照が可能になるには
どうすれば良いでしょうか?

261:デフォルトの名無しさん
07/05/19 00:06:56
>>260
ドットネットフレームワークのDLLがどう登録されてるんだろうな?
ほかのDLLはどこに登録されてるんだろうな?

でも、基本的にそっちのが俺はいいと思うんだが…

262:デフォルトの名無しさん
07/05/19 00:11:29
なんでこう DLL を嫌がるんだろうね

263:デフォルトの名無しさん
07/05/19 00:13:23
>>260-261
日本語書けよ。
エスパー同士の会話か?w

264:デフォルトの名無しさん
07/05/19 03:42:50
>>260
無闇には勧めないがGACに登録。

265:デフォルトの名無しさん
07/05/19 04:15:46
無闇じゃなくても薦めるなそんなの。


266:デフォルトの名無しさん
07/05/19 20:25:46
初心者でまだテストコードも書いてないんですが、方針を教えてください
Class A
Inherits Base
Function b() as string
・・・・
End Function
End Class

Class Base
Function a() as string
return b
End function
Function b() as string
・・・・
End Function
End Class

となっているときに、継承クラスであるAの関数aを呼び出したとき
aはベースクラスbase.bを呼び出しますよね?
このとき継承クラスAがオーバーライドした関数bを呼び出させる
方法はありますか?
よろしくお願いします。

267:266
07/05/19 20:31:13
追記
Base.a()は非常に複雑だけど一部だけ変更可能にしないと機能しない関数です。
そこでその部分を関数bで処理します。
ただし、Baseクラスの関数bにもベーシックな処理を記述しておきたいのです。
よろしくお願いします。
言語の基本仕様にないとしたらデザインパターンを使うのでしょうか?
そのパターンの名前とか教えていただけるとありがたいです。

268:デフォルトの名無しさん
07/05/19 20:37:45
普通にbを仮想関数にすりゃいいんでないの?

269:266
07/05/19 20:47:17
>>268
仮想関数ですね・・・調べてみます!
とっかかりがわかんなくてデリゲートとかわけのわかんないのを調べてました。
base.bの宣言をOverridableにせよということですね?
ありがとうございました!!!

270:デフォルトの名無しさん
07/05/19 21:06:35
>>266
あのさあ、学べば分かることを学びもせず、
試せばわかることを試しもせず、そんな態度じゃどうにもならんと思うぞ。

あと余計なお世話かもしれないが、268には君が質問したいと思っていることが
恐らく伝わってないと思われる。

そしてそれは268の読解力のせいというより、お前さんの文章の表現が酷すぎるからだと思う。

まあ俺自身も君の質問の意図を勘違いしている可能性は大いにあるが、一応質問に回答するけど
オーバーライドされたメソッドというのは、たとえその呼び出しがベースクラスに
記述してあるとしても、元のベースクラスのメソッドではなく、オーバーライドされた方の
メソッドが呼び出されるんだよ。

MeとMyClassとMybaseの違いとか、あとShadowsとかの意味を調べた方がよさそうだね。

271:268
07/05/19 21:11:27
ん?外してたか?
よくわかんね

272:266
07/05/19 23:18:20
>>270
ああ!そうなんですか。
勘違いしてました。

確かにこれからテストコード書くんですが、そもそもどういう仕組みになるのか
考えていたもので、ありがとうございました。

273:デフォルトの名無しさん
07/05/20 07:36:18
ActiveReportを使って、ユーザーが任意の列数を選択し、印刷プレビューに表示させる
という内容のプログラムを作成中なのですが
列数が10を超えた場合、次のページに残りの列を表示、というのは可能なのでしょうか。
ActiveReport、もしくなそれに似たようなものを使った経験のある方、よろしくお願いします。
※ActiveReportの設計は私ではなく別の人が行っております。列を格納する部分は10個になっていました。

274:デフォルトの名無しさん
07/05/20 12:22:05
>>273
ActiveReportsについてるサンプルくらい見ろ
あとメソッドやプロパティ一覧も
余裕で出来るということが載ってる

275:デフォルトの名無しさん
07/05/20 12:26:33
またプチ北方謙三が偉そうに
見ろ、だってさ。
こういうの自我肥大っていうんじゃないの?w

276:デフォルトの名無しさん
07/05/20 12:30:33
>>275

>>273
おまえよっぽど必死なんなだなぁ・・・・
がんばれよ~

277:デフォルトの名無しさん
07/05/20 13:40:20
>>275は私じゃないけど、サンプル見てみることにします
入社一年目でこれやっといてーって丸投げされたんでなにがなんやら

278:デフォルトの名無しさん
07/05/20 13:50:30
>>277
調べて努力すりゃ1年目でもやればできる範囲だと思ったから
丸投げしてると思うよ?

コツコツ調べりゃきっとできるし、出来たとき「思えば簡単だったな」 て思えると思うよ



279:デフォルトの名無しさん
07/05/20 22:46:38
→キーが押下されたら、PictureBoxをウィンドウの隅にぶつかるまで右方向に無限移動させ
ウィンドウの隅にぶつかったら逆走させるのって如何すればいいんでしょうか?

280:デフォルトの名無しさん
07/05/20 22:49:06
そのままそれをPgにすりゃいいだけだと思うんだが…
どこがわからないんだ?
判定?
それともすべて?

281:デフォルトの名無しさん
07/05/20 22:50:20
プログラムをPGって略すのは珍しいな

282:デフォルトの名無しさん
07/05/20 22:50:49
>>279
悪いこと言わない、プログラミングなんぞに手を出すのはやめとけ。
根本的に向いてないよお前さんには

283:デフォルトの名無しさん
07/05/20 22:52:59
>>280
そもそもVB.NETという概念からして良く解ってないんですが・・・
正直、まるで何一つ解ってません・・・

' 今のコード

Public Class km
    Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.Left
                Timer1.Enabled = True
            Case Keys.Right
                Timer2.Enabled = True
        End Select
    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        PictureBox1.Left -= 6
    End Sub

    Private Sub Timer2_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        PictureBox1.Left += 6
    End Sub

End Class

284:デフォルトの名無しさん
07/05/20 23:06:24
おまwwwww
これ右移動しながら左キー押したらどうなるんだよwwwwwwww

悪いことは言わないから まず左右キー押しっぱでそれぞれの方向に動いてはじっこまで来たらとまるプログラムかいてみ?

まずはそっからだ

285:デフォルトの名無しさん
07/05/20 23:08:36
>>284
こんな感じでしょうか?

Public Class km
    Private Sub km_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
        Select Case e.KeyCode
            Case Keys.Left
                If PictureBox1.Left > 0 Then
                    PictureBox1.Left -= 6
                End If
            Case Keys.Right
                If PictureBox1.Left + PictureBox1.Width < Me.ClientSize.Width Then
                    PictureBox1.Left += 6
                End If
        End Select
    End Sub

End Class

286:デフォルトの名無しさん
07/05/20 23:11:48
まーた始まった

287:デフォルトの名無しさん
07/05/20 23:12:21
こんな感じでしょうかじゃないよ。
試してどこがどうだめだったか報告しなさいよね

288:デフォルトの名無しさん
07/05/20 23:16:49
まぁ、とりあえずそれはめり込む可能性が高いなwwwww

289:デフォルトの名無しさん
07/05/20 23:26:19
>>287
取り敢えず、動かしてみた感じ
>>284で言われたものは出来たような気がします

>>288
やっぱり、移動量が6だとめり込みますよね・・・(ウィンドウサイズが6の倍数ならともかく)
移動量を5にして、めり込まないようにしてみました

290:デフォルトの名無しさん
07/05/20 23:32:03
・・・・・あのぉ・・・・まぁ・・・いいけどさ・・
もう面倒くさいからざっくりサンプル書いとくわ
スペースでストップな
この板的に叩かれそうなソースだがまぁ こんなバカもいるってことで
とりあえずタイマをつかってるみたいだからそれは残しといてみた
 以下ソース

Private Enum Vector
Right
Left
None
End Enum

Private Const _MovePixcel As Integer = 1
Private _Vector As Vector = Vector.None


291:デフォルトの名無しさん
07/05/20 23:33:03
TRY-FINALLYはめんどくさいからそこに書いただけ
ほんとはちゃんとしたほうがいい気がする

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Try
Select Case e.KeyCode

Case Keys.Right
_Vector = Vector.Right

Case Keys.Left
_Vector = Vector.Left

Case Keys.Space
'とまる
_Vector = Vector.None

End Select

Finally
If _Vector = Vector.None Then
Me.Timer1.Stop()
Else

Me.Timer1.Start()
End If

End Try

End Sub


292:デフォルトの名無しさん
07/05/20 23:33:57
Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Select Case _Vector
Case Vector.Right

Dim TempRight As Integer = Me.PictureBox1.Left + Me.PictureBox1.Width + _MovePixcel
If TempRight < Me.Panel1.Width Then
Me.PictureBox1.Left += _MovePixcel
Else
_Vector = Vector.Left
End If

Return

Case Vector.Left

If 0 < Me.PictureBox1.Left - _MovePixcel Then
Me.PictureBox1.Left -= _MovePixcel
Else
_Vector = Vector.Right
End If

Return

End Select

End Sub

忘れてたけど
フォームにタイマ・パネル・ピクチャボックスおいてな

293:デフォルトの名無しさん
07/05/20 23:39:11
自分にレス番を打つと専ブラ使いにはうれしいインデント。

SELECT CASE True
CASE 1 = 2
CASE 1 = 1
END SELECT

>>293

294:デフォルトの名無しさん
07/05/21 06:17:31
列挙体はまだ高度では?
つぅか、>>284のつっこみが分かってないよな。
フォームにのめりこんでもいいから、せめて片方のタイマーを止めろよ。

295:290
07/05/21 09:02:10
>>293
まぁとりあえずソースみてこんなもんかな?ってのを判ってもらえる事を期待してみた(;´Д`)
多分右も左もわからないっぽいので 余計なお世話だったか・・・
まぁ、列挙タイは確かに不必要であんなるBoolのフラグのが良かった希ガス


296:デフォルトの名無しさん
07/05/21 16:47:21
>>290
なんというか、予防線はってるのがすごく痛い

297:デフォルトの名無しさん
07/05/21 16:49:41
マイク入力を録音をするアプリをつくろうと考えてるんですが、何か参考になるサイトや書籍を知りませんか?

298:デフォルトの名無しさん
07/05/21 17:28:22
VB.netでモバイル端末用アプリを作成し、
アイコンを設定して端末へコピーし、端末側の
ファイルエクスプローラexeを確認すると
設定したアイコンで表示されませんでした。
PC側では設定したアイコンで表示されます。
何か設定があるのでしょうか?


299:デフォルトの名無しさん
07/05/22 02:02:15
アプリ作成後にアイコン設定ってもしかしてアンタ…

300:デフォルトの名無しさん
07/05/22 06:14:19
>>298
おまえファミコン.icoもしらねーのかよ初心者め

301:298
07/05/22 09:04:20
>アプリ作成後にアイコン設定ってもしかしてアンタ…
書き方が変だったようです。
アイコンの設定はもちろんアプリケーションの
プロパティ画面から設定してからEXEを作成しています。
ちなみにC#で作ったサンプルPGに同じアイコンを
設定した場合はPDAで正しくアイコンが表示されますが
VB.NETではだめでした。

302:デフォルトの名無しさん
07/05/22 18:40:02
>>301
C#でアイコン設定したらOKで、VB.NETではNGだったってこと?
ちなみにVB.NETで作成した場合、モバイル端末で表示されるアイコンはどんなの?

303:デフォルトの名無しさん
07/05/22 18:46:28
まあ99%なにかの勘違いだなw
同じように作ったC#はOKでVBだとNGなんてまずありえん。

304:デフォルトの名無しさん
07/05/22 21:47:46
継承を多用すると遅くなるって事ありますか?



305:デフォルトの名無しさん
07/05/22 21:50:39
そりゃあることもあるだろ
まあおまいさんが書くコードに影響がある程じゃないさ

306:デフォルトの名無しさん
07/05/22 22:08:07
>>305
ありがとうです。

ちなみに、至るところで、継承してるプロジェクトに就業しました。
インスタンスも至るところでされてます。
画面を開くのに40秒近くかかります。
継承しすぎて、何をどこでやってるか追うのに大変です。
継承遷移図やソースの名前からでは判断できません。

307:デフォルトの名無しさん
07/05/22 22:18:45
>>306
もしかして継承フォームのことをいってる?
あれは確かに重くなりそうな気がする。

308:デフォルトの名無しさん
07/05/22 22:30:41
>>307
言い方はわかりませんが、
画面そのものを継承していますね。




309:デフォルトの名無しさん
07/05/22 22:35:21
継承そのものはコストは無視して構わない。
例えば画面なら、コントロールを山程載せてたり起動時にDBからデータもってきてたりとかその辺。

310:デフォルトの名無しさん
07/05/22 22:37:46
いや307の言うとおり継承フォームとか複合コントロールの継承なんかは
普通のクラスの継承とはちょっと事情が違うと思う。

普通のクラスの継承のコストなんてないと思っていいのは同意するけど

311:デフォルトの名無しさん
07/05/22 22:49:52
ん?一人レベルが低くい質、て申し訳ないですが、
継承したら早くなるのですか?

コーディングスピードていうか、共通箇所がガッツリ出来るのは理解できるのですが。

312:デフォルトの名無しさん
07/05/22 22:55:25
>>311
日本語でおk

313:デフォルトの名無しさん
07/05/22 22:57:38
>>311
おk!!

処理の速度・画面の起動等のユーザサイドから見て、
継承を使用した場合、しなかった場合よりも早く感じるものなの?

作り手からみて、楽になる部分が多いのはわかります。

314:デフォルトの名無しさん
07/05/22 23:03:17
実行時にはほとんどまたは全く差はない。
差が出るのはIDEの動作とか、コンパイルにかかる時間とかそんなところ。
GUI関係の継承だとIDEの動作が重くなる可能性はある。

315:デフォルトの名無しさん
07/05/23 01:56:16
そんなこんなで画面がでるまで40秒かかる>>306に乾杯

316:デフォルトの名無しさん
07/05/23 09:11:12
むしろ
>>306の基盤作った奴は起動にそれだけ時間かかってなんとも思わなかったのか・・・
それのほうが問題だよな

317:298
07/05/23 09:12:49
メーカーから届いた端末複数でインストールしました。
そのうちいくつかが通常のexeのアイコンでその他が
設定したアイコンで表示されました。
メーカーが提供しているDLLの不具合の可能性が出てきましたので
しばらく様子を見ようと思います。

318:デフォルトの名無しさん
07/05/23 13:13:43
質問させてください。
LAN上でSQL Serverをインストールしているサーバの検出をVB.NET(2005)で行う方法はありますでしょうか。
ありましたら、教えてください。


319:デフォルトの名無しさん
07/05/23 13:51:48
昔はSQLDMOつかってたな・・・
今はもしかしたらSQLクライアントかなんかの名前空間の中にラップされた機能あるかもしれんが。。。

320:318
07/05/23 16:25:37
>319
どうもです。
SQLDMOをヒントに
URLリンク(www.csharphelp.com)
にたどり着き、ここにあるC#のサンプルをVBに書き換えてうまいこといきました。
多謝多謝。

321:デフォルトの名無しさん
07/05/23 17:18:36
>318
既に解決したようですが、参考までに。
ADO.NET 2.0ならばSqlDataSourceEnumeratorクラスなるものがあるようです。

SQL Server のインスタンスの列挙
URLリンク(msdn2.microsoft.com)(VS.80).aspx

322:318
07/05/23 17:48:50
>321
ありがとうございます。
自分が見つけたサンプルより、そちらのほうがいけそうです。

>320で貼ったサンプルについては、
ListAvailableSQLServersというメソッドでサーバ名取得していたおですが、
BooksOnlineに将来削除されるメソッドだとありましたので…。



323:デフォルトの名無しさん
07/05/23 19:20:55
諸事情により携帯から失礼します。
.netでのINIファイル読み込みの時の質問なのですが、
読み込む時に文字数制限とうってありますか?(128バイトまでとか)
開発環境はVS2003です。
よろしくおねがいします。

324:デフォルトの名無しさん
07/05/23 19:23:22
よろしくおねがいする前に、まず自分で試そうよお馬鹿さん。

325:デフォルトの名無しさん
07/05/23 19:32:28
試した結果削られてしまって、
調べても分からなかったので質問してるのですが…

326:デフォルトの名無しさん
07/05/23 19:36:57
見え透いたこと言わない方がいいよ。
絶対試してもなければ何も調べてもないってw

っていうか調べてその体たらくならとっとと足洗ったほうが吉だわな。

327:デフォルトの名無しさん
07/05/23 19:45:06
本当に試しましたし、調べもしました。
ですが、どうしても取って来れなかったので質問してるんです…。
見え透いた事といいますが、こんな風に言われてしまうのならば、
もうここには来ていませんし、試していないのならば貴方に愚弄されるのを分かっていて
試さずにまた聞いたりしませんよ…。

328:デフォルトの名無しさん
07/05/23 19:57:27
意外と設定したバッファ越えて読み込んでたりなwwwww
まぁ、ありえんか・・・

329:デフォルトの名無しさん
07/05/23 20:02:59
INIファイルの有効サイズを超えてたりしてwwwww
まぁ、ありえんか・・・

330:デフォルトの名無しさん
07/05/23 20:31:06
iniだろうがdatだろうがファイル読み込みはファイル読み込みでしょうが。
どんな制限だよ128バイトって
いまどきこのレスだって142バイトはあるっての

331:デフォルトの名無しさん
07/05/23 20:33:52
試すっていうのはね、
ファイルを読み込むだけのコードでテストしてみることをいうんだよ?
それで128バイト制限が存在するかどうか分かるでしょ?

つまり試してないってこったよお馬鹿さん。


332:デフォルトの名無しさん
07/05/23 20:41:09
>>331
スレが汚れるから死ね。

333:デフォルトの名無しさん
07/05/23 20:52:09
iniファイル読むのにWin32Apiとか使ってて、最初にバッファの確保処理してないんじゃね?

334:デフォルトの名無しさん
07/05/23 21:26:06
>>333
あ、それかもしれない・・・
ちょっと後でいじって見ます。アドバイスありがとうございました。

335:デフォルトの名無しさん
07/05/23 21:27:14
質問です。
C言語でDLLを作り、VBからそのDLLの関数を呼び出して使いたいのですが、
下のプログラムをビルドして実行するとLabel1には6と表示されます。

どうやらforループが2回で終わっているようですが、なぜそうなるのかが分かりません。
すみませんがよろしくお願いいたします。

336:デフォルトの名無しさん
07/05/23 21:29:25
ソースは以下の通りです。
Option Explicit On

Public Class Form1
Public Declare Function Sum Lib "C:\Sum.dll" (ByRef n As Long, ByRef a As Long) As Long

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n, s As Long
Dim aa(10) As Long

aa(0) = 1
aa(1) = 5
aa(2) = 4
aa(3) = 9
n = 4

s = Sum(n, aa(0))

Label1.Text = s

End Sub
End Class

337:デフォルトの名無しさん
07/05/23 21:30:40
__declspec(dllexport) long __stdcall Sum(long* n,long* a){
long sum,i;
sum=0;

for(i=0 ; i< *n ; i++){
sum=sum+a[i];
}
return(sum);
}

DLLを作るのにはVC++6.0、VBは2005 ExpressEditionを使っています。

338:デフォルトの名無しさん
07/05/23 21:35:20
>>337
取りあえず Long と long を調べてこい

339:デフォルトの名無しさん
07/05/23 22:05:59
そのコードヤバくね?

340:デフォルトの名無しさん
07/05/23 22:22:40
テストだとしても・・・・
VB側でLong使うケースは…・


341:デフォルトの名無しさん
07/05/23 22:26:25
えーと、よくわからないけど
これ貼っとけばいいかな?

プラットフォーム呼び出しのデータ型
URLリンク(msdn2.microsoft.com)

342:デフォルトの名無しさん
07/05/24 00:25:10
横からですが

VBで変数宣言するときにlong型にしちゃまずいんですか?

longってintの2倍のサイズの要領の数値型ですよね

343:デフォルトの名無しさん
07/05/24 00:52:27
>>342
VB6からいろいろ変わってしまったのだよん。
VB6のIntegerは16bit長、Longは32bit長だけど
VB.NETからはIntegerが32bit長で、Longは64bit長、Shortが16bit長。
VC6やらVC2005でDLLを作った場合、.NETのLongは__int64かlong long型に該当する。

344:デフォルトの名無しさん
07/05/24 01:04:25
なるほど・・・

だとしたら私の場合はintで宣言したらオーバーフロー?がおきたのでlongにしたので
このままで問題ないですよね?
素人なのでオーバーフローという意味がよく分かってないですが・・とりあえずint型だと容量が足りないみたいなエラーが起きました

345:デフォルトの名無しさん
07/05/24 01:11:11
各数値型で扱える範囲と、そのとき扱う必要がある数値の範囲くらいは把握しとこうぜ

346:デフォルトの名無しさん
07/05/24 01:13:12
つーかdllの関数のシグニチャと合わせないとためだろwwww

347:デフォルトの名無しさん
07/05/24 01:54:22
だったらc側でlongじゃ足りんだろうがw

348:デフォルトの名無しさん
07/05/24 01:56:45
アドレス渡しってどうなん?

349:デフォルトの名無しさん
07/05/24 02:00:26
どうとは?

350:デフォルトの名無しさん
07/05/24 02:23:47
なにが
>このままで問題ないですよね?
だ!!!!!!!

問題あるから質問スレに来てるんだろが!!!!!!

351:デフォルトの名無しさん
07/05/24 02:30:06
>>350
こたえる気がないのなら消えろよ・・・。

352:デフォルトの名無しさん
07/05/24 02:35:31
>>351>>335が書きました

353:デフォルトの名無しさん
07/05/24 14:08:51
typedef くらいしとけ

354:335
07/05/24 15:42:21
皆様ありがとうございます。
今大学にいないので試す事が出来ないのですが、
夕方登校してから変数のビット長の事を考え直してもう一度やってみます。

あと、>>351は私ではありません念の為。

355:デフォルトの名無しさん
07/05/24 22:15:23
やる気があるんだったら家のにExpressくらい入れて試せよ 学生さんw

356:デフォルトの名無しさん
07/05/24 23:43:36
>学生さんw
なんで最後にwがつくのかわからんが、無職のお前よりましだと思うよ。

357:342
07/05/25 00:38:37
>>350
>問題があるからここに~
intにしているときとは違いlongにするとコンパイル時にエラーはでませんでしたが。

ここにいる理由は、他人の質問事項でも参考になるから毎日覗いていて
>>338-340のレスが気になったら質問したまでだけど。

358:デフォルトの名無しさん
07/05/25 00:43:18
コンパイル時じゃなくて実行時だった。

359:デフォルトの名無しさん
07/05/25 01:24:34
>>357
まぁ出なくなったんならいいっちゃいいのかも知れませんが、それで飯食うつもりでしたら
何でオーバーフローしたのか?
それは予想された動作か?
違うならどこで変数に異常な値が入ったのか?

くらいは最低限把握しておいたほうが良さそうな気がしますよ?

>>346
>>335-337 はシグニチャとかそれ以前に
s = Sum(n, aa(0))
なんてコードかいてる時点でVB.NETについて根本的に勘違いしてるっぽいんですけどw

360:デフォルトの名無しさん
07/05/25 02:06:47
>>356
お前みたいなレベルの負け組と一緒にするなカス野郎

361:デフォルトの名無しさん
07/05/25 15:14:29
ちょっとしたブラウザ(IE使う)を作ってみたいです
まだソフトも買ってないので、日曜日に買いに行きます
入門書もあわせて買う予定です
お勧めの本あれば教えてください

362:デフォルトの名無しさん
07/05/25 15:31:36
とりあえず、ExpressEdition使ってみたら

363:デフォルトの名無しさん
07/05/25 17:35:05
2005で質問です。

ピクチャーボックス・ラベルをFill・Bottomとして貼り付けたユーザーコントロールがあります。
このコントロールのMouseMove/MouseLeave/MouseEnterイベントは コントロールが上に存在している為発生しない状況です。
これらのイベントが簡単に動作する方法はないでしょうか?
やはり、各コントロールのイベントを取ってきてガリガリいじって渡したりしなければいけないんでしょうか?




364:デフォルトの名無しさん
07/05/25 17:46:33
内部で各コントロールにイベントつけといて
ユーザーコントロールのOnMouseMove等を呼べば?

365:363
07/05/25 18:18:52
>>364
レスありがとうございます。
とりあえずMouseMoveはその方法で実装してみました。
各コントロールのマウスMoveイベントでユーザーコントロール内の座標に変換してユーザーコントロールのMouseMoveイベントを呼び出すようにしています。
これでMouseMoveは実装できたのですが、今度はMouseEnter MouseLeaveイベントを実装する手段が不明というか、うまいこと思いつかないです




366:363
07/05/25 18:22:21
連投失礼します。

MouseEnterはPrivateなフラグをひとつ持って、内部の各コントロールのEnterイベントで
フラグがOFFならユーザーコントロールのEnterイベントを発生→フラグON
フラグONならなにもしない

という力技実装を今思いついてやってみました。
しかし やっぱりMouseLeaveが難しいです・・・

367:デフォルトの名無しさん
07/05/25 21:01:44
>>363
希望するのはこういう動作?

  Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
    MyBase.OnLoad(e)
    For Each c As Control In Me.Controls
      AddHandler c.MouseMove, AddressOf Chileds_MouseMove
      AddHandler c.MouseLeave, AddressOf Chileds_MouseLeave
    Next
  End Sub

  Private Sub Chileds_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
    Dim pt As Point = MousePositionByClientCoordinate()
    Dim ev As New MouseEventArgs(e.Button, e.Clicks, pt.X, pt.Y, e.Delta)
    MyClass.OnMouseEnter(New EventArgs)
    Me.OnMouseMove(ev)
  End Sub

  Private Sub Chileds_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs)
    MyClass.OnMouseLeave(New EventArgs)
  End Sub

  Private Function MousePositionByClientCoordinate() As Point
    Return Me.PointToClient(Control.MousePosition)
  End Function

  Private Function IsMouseOnMe() As Boolean
    Dim pt As Point = MousePositionByClientCoordinate()
    Return Me.ClientRectangle.Contains(pt)
  End Function


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch