トップページ⇒tech
1002コメント318KB

VB.NET質問スレ(Part42) [転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん2014/12/21(日) 16:50:39.06ID:k7b0wig3
前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
0002デフォルトの名無しさん2014/12/22(月) 17:58:17.03ID:pDmaAlZy
('仄')パイパイ
0003デフォルトの名無しさん2014/12/22(月) 20:31:45.56ID:E8xrqwS0
みなさんこんばんわー

IEを操作して、新しくページに出てくるリンクに移動する処理のページ表示待機部分についての質問です。
そのサイトが重いのでページ表示に時間がかかるのでなるべく早くしたいと思ってます。

IEでの描写、画像読み込みが遅いのでそこを飛ばして、次のリンク移動処理に行きたいんです。

現在こういうページ待ちの方法なのですが、これをどうにか早くする方法はないでしょうか?
Public Function OpenWebWait() As Boolean
Try
Do While (objIE.Busy OrElse objIE.ReadyState <> SHDocVw.tagREADYSTATE.READYSTATE_COMPLETE)
System.Windows.Forms.Application.DoEvents()
System.Threading.Thread.Sleep(80)
Loop
Return True
Catch ex As Exception
Return False
End Try
End Function

下のようにcompleteではなくinteractiveにしてもリンクURL取得は出来るかと思ったのですが、出来ませんでした。
これで早く次の処理に進めると新しいリンクの検知が出来ませんでした。
Do while objIE.ReadyState < SHDocVw.tagREADYSTATE.READYSTATE_INTERACTIVE

新しく現れるリンクのテキストはわかっているので、このようにも変えてみました。
これも次の処理に進むと新しいリンクの検知が出来ませんでした。
Do Until InStr(objIE.Document.Body.InnerHTML, "XXXXXXXXX") > 0

どこか間違ってる部分あるでしょうか?
それか何か良いアイディアありませんか?
VBAだとobjIE.ReadyStateではなくobjIE.document.ReadyStateというのが使えて、問題無く処理が進んで行くのですが。。
Do While objIE.document.ReadyState = "uninitialized" Or objIE.document.ReadyState = "loading"
0004デフォルトの名無しさん2014/12/22(月) 20:33:07.42ID:JbUWZTgk
そんなもんIE使わなくてもHTMLを直接解析すればいいだろ
0005デフォルトの名無しさん2014/12/22(月) 20:59:52.16ID:E8xrqwS0
>>4
それはどうやるんですか?

参考になるサイトか何か教えてもらえませんか?
0006デフォルトの名無しさん2014/12/22(月) 21:04:30.82ID:JbUWZTgk
WebClientかWebRequest使ってページをリクエストするだけだよ
結果はHTMLのソースがテキストで返ってくるからそれをinnerHTMLの代わりにする
0007デフォルトの名無しさん2014/12/22(月) 22:07:29.26ID:E8xrqwS0
>>6
ありがとうございます。
少し詳しく調べてみます。
0008デフォルトの名無しさん2014/12/23(火) 23:40:21.90ID:Qjy3Ei78
ID:JbUWZTgkがいい奴すぎて泣けてくる( T_T)
0009デフォルトの名無しさん2014/12/25(木) 06:03:38.63ID:7UFZj9g9
>>8
ID:JbUWZTgkさんのおかげでもう少しの所まで来ました。

また教えてもらいたいんですが、
OpenReadで読み込んだHTMLをHTMLDocumentに変換した後にDOMしようとしてるんですけど

Dim msdoc As New mshtml.HTMLDocument
Dim imsdoc As mshtml.IHTMLDocument2

imsdoc = CType(msdoc, mshtml.IHTMLDocument2)
imsdoc.write(html)

この後にMsgboxで何か表示させてからDOMするとうまくいくんですが、
Msgboxを表示させずにそのままDOM処理に進むとうまくいかないんです。
エラーが出るわけでもなく、出来るはずのDOM処理ができないまま終了するんです。

imsdoc.write(html)

の後に待ち時間が必要なのかと思って10秒スリープを入れて実行したんですけど
それでもダメでした。

Msgboxを入れると大丈夫なんですよね。Msgboxは10秒もしないうちにOKクリックして消すのに。

これなんでですかね?
0010デフォルトの名無しさん2014/12/25(木) 07:21:38.98ID:dAMLPR9k
そんなもんIE使わなくてもHtml Agility Packでも使えばいいだろ
0011デフォルトの名無しさん2014/12/25(木) 08:02:32.64ID:7UFZj9g9
>>10
XPathとかわからないんですよね。
正規表現もw

最初は正規表現でがんばってみようかなって思ったんですけど、、HTMLDocumentに変換して
今まで通りにDOM出来るって分かってそうしてみたんですよ。

とにかくMsgBox入れれば動くのを入れなくても動くようにどうにかできませんかね?
0012デフォルトの名無しさん2014/12/25(木) 08:31:17.64ID:dAMLPR9k
いやパースすりゃ普通にDOM出来るだろ・・・
0013デフォルトの名無しさん2014/12/25(木) 20:50:27.86ID:7UFZj9g9
>>9です。

HAP入れてみたんですけど

imsdoc = CType(msdoc, mshtml.IHTMLDocument2)
imsdoc.write(html)

の部分を

Dim doc As HtmlAgilityPack.HtmlDocument = New HtmlAgilityPack.HtmlDocument()
doc.Load(html)

に変えたら

doc.Load(thml)

が無効なパスとかいうエラーが出るんですよ。
どうしたらいいんですかね?

vb2010expressじゃHAP使えないのですか??
0014デフォルトの名無しさん2014/12/25(木) 21:05:43.39ID:7UFZj9g9
>>13
事故解決しました
doc.Loadhtml(thml)
で解決でした。
0015デフォルトの名無しさん2014/12/25(木) 22:59:49.67ID:7UFZj9g9
>>12
HAPでちゃんと動く物作れました。ありがとうございました。

てかもっと優しく詳しく教えろこの野郎!
0016デフォルトの名無しさん2014/12/26(金) 22:43:36.02ID:MBLjX4KZ
リストボックスの一覧をテキストファイルに書き出すとき
わざわざ変数iを用意しない方法あるかしら

Dim S As String = ""
Dim i As Integer = 0
For i = 0 To ListBox1.Items.Count - 1
S &= ListBox1.Items.Item(i) & vbCrLf
Next
Dim SW As New System.IO.StreamWriter(Application.StartupPath & "\!Kekka.txt", False, System.Text.Encoding.GetEncoding("UTF-8"))
SW.Write(S)
SW.Close()
0017デフォルトの名無しさん2014/12/26(金) 22:58:02.23ID:PCKPB23G
foreach出来るよね?

たとえ少量でも&=は使わない癖付けとくのが無難なのと、File.CreateText使えば楽だよ
0018デフォルトの名無しさん2014/12/26(金) 23:12:29.97ID:1JYz2Hcm
いやループの中でWriteLineすればいいだろ
0019デフォルトの名無しさん2014/12/27(土) 03:14:30.00ID:ygjbmPmJ
S &= abc
&=使わないと
S = S & abc
になっちゃう
0020デフォルトの名無しさん2014/12/27(土) 07:22:19.51ID:kjN3kdaX
特に理由がなければ>>18が正解だが、
予め文字列でつなげておくんならStringBuilderを使え
.NETはVB6とは違っておバカちゃん向けの親切な最適化はなくて
&=額面通りの超非効率な動作をするぞ
0021デフォルトの名無しさん2014/12/27(土) 09:51:49.24ID:50TSN16W
vbNewLineを使え
0022デフォルトの名無しさん2014/12/27(土) 12:26:55.35ID:ygjbmPmJ
オブジェクト指向って面倒やね
0023デフォルトの名無しさん2014/12/27(土) 14:03:09.50ID:xLvgagsI
>>22
開発時はね
保守・改修時に真の威力を発揮する
0024デフォルトの名無しさん2014/12/27(土) 15:12:54.89ID:ygjbmPmJ
フム
0025デフォルトの名無しさん2014/12/27(土) 17:40:08.33ID:wVcs56Jr
以前試したが7-8回までならStringBuilderの方が遅かったと思ったが
0026デフォルトの名無しさん2014/12/28(日) 04:18:48.95ID:/63gf4Dq
VB6ってなにか最適化してたんか?
そんな器用なコンパイラだったとは思えんが
.NETの文字列はインターンプールあるから余程大量の文字列か
ループぶん回さなければパフォーマンスにそんな差は出ない
例えば10msと100msで10倍の差があるといっても現実的な問題はない
0027デフォルトの名無しさん2014/12/28(日) 07:59:00.97ID:fKzSeI49
動的に連結した文字列がインターンプールに入ってるわけないだろw
0028デフォルトの名無しさん2014/12/29(月) 00:22:39.80ID:voyDfRuT
>>27
http://ideone.com/R7BJ8G
入ってんぞ
0029デフォルトの名無しさん2014/12/29(月) 00:29:22.20ID:tirsBVZi
>>28
そりゃIntern呼んだら入るだろw
MSDNでInternの説明くらい読んでこい
あと、string同士を==で比較したら参照比較じゃなくて文字列比較になるから
internされてるオブジェクトとされてないオブジェクトの比較でも
同じ文字列なら==はtrueを返すので、全くもって無意味なテストコード(>>28の場合は同一オブジェクトだが)
0030292014/12/29(月) 00:30:29.43ID:tirsBVZi
ああすまん(Object)にキャストしてるのか
後ろの3行は忘れてくれ
0031デフォルトの名無しさん2014/12/29(月) 00:39:20.76ID:voyDfRuT
http://msdn.microsoft.com/ja-jp/library/system.string.intern.aspx
ここの説明の通りだがString.Internメソッドは別に呼び出したから登録されるものじゃなくて
参照を取得するメソッドだな
既に存在すればその参照だし、なければ新しい参照っていう記載もある通りの動作
ここの新しい参照時にはインターンプールに登録される(これも説明に載っている)が
当たり前だが参照は別もの
0032デフォルトの名無しさん2014/12/29(月) 00:54:45.58ID:tirsBVZi
>>31
http://ideone.com/1hUGUe
説明通りの動作だね
当然、明示的にinternしない限りインターンプールには入ってないし、
動的に生成しようとする文字列と同じ文字列がインターンプールにあったとしても同じオブジェクトにはならない
で、これがどう>>26の言ってるようにループ内の文字列連結の効率化に寄与するんだ?
0033デフォルトの名無しさん2014/12/29(月) 01:14:01.50ID:IYMGPF4r
WriteLineで書き込むときApend属性をトルーにする必要なくね?
0034デフォルトの名無しさん2014/12/29(月) 01:17:36.28ID:voyDfRuT
>>32
26はループぶん回さなければって前置きあるんだし
文字列連結の効率化は別に指摘してないんでは?
0035デフォルトの名無しさん2014/12/29(月) 01:19:22.35ID:tirsBVZi
なんで?
AppendモードでWriteLineしたら追記できるから意味あるでしょ
0036デフォルトの名無しさん2014/12/29(月) 04:01:17.52ID:DfpEzH2e
なんでインターンプールの話になったの?
インターンプールの仕様と文字列結合の関連性が全く分からない
0037デフォルトの名無しさん2014/12/29(月) 09:18:32.04ID:tirsBVZi
>>36
>>26によると、関連があるらしい
俺も全くわからない
0038デフォルトの名無しさん2014/12/31(水) 19:29:37.87ID:H2qRSfZ0
プログラマーに正月なぞない
0039デフォルトの名無しさん2014/12/31(水) 19:32:22.32ID:H2qRSfZ0
プログラマーに正月なぞない
0040デフォルトの名無しさん2015/01/01(木) 17:35:50.16ID:qk+JxTAB
プログラマーに正月なぞない
0041デフォルトの名無しさん2015/01/03(土) 00:35:46.62ID:Rsn5Rpse
.NETでIE操作したいんですがググってもVBAでIE操作みたいなのしか出てこなくて…
.NETでIE操作の基本的なこと学べるサイト等ありましたら教えてください
0042デフォルトの名無しさん2015/01/03(土) 00:39:22.46ID:j/TgmM2H
WebBrowserじゃなくてIEならやることは変わらん
0043デフォルトの名無しさん2015/01/03(土) 01:04:27.34ID:C22WgX+v
ブラウザを操作したいという要求のうち大半のケースではIEやWebBrowserは必要ない
まずは>>3-15参照
0044デフォルトの名無しさん2015/01/03(土) 10:58:34.27ID:Rsn5Rpse
>>42
そうなんですか一度ためしてみます
>>43
これってデータ取得だけを目的にしたものなんですかね?ボタン操作とかもやりたい操作に含まれてくるのですが
0045デフォルトの名無しさん2015/01/03(土) 11:06:47.56ID:C22WgX+v
>>44
フォームに入力してsubmitするくらいならブラウザなしで十分可能
0046デフォルトの名無しさん2015/01/06(火) 01:57:48.98ID:quqXVHo5
WebBrowserコントロールで開くホームページでたまに
このIEが古いからダメ
みたいに言ってるけどWebBrowserをIE11とか新しくする方法って?
0047デフォルトの名無しさん2015/01/06(火) 06:28:28.91ID:7iAOYuvp
レジストリに書く
ttp://www2.hatenadiary.jp/entry/2013/12/20/114342
0048デフォルトの名無しさん2015/01/06(火) 08:41:39.13ID:V8MvX1Xc
>>46
この際、Webkitコントロールを使ってみるのもいいよ。

http://sourceforge.net/projects/webkitdotnet/
0049デフォルトの名無しさん2015/01/06(火) 10:09:09.84ID:CCgThKKS
NameOf、さっさと実装しろといいたい
0050デフォルトの名無しさん2015/01/06(火) 21:42:12.63ID:Bc4EA3Wj
VBには来ないんじゃない?
そういうものが必要になるようなフレームワーク的なソフトウェアはC#で書かれる場合が多いだろうし、
VBerにその手のメタな道具を持たせるのは危険
0051デフォルトの名無しさん2015/01/07(水) 08:15:23.95ID:aspvvccd
>>50
なに偉そうに語ってんの?
何様だよおまえ。
0052デフォルトの名無しさん2015/01/07(水) 08:24:26.51ID:yytTE4BC
MSがVBerのスキルを低く見てるのは事実
腹立つならVBでOSSプロジェクトでも立ち上げて頑張ってみろよ
0053デフォルトの名無しさん2015/01/07(水) 10:37:42.62ID:74KjfFdv
>>47-48
�d
0054デフォルトの名無しさん2015/01/07(水) 10:59:06.26ID:4GQP6OrP
vbてradなのに何偉そうに
0055デフォルトの名無しさん2015/01/14(水) 07:07:47.94ID:T2fs/QrY
自分のサイトで.NET Framerowkのインストーラを配布するのってダメなん?
0056デフォルトの名無しさん2015/01/14(水) 07:24:11.91ID:T2fs/QrY
ミスタイプごめん
Framerowk→Frameworkです
0057デフォルトの名無しさん2015/01/14(水) 07:37:39.57ID:8Q2tOiyG
別個に配る分には特に問題ないけどアプリに同梱する場合はアプリのライセンスに依存する場合があるから注意
GPLとかだとダメなはず(どうやったってGPL違反になる)
0058デフォルトの名無しさん2015/01/14(水) 08:53:45.24ID:T2fs/QrY
>>57
レスありがと
Frameworkのインストーラ単独で配布するぶんには問題無いってことですね
安心しました
0059デフォルトの名無しさん2015/01/15(木) 01:08:42.98ID:SQOElXyK
IEで開いてるページの送信ボタンを押す、無ければ出てくるまでリロード
というプログラムを書きたくて入門サイト等みてここまで作ったのですが送信ボタンがある場合も更新が止まらない状況です
送信ボタンの指定が上手くできていないのかなと思ったのですがElse(リロード)を消すと送信ボタンはクリックできてます
間違っているところ、足りないところがあれば教えてください

For Each objTag In objIE.Document.all.tags("*****")
If InStr(objTag.id, "***") > 0 Then
objIE.Document.all("***").Click()
Exit For
Else
objIE.Refresh()
Do While objIE.Busy = True Or objIE.ReadyState <> 4
Application.DoEvents()
Loop
End If
Next objTag
0060デフォルトの名無しさん2015/01/15(木) 07:33:21.23ID:658RnNUz
そんなアホみたいなことしないでブラウザのデバッガで送信内容を確認して
それと同じように送れ
ブラウザなんかいらん
0061デフォルトの名無しさん2015/01/15(木) 16:21:30.21ID:aQzEgBEi
入門サイト見てるレベルの奴にそれは難しいんじゃないの
0062デフォルトの名無しさん2015/01/16(金) 00:11:25.86ID:lGFhyuso
ブラウザ弄るほうがよっぽど難しいと思うけどな
〜秒待たないと取得できないだとかアホらしいバッドノウハウじゃなくて、
正しく使えば確実に正しく動くんだから
0063デフォルトの名無しさん2015/01/16(金) 13:51:13.39ID:NFiW8ozM
問題はそれを理解しているVBerが少ないこと
VBerにとっての難易度というのは一般的な技術かどうかやアルゴリズムの複雑さではなく
丸コピペできるか否かであるから、その意味ではHTTPを意識するような方法は間違いなく難しい
0064デフォルトの名無しさん2015/01/17(土) 14:57:17.03ID:I4yazMvZ
複数のボタンやテキストボックスをまとめるためにつかうコンテナーって
なにがおぬぬめ?
0065デフォルトの名無しさん2015/01/20(火) 18:42:42.72ID:v2eQc+ta
>>64
TableLayoutPanelなんてどう?

詳しくは↓
http://dobon.net/vb/dotnet/control/tlbeginning.html
0066デフォルトの名無しさん2015/01/20(火) 19:55:29.05ID:ysSCuKrB
>>65
それ遅いもん
0067デフォルトの名無しさん2015/01/20(火) 23:43:41.91ID:/bu/8GyI
遅いって意味わからん
0068デフォルトの名無しさん2015/01/29(木) 11:29:31.23ID:IcF3YT4X
エクセルワードのマクロってVB.NETだっけか?
0069デフォルトの名無しさん2015/01/29(木) 12:17:58.42ID:4dtrlCgT
Excelのマクロが.NETになったりしたら事務員やコボラーが理解できなくて自殺者が出る
0070デフォルトの名無しさん2015/01/29(木) 13:11:30.75ID:BigDqfIu
そこまで違わないだろw
0071デフォルトの名無しさん2015/01/29(木) 13:12:09.09ID:FWtT0sKW
>>69
いいんじゃない?
そういうのは死んじゃっても。
0072デフォルトの名無しさん2015/01/29(木) 23:33:29.44ID:FcJzqxjH
主力製品のOfficeが売れなくてMSが死ぬかもw
0073デフォルトの名無しさん2015/01/30(金) 08:23:15.01ID:0YV6xwSy
>>72
そうなったらそうなったで、自業自得でしょ。

自分でVBA排除(しかも今回だけじゃなく、過去にも何度もそういうことをやろう
として来た)した結果、売れなくて死ぬんだったら死ぬしか無い。Windowsなんて
もう要らない時代にとっくになってるからね。

で、出来たoffice onlineじゃ念願の糞みたいに低機能なVBAもソレに変わるスク
リプトもない、ゴミみたいなもので金を取ろうなんて考えてる。
0074デフォルトの名無しさん2015/01/30(金) 08:29:12.04ID:BzgyBeS/
そういう妄想に浸りたいならVBなんて今すぐやめてWebに行け
ここはそういうのとは最も遠い世界だ
0075デフォルトの名無しさん2015/01/31(土) 16:27:16.83ID:M8Z1oCo5
>>68
違う
でもせめてunicode対応してほしい
海外で文字化けするの止めて
0076デフォルトの名無しさん2015/02/01(日) 11:15:55.75ID:foNvOyqv
作成したアプリのツールバー上のアイコンを右クリックすると
「タスクバーにピン留めする」って出るようにするにはどうすればいいですか?
windows8、visualstudio2010です。
0077デフォルトの名無しさん2015/02/01(日) 14:18:51.76ID:2+ZNxVlD
ITaskbarList3の解説に
> Applications cannot programmatically pin themselves to the taskbar.
> That functionality is reserved strictly for the user.
って書いてるから無理っぽいよ
0078デフォルトの名無しさん2015/02/01(日) 19:35:34.06ID:h1yaZPC8
WebRequestやWebClientつかってファイルダウンロードしようとしても
エラーが起こるとアプリが止まってしまって
なにかコツがあるの?
0079デフォルトの名無しさん2015/02/01(日) 19:36:30.17ID:OM+Gcdnk
例外をキャッチしろ
0080デフォルトの名無しさん2015/02/01(日) 20:12:53.23ID:h1yaZPC8
Try
Catch ex As System.Exception
End Try
ならもうやってるけど、
とりあえずエラーがでて長い間フリーズしないように
Dim webreq As System.Net.HttpWebRequest
webreq.Timeout = 1ミリ秒
というとても短い時間にしちゃうと接続って1ミリ秒で切られて
正常にダウンロード中のファイルまでダウンロードできなくなっちゃの?
0081デフォルトの名無しさん2015/02/01(日) 20:16:36.61ID:OdJIVjGr
普通はマルチスレッドにする
0082デフォルトの名無しさん2015/02/01(日) 20:18:28.83ID:OM+Gcdnk
・UIスレッドで同期ダウンロードは厳禁
・失敗したらリトライする
・リトライには上限回数を設ける
・タイムアウトは数秒〜数十秒程度
このへんは鉄板
0083デフォルトの名無しさん2015/02/01(日) 20:20:17.34ID:h1yaZPC8
それらの情報でしばらく自力でやってみるお
0084デフォルトの名無しさん2015/02/01(日) 23:07:18.14ID:bJU1scv8
VB2010でフォーム上にSaveFileDialogを置いてファイルを保存するダイアログボックスを使おうとしてるんだけど、
ダイアログ上でファイル名を入力しようとするとIMEがグレーアウトして日本語入力ができなくなってた
SaveFileDialogって日本語入力を禁止するようなプロパティとかってあったっけ??
0085デフォルトの名無しさん2015/02/01(日) 23:14:21.83ID:2+ZNxVlD
MS-IMEに切り替えてみたりしたらどう?
0086デフォルトの名無しさん2015/02/01(日) 23:32:45.51ID:bJU1scv8
>>85
サンクス
IMEはWindows7標準のMS-IMEのままになってます

謎なのが同じようにSaveFileDialogを配した他のソリューションのアプリでは
普通にダイアログ上で日本語入力ができてること
そっちのSaveFileDialogとプロパティを見比べてみたけどデフォルトの拡張子とか
フィルター表記以外は特に変わってないんだよなあ・・・
0087デフォルトの名無しさん2015/02/01(日) 23:39:17.19ID:P6Wv1Uek
全くわからんがデフォのスレッドをそのまま使ってる状態だよね
0088デフォルトの名無しさん2015/02/02(月) 07:25:08.35ID:EGOZhIE+
コードでやってみれば?こことかコピペして。
http://dobon.net/vb/dotnet/form/savefiledialog.html
0089デフォルトの名無しさん2015/02/02(月) 19:25:32.02ID:00LF49Zn
自分がアプリ作ると.exeファイル1コだけですむんだが
なんで他の人たちのアプリって他のファイルやフォルダがたくさんあるの?
0090デフォルトの名無しさん2015/02/02(月) 19:41:41.04ID:IyEMtZTY
どこの小学生の質問だよw
0091デフォルトの名無しさん2015/02/02(月) 20:08:56.79ID:S92C7QSo
すごいなmscorlib.dllとかkernel32.dllとかも無しで行けるとは
0092デフォルトの名無しさん2015/02/02(月) 20:56:26.92ID:amIgz+r+
exe1個じゃ格好付かないからな
0093デフォルトの名無しさん2015/02/02(月) 23:55:06.38ID:N5droHhS
>>87-88
サンクス
BackgroundWorkerは使ってるけどその中でSaveFileDialogは呼んでないので大丈夫なはず・・・
コードコピペはちょっと試してみる
ちょっと立て込んでてすぐ試せないけど結果分かったら報告します
0094デフォルトの名無しさん2015/02/03(火) 01:46:23.82ID:vRq5Ftdw
ブラウザコントロールを貼り付けたブラウザアプリ
リッチテキストを貼り付けたテキストエディタ
ボタンを押すとHalo Worldが表示されるアプリ
この3つのアプリから同じ変数にアクセスしたい場合
変数を宣言する場所や記述方法ってなにかしら

その共通変数をEndFlgというIntegerにして、
EndFlg = 1だったらアプリが閉じて、0なら終了できないようにしたい
0095デフォルトの名無しさん2015/02/03(火) 13:09:31.90ID:6cK/fLMw
もう意味がわからないよ!

変数宣言とかはおいといて、3アプリから共通のフラグを監視して〜ってなら
プロセス間通信しないとダメだぬ。
共有メモリとかまぁそういうの。
一番単純なのならファイルでやってもいいかもな。
どっかのフォルダにEndFlgって名前のファイル作ってファイルがあれば1
ファイルが無ければ0とかそんなんで。
0096デフォルトの名無しさん2015/02/03(火) 13:13:52.89ID:dnL9qhvp
ポエマーきもっ、まで読んだ。
0097デフォルトの名無しさん2015/02/03(火) 16:39:07.05ID:vRq5Ftdw
SSDならテキストファイルにフラグ書き込んで頻繁に読みに行ってもいっけど
ハードデスクだからアクセスしすぎるとこわれそう
とおもったがUSBメモリやRAMデスクならフラグ用こわれてもいい用として
なんてひらめいた さすがオレ
0098デフォルトの名無しさん2015/02/03(火) 17:18:24.31ID:LXCDBIZ8
頻繁に書き込むようならメモリ上で済む方法がいい
0099デフォルトの名無しさん2015/02/03(火) 23:34:56.44ID:v4ynt3Yv
名前付きイベントオブジェクトがプロセス間で共有できる1ビット変数になるよ
0100デフォルトの名無しさん2015/02/03(火) 23:48:29.71ID:v4ynt3Yv
.NETの同期オブジェクトの記事ってなんかろくなのがないな
MSサイトの回答でファイルとか答えてるバカがいるし
0101デフォルトの名無しさん2015/02/04(水) 01:53:36.33ID:+fWAhub0
コピペできるコードがないとわからんよ
0102デフォルトの名無しさん2015/02/07(土) 13:27:34.36ID:3kHIPM6S
あらかじめ、起動を許すプロセスを定義しておきます。
それで常駐起動させてプロセスを監視して、定義に当てはまらないプロセスが起動されよう
とした場合に警告を出し、プロセスを起動させないようにしようと思います。

こんなアプリケーション作るのってVB.NETで可能でしょうか?
0103デフォルトの名無しさん2015/02/07(土) 13:39:43.10ID:UxV2OHq5
そんなものは企業向けに腐るほど世にあるので今更あなたが中途半端なものを作る意味はありません
0104デフォルトの名無しさん2015/02/07(土) 15:39:37.15ID:pGoj+FY2
>>89
合体した方がカッコいいから
0105デフォルトの名無しさん2015/02/08(日) 10:54:17.83ID:oN6GjBe8
最近ずっと合体してないなぁ
0106デフォルトの名無しさん2015/02/08(日) 11:35:05.43ID:Wac/ZBhZ
組体操かな?
0107デフォルトの名無しさん2015/02/08(日) 11:40:36.03ID:7++NHH4w
合体て言葉って意味深やねw
0108デフォルトの名無しさん2015/02/08(日) 17:31:50.26ID:Pqa9OIVd
>>102
まずはポリシーで対応できないか考える
http://www.atmarkit.co.jp/fwin2k/win2ktips/631rejectexec/rejectexec.html

起動されようとするのを検知するのは無理じゃないかな
起動されたものを検知して落とすとかはVB.NETで作ったことあるけど

その常駐プログラムが落ちたり落とされたりしたときにどうするかは検討しておく必要がある
0109932015/02/08(日) 19:28:30.22ID:3fUOsVIs
>>93のその後報告
コードコピペも試してみたけどやっぱりIMEが無効化される
ググってみて元フォームのImeModeプロパティを弄ったけどダメだしもはやお手上げ状態
諦めてこのままリリースするしかないのか・・・
0110デフォルトの名無しさん2015/02/08(日) 20:43:23.39ID:Wac/ZBhZ
>>109
ドボンのサンプルがダメだったの?
ならPCぶっ壊れてるんだな
0111デフォルトの名無しさん2015/02/08(日) 21:08:29.97ID:fRu40z/L
実行ファイルの名前を替えるとか、違うマシンで試してみるとかで解決するかもね
7(かVista)以降だと一度実行したアプリの起動時の情報がOSのどっかのキャッシュに残るから
0112デフォルトの名無しさん2015/02/08(日) 21:58:30.02ID:I48deLh3
>>84
フォームのIMEModeは?
0113デフォルトの名無しさん2015/02/08(日) 21:59:29.72ID:I48deLh3
あ、109ちゃんと見てなかったゴメン
0114デフォルトの名無しさん2015/02/09(月) 00:42:51.71ID:7s3ye5Wx
>>110
ところが別プロジェクトで作った同じようなアプリ(フォームにSaveFileDialogが載ってる)では
全然問題が出てないから首を捻ってるとこ
試しにソリューションのフォルダを丸ごと別のPC(OSとVSのバージョンは同じ)に移してそっちで開いてみたけど
やっぱり現象は変わらず・・・

>>111
実行ファイルの名前はビルド時からは変更してるけどやっぱりダメだった

ググってもそのものずばりヒットしないってことはかなりレアな現象なんだろうか・・・
それともソリューションがどっか壊れてるんだろか(´・ω・`)
0115デフォルトの名無しさん2015/02/09(月) 05:46:35.62ID:Qr3WwpBc
>>114
ちゃんとした環境書かんとあんまり信用できんが
とりあえずコードどんどん削って行ってためしてみたら?
ミニマムコードまでけずってどっかに上げたらだれか検証するかもな

全然関係ないかもしれんが、IEでたまにIME効かなくなるな
あれ何でだろ
0116デフォルトの名無しさん2015/02/10(火) 00:28:00.46ID:VLkhPein
>>115
ミニマムコードか・・・
コントロールも数十個、コードも数千行あってかなり大変だけどやるしかないか
時間ある時にちょっと試してみる
0117デフォルトの名無しさん2015/02/10(火) 08:22:10.05ID:heT23+HR
>>116
バージョン違いとか、参照できなくなってるとか、この手の問題は尽きないね。
0118デフォルトの名無しさん2015/02/11(水) 16:23:02.84ID:iYhDY2V0
>>108
ありがとうございます。
ポリシーでもホワイトリスト形式で制御できるようですので、それで考えてみます。
0119デフォルトの名無しさん2015/02/11(水) 16:23:41.33ID:iYhDY2V0
>>108

ありがとうございます。
ポリシーでもホワイトリスト形式で制御できるようですので、それで考えてみます。
0120デフォルトの名無しさん2015/02/14(土) 13:31:33.84ID:kJEZEWAw
新しいプロジェクトを開始するときに日本語名にしちゃうと
ルート名前空間が日本語だけど
問題起こらないの?
0121デフォルトの名無しさん2015/02/14(土) 14:00:37.55ID:+hP1b/fG
普通に使う分には問題ないよ
普通じゃない使い方はとりあえず思いつかない
0122デフォルトの名無しさん2015/02/14(土) 14:07:08.82ID:QZdIRAT/
ルート名前空間なんて無名にするのが常識。
0123デフォルトの名無しさん2015/02/15(日) 07:27:37.38ID:owr1gyhb
プロジェクトの設定で名前空間は変えられる
0124デフォルトの名無しさん2015/02/16(月) 19:23:19.60ID:kuA7wMLp
じゃあ気分転換で韓国語とかの名前で新規開始すると何が起こるの?
0125デフォルトの名無しさん2015/02/16(月) 20:53:26.33ID:/dxaPFxY
ネトウヨが怒る
0126デフォルトの名無しさん2015/02/21(土) 18:31:38.02ID:il0zF3IU
WebBroserコントロールで全国の皆にコントロールがIE11になるように
レジストリ書き換えてもらうの大変だけどなんとかならんかな〜
0127デフォルトの名無しさん2015/02/21(土) 21:42:15.46ID:4mu4QEka
アプリのインストール時なり起動時なりに書き換えれば良いだろ
0128デフォルトの名無しさん2015/02/22(日) 16:44:50.93ID:1sPvq0JE
MSDE2000と.NET1.1で作ってたシステムで
サーバーだけをとりあえずSQLEXPRESS2008にしたいんだけど
.NET1.1の方から接続できない

もしかして.NET1.1とSQL2008って互換無くなった?
0129デフォルトの名無しさん2015/02/22(日) 20:23:37.20ID:ZNqeiudP
>>128
最低限、何で接続してるかぐらい書かんとわからんが

https://msdn.microsoft.com/ja-jp/library/ms131002(v=sql.100).aspx
>SQL Server 2008 は、 (略) SQL Server Native Client のすべてのバージョンからの接続をサポートします
この時点で2000がサポートされてたかどうかは知らんが、動くことは動くんじゃね
0130デフォルトの名無しさん2015/02/22(日) 22:35:05.20ID:O0Ltf4zh
Expressの鯖側でtcp/ipの接続許可にし忘れてるんじゃね?
0131デフォルトの名無しさん2015/02/22(日) 22:58:51.80ID:1sPvq0JE
>>129
アリガトン
VSでT-SQLのデバッグをするようにしてたんだけど
そいつが邪魔をしてエラーを吐いてたみたいでした
(sp_spidbugがありませんというエラー)

ポン付け移行が出来るかと思ったけど結構大変そうです…
0132デフォルトの名無しさん2015/02/22(日) 23:00:13.95ID:1sPvq0JE
>>130
リロードし忘れてた
それにも引っかかった…

システムエラーってメッセージしか出ないから
予想外のエラーは全部拾わないといけなくなったorz
0133デフォルトの名無しさん2015/02/22(日) 23:21:18.63ID:O0Ltf4zh
VB6→SQL2008も普通に出来てるから
なにかショボイ設定ミスだと思うけどなぁ
0134デフォルトの名無しさん2015/02/22(日) 23:34:28.33ID:x/RqYl5g
同じマシンならファイアウォールは関係ないだろうし…
0135デフォルトの名無しさん2015/02/23(月) 04:52:38.41ID:18jca859
同じマシンでもファイアウォールではじかれる事はあるぞ
どこにも同じマシンだとは書いてないが

まあ環境も接続方法もちゃんと書かんやつの話はこれ以上しても無駄だが
0136デフォルトの名無しさん2015/03/03(火) 14:49:04.97ID:YwWND8wU
DataAdapter生成ウィザードで生成されるコード(クエリ)が、
短いとき=フォーム名.Designer.vbファイル
長いときは=フォーム名.resxファイル
に生成される、これを必ず.resxファイルに生成させる方法は無いのか?
クエリの長さによって自動生成される場所が違うが、その閾値とかを設定するとか無いでつか?
0137デフォルトの名無しさん2015/03/03(火) 19:47:30.03ID:zUl1Hnpn
VB2010を使っています。

SQLserver2008のテーブルにDataBindしたTextboxがあります。
データ型はDatetimeです。

Nullを代入する方法がわかりません。

hoge.text = "9:0:0"
のように書けば、その値はデータベースに反映されるのですが、

hoge.text = null
だとうまくいきません。

データベースをNullに書き換える方法はありませんか?
0138デフォルトの名無しさん2015/03/03(火) 19:56:51.32ID:jxjdNRE0
>>137
DBNull.Value
0139デフォルトの名無しさん2015/03/03(火) 20:10:02.25ID:zUl1Hnpn
>>138
早速お返事いただきありがとうございます

それも試してみたのですが、
型 'System.DBNull' の値を 'String' に変換できません。
というエラーが出てしまいます。
0140デフォルトの名無しさん2015/03/03(火) 20:59:01.48ID:/jU4FTXo
>>137
>hoge.text = null
>だとうまくいきません。
そこはせめてNoting

Nullデータの表示だけなら
>>https://msdn.microsoft.com/ja-jp/library/aa480734.aspx
で出来る
書き戻しは無理じゃなかったかな

調べた範囲では、Parse上書きしろってあるな
>http://blogs.msdn.com/b/nakama/archive/2009/02/26/part-1.aspx
0141デフォルトの名無しさん2015/03/03(火) 21:30:52.67ID:zUl1Hnpn
>>138
>>140
お返事いただきありがとうございます

Timespan型のバインドしたTextboxではなく、直接
datagridview1.Rows(y).Cells(x).Value = DbNull.Value
のように書いてみたところ、エラーは出ませんが無視されます。

varchar型のフィールドに代入してみると、空文字が入りますがNullではないようです。

SQL Server Management Studio から直接なら Ctrl+0 でNullが入れられるのですが、
VBからそのようなことをするのはやはり不可能なのでしょうか?
0142デフォルトの名無しさん2015/03/03(火) 21:53:38.09ID:memkJefR
普通に直接SQL発行したらええがな
0143デフォルトの名無しさん2015/03/03(火) 21:56:29.85ID:CN+APPLy
アホだよねー
0144デフォルトの名無しさん2015/03/03(火) 21:59:41.55ID:YwWND8wU
Table自体にDBNULL.Value入れればいいのでは。
0145デフォルトの名無しさん2015/03/03(火) 22:33:39.82ID:jxjdNRE0
>>139
System.DBNull.Value.ToString
0146デフォルトの名無しさん2015/03/03(火) 23:05:33.98ID:zUl1Hnpn
137です
いろいろとご意見をありがとうございます

>>145
確かに >>139 のエラーはでなくなりましたが、
やはり無視(スロー?)されるようです。

>>144
それはどのようにするのでしょうか。
>>141 の方法以外ということでしょうか?

>>142 >>143
それは BindingSource などを使う方法では不可能であることを教示されているのでしょうか。

いろいろな型の値は代入できる中で、Nullだけはやはり例外なのでしょうか?
0147デフォルトの名無しさん2015/03/04(水) 03:09:09.84ID:oIBa2qDc
>>146
>>140のリンク先はみたのか?
Parse上書きでやってダメだったのか?
0148デフォルトの名無しさん2015/03/04(水) 08:24:35.87ID:MW1XoZym
137です
皆さん、いろいろとありがとうございました

結論から言うとうまくいきました(*^_^*)

140,147さんのParse上書き という言葉がヒントになりました。
リンクの説明を何度も読み返しているうちに、
やはりDataGridViewを直接いじればなんとかなるはずと思いました。

プロパティのReadOnlyを外したら、
datagridview1.Rows(y).Cells(x).Value = DbNull.Value
でデータベースを書き換えることができました。

当たり前という突込みがありそうですが、
Textboxだと、コードで書くとReadOnlyでも書き換えられるので、
そこが盲点でした。

お世話になりました
皆さん、ご親切にありがとうございました
0149デフォルトの名無しさん2015/03/05(木) 10:40:52.72ID:nliaf8Pd
VB2010を使ってACCESSのDB(mdbとaccdb両対応にしたい)を生成及び操作を
したいと思っているのですが、OLE DB、DAO、ODBC、ACE?といろいろ出てきて、
どれを使うべきなのかわかりません。
結局どれでもできる、と言われればそこまでなのかもしれませんが、昨今流行の
方法はどれなんでしょうか?

目の前の箱に聞いたら、どの方法もつカエルっぽい事が書いてあって、どれが
作りやすいとか、どれが早いとか、あまり書いていないので質問させてください。
01501492015/03/05(木) 10:43:53.27ID:nliaf8Pd
OSはWindows7Pro-32Bit
WindowsFormアプリです。
0151デフォルトの名無しさん2015/03/05(木) 12:37:25.63ID:u1lvzFxf
>>149
ADO.Net
0152デフォルトの名無しさん2015/03/05(木) 17:36:19.79ID:5TIZHQWb
>>149
DAO
0153デフォルトの名無しさん2015/03/05(木) 23:24:34.18ID:KUQpM/Y4
どうせ後で書き直すからそのつもりで設計してあればなんでもいいよね
最新の使っとけばおk
0154デフォルトの名無しさん2015/03/06(金) 00:00:06.77ID:W7nIIvOl
OLE DBかODBCでメモ帳をつかってちょっとしたWebページを作るぐらいしたことがないとわからんだろーなー
0155デフォルトの名無しさん2015/03/20(金) 11:11:55.62ID:j37DXh6X
どうせならASP.NET MVCとEFで作れよ
全部時代遅れ
0156デフォルトの名無しさん2015/04/06(月) 23:48:30.10ID:XIlT0zf2
未だにデータセット使ってるんだけど、エンティティフレームワークって便利なの?
イマイチどんなものかわからない
データテーブルの列が動的に増やせるのが便利なんだ
0157デフォルトの名無しさん2015/04/07(火) 00:02:30.24ID:1BnTCMqM
別に真新しいものじゃない
単なるO/Rマッピングの1つだよ
0158デフォルトの名無しさん2015/04/08(水) 08:19:41.60ID:KfKZXHWS
新旧ソースコードの比較をテキストファイル比較でやってるんだが、
デザイナにたくさんのコントロールを並べるてると、
プロパティを1つ変更しただけでデザイナ自動生成のコードが広範囲に変更されてしまい、
新旧ソースコード比較しても実際の変更箇所がわからなくなるんだが、
なんかいい方法ないんかな。
0159デフォルトの名無しさん2015/04/08(水) 08:57:28.05ID:rJ1QxPv7
デザイナからの修正が少なければだけど
出力ソースもそうそう大きく変わらないはずだよね
0160デフォルトの名無しさん2015/04/09(木) 21:50:21.91ID:kbiH5k/G
その比較ツールが馬鹿なんだろ
まともなVCSを使いましょう
0161デフォルトの名無しさん2015/04/09(木) 22:08:24.77ID:6lcuH+NE
クライアント系のアプリはwindowsFormからWPFに移ったほうがいいのかね?
それともjavaとかに変えたほうがいいんだろうか
0162デフォルトの名無しさん2015/04/09(木) 22:33:33.47ID:kbiH5k/G
Javaは論外としても、クライアント系のアプリ自体もう終わりだから
Web(ASP.NET MVCとか)へどうぞ
0163デフォルトの名無しさん2015/04/09(木) 23:27:57.76ID:+0jSp5ns
最近はクライアントアプリよりAPIの方が喜ばれるね
デジタルネイティヴ世代が台頭してきて仕事がやりやすくなった
0164デフォルトの名無しさん2015/04/09(木) 23:49:44.14ID:6lcuH+NE
Web嫌いなんだよなぁ・・・
スマホのネイティブに移行しようかな
0165デフォルトの名無しさん2015/04/10(金) 06:37:41.23ID:oD2NKF6i
自由に言語選べるならなんでVBなんか使ってるんだ
WPFやASP.NET MVCなんかC#の情報しかないしC#ならスマホもいけるだろ
0166デフォルトの名無しさん2015/04/11(土) 12:24:20.14ID:/0uJGtCQ
VB2010を使っています。

DataGridView で指定したセルの値を取得する場合、

DataGridView1.Rows(row).Cells(column).Value
と記述すると問題ないのですが、

DataGridView1.Rows(row).Cells("列名").Value
と記述すると「"列名"という列は見つかりません」とエラーになります。

columnを数値で記述しておくと、
後々列を入れ替えたり追加したときに支障が出るので、
できれば明示的に列名で書きたいと思います。

Visual Basic 中学校の掲示板にはできるようなことが書いてあるのですが、
何か工夫が必要なのでしょうか?
0167デフォルトの名無しさん2015/04/11(土) 13:33:18.93ID:HEz7ClCj
いや、↓でやったがエラーでなかったぞ。

Private Sub Button9_Click(sender As System.Object, e As System.EventArgs) Handles Button9.Click

Dim row As Integer = 0

MsgBox(DataGridView1.Rows(row).Cells("頭数").Value)

End Sub

ただのカラム設定ミスかなんかだろ。
DataGridView1.Columns.Add("頭数", "頭数") ’これでカラム追加してみ
0168デフォルトの名無しさん2015/04/11(土) 18:02:48.73ID:/0uJGtCQ
>>167
166です
早速お返事いただきありがとうございます

DataGridView はデータソースにDataSetでSQLサーバをバインドしています。

DataPropertyName , HeaderText いずれをCellsにいれてもエラーになります。

同じようなエラーについてのブログがありました。
http://jehupc.exblog.jp/12573968/

データベースをバインドしているときの列名の指定方法に問題があるのでしょうか?
0169デフォルトの名無しさん2015/04/11(土) 20:23:28.88ID:HEz7ClCj
DataSetっていうのをSQLサーバは使う仕様なのかな。

私の場合はMySQLをDataTableに入れて
DataGridViewに表示したものを>>167のコードで試したが問題なかったよ。

普段はDataTableすら使わないでDBからデータ引っ張ってくるから
私には、これ以上はなんとも言えない。
0170デフォルトの名無しさん2015/04/11(土) 23:23:12.11ID:2een8dzO
クエリごとにいちいち構造体定義して配列にしてDataReaderから1行1行コピーしてる僕って異端ですか?
0171デフォルトの名無しさん2015/04/12(日) 02:12:31.67ID:CUiaWyAv
超複雑なデータ加工をする場合にはDataReaderから1行1行だよね
0172デフォルトの名無しさん2015/04/12(日) 05:50:11.50ID:LsxaMXpP
DataGridViewが相手ならDataTableを使うのは日常茶飯事
0173デフォルトの名無しさん2015/04/16(木) 16:54:22.55ID:5bXdAdIY
visual web developer 2010 expressで作成したプログラム(.aspxファイル)を直接実行する方法を教えてください。
0174デフォルトの名無しさん2015/04/16(木) 17:21:44.31ID:ZKnvpEIv
直接は無理
0175デフォルトの名無しさん2015/04/16(木) 17:21:51.76ID:feErdMbh
C#があるのに、なんでVB.NET使うの?(´・ω・`)
0176デフォルトの名無しさん2015/04/16(木) 17:25:57.68ID:ZKnvpEIv
生産性が高いから
0177デフォルトの名無しさん2015/04/16(木) 17:38:47.73ID:5bXdAdIY
>>173です、自己解決しました。
IISの設定をwebで見付けた指示通りに設定して、指示されたフォルダに実行したい.aspxファイルを入れて、
ブラウザからhttp://localhost/***/***.aspxを開いたら出来ました。
0178デフォルトの名無しさん2015/04/16(木) 18:41:58.90ID:ZKnvpEIv
それを直接というのは斬新だな
0179デフォルトの名無しさん2015/04/16(木) 19:33:29.23ID:9hDbcJNA
>>178
有償版のVSだとコンパイラでEXE化したり、インストーラを作成したり出来るのでしょうか?
0180デフォルトの名無しさん2015/04/16(木) 22:26:33.49ID:n/Sv94h6
>>175
C系アレルギーのバカドカタが多いから
0181デフォルトの名無しさん2015/04/16(木) 23:39:46.22ID:HRSNpUJy
最近はC#と大きな差はないでしょ
ほとんど好みの問題だよ
おじさんは目が悪くてオペレーターが判別しにくいからVB好きだよ
0182デフォルトの名無しさん2015/04/17(金) 04:11:05.36ID:sOCqdERP
俺なんかVBしか使った事ないw
0183デフォルトの名無しさん2015/04/17(金) 20:25:09.04ID:9X3vUaHq
C#の案件見たことないんだけど、どこで使われてるの?
0184デフォルトの名無しさん2015/04/17(金) 20:35:09.30ID:KxS0evdx
エンドユーザーが開発言語を指定する案件は、VB6の継続メンテ以外では
聞いたことないよね?(´・ω・`)
0185デフォルトの名無しさん2015/04/19(日) 10:47:47.26ID:8uwk4Kg8
いちおC++書ける人だけど
C#はwithが使えないからVB.NETで書いてる
0186デフォルトの名無しさん2015/04/20(月) 13:50:03.71ID:jqc00R5c
下記ふたつのボタンでデータの読み書きをする場合の書込ボタンの処理について教えてください。
読込ボタン:データを読み込んで表示
書込ボタン:テキストボックスのデータを書き込む,書込確認の為データを読み込んで表示

書込プロシージャでは書込処理の後、読込は読込ボタンプロシージャをを呼び出したいのですが、
Private Sub btn読込_Click(sender As Object, e As EventArgs) Handles btn書込.Click,btn読込.Click
としても先に読込処理が行われてしまいます、後から読込処理をする記述方法はないのでしょうか?
0187デフォルトの名無しさん2015/04/20(月) 13:56:07.60ID:BqyMR2cW
>>186
イベントではなく、書き込み処理の最後に読み込み処理を呼べばいい。
0188デフォルトの名無しさん2015/04/20(月) 14:00:21.97ID:jqc00R5c
>>187
VB6からの移行中なので出来ればイベントで使い回したかったのですが、素直に読込処理だけ独立させます。
即レスありがとうございました。
0189デフォルトの名無しさん2015/04/20(月) 14:03:14.05ID:5YnvOOG8
まず、btn読込_Click()をClickイベントと無関係に実行できる部分とClickイベントで
実行しなければならないものに分け、イベントで必要な処理はそのまま、イベントと
無関係な処理をサブルーチン化します。

書き込み処理からサブルーチン化した部分を呼びます。

めでたしめでたし。
0190デフォルトの名無しさん2015/04/20(月) 14:11:58.86ID:jqc00R5c
>>189
読込ボタン:CALL読込
書込ボタン:書込処理,CALL読込
読込:読込処理
上記のようにってことですよね?
.NETでは、書込ボタンも書込処理をコールするなど、イベントでは処理をせずに処理ルーチンを呼ぶだけにするようにすべきなのでしょうか?
0191デフォルトの名無しさん2015/04/20(月) 14:35:00.05ID:5YnvOOG8
いいえ違います。

読込ボタンイベント:
 イベントの為の処理1
 読込処理CALL
 イベントの為の処理2

のように処理を分けておくということです。実際には1や2でやる事がなければ
おまいさんが書いたのにちかい形になるだけです。
0192デフォルトの名無しさん2015/04/20(月) 14:51:21.21ID:jqc00R5c
>>191
理解出来ました、ありがとうございました。
0193デフォルトの名無しさん2015/04/20(月) 14:56:57.85ID:sU+V3nDv
>>186
この訳の分からん文章を読んで理解できるってエスパーかw
俺には何言ってるのかさっぱり分からん
0194デフォルトの名無しさん2015/04/20(月) 15:17:10.60ID:jqc00R5c
>>193
発生したイベントだけに必用な処理はそのイベントにコードを書き、汎用性のある処理は独立したメソッドを作成すると捉えました。
実際には、後からイベントプロシージャを使いたくなるケースも割と多かったのでその都度メソッド化する手間が増えそうです。
0195デフォルトの名無しさん2015/04/20(月) 17:18:44.51ID:Otws5PQm
ん??
上で書かれてるように、処理をサブプロシージャに分けるのが妥当だとは思うが、
VB6からの移植でイベント関数をそのまま別からコールしてるのを多用してる
ので出来ればイベント関数コールでやりたいって事だよね?

なら、普通に
書込みイベントの中から読込のイベント関数コールしてやればいんでないかい??
VBと同じようにさ。
Clickはイベント引数も幸いただのEventArgだし、そもそも使ってないっしょ。
SenderはMeにしとけばよくね?
0196デフォルトの名無しさん2015/04/21(火) 00:21:52.32ID:J6D2ONpq
それでも動くとは思うけど、やってはダメなんです
理由はググってね
0197デフォルトの名無しさん2015/04/21(火) 01:00:11.26ID:5FSDwPAz
VBではイベントにガリガリコード書いたりイベントを普通にコールするのが礼儀作法です
VB6でもVB.NETでもこの文化は変わりません
ビジネスとUIを疎結合にする場合はC#への移行を検討しいてください
0198デフォルトの名無しさん2015/04/21(火) 06:15:17.43ID:S+IOGdOB
全くもって同意
やってはダメとか言いだしたらVBの存在自体が間違ってることになるからな
C#にあってVBにない機能のほぼ全ては「やってはダメ」
01991982015/04/21(火) 06:17:00.98ID:S+IOGdOB
すまん逆だな
VBにあってC#にない
0200デフォルトの名無しさん2015/04/21(火) 07:59:02.96ID:J6D2ONpq
VB、C#関係なく、やってはダメな書き方なんですよ
0201デフォルトの名無しさん2015/04/21(火) 08:06:57.44ID:S+IOGdOB
なら
・DoEventsはやってはダメ、スレッドを使いなさい
・デフォルトインスタンスを使ってはダメ、インスタンスは自分で管理しなさい
・コントロールのアクセスレベルは全てprivateにしなさい
・フォームに処理を書くのはやめてモデルを別のクラスに分離しなさい
・なお、モデルはGUIに依存してはいけません、コントロールを渡すなどもってのほかです
・モジュール変数はやめなさい
・VB関数はすべて使用禁止です
こんなもんVBの意味あるか?
0202デフォルトの名無しさん2015/04/21(火) 08:26:15.45ID:8iNNYrWP
>>201
そんなVBはイヤだw
0203デフォルトの名無しさん2015/04/21(火) 08:45:03.31ID:J6D2ONpq
>>201
飛躍し過ぎですよ
イベントハンドラの処理が必要な時に、直接イベントハンドラをコールするのはダメな書き方、と言っただけですよ
更に言えばこの議論はVB6の頃から言われてますよ
0204デフォルトの名無しさん2015/04/21(火) 09:08:09.36ID:h/N0nZwJ
>>203
なんでダメなん?
0205デフォルトの名無しさん2015/04/21(火) 09:42:05.60ID:J6D2ONpq
>>203
一番の理由はバグの温床になりうる、からですね
VB6の頃は悲惨でしたよ
今ほどリファクタリングが利かなかったのでコントロールに変更が入った時に修正漏れが出たり
別フォームから直接コールされてた時は泣きましたよ
.NETになってからはマルチキャストに対応したので更に危険ですよ
後はメソッド名から何の処理かを判断できないのでデバッグが困難になりますよ
他にも理由は色々あります、後はググって下さいね
0206デフォルトの名無しさん2015/04/21(火) 09:50:08.97ID:Ys0gBcPs
つまり、面倒をみきれるなら何をやっても構わんのです(キリッ
0207デフォルトの名無しさん2015/04/21(火) 09:55:32.91ID:8iNNYrWP
痛みさえ無ければ、、、、

バグさえ無ければ、、、、

寿命さえ無ければ、、、、
0208デフォルトの名無しさん2015/04/21(火) 21:57:55.88ID:5FSDwPAz
今を生きるだけのために戦う
全てのVB使いが暗黙に共有する既定の信念である
0209デフォルトの名無しさん2015/04/22(水) 16:28:38.32ID:VE7nrKA9
>>202
えー?これが普通じゃないの
俺、基本的にこんな感じで実装してるぞ
0210デフォルトの名無しさん2015/04/22(水) 17:42:19.81ID:2TAAYMyP
>>209
マジかよ!?

でも、モジュールとか関数は使ってはいるんだよね???
0211デフォルトの名無しさん2015/04/22(水) 18:44:49.23ID:VE7nrKA9
>>210
モジュールは使ってるけど、Static クラス扱い
あとVB関数ってどこか使うとこある?いらないじゃん
0212デフォルトの名無しさん2015/04/22(水) 21:05:19.38ID:fYa+b5tV
>>201は極めて正しいけど、それができるならC#使ったほうが幸せになれるんじゃない?
0213デフォルトの名無しさん2015/04/22(水) 21:19:46.20ID:jkp6++rG
>>211
Cxxx変換関数とか、文字列操作とか
VB関数使わんのならそれこそC#で良いわ
なんて未だにVB使ってるの?
0214デフォルトの名無しさん2015/04/22(水) 23:09:04.06ID:lkbyJSkm
↑ 初心者用プログラミング言語だからです。
  IT土方が弄る言語ではありません。あしからず!
0215デフォルトの名無しさん2015/04/22(水) 23:10:14.86ID:qOFDFxcG
お偉いさんがVB好きなんやろ

MSがVB切らないから…
0216デフォルトの名無しさん2015/04/22(水) 23:46:37.12ID:bceytHgv
unsafeじゃないならC#も変わらないだろ
ILに変な処理入ったりして実行効率は僅かに悪いが気になる程でもないし
0217デフォルトの名無しさん2015/04/23(木) 00:21:59.04ID:XWDL07gH
>>216
C#を分かってる人がVB使えば同じかもしれないが、逆なら全然違うだろ
VB関数とかデフォルトインスタンスとかOn Error Gotoとかモジュールとか頭の悪い機能は一切無いんだから
0218デフォルトの名無しさん2015/04/23(木) 00:27:49.44ID:J7PhUCRs
デフォルトインスタンスや標準モジュールを問題にするならまだわかるが
VB関数を問題にする意義がわからん
ILコードを問題にするのは、高級言語やめてアセンブラ使えよという理論と同じだぜ
0219デフォルトの名無しさん2015/04/23(木) 00:38:37.02ID:XWDL07gH
・いい加減な動作をするものが多いからバグの原因になりやすい
・同じことをするのに複数のやり方があり、C#との間に限らずVBerの間でもコミュニケーションを阻害する
そもそもVB関数の多くは昔のVBに似せるために存在しているだけで
.NETの標準の機能で簡単に代替できるものがほとんどだよ
0220デフォルトの名無しさん2015/04/23(木) 00:51:17.20ID:6GsGzyLx
もうVBの役割は2005までで終わった。
ラムダ式なんかVBで使ってられるかって。
0221デフォルトの名無しさん2015/04/23(木) 06:31:01.80ID:ByhSkjeb
VBのラムダ式はアンチタイプセーフみたいな機能があるしな…
0222デフォルトの名無しさん2015/04/23(木) 08:11:17.60ID:gr9AedHH
書く人間の品質がおなじならC#よりコードが読みやすい
0223デフォルトの名無しさん2015/04/23(木) 08:16:35.83ID:IqIQY88q
それはC#が優れてるというより、C#ならVB専の無能が排除されるから
0224デフォルトの名無しさん2015/04/23(木) 10:43:38.65ID:rJvB44DV
>>213
案件の仕様です
まあ、俺にとってはC#もVBもあまり変わらん
C#は好きだけど、VBも嫌いじゃないよ
0225デフォルトの名無しさん2015/04/23(木) 10:48:49.39ID:gPb+ikvR
とにかくC系は{}見ただけで吐き気がする
0226デフォルトの名無しさん2015/04/23(木) 11:10:26.73ID:JbeTZyD4
逆にVBはEnd〜を{}にするだけで見づらいと言う人はだいぶ減ると思う
0227デフォルトの名無しさん2015/04/23(木) 11:23:13.60ID:gr9AedHH
Endのが遥かに見やすい
C#も{}なんてやめればいいのに
0228デフォルトの名無しさん2015/04/23(木) 11:29:58.01ID:XtTem2iL
じゃあ、両方の良い所をとって、両方ともなくそうよ?(´・ω・`)
で、閉じ位置がわかりにくなるからインデントだけでチェックするように変えようよ?(´・ω・`)
0229デフォルトの名無しさん2015/04/23(木) 12:15:49.43ID:XWDL07gH
C系アレルギーの人ってC#はともかくJavaもJavaScriptも使えないの?
言語の違いなんてくだらないことで仕事の幅狭めすぎじゃね
0230デフォルトの名無しさん2015/04/23(木) 12:43:33.97ID:rJvB44DV
>>229
まったく
Lispに比べりゃ遥かに簡単じゃんかw
0231デフォルトの名無しさん2015/04/23(木) 12:46:40.36ID:p3JJN9OR
VBと比べろw
0232デフォルトの名無しさん2015/04/23(木) 12:46:51.27ID:rJvB44DV
VB・C#・JS・XAML・SQL・HTML・CSSがある程度使えれば、当面食い扶持維持できると思われ
0233デフォルトの名無しさん2015/04/23(木) 12:47:41.56ID:MOJZs/rD
>>229
なんか、必要以上にポインタだけが、Cは難しいと煽り立てられてる気がする
んだよね。
0234デフォルトの名無しさん2015/04/23(木) 12:48:28.64ID:CXFWU6dL
C#はポインタ使えないだろ?
Cぽい実質VBにしか見えないんだが・・・
0235デフォルトの名無しさん2015/04/23(木) 12:49:01.77ID:MOJZs/rD
>>232
loTの時代が到来しつつあるので、C言語でもまだ一花咲かせられる
と思うよ。

なので、そこにCとpythonも入れておくといい。
0236デフォルトの名無しさん2015/04/23(木) 13:28:55.33ID:JbeTZyD4
>>234
使えるよ
0237デフォルトの名無しさん2015/04/23(木) 13:36:07.58ID:MOJZs/rD
>>234
C#とかObjective-Cとかって、派生だから、基本踏襲してるよ。

なので、Cでプログラミングする事もできなくもないし、流儀も使える。
0238デフォルトの名無しさん2015/04/23(木) 14:50:17.82ID:rJvB44DV
>>236
VBにもunsafeあると面白いのにね
実際使う奴はいないと思うがw
0239デフォルトの名無しさん2015/04/23(木) 14:55:03.57ID:gPb+ikvR
>>232
FORTRAN77,N80Basic,RPG3,VBA,VB.netとある意味王道な俺w
0240デフォルトの名無しさん2015/04/23(木) 15:07:54.14ID:MOJZs/rD
>>239
COBOLやってりゃ今頃、独り占めできただろうに
0241デフォルトの名無しさん2015/04/23(木) 23:22:50.44ID:gr9AedHH
C#と殆ど差がないんじゃ存在価値無いよね
どうせならネイティヴコンパイラのまま進化させればよかったのにね
WinRTコンポーネントを作るのに特化するとか
0242デフォルトの名無しさん2015/04/24(金) 00:16:58.55ID:kgseXIuS
VBのイラっとするところは文字列リテラルの不便さと、キーワードの多さ&大文字小文字無視による変数名の制限
後、ラムダ式のコンパイルエラーの箇所が分かりにくい
0243デフォルトの名無しさん2015/04/24(金) 10:09:50.60ID:+go0MIdK
>>242
確かに
VbCrLf は何とかして欲しいw
0244デフォルトの名無しさん2015/04/24(金) 10:20:46.15ID:Ca+nUuiT
>>241
VB6はネイティブじゃなくて中間コードをexeに埋め込んでるだけだ
ランタイムも別途必要だし、仕組み的には.NETの出来損ないでしかない
0245デフォルトの名無しさん2015/04/24(金) 10:51:29.25ID:nCVnS6lK
それはp-codeじゃない?
VB5.0からネイティブコンパイルもできたはず
0246デフォルトの名無しさん2015/04/24(金) 11:52:16.47ID:Kfq7fsbo
凄いね?いまだにVB5以前の知識で得意げに書き込む人がいるんだ…(´・ω・`)
0247デフォルトの名無しさん2015/04/25(土) 00:00:33.88ID:8bp8M7rm
安定
ttp://bbs.wankuma.com/index.cgi?mode=al2&namber=75685
0248デフォルトの名無しさん2015/04/25(土) 00:19:05.01ID:Go1UaBnQ
httpもろくに知らない奴が回答とかしてんのかよ
お笑いだなw
0249デフォルトの名無しさん2015/04/25(土) 10:47:42.28ID:C4UvtqeN
VB6から移行する場合Variantってどうすればいいの?
0250デフォルトの名無しさん2015/04/25(土) 10:52:47.22ID:O8tJX/gW
そもそもVariantに限らずほとんど互換性無いから書き直しだよ
0251デフォルトの名無しさん2015/04/25(土) 12:59:47.32ID:UFa534xR
>>249
原則的にはObjectだろうね?(´・ω・`)
でも型が特定できる所は、型を指定するようにした方がいいよ?(´・ω・`)
0252デフォルトの名無しさん2015/04/25(土) 19:07:35.94ID:NETpxFvP
レガシーシステムから呼び出される上になんの型の値やオブジェクトが渡されるか予測出来ない場合はどうしますか?
オーバーロードでは手も足も出ません…
0253デフォルトの名無しさん2015/04/25(土) 19:08:57.20ID:O8tJX/gW
それをVariantで受けたから解決だという思考は危険すぎるだろw
0254デフォルトの名無しさん2015/04/25(土) 19:14:01.04ID:UFa534xR
>>252
だから、原則的にはObjectだろうと言ったはずだけど?(´・ω・`)
もしかしてVB.NET使ったことないの?(´・ω・`)
0255デフォルトの名無しさん2015/04/26(日) 16:54:22.25ID:TSTvOAjs
レイトバインディングで決められた名前でメソッド呼ぶようなパターンだな
Option Strict OffでObject型使えば出来る

ダイナミック使った事ないからどうなってるかしらんが
この辺が唯一のVBがC#に勝るところかもしれんw
まあ、お勧めされるやり方ではないのだろうけど
0256デフォルトの名無しさん2015/04/26(日) 18:35:44.33ID:QHx5/qoX
VB.NETやってるとjavascriptがどうも慣れない
型指定がないから、呼び先で型の確認が面倒くさい
0257デフォルトの名無しさん2015/04/26(日) 19:10:15.25ID:gPWJqI6O
俺は既定のプロパティとVariant/Objectの合体攻撃で移行を諦めた
0258デフォルトの名無しさん2015/04/26(日) 20:11:02.82ID:7jnYXfIp
>>255
レイトバインディングは今はdynamicがあるからC#の方が優れてるよ
Optionみたいに影響範囲が無駄に広がることなく型で明示的に指定できるからな
0259デフォルトの名無しさん2015/04/26(日) 20:14:25.75ID:p04q7aSG
>>258
VBにはレイトバインドの他に暗黙的な型変換の機能が(良くも悪くも)充実しているから
Officeオートメーションなんかやる時だけはまだVBの方がちょっと便利。
0260デフォルトの名無しさん2015/04/26(日) 20:18:47.03ID:i+fN/dbB
充実って言うのか?
無法地帯なだけだよ
0261デフォルトの名無しさん2015/04/26(日) 20:24:19.26ID:p04q7aSG
>>260
そんなこと言ったって、例えばエクセルのRange.Valueの値は「無法地帯」(Variant)なんだからしょうがない。
0262デフォルトの名無しさん2015/04/26(日) 21:04:56.24ID:EKpVXEVk
Option Strictのせいでdynamicが導入できないんだよな
ついでObject型から拡張メソッド使えない
0263デフォルトの名無しさん2015/04/26(日) 21:09:41.77ID:4wueFLg7
VBは負の遺産多過ぎて笑える
0264デフォルトの名無しさん2015/04/26(日) 21:13:41.04ID:7jnYXfIp
>>267
ついでにOption Infer OnでOption Strict Offだと、
明示的に型指定しない限り全部Objectとして推論されるという破綻した仕様だ
こんなもんコンパイルエラーにすりゃいいのに
0265デフォルトの名無しさん2015/04/26(日) 22:59:36.69ID:TSTvOAjs
>>264
>明示的に型指定しない限り全部Objectとして推論されるという
誰にレスしてるのか知らんが、推論って解ってるか?
Dim a = "test"
これは明示的に型を指定していない(Stringとはどこにも書いてない)がStringだと推論できる
すくなくとも2013で試したけどちゃんとそう推論されてString型になってる

型を指定しない変数がObjectになるのは、型推論以前の話
Dim a
これがObjectになるのは、旧VBでVariantになってたものとの整合性のためだ
これはOption Inferに関係ない話
0266デフォルトの名無しさん2015/04/27(月) 06:12:22.49ID:jIpV3z07
>>265
Option Infer On
Option Strict Off
Dim a = “test”
a = 12345
Console.WriteLine(a.GetType())
0267デフォルトの名無しさん2015/04/27(月) 15:51:30.37ID:ebWiZqjs
>>266
2013で試したけどちゃんとStringだけど?

暗黙の変換が理解できないのか?
もしかして、aの型が途中で変われとか思ってるのか?
0268デフォルトの名無しさん2015/05/01(金) 18:14:37.18ID:8HUHn2mm
.net経由でエクセルに一括で出力したいんですけど、
対応してるのって多次元配列だけですか?
ジャグ配列でもいけますか?

最初に作ったジャグ配列だとエラー出たのでダメかと思ったんですがどうなんでしょう
多次元配列がめんどくさいです
0269デフォルトの名無しさん2015/05/01(金) 18:20:19.20ID:8HUHn2mm
ジャグ配列と言っても長さは一定です。
ただの配列の配列の方です

VBAだとVariant型の配列に配列を格納したままセルに出力出来た気がしたので、そんな感じでできないのかと迷ってます。
.netは今回が初なので、変な表現はご容赦を
0270デフォルトの名無しさん2015/05/01(金) 18:24:39.50ID:GljsCVrU
一括出力って何よ。

Range.Valueの型は確かObject(,)。
ちょっと上にも書いたけど、VBなら暗黙の型変換でDouble(,)とかString(,)でもいける。
(Option Strict Off時)

これがVBのもはやほとんど唯一のアドバンテージ。
0271デフォルトの名無しさん2015/05/01(金) 20:00:22.62ID:y/e0hWAT
>>269です

>>270
一括入力というか範囲にまとめて値を設定するやつです
Range(”A1:E10”).Value=二次元配列※1みたいな。
で、この二次元配列を弄るのが面倒なので何か便利なモノはないのかなと

理想はArrayListか Dim D1()() As Stringみたいな多段階配列?を
※1の二次元配列代わりに使いたいのですが可能でしょうか
0272デフォルトの名無しさん2015/05/01(金) 23:14:37.72ID:k6prZlnl
バカっているんだなぁ
ジャグ配列を二次元配列に変換してセットするだけじゃん
数行のコード書くだけじゃん
0273デフォルトの名無しさん2015/05/01(金) 23:39:27.23ID:8mLYD2sr
DataTable使えばいいんやで
0274デフォルトの名無しさん2015/05/02(土) 00:08:31.90ID:PqHK/vYT
>>272
や、その変換がよくわからないので質問しに来たんですが
自分ではfor文で1個1個格納するような不細工な方法しか思い浮かばないです
0275デフォルトの名無しさん2015/05/02(土) 01:30:39.30ID:PqHK/vYT
達人がどいつもこいつも遠いのなんとかならんのかね
0276デフォルトの名無しさん2015/05/02(土) 01:31:29.52ID:PqHK/vYT
誤爆すいません
0277デフォルトの名無しさん2015/05/02(土) 01:40:31.69ID:1CAzIfIH
達人BOMB思い出した
0278デフォルトの名無しさん2015/05/04(月) 13:52:14.31ID:kOp9hxOl
vb.net2010でchartを使用しています。
グラフタイプlineでマーカーを有効にしているのですが
そのマーカーの座標を取得したいです。
恐縮ですが、やり方を教えて頂けないでしょうか。
0279デフォルトの名無しさん2015/05/04(月) 16:01:43.50ID:zVlualTP
http://www.atmarkit.co.jp/fdotnet/dotnettips/1007aspchartline/aspchartline.html
0280デフォルトの名無しさん2015/05/05(火) 18:25:45.94ID:H1bD3y4l
>>278
無理。座標なんて取れない。
0281デフォルトの名無しさん2015/05/11(月) 08:13:09.61ID:v4XvWVJo
Object配列をDAOのRecordsetにまとめて書き込むあるいはまとめて取得するといった事は出来ないのですか?
Valueの呼び出し回数が多くなると相互運用のオーバーヘッドが無視できないボトルネックになります
OleDbなど他のDBライブラリに出来れば良いのですが要件の都合でDAO3.6しか使えません
0282デフォルトの名無しさん2015/05/11(月) 16:38:05.91ID:9dKsED28
VB6では下のような事が出来たのですが、VB.NETではエラーになります。
Const では定数に定数を定義する事はできないのでしょうか?

Public Const AtoC As String = "ABC"
Public Const AtoF As String = ABC + "DEF"
Public Const NNN As String ="123" + AtoF
0283デフォルトの名無しさん2015/05/11(月) 16:43:55.00ID:e/BHH/Kz
&
0284デフォルトの名無しさん2015/05/11(月) 17:34:21.37ID:9dKsED28
>>283
お陰様で出来ました、ありがとうございました。
0285デフォルトの名無しさん2015/05/13(水) 13:14:23.74ID:5xa6PfnQ
何でGUIでのコントロール配列をやめたんでしょう?
せめて名前だけでもコピペで継承してくれれば配列化も楽になるのだけど...
0286デフォルトの名無しさん2015/05/13(水) 13:50:06.10ID:iFFXrGSK
>>285
今頃かよ
0287デフォルトの名無しさん2015/05/15(金) 09:42:18.61ID:ckFkjZay
C#のコードをVB.NETに変換しています。(VS2013)
t型の変換部分がわかりませんので教えてください。

private static T ClientInstantiation(BasicHttpBinding bindings, EndpointAddress endpoint)
{
return (T)Activator.CreateInstance(typeof(T), bindings, endpoint);
}
↓
Private Shared Function ClientInstantiation(bindings As BasicHttpBinding, endpoint As EndpointAddress) As t
Return CType(Activator.CreateInstance(Type.GetType(t), bindings, endpoint)(), t)
End Function

Type.GetType(t)でコンパイルエラーになります。
0288デフォルトの名無しさん2015/05/15(金) 10:27:45.88ID:bEqOBE9Q
C#のtypeof演算子はVBではGetType演算子
Type型のGetTypeメソッドとは無関係
0289デフォルトの名無しさん2015/05/15(金) 11:14:44.51ID:ckFkjZay
>>288 有難うございました。

Private Shared Function ClientInstantiation(Of t)(bindings As BasicHttpBinding, endpoint As EndpointAddress) As t
Return CType(Activator.CreateInstance(GetType(t), bindings, endpoint)(), t)
End Function

でいけました。
0290デフォルトの名無しさん2015/05/18(月) 00:59:31.50ID:rTM0gfmR
記号の扱いについてなんですが・・

ファイル名の先頭に &amp;#9654; 記号が付いていて、
ファイルアドレスをテキスト出力すると ? に変わってしまうのです。
VBだと扱えない記号なんでしょうか?
0291デフォルトの名無しさん2015/05/18(月) 09:44:09.65ID:/sgh0iRS
Shift_JISには扱えない記号だよ
0292デフォルトの名無しさん2015/05/18(月) 09:57:18.58ID:J+RVXlhZ
下のエラーメッセージをイミディエイトウインドウに表示させない方法ってありますか?
型 'System.FormatException' の初回例外が mscorlib.dll で発生しました
0293デフォルトの名無しさん2015/05/20(水) 03:37:09.35ID:mVhKy64b
<br>を<br />と書くとなんの得が?
0294デフォルトの名無しさん2015/05/20(水) 07:48:59.08ID:bF5wz0wT
本職でないのに会社の業務アプリを作れと言われ困っています。

sqlサーバーとvb.net で開発しているのですが、

検索条件が4つほどあり、where 列名 1 = コンボボックス1の値 and 列名2 = コンボボックス2 and 〜 と繋げていきたいのですが、コンボボックスが未選択の場合にはこの検索条件を飛ばしたいのです

ストアドでは、where 列名 =isnull(コンボボックス1,列名)and でnullの場合、これで検索条件を飛ばせたのですが、vb上でコンボボックスにnull値を引き渡しする方法がわかりません。

どなたかヒントを頂かないでしょうか
どうか宜しくお願いいたします
0295デフォルトの名無しさん2015/05/20(水) 07:55:58.80ID:wfRY8uO9
.NET SQL パラメータ でググる
0296デフォルトの名無しさん2015/05/20(水) 09:19:51.93ID:KFMNcacm
ここで教えてしまうと本職である俺たちの仕事が
なくなるから教えるべきではないな
0297デフォルトの名無しさん2015/05/20(水) 10:13:18.99ID:RDldFDFb
>>295

ありがとうごさいます 調べてみます
vb.net 上からストアドのパラメータを呼び出す、といったニュアンスでよいのでしょうか?それをコンボボックスに関連づけるというか。
0298デフォルトの名無しさん2015/05/20(水) 20:11:05.93ID:lRuCF4Ch
WHERE (コンボ1 IS NULL OR 列1 = コンボ1)
AND (コンボ2 IS NULL OR 列2 = コンボ2)
これでやるんやで
0299デフォルトの名無しさん2015/05/21(木) 08:21:54.17ID:nwV8enKl
>>293
なんの特もないですよ。
0300デフォルトの名無しさん2015/05/24(日) 19:59:50.15ID:/sU8qY7S
ITってなんの意味?
0301デフォルトの名無しさん2015/05/25(月) 09:02:50.26ID:qKSZBXD7
>>300
愛しての略
0302デフォルトの名無しさん2015/05/25(月) 12:31:28.98ID:NZqOS5P9
>>300
ファ(゚Д゚) it=それ、だろ。
0303デフォルトの名無しさん2015/05/26(火) 01:18:56.89ID:ZIvupKeH
マジレスすると?
0304デフォルトの名無しさん2015/05/26(火) 07:25:36.64ID:SdQfWS5U
君に
0305デフォルトの名無しさん2015/05/26(火) 07:58:25.86ID:OOq91dGH
とどけ
0306デフォルトの名無しさん2015/05/26(火) 10:59:39.93ID:xTPEmHT9
>>304
会いてぇ
0307デフォルトの名無しさん2015/05/27(水) 15:12:54.34ID:C+NhLOwD
なぜVBはC#と比べて駄目なのか
ttp://crapp.hatenablog.com/entry/2014/12/31/235842
0308デフォルトの名無しさん2015/05/27(水) 16:31:16.22ID:dh78sdoF
コピペマン参上!まで読んだ。
0309デフォルトの名無しさん2015/05/27(水) 17:44:04.76ID:Ypi1XDkX
VS2013Expressにはインストーラが無いと思いますが、ビルドしたEXEファイルを直接実行すれば問題なく動くんでしょうか?
その場合、EXEファイルの保存場所はどこでも良いのでしょうか?
0310デフォルトの名無しさん2015/05/27(水) 20:05:56.17ID:+reV9d8N
NET Frameworkがインストールされていれば動きます。
保存場所はどこで良いです。
0311デフォルトの名無しさん2015/05/27(水) 20:25:17.31ID:x3esSDVw
>>310
ありがとうございます。
VB6のときは、DLLやら何やらをsystemフォルダにコピーしたりしないとダメだったり、
ディストリビューションウイザードでインストールしないと正常に動作しなかったりした
ので不安に思っていました。
NET Frameworkがその役目をしてくれてるんでしょうかね。
0312デフォルトの名無しさん2015/05/28(木) 09:29:56.22ID:7fXQTxbZ
VB.NETのプログラムをビルドして起動してWindows8.1のタスクマネージャーで見てみると
(32ビット)って表示されちゃうけどVB.NETアプリって32ビットなのかしら?
0313デフォルトの名無しさん2015/05/28(木) 09:46:54.31ID:x+MFk+ux
プロジェクトのプロパティでどっちでもできるけどデフォルトは32bit
COM回りとかAPI呼び出しとかで(プログラマ原因の)問題がちょくちょくあったから
どうせ一般的なアプリケーションなら特に差はないし
0314デフォルトの名無しさん2015/05/28(木) 10:48:36.74ID:7fXQTxbZ
じゃあこのままでいいや
0315デフォルトの名無しさん2015/05/28(木) 11:26:36.87ID:qrMVO/gn
64bitでも動くようにしてそのいろいろ出る問題を体験したほうが
スキルアップするよ。
0316デフォルトの名無しさん2015/05/28(木) 13:16:07.98ID:7fXQTxbZ
自分用のファイル名変換ソフトぐらいしか作らないし
0317デフォルトの名無しさん2015/05/28(木) 13:42:59.96ID:qrMVO/gn
自分用なんてもったいない。
0318デフォルトの名無しさん2015/05/28(木) 13:55:46.80ID:7fXQTxbZ
ファイル一覧をメモリ内データテーブルにコーラムとローウを作って格納して
image1.png
image2.png
image3.png
という他社画像ソフトが付ける名前に不満があるから
abc0001.png
abc0002.png
abc0003.png
ぐらいの変換趣味プログラミングしかしないし
0319デフォルトの名無しさん2015/05/28(木) 16:29:00.09ID:8cEiN+lf
そんなもんスクリプト言語なら一瞬でできるだろ
VBで作るのは馬鹿の一つ覚え
0320デフォルトの名無しさん2015/05/28(木) 16:38:07.41ID:8cEiN+lf
つかVBで作るにしても、ファイル名の連番部分を正規表現でキャプチャして数字取り出すだけだよね
非常に単純な処理のはずだけど、データテーブルなんて一体何に使うんだ
まあそもそも出来合いのリネームツールを使えという話ではあるが
0321デフォルトの名無しさん2015/05/28(木) 17:39:11.21ID:C/2xaBAg
それなら叩く必要はないと思いますよ
0322デフォルトの名無しさん2015/05/28(木) 21:26:57.35ID:yn+5JefU
コーラムとローウっていい方初めて聞いた
0323デフォルトの名無しさん2015/05/28(木) 21:46:01.90ID:a+Bx53X2
業界用語的な?
0324デフォルトの名無しさん2015/05/28(木) 21:49:15.77ID:M5z1Z18K
もしかしてcolumnとrowか
0325デフォルトの名無しさん2015/05/28(木) 22:31:28.53ID:NCErZJE8
まぁ、自分の知ってる言語で作るのが一番楽だろうな
0326デフォルトの名無しさん2015/05/29(金) 10:37:52.85ID:DZBpB2ug
なんか適当なリネームツールの使用方法覚えたほうがよくないか?
コマンドラインで実行して変換したいとかならツールが対応する必要があるからあれだけど。
それにしたってコマンドラインのツールを探せばいいわけで。
0327デフォルトの名無しさん2015/05/29(金) 11:06:31.58ID:sDxhOSq1
リネームするだけでもSQL Server Compactにいったんファイル名を格納したくなったりするはずなんだがなー
0328デフォルトの名無しさん2015/05/29(金) 14:50:06.66ID:GbyQSdJL
コレクションをソートするだけのためにデータテーブルを使う、VBerならではの発想だね
0329デフォルトの名無しさん2015/05/29(金) 15:52:47.47ID:/inCidIH
実装方法は人それぞれですよ
リネームツールならパフォーマンスの大部分はI/Oが占めるでしょう
>>327 さんの様に DB を使う人もいるでしょうし
表示に DataGridView を使っているのかもしれませんよ
0330デフォルトの名無しさん2015/05/29(金) 17:12:48.39ID:PvfnbxNC
コーランとウーロンは、それぞれイスラムとチャイナの宝ですから、
馬鹿にするとスレが荒らされますよ。

チャイナは13億人もいるんです。
13億人が一斉に一つのスレに書き込むかと思うと・・・

気を付けたほうが良いです。
0331デフォルトの名無しさん2015/05/29(金) 17:42:25.72ID:1KgUqQ09
でもウーロン茶って現地にないんだろ
0332デフォルトの名無しさん2015/05/29(金) 20:42:46.13ID:5IDPfqL5
ギャルのパンティ生成するプログラムください
0333デフォルトの名無しさん2015/05/30(土) 02:07:28.73ID:Pbtwhgcb
パンティ100枚も生成してやったぞ
For i=0 to 100
TextBox1.Text="パンティ"
Next
0334デフォルトの名無しさん2015/06/01(月) 10:15:38.50ID:SmRnjqJZ
トーストと紅茶
0335デフォルトの名無しさん2015/06/01(月) 10:59:50.21ID:UEpvKTDA
>>333
それ動かしたら1枚あまりますた
0336デフォルトの名無しさん2015/06/01(月) 13:49:02.48ID:cXFUMQbT
>>333
グラフィックで生成できなのがVBの弱さだなw
0337デフォルトの名無しさん2015/06/01(月) 15:21:45.68ID:xAgLifG+
暑くなってきたから気違いが湧いてもしょうがないか…
0338デフォルトの名無しさん2015/06/01(月) 19:54:10.94ID:06FjfYqT
独創性の欠片もない発想
しかもパンティは一つしか表示されない
その上ループ回数も間違っている
これがVBerクオリティ
0339デフォルトの名無しさん2015/06/02(火) 09:08:36.68ID:ZuKbpm2s
見えない愛が隠れてるんでしょ。
0340デフォルトの名無しさん2015/06/02(火) 09:51:08.43ID:0sX2qVRz
Dim i As Long
If i=1 then
Label1="中森明菜のぱんてぃ"
ElseIf i=2 then
Label1="坂井泉水のぱんてぃ"
ElseIf i=3 then
Label1="柏原芳恵の空港押収物"
ElseIf i=4 then
Label1="榊原郁恵のぱんてぃ"
ElseIf i=5 then
Label1="柏原芳恵と榊原郁恵のちがいがわからない"
ElseIf i=6 then
Label1="河合奈保子のビキニ"
ElseIf i=7 then
Label1="森口博子のぱんてぃ & VbCrLf & 大当たり & VbCrLf & 確変突入"
End if
0341デフォルトの名無しさん2015/06/02(火) 10:44:13.22ID:iYJy6KLA
>>340
どうも古代のアイドル歌手みたいだね^^;
0342デフォルトの名無しさん2015/06/02(火) 13:44:55.84ID:YfkW139T
>>340
VBだと初期値i=0だからLabel1には何も代入されないな
0343デフォルトの名無しさん2015/06/03(水) 23:50:48.67ID:xLp6v6Vl
vb.netではuncheckedなキャストは出来ないの?
0344デフォルトの名無しさん2015/06/05(金) 12:39:52.47ID:Yzlip4+C
For i = -1 to -3

Next
これを動かした場合のiの様子って?
0345デフォルトの名無しさん2015/06/05(金) 12:45:42.25ID:WT8vsoFD
N-BASIC からやりなおせ
0346デフォルトの名無しさん2015/06/05(金) 12:49:23.70ID:Yzlip4+C
-1のつぎって0にいっちゃうからたぶんエラー
0347デフォルトの名無しさん2015/06/05(金) 12:51:13.22ID:Yzlip4+C
いや、そもそもForステートメントって自然数しか使えないから
0からintegerの最大値までしか記述できないかも
0348デフォルトの名無しさん2015/06/05(金) 13:04:27.29ID:7es6a0tW
なんだこいつ
0349デフォルトの名無しさん2015/06/05(金) 13:30:33.96ID:IO2ptGx3
step -1
0350デフォルトの名無しさん2015/06/05(金) 14:37:22.68ID:D1WIZkL1
正解早すぎ
0351デフォルトの名無しさん2015/06/05(金) 15:20:36.81ID:BaaBUArV
>>349
それだ!
0352デフォルトの名無しさん2015/06/05(金) 17:18:27.33ID:3UseM3t2
>>347
>Forステートメントって自然数しか使えないから
そんなことはありません

https://msdn.microsoft.com/ja-jp/library/5z06z1kb(v=vs.80).aspx
>データ型 counter のデータ型は、通常は Integer にします。
>しかし、以上 (>=)、以下 (<=)、加算 (+)、減算 (-) の各演算子をサポートするものならば任意のデータ型を指定できます。
>これらの演算子をサポートしていれば、ユーザー定義型を指定してもかまいません。

やりたい事はStep -1だろうけど
そのままでどうなるかってなら、たぶんiがオーバーフローするまでループするんじゃないかな
0353デフォルトの名無しさん2015/06/05(金) 17:34:19.30ID:Yzlip4+C
For、loop
の中にAprrication.DoEvent
書いとかないとフリーズする
マメな
0354デフォルトの名無しさん2015/06/05(金) 17:37:35.78ID:IO2ptGx3
お豆
0355デフォルトの名無しさん2015/06/05(金) 18:10:43.42ID:7es6a0tW
>>353
あぁそれ一番やっちゃダメなやつな
0356デフォルトの名無しさん2015/06/05(金) 18:22:30.10ID:Yzlip4+C
Whay? ほわーい
0357デフォルトの名無しさん2015/06/05(金) 23:09:45.96ID:TGIdieIs
VBのForで混乱するならEnumerable.RangeとかEnumerableEx.Generate使おうぜ
0358デフォルトの名無しさん2015/06/05(金) 23:38:30.84ID:ArINQc3s
そんなものを使いこなせる子はVBなんて使いません
0359デフォルトの名無しさん2015/06/06(土) 18:06:40.79ID:wx4+GI5s
Select Case だとIf文と違って「〜以上」「〜以下」「〜 または 〜」
ができない
マメ知識な
0360デフォルトの名無しさん2015/06/06(土) 18:16:49.18ID:rCO6kXww
そんな低速なイテレータをお遊び以外で使うんじゃあないっ!
0361デフォルトの名無しさん2015/06/06(土) 18:20:41.25ID:F9D1Moux
さらっと嘘つくなよ

「Is」と「,」がある
0362デフォルトの名無しさん2015/06/06(土) 19:13:20.17ID:rCO6kXww
もしかしてVB6のdoubleと.NETのdoubleって別物?
0363デフォルトの名無しさん2015/06/06(土) 20:13:44.55ID:NlzRnH5v
表現は同じだけど計算結果が厳密に同じとは限らない
VB6と.NETの間に限らず浮動小数点というのは環境に依存するものだから、
よく理解してないんならDecimal使っとけ
0364デフォルトの名無しさん2015/06/07(日) 05:29:43.99ID:yMbx5XXH
>>362
エイリアスだから全く同じもの
0365デフォルトの名無しさん2015/06/07(日) 05:31:12.90ID:yMbx5XXH
あぁ失礼、VB6でしたか...
別物として扱った方が良いと思う
0366デフォルトの名無しさん2015/06/07(日) 11:27:26.39ID:n58mUdnf
http://qa.atmarkit.co.jp/q/9426
文字列が作成以降変更できない事によると言うのが誤解を招くと言われてるようなのですが、これはどう言うことか分かる人いるでしょうか?
文字列が変更できないから変わらない、と言うわけではないという事でしょうか?
聞いてみたいんだけど、なんかこう手を触れてはいけないというか、関わりたくないのです…
0367デフォルトの名無しさん2015/06/07(日) 11:30:47.49ID:NaIbOULp
これだからC言語をやったことのないやつは
0368デフォルトの名無しさん2015/06/07(日) 11:33:28.63ID:8NCQzbFC
>>366
この回答は確かにおかしいね。
Item1への再代入はStringオブジェクトの内容を変更してるのではなくて、
新しいStringオブジェクトで参照を置き換えている。Stringオブジェクトが不変であるかどうかは無関係。
0369デフォルトの名無しさん2015/06/07(日) 11:55:57.62ID:8NCQzbFC
たとえばItem1の型をStringBuilderに、Item1の右辺をnew StringBuilder(文字列)に置き換えても結果は変わらないよ。(StringBuilderは不変ではない)
だって、>>366のどこにも文字列オブジェクトの内容を変更しようとしている箇所はないから。
実際には変更したくてもStringは不変なので変更する手段がないんだけど、それはここでは無関係。
繰り返すが、代入は文字列オブジェクトの内容を変更するんではなくて参照を上書きすることでオブジェクトそのものを入れ替えるんだよ。
0370デフォルトの名無しさん2015/06/07(日) 12:29:08.59ID:XmKcFN/K
>なんかこう手を触れてはいけないというか、関わりたくない

その直感は正しい
0371デフォルトの名無しさん2015/06/07(日) 13:02:10.36ID:n58mUdnf
>>369
あ、文字列が可変だとしても同じ事が起こると書かれてた意味が分かりました。
0372デフォルトの名無しさん2015/06/07(日) 15:50:21.45ID:MiXsiH0m
ネイティヴAPIにStringのポインタを渡して文字列の内容を書き換えられたらどうなるんですか?
0373デフォルトの名無しさん2015/06/07(日) 16:47:19.61ID:QuOebb6f
>>372
やってみて。
Stringを値渡しした場合はマーシャラーが期待するような結果が得られるように
うまく計らってくれる。

もちろんその場合でも元のStringのインスタンスが変更されるわけじゃない。
0374デフォルトの名無しさん2015/06/09(火) 15:08:46.49ID:D64qsf7W
ピクチャーボックスにグラフを描いてるんですが、下端の3ピクセルは描画出来ないのは仕様ですか?
ボーダースタイルを3Dにすると5ピクセルくらいに増えます。
ピクチャーボックス上のマウスカーソルの座標も表示していますが、同様に下端数ピクセルは座標を取得出来ません。
0375デフォルトの名無しさん2015/06/09(火) 21:25:31.38ID:nZTbfKL1
ホントにそこはピクチャーボックスか?
0376デフォルトの名無しさん2015/06/10(水) 09:22:52.62ID:hop0dLBx
>>375
そこは間違いないです、どのみちスケーリングするので隠れちゃう分をオフセットして計算する事にしました。
0377デフォルトの名無しさん2015/06/10(水) 11:21:33.73ID:ipeElURN
俺も今ピクチャボックスでグラフかかされてるけどならないな
ボーダースタイルはnoneで
0378デフォルトの名無しさん2015/06/10(水) 11:32:18.66ID:hop0dLBx
>>377
noneだと線はheightまで引けますね、カーソル座標はheight-1まで取得出来ました。
0379デフォルトの名無しさん2015/06/10(水) 20:18:24.12ID:SnRvHhfo
URLを他のブラウザやエクスプローラにドラッグ&ドロップしたいのですが
下記のようなコードではうまくいきません。
エクスプローラからドラッグされるほうのサンプルは結構見つかるのですが
逆がなかなか見つからないのですが、分かる方いましたらお願いします。

Dim urls As String() = {"http://www.yahoo.co.jp";}
Dim dataObj As New DataObject(DataFormats.FileDrop, urls)
Dim dde As DragDropEffects = list.DoDragDrop(dataObj, DragDropEffects.Copy Or DragDropEffects.Move)
0380デフォルトの名無しさん2015/06/10(水) 21:15:13.20ID:uWw81rVG
>>379
エクスプローラにドロップする例ならすぐ見つかったけど
http://www.atmarkit.co.jp/fdotnet/dotnettips/384expdragdrop/expdragdrop.html
0381デフォルトの名無しさん2015/06/10(水) 21:33:36.74ID:/kHDwUM2
フォーマット文字列は"UniformResourceLocatorW"ってやつかな
データは文字列でいいみたいだけど。
0382デフォルトの名無しさん2015/06/10(水) 22:22:22.89ID:SnRvHhfo
>>380, 381
ありがとうございます。
どうもうまくいきません。うーむ。
0383デフォルトの名無しさん2015/06/11(木) 01:20:58.90ID:iZ7vIhbG
vb6資産をvb.netに変換する最強のツール教えてよ
0384デフォルトの名無しさん2015/06/11(木) 06:24:30.10ID:tam4srza
ドカタ
なおVB専はクォリティに問題があるのでやめたほうがいい模様
0385デフォルトの名無しさん2015/06/11(木) 08:27:10.43ID:8Aoh8+SR
>>383
VisualStudio .NET
旧プロジェクトをそのまま開き変換
1から作った方が早いかもしれない
0386デフォルトの名無しさん2015/06/11(木) 11:31:44.34ID:IOeYT4Pu
変換したらウインドウ内がまっさらになりました
0387デフォルトの名無しさん2015/06/11(木) 11:41:04.00ID:yDtVU6wD
>>386
どうせ、プロジェクトの参照設定で、外部OCXとか使ってんだろ。
0388デフォルトの名無しさん2015/06/12(金) 01:09:47.33ID:3YbxguOD
変換の最大の障害は糞VBプログラマの吐いた糞コードなんだよね
マトモなコードなら別言語でもリファクタリングは容易い
0389デフォルトの名無しさん2015/06/12(金) 03:32:13.57ID:iIwQDcxZ
移行とリファクタリングは基本的には別の話
実際のとこ旧VBの移行で一番のネックは標準も含めたOCX類
0390デフォルトの名無しさん2015/06/12(金) 06:16:36.21ID:NH0O2bSS
会社の建物の外に出てタバコ吸ってるの見つかった場合どーすれば
0391デフォルトの名無しさん2015/06/12(金) 07:48:39.24ID:p1Cq9OqG
>>389
そゆこと。
0392デフォルトの名無しさん2015/06/12(金) 20:16:32.20ID:3YbxguOD
>>390
適度な休憩は生産性を上げるってレポートを書いて提出
0393デフォルトの名無しさん2015/06/13(土) 00:19:30.07ID:3YEnVwLl
ヘー
0394デフォルトの名無しさん2015/06/13(土) 06:29:48.75ID:KSn5zbP7
喫煙厨はそう言い訳するけど、ニコチン摂取でようやく最低限になるだけなんだよね
マイナスから0付近に戻るというだけ
0395デフォルトの名無しさん2015/06/13(土) 15:36:33.54ID:j6dTAmDO
>>389
移行ってリファクタリングの事だと思ってた
逆にリファクタリング無しにどうやったら移行出来んだ
0396デフォルトの名無しさん2015/06/13(土) 15:53:04.03ID:CvpFt6eB
動かないものを動くように直すのはリファクタリングとは言わんよ
VBerは保守性なんて気にしないから、場当たり的にとにかく動くように最低限直してそれでおk
0397デフォルトの名無しさん2015/06/13(土) 16:00:20.61ID:j6dTAmDO
そりゃそうしたいけど場当たり的に最低限じゃ動かないよ
0398デフォルトの名無しさん2015/06/13(土) 16:03:49.64ID:CvpFt6eB
>>397
文字読めないの?
動作を変える変更はリファクタリングではない
動作を変えずにソースを変更するのがリファクタリング
0399デフォルトの名無しさん2015/06/13(土) 16:16:28.64ID:j6dTAmDO
動作変えるなんて誰も話してないだろ
旧資産と同じ挙動を維持しながら移行するのにリファクタリングというプロセス無しでどうやるんだって話
0400デフォルトの名無しさん2015/06/13(土) 16:36:41.41ID:CvpFt6eB
言いたいことは分かるが、移植作業がリファクタリングだなんて聞いたことないわ
VB6のソースを.NETに持ってきていったん動かなくなった時点で、
それを再び動くようにするのは一般的には「動作を変える作業」と見做すのが普通だろう
0401デフォルトの名無しさん2015/06/13(土) 16:39:58.93ID:WFf0i5wd
移行と言うと内部構造の見直し、改善は含まないイメージ
0402デフォルトの名無しさん2015/06/13(土) 16:42:52.02ID:NLRO2E1s
移行とリファクタリングは別物でしょ
他のスレでも聞いてみ?
0403デフォルトの名無しさん2015/06/13(土) 18:49:43.91ID:bwYtYS6A
例えばデータアクセス層をマイグレーションするとしたら、O/Rマップのインターフェースを維持したまま、内部実装を分析整理して、ADO相互運用からADO.NETに置き換えて、コードの品質を高めるんだろ
後はユニットテストも加えたら、これってまさにリファクタリングのプロセスじゃん
0404デフォルトの名無しさん2015/06/13(土) 19:23:11.75ID:NLRO2E1s
まあどこにでも方言はあるか。
0405デフォルトの名無しさん2015/06/13(土) 20:47:40.46ID:KSn5zbP7
VB厨がどんな用語を使おうが構わないよ
またなんか言ってらで終わるから
0406デフォルトの名無しさん2015/06/13(土) 22:36:21.19ID:ds8D2Sdy
移行で必要なのはせいぜい元コードの解析まで
移行なら整理する必要はないし、品質も高める必要はない
元システムのバグはそのまま再現すべし、という移行だってあるんだよ

解析のプロセスがリファクタリングと同等だと言うならまあそうかもしれんが
0407デフォルトの名無しさん2015/06/13(土) 22:43:22.35ID:bwYtYS6A
あんた、移行したことないだろ?
整理しなくても良い、動けば良いって言うけど整理しなきゃまともに動かないよ普通
0408デフォルトの名無しさん2015/06/13(土) 22:50:35.74ID:NLRO2E1s
リファクタリングが移行の中で必須だとしても
それは移行の中の一部なのだからことさら
移行=リファクタリングもたく言うのは違う気がする。
俺のなかではリファクタリングは言語や実行環境を
変えないでソースを整理するイメージ。
0409デフォルトの名無しさん2015/06/13(土) 23:11:29.16ID:ds8D2Sdy
>>407
整理しないとまともに動かないようなコードの保守ばかりしてるんだな
ごくろうさん
0410デフォルトの名無しさん2015/06/13(土) 23:40:43.37ID:SUtBR6oW
VB6→VB.NETは言語が別物なので、リファクタリングの次元を超えています
たぶん、移植後に気づいた部分をリファクタリングする、という事を伝えたかったのでしょう
移植とリファクタリングを同時に行う事もあり得ますが、別々に考えるべきですね
0411デフォルトの名無しさん2015/06/14(日) 07:46:31.61ID:hXolqezD
>>407
まともに動かないものを動くようにするのはリファクタリングではありませんね
そんな意味で使ってるのはあなただけでしょう
0412デフォルトの名無しさん2015/06/14(日) 18:02:56.65ID:bi3meJ29
移植とリファクタリングがごっちゃになってるなんてVB厨らしくていいじゃないか
>>405の言うとおり
0413デフォルトの名無しさん2015/06/14(日) 19:04:52.98ID:yMz9ArtB
普段「動けばいい、動いてるものは触らない」が常識だと思って仕事してるからこその勘違いだな
メンテナンス性の改善のためだけの修正なんて全く頭になかったんだろう
まさにVBerだわ
0414デフォルトの名無しさん2015/06/14(日) 21:08:25.35ID:0rCloUb+
お前らがどうやって移植してるかわっかんね

�@解析ツールで.NETに構文変換
�Aバグ取り
�Bテスト
�C要件で不許可のActiveXの置き換え

普通に考えて�Cがリファクタリングだろ
ActiveXは全てそのままにしておくのか?
0415デフォルトの名無しさん2015/06/14(日) 21:14:45.07ID:yMz9ArtB
�Cがリファクタリングなら例えば
客「うちの〜システムで使っているパッケージのサポート期限切れが迫っている。リプレースしたい。」
リファクタリング君「リファクタリングしましょう。」
というわけか
0416デフォルトの名無しさん2015/06/14(日) 21:15:03.95ID:hXolqezD
駄目だこりゃ
0417デフォルトの名無しさん2015/06/14(日) 21:15:58.17ID:hXolqezD
まさかリファクタリングで金取らないよな?w
0418デフォルトの名無しさん2015/06/14(日) 21:23:23.28ID:0rCloUb+
>>415
リファクタリングだよ
リプレースに必要な要件と作業を挙げてみろよ

�@呼び出し規約と動作仕様の同一性を保証する境界を決める
�Aテストケースを書く
�Bより品質のよいコンポーネントを前提に再設計する
�Cテストドリブンでコードを修正する

どう見てもリファクタリングです
本当にありがとうございました
0419デフォルトの名無しさん2015/06/14(日) 22:39:53.41ID:Ftg9kCWs
金は取ろうよ
修正なんだし・・・
0420デフォルトの名無しさん2015/06/14(日) 23:25:30.56ID:WUSI3X0V
>>414
挙げられた例だと�Cまでが移植ですね
全部テストまで終わった後にやるのがリファクタリングです
0421デフォルトの名無しさん2015/06/15(月) 00:22:59.70ID:vOFoOiO1
>>420
リファクタリングってのはむしろコードを書きながら逐次必用に応じてやるものですw
0422デフォルトの名無しさん2015/06/15(月) 00:58:21.96ID:ZuE8FanD
>>421
それはリファクタリングではなくコーディングですね
ユニット単位などで完成後に動作を変えずコード保守性を上げるのがリファクタリングです
0423デフォルトの名無しさん2015/06/15(月) 01:06:15.55ID:ZuE8FanD
と書きましたが、コーディングしながらリファクタリングの様な事も確かにやりますよね
リファクタリングという言葉の定義の問題でしょうか
0424デフォルトの名無しさん2015/06/15(月) 01:08:57.16ID:hbk3ZQ5q
>>422
だから、「完成後」じゃなくてオンザフライでそれをやることの方が多いし、
それをリファクタリングって言うんですよw

完成するまでやらないなんて余程腰の重いグズだけ。
0425デフォルトの名無しさん2015/06/15(月) 03:30:50.81ID:LHg/6D6Y
コードレビューで却下されたコードの修正もリファクタリングとか言いだすのだろうか
0426デフォルトの名無しさん2015/06/15(月) 08:01:04.73ID:Li2oe29u
>>394
スレ違いだ
失せろ
0427デフォルトの名無しさん2015/06/15(月) 08:02:19.92ID:Li2oe29u
>>414
普通はフルスクラッチから作り直しますよww
0428デフォルトの名無しさん2015/06/15(月) 13:10:14.95ID:IxrUgLS7
>>426
2日も前のレスに失せろだなんて、かっこい(^_-)-☆
0429デフォルトの名無しさん2015/06/15(月) 18:20:29.40ID:blTMn1gP
達人によるとリファクタリングとはガーデニングらしいな。
ソースコードは、要求により変化するもの、変化によっては悪い状態のソースコードもある、
それを、常にいい状態に保つために手直しをし続ける。
0430デフォルトの名無しさん2015/06/16(火) 15:58:14.79ID:v1JWf5ds
>>414
�Cも移植作業だろ

移植作業中にリファクタリングすることもあるけどな
もちろんコーディング中にリファクタリングすることもある

まあコーディング中のリファクタリングはコーディングに含まれるだろうけど
0431デフォルトの名無しさん2015/06/16(火) 20:04:02.20ID:5k5zCgWs
新規作成から最初の保存まで以外は全部リファクタリング
0432デフォルトの名無しさん2015/06/23(火) 14:07:34.26ID:CMci6Bpa
If form1.Visible = True Thenを実行しただけで、
エラー:オブジェクト参照がオブジェクト インスタンスに設定されていません。
が表示されてしまいます。
下のようにしても同じなのですが、何か回避策はありますでしょうか?
Try
If form1.Visible = True Then
form1.Close()
End If
Catch ex As Exception
End Try
0433デフォルトの名無しさん2015/06/23(火) 14:30:58.35ID:6iVsGbQf
>>432
もしかして、その form1 というのは自分自身ですか?
自分自身なら
Me.Visible
Me.Close()

自分自身ではなくインスタンスを設定した変数があるならそれを参照します
Dim f As Form = New form1()
なら
f.Visible
f.Close()

インスタンスの概念をまだ理解していないのであれば必ず理解しましょう
.NET では if 文と同じくらい基本的な事です
0434デフォルトの名無しさん2015/06/23(火) 14:31:56.21ID:j07RYUoJ
form1とやらをNewしてないんだろ
回避とか言う問題じゃない
0435デフォルトの名無しさん2015/06/23(火) 14:46:36.10ID:CMci6Bpa
>>433-434
自分自身ではないです。
もし、form1が表示されていたら一旦閉じてからロードしたいのです。
今まではこれで動いていたのですが、form1に宣言文を追加したらこのエラーが出てしまうようになりました。
その宣言文が非共有メンバーなためにこのエラーが発生するのではないかと考えています。
Newでロードすると同じフォームが何枚も表示されてしまうので使わなかったのですが、Newを使った上で多重表示を回避する方法を考えてみます。
ありがとうございました。
0436デフォルトの名無しさん2015/06/23(火) 15:27:28.30ID:vVXy/YjI
>>434
ところがVBには既定のインスタンスってのがあってな...

>>435
form1に何をどう追加したんだ?
まあそれが直接の原因かどうかも解らんが、普通メンバーを追加しただけでそのへんの動作は変わらん
0437デフォルトの名無しさん2015/06/23(火) 15:31:39.81ID:MFCWNXmJ
If Not form1 Is Nothing Andalso form1.Visible = True Then

とか?
0438デフォルトの名無しさん2015/06/23(火) 16:03:39.82ID:CMci6Bpa
>>436
↓です、GrpがダメみたいでプロシージャにDim文で戻しました。
Private PenWHT = New Pen(System.Drawing.Color.White, 1)
Private Grp As Graphics = picGRP.CreateGraphics
ファイルからデータを読み込んでグラフを描いていますが、他にも色々問題があって他に原因があるかも知れません。
データを読み込んで描画を繰り返している最中は、メインのデータ取込処理が停まってしまうので
My.Application.DoEvents()を入れたら、固まってしまったり.....
もがき苦しんでますが、基本的な事から勉強しないとだめですね。
0439デフォルトの名無しさん2015/06/23(火) 17:36:06.48ID:vVXy/YjI
>>438
宣言をフォームレベルからプロシジャにしたら動いたって事?
まさかPrivateをDimにしたら動いてるのか?
そんな事が起こるとか俺の想像を超えてるわ

あととりあえず、DoEventsは忘れろ
あれはVBがマルチスレッドがまともに扱えなかった時代の負の遺産だ
まあ既定のインスタンスという最大の負の遺産の整理に失敗したのが今のVB.NETだが
0440デフォルトの名無しさん2015/06/23(火) 18:09:47.22ID:CMci6Bpa
>>439
多重起動の回避にMy.Forms.form1.Show()を使いました。
>宣言をフォームレベルからプロシジャにしたら動いたって事?
>まさかPrivateをDimにしたら動いてるのか?
そのとおりです、確認の為もう一度フォームレベルに戻して実行したら、My.Forms.form1.Show()でエラーになりました。
Penのほうはプロシージャで宣言してたとき、抜ける前にディスポースしていたので2周目でインスタンス無しエラーが発生してました。
Grpはディスポーズを削除してもダメでした。
0441デフォルトの名無しさん2015/06/23(火) 23:32:19.36ID:vVXy/YjI
そもそもエラーがでた変数は何だ?

既定のインスタンスってNothingかましたら復活したっけ?このへんVBのバージョンで微妙に動きが違ったような
とりあえず既定のインスタンス使うのやめて、ちゃんと自分でインスタンス管理するべきだな
フォームのShowはインスタンス生成じゃないとかUnloadはインスタンス消滅じゃないとか
フォーム周りはとくにインスタンス管理ややこしいんだが既定のインスタンスがさらにややこしくしやがる
0442デフォルトの名無しさん2015/06/24(水) 09:57:24.53ID:EJzxGw2g
>>441
何度もありがとうございます。
My.Forms.form1.Show()の時点で「エラー:オブジェクト参照がオブジェクト インスタンスに設定されていません。」が発生してしまうので断言は出来ませんが、
フォームレベルでのPrivate Grp As Graphics = picGRP.CreateGraphicsの宣言がエラー元だと思います。
0443デフォルトの名無しさん2015/06/24(水) 10:02:16.79ID:ZRPYuhwH
見た目だけでいいなら閉じないでHide
0444デフォルトの名無しさん2015/06/24(水) 11:00:51.52ID:1qpN3oTv
>>442
本当にそれが原因なんですかね?
Null参照が起きているという事は、どこかでform1が破棄されている訳ですから
1箇所ずつ変更していって原因を特定した方が良いと思いますよ
別のバグが「それ」を引き起こしている可能性もあり得ますので
0445デフォルトの名無しさん2015/06/24(水) 11:14:39.69ID:no9AmW7J
ここの人達優しいね
VB知らないけど気になった事
暗黙のインスタンスってnullになるの?
IDisposableをDisposeしないと参照到達不可になってもメモリ上に長く留まるけど・・・関係無いか
0446デフォルトの名無しさん2015/06/24(水) 11:28:39.09ID:EJzxGw2g
>>444
試しに↓を実行すると、if文のところでform1に飛んで、Private Grp As Graphics = picGRP.CreateGraphics行でCatch ex As Exceptionに戻ってきます。
exの内容は「オブジェクト参照がオブジェクトインスタンスに設定されていません。」です。
逆に、オブジェクト参照をオブジェクトインスタンスに設定する方法があれば良いという事だと思うのでそれを模索中です。

Try
   Dim f As Form = New form1()
   If f.Visible = False Then
      f.Visible = True
   End If

Catch ex As Exception
   MsgBox(ex.ToString)
End Try
0447デフォルトの名無しさん2015/06/24(水) 12:07:51.73ID:1qpN3oTv
>>446
ちゃんとステップ実行で確認されましたね
それだと例外が発生するのは
My.Forms.form1.Show() ではなく
Private Grp As Graphics = picGRP.CreateGraphics という事になります

ステップ実行の時に picGRP.CreateGraphics の中身を確認してみてください
Nothingになっていればそれが原因です
0448デフォルトの名無しさん2015/06/24(水) 12:33:44.56ID:EJzxGw2g
>>447
仰るとおり、Nothingでした。
>?picGRP.CreateGraphics
>参照されたオブジェクトには値 'Nothing' が指定されています。

プロシージャではエラーにならないので、それまでに代入されているはずなのでしょうが、
フォームロード他、検索してみたのですがまだ見つけられていません。
でも原因がはっきりしたのでなんとかなりそうです。
アドバイスくれたみなさん本当にありがとうございました。
0449デフォルトの名無しさん2015/06/24(水) 12:39:55.91ID:cpliL4a2
もしかしてx64でデバッグやってる?
Form_Loadでエラーあっても例外おきないという強烈すぎる「仕様」があるが・・・
0450デフォルトの名無しさん2015/06/24(水) 15:13:02.91ID:EJzxGw2g
picGRPはピクチャーボックスなのですが、フォームレベルではNothingのようです。
他フォームから Dim f As Form = New Form1()を実行した時点で、Form1の宣言部分だけ実行して帰ってくるのですが、
そこではまだpicGRPはNothingで、そのためにエラーになってしまいます。
その後のf.Visible = Trueを実行するとForm1の_Loadプロシージャに移り、そこで初めて
picGRPの値がNothingから{System.Windows.Forms.PictureBox, SizeMode: Normal}に変化しました。
なので少なくともこの方法では、Grp As Graphics = picGRP.CreateGraphicsは、Privateで宣言は出来ないのではないかと思います。
本当にお騒がせ致しました。
0451デフォルトの名無しさん2015/06/24(水) 18:27:38.99ID:no9AmW7J
>>450
Private Grp As Graphics = picGRP.CreateGraphics
このような書き方は変数初期化子と言い、最初に実行されるためNew Form1()で落ちます。
「宣言と初期化を同時に行いたい」は確かに無理ですが、初期化のタイミングを遅らせる事で目的は達成できるはずです。
具体的には宣言を"Private Grp As Graphics"Loadイベントで"Grp=picGRP.CreateGraphics"と書けば動くと思います。
なお、VisibleやText等、OS由来のプロパティは未ロード状態でアクセスすると暗黙的なロードが発生します。
予期せぬ事態を防ぐ為、こ必要ならば別途実装してやるのが良いと思います。
0452デフォルトの名無しさん2015/06/24(水) 20:48:28.56ID:m8uAoJag
>>451
ありがとうございます、>>450です。
LoadイベントでPrivate相当の宣言が可能な方法が無いものかと探していました。
まさにそれで実現出来そうです。
今は試す環境がないので明日試させて頂きます。
0453デフォルトの名無しさん2015/06/24(水) 21:03:31.73ID:THF2Ta19
>>452
問題は初期化のタイミングで、Privateかどうかじゃないけど大丈夫?
Private Grp As Graphics = picGRP.CreateGraphics
の実行(と言う事にしておいて)段階でpicGRPがインスタンス生成されてないとだめなんだが
フォーム上のコントロールはフォームが生成されてから生成されるので、フォーム生成時にはpicGRPはNothing
だからフォームレベルで宣言するとエラーになる(はずだけど、>>449の仕様は知らんかった)
プロシジャで宣言したときは、そのプロシジャが実行されるまでにコントロール生成が終わっていたから動いただけだと思うぞ
0454デフォルトの名無しさん2015/06/24(水) 21:08:26.28ID:THF2Ta19
あとGraphicsってたしか毎回生成してやらんとまずかったはず
だからフォームレベルでPrivate Grp As Graphics で宣言するのはいいけど
使う前に毎回CreateGraphicsして使い終わったらDisposeするようにすれば良いと思うぞ
0455デフォルトの名無しさん2015/06/24(水) 21:10:31.81ID:m8uAoJag
>>453
フォームロードでしかGrpが通用しないというか、Form1のプロシージャ間でGrpを共有できないとしたら目的は達成できないですね。
とにかく明日いろいろ試してみようと思います。
0456デフォルトの名無しさん2015/06/24(水) 21:21:30.63ID:THF2Ta19
>>455
Graphics(のインスタンス)に限れば、プロシジャ間で使いまわし出来てもしちゃだめだよ
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.control.creategraphics(v=vs.110).aspx
>(略)Graphics オブジェクトを再利用のためにキャッシュすることはできません。
>Graphics オブジェクトを使用するたびに CreateGraphics を呼び出し、使用が終了したら Dispose を呼び出す必要があります。
よくわからんバグのもとになるぞw
0457デフォルトの名無しさん2015/06/24(水) 22:27:05.08ID:m8uAoJag
>>456
うぅぅ、そうなんですね。
目盛りを表示するプロシージャ、1日分のデータを読むプロシージャとそのデータをグラフ化するプロシージャ、
それらを管理するプロシージャ等に分けていたんですが、グラフ化は一気にやるように作り直すしかありません。
時間は掛かりますが、不可能って事はないと思いますので頑張ってみます。
ありがとうございました。
0458デフォルトの名無しさん2015/06/24(水) 22:41:32.66ID:xxSvGhva
さすがVB、無茶苦茶だな
複数のメソッド(プロシージャ)間でGraphicsオブジェクトを共有すること自体は何の問題もない
少なくとも、WinFormsのフレームワーク側に処理を戻さない限りはな
フィールド(VBerの認識ではグローバル変数か?)にGraphicsを入れて共有しようとすると寿命が不明瞭になるから、
フィールドを介さずに引数で渡すことをお勧めする
0459デフォルトの名無しさん2015/06/24(水) 22:45:12.60ID:1QcVqCZ3
>>457
そんな事無いよ、必要な時に作って(CreateGraphics)、使い終わった時に破棄(Dispose)する必要があるだけで、
複数のプロシージャで使い回す事を禁止するって事では無いよ
0460デフォルトの名無しさん2015/06/24(水) 22:48:15.58ID:1QcVqCZ3
>>458
ただの初心者でしょう
>>457
VB6なんて知らないよね?
運悪くVBプロジェクトに放り込まれた感じ?
04614582015/06/24(水) 22:51:25.92ID:xxSvGhva
>>457の場合はこんなイメージでメソッドを分けるといい
Using g As Graphics = CreateGraphics()
 目盛りを表示する(g)
 Dim 一日分のデータ As 知らん = 1日分のデータを読む()
 グラフを描画(一日分のデータ)
End Using
プロシージャなんて呼び方は今すぐやめてメソッドと呼べ
可能な限り引数と戻り値を使え
0462デフォルトの名無しさん2015/06/24(水) 22:56:38.26ID:xxSvGhva
訂正
>>461の グラフを描画(一日分のデータ) は
グラフを描画(g, 一日分のデータ) の間違い
0463デフォルトの名無しさん2015/06/24(水) 23:06:30.06ID:jrzu50ZF
>>461
>プロシージャなんて呼び方は今すぐやめてメソッドと呼べ
どーでもいいわそんなことw
0464デフォルトの名無しさん2015/06/25(木) 06:31:03.49ID:TDcnlZ9r
オブジェクト指向言語としての共通の言葉を使うことは大切だと思うけどね
プロシージャでググってるとVB専の低品質な情報しか引っかからん
0465デフォルトの名無しさん2015/06/25(木) 07:07:05.34ID:E8Vt3WpV
描画処理に悪びれもせずデータアクセスが紛れ込んでる辺りがVBerの限界だよね
0466デフォルトの名無しさん2015/06/25(木) 09:15:22.16ID:2iFFcEMc
FunctionとSubが分かれてるのがイミフだった
0467デフォルトの名無しさん2015/06/25(木) 09:29:20.06ID:mCWp96OB
>>458-465
たくさんのアドバイスありがとうございます。
特に>>461さんのGraphicsを引数として使えるとは思いもよらず目からウロコが(・・)....。。
自分のレベルではハードルが高そうですがチャレンジしてみます。
0468デフォルトの名無しさん2015/06/25(木) 10:24:47.94ID:YYP0d5qt
CryptoStreamとStreamWriterでログファイルを出力しよう思うがこれAutoFlushプロパティが効かないな、StreamWriter.Closeメソッド実行までファイルに書き出されない。
0469デフォルトの名無しさん2015/06/26(金) 10:24:35.56ID:55t+nCVl
明示的にFlushすればいいじゃん?
0470デフォルトの名無しさん2015/06/28(日) 01:02:06.21ID:v2yBj4Tr
VB.NETでオラクルDBを扱うお仕事をやることになったからお勉強環境作ったけどオラクルはインストールがすごい面倒くさいんだね
オラクルに比べたらMicrosoftは随分と親切だったんだなぁ
0471デフォルトの名無しさん2015/06/28(日) 01:21:25.39ID:y/1cfe6e
開発者も「お客様」として扱うのはMSだけ
0472デフォルトの名無しさん2015/06/28(日) 05:20:01.40ID:GvHC+GLi
>>470
アンインストールはもっと大変なんですよ
0473デフォルトの名無しさん2015/07/08(水) 20:10:02.79ID:Q2GwWlSW
>>468
暗号ってのはブロック単位とかで実行するんだよ。
最低でもブロック分のデータを渡した後でなきゃ暗号化が実行できないから、当然出力先のストリームへの書き込みも出来ない。
0474デフォルトの名無しさん2015/07/13(月) 18:57:17.72ID:piQT/dUt
取得した文字列に&#***;の実体参照が混ざってしまうためこれを戻して表示したいのですが
たとえば"あ"の実体参照が混ざっていた場合
regex.replace("ӓ4;","&#(\d+);","chr("$1"))
$1のところはint型にしてもダメだったので書くの省略してますがこれじゃダメなんですかね?
0475デフォルトの名無しさん2015/07/13(月) 18:58:24.77ID:piQT/dUt
ミス
regex.replace("&#12354;","&#(\d+);","chr("$1"))
0476デフォルトの名無しさん2015/07/13(月) 23:52:40.65ID:YQxeDok0
>>475
こんなんでどう?

Dim input As String = "&amp;#12354;"
Dim pattern As String = "&amp;#(?<code>\d+);"
Dim match As System.Text.RegularExpressions.Match = System.Text.RegularExpressions.Regex.Match(input, pattern)

Dim replacementTarget As String = match.ToString()
Dim i As Integer = CInt(match.Groups("code").ToString)

Console.WriteLine("replaceTarget = " &amp; replacementTarget)
Console.WriteLine("i = " &amp; i)
'replaceTarget = &amp;#12354;
'i = 12354

Dim output As String = input.Replace(replacementTarget, ChrW(i))

Console.WriteLine("output = " &amp; output)
'output = あ

参考URL:ttp://ytakai.info/2011/12/362.php
0477デフォルトの名無しさん2015/07/13(月) 23:57:19.77ID:YQxeDok0
アンパサンド文字化けしてるねすまん
0478デフォルトの名無しさん2015/07/14(火) 00:08:02.48ID:5J9oCZVz
はじめまして、rs485機器に対してコマンドを出すには、vb.netでは232と同じように、mscommから、可能なのでしょうか?
素人なもので、宜しくお願いします。
0479デフォルトの名無しさん2015/07/14(火) 00:34:54.16ID:eEc8FSwI
>>478
485の通信デバイスがPCにCOMポートとして認識されてるかどうかが問題でしょ。

っていうかmscomm使うの?
トラ技の記事とかだと勝手に使ってたりするけど、それってVB6の開発ライセンスがないと
本当は使えないよ確かw
0480デフォルトの名無しさん2015/07/14(火) 00:42:25.64ID:5J9oCZVz
478さん、serialportコントロールでした。
間違いです。コムポートとして認識可能なら、serialportコントロールから、コマンド発行可能と考えていいですか?
0481デフォルトの名無しさん2015/07/14(火) 00:50:33.05ID:eEc8FSwI
単純に1対1の通信の物理層を485にしただけならできない理由はないのでは?

N対Nだと相手を指定する(される)必用があるはずだけど、それが可能かどうかは何とも。
0482デフォルトの名無しさん2015/07/14(火) 09:12:22.58ID:Di4EAqDq
>>474
Regex.Replace(text, "&#(?<code>[0-9]+);", Function(m) ChrW(CInt(m.Groups("code").Value)).ToString())
0483デフォルトの名無しさん2015/07/14(火) 09:29:38.88ID:Br2hR6Az
>>474
System.Web.HttpUtility.HtmlDecode( "あ" )
0484デフォルトの名無しさん2015/07/14(火) 09:30:14.62ID:Br2hR6Az
ありゃw

System.Web.HttpUtility.HtmlDecode( "&#12354;" )
0485デフォルトの名無しさん2015/07/14(火) 11:26:40.49ID:IO7ucRPr
>>476,482,483
戻り値で関数使う方法でうまくできました
ありがとうございました助かりました
0486デフォルトの名無しさん2015/07/15(水) 21:13:57.92ID:6Nx8XmuY
481さん、ありがとう。
vb.netでserialコントロールですが、バイトデータを、送受信するにはどうするか教えて下さい。
Vb6の時には、a(0)=h60,mscomm.output=aといった感じだと思いました。受信部は忘れてしまいました。
0487デフォルトの名無しさん2015/07/27(月) 21:07:01.36ID:e+AsUn+E
64bit環境でtarコマンド使いたいのですが
http://homepage1.nifty.com/Ayakawa/soft/index.html
のtar64.DLLは呼び出すとエラーになります。
64bitでtar使えている方いますかね。
0488デフォルトの名無しさん2015/07/28(火) 18:37:46.79ID:jAG2IVHF
安定の「エラーになります」
0489デフォルトの名無しさん2015/07/28(火) 19:44:00.15ID:sFAhL5HY
(私の頭が)エラーになります
0490デフォルトの名無しさん2015/07/28(火) 20:01:02.47ID:Z+xZWeTf
存在そのものが人類のエラー
それがVB土方
0491デフォルトの名無しさん2015/07/28(火) 21:04:14.50ID:z84cRTKM
どうせAnyCPUで32ビット動作してるオチだと予想
0492デフォルトの名無しさん2015/07/29(水) 14:49:31.26ID:RRLLi0By
ちょっと質問しづらい雰囲気だけど質問
クラスの動的配列を作成してそれを色々としてます
簡単にソースを書くと↓

Public Class MeiboClass
Private _No As Integer
Private _Name As String
'省略
End Class

Public Meibo As New System.Collections.ArrayList() ’問題はここ

Private sub MeiboList()
'Loopで追加(数は毎回動的変動)
Meibo.Add(New MeiboClass(No, Name))
End Sub

上の宣言部分をArrayListじゃなくクラスで宣言する文法を知りたいです
xmlに出力するソースを拾ってきたんですがMeiboはクラスじゃないと
エラー出たのでここをクラスの宣言にすれば動くような気がするんです
0493デフォルトの名無しさん2015/07/29(水) 14:57:21.35ID:RRLLi0By
ちなみにかなりの素人です
ぐぐってサンプル見つけてはつなぎ合わせて作ってます
vbの文法ぐらい知ってるからと始めたんですが
こんなに苦しむならC#でも変わらなかったかな

vbってなくなっちゃうのかな?
仕事で使ってるわけじゃないからvbでいいんだけど
0494デフォルトの名無しさん2015/07/29(水) 17:25:11.43ID:RRLLi0By
試行錯誤の末に違う方法で問題は解決しました
ただ答えは聞きたいです
こういうことが出来るのか知っておきたい
0495デフォルトの名無しさん2015/07/29(水) 18:11:27.29ID:ybVur5jK
「クラスで宣言する」の意味が分からないから答えられん
コンパイル通らなくて良いからこういう風に書きたいって例を出してみてくれないか
0496デフォルトの名無しさん2015/07/29(水) 20:14:25.29ID:ozMfiNSe
エスパーするとArrayListじゃなくてSystem.Collection.Generic.List<T>使う
0497デフォルトの名無しさん2015/07/29(水) 20:14:25.29ID:ozMfiNSe
エスパーするとArrayListじゃなくてSystem.Collection.Generic.List<T>使う
0498デフォルトの名無しさん2015/07/29(水) 20:34:59.97ID:qNVQgxin
arraylistなんてとっくに死滅したかと
0499デフォルトの名無しさん2015/07/29(水) 20:53:28.89ID:ozMfiNSe
目イボのリストってなんじゃそりゃ と思ったが


名簿か
0500デフォルトの名無しさん2015/07/30(木) 11:49:58.27ID:UK8gk6pT
単純な画像ビュアを作っています。
圧縮ファイル内の画像を表示するのに、ZIPはZipArchive等を使えばよいのですが、rar形式などにも対応させたいのです。
簡単に使える、できればフリーのライブラリがあれば教えてもらえないでしょうか。
0501デフォルトの名無しさん2015/07/30(木) 12:22:45.98ID:m3DkqN5d
>>500
C# rarでググれ
VBの情報はレベルが低いので、検索するときのキーワードは常にC#な
0502デフォルトの名無しさん2015/07/30(木) 14:33:25.96ID:Vf809pRn
仕事で新しくVB.NETを使うことになりました

そこで使えそうな本を探しているのですが、中々良いものが見つかりません

目当てのものとしては
Visual C++6.0のリファレンスですが

http://www.amazon.co.jp/dp/4891000503

に近いものを探しています。
この本はMFCや何かを仕様レベルで解説していて非常に便利でした

VB.NETにも近い本があると嬉しいのですが
0503デフォルトの名無しさん2015/07/30(木) 15:23:25.17ID:UK8gk6pT
>>501
SevenZipSharp.dll でなんとかなりそうです。
ありがとうございました。
05044932015/07/30(木) 21:05:12.09ID:38Shv4FL
>>497
>>498
そのあたりが理解できてないんだよな
vb netのやっかいなところはネット上に過去の資産が
ありすぎることなんだと思う
大きく仕様が変わり続けてるのに過去の情報がヒットしすぎる

簡単に書くと
Public class MemberClass
Private No as integer
Private Name as string
’ごっそり省略
Public Sub New(Byval No As Integer, Byval Name As String)
'省略
End sub
End Class

これを毎回大きさ可変の配列化してxmlに入出力したかったんです
xmlで出力するサンプルコードをネットで拾ってきてコピペすると
この構文だと一部クラスじゃないとダメだとエラーが出たので質問した

ArryListのままでも出力する方法がわかったので質問を変更したのが
結末です

ただ新たな問題が出てたので次のレスで質問しなおし
0505デフォルトの名無しさん2015/07/30(木) 21:10:59.01ID:38Shv4FL
新たな質問なのですがxmlで読み書きしてると不規則に
「他のプロセスでしようしてるのでx1cyfcve.dllにアクセスできません」
のエラーでデバッグが止まります

ただ止まるだけでF5を推すとそのまま続けることが出来ます

止まることこのソース
Dim serializer As New System.Xml.Serialization.XmlSerializer( _
GetType(System.Collections.ArrayList), et)
Dim sw As New System.IO.StreamWriter( _
FileName, False, New System.Text.UTF8Encoding(False))
serializer.Serialize(sw, Member)
sw.Close()

何が原因でどういう対処すればいいですか?
0506デフォルトの名無しさん2015/07/30(木) 21:20:44.52ID:38Shv4FL
他のプロセスで使用してるために修正
あとxmlの読み込み書き込みの両方で法則不明で
エラーが出ます
0507デフォルトの名無しさん2015/07/30(木) 22:24:46.75ID:AGRRcWLu
質問とか説明が意味不明だから
それ以前の話だと思われるな

ジェネリクスが導入された.net2.0なんて何年前の話だよ

x1cyfcve.dllってファイル名で書き込もうとかしてるキチガイコードだったりするのかな
0508デフォルトの名無しさん2015/07/30(木) 22:36:08.20ID:38Shv4FL
やりたいことは単にクラスのデータをxmlに読み書きしたい
これをぐぐってHITしたソースをほぼそのまま使ってる
xmlの読み書きに何がいいのかなんてさっぱり

何かいいのあるのならソース付きで教えてほしい
当方スキル不足すぎてソースないと理解できない可能性が高い

こういう時ってこのレスのように簡単な質問だけ書いて
丸々答えてもらうような質問仕方のほうがいいのか?

下手に自分で調べて質問すると意味がわからないと書かれたり
そんなの古いみたいな答えが返ってくるが古いか新しいかより
とりあえず動くものを作りたい
0509デフォルトの名無しさん2015/07/30(木) 22:45:55.25ID:FRlaAlkY
まず日本語
次に英語
プログラミングはその後だ
0510デフォルトの名無しさん2015/07/30(木) 22:47:38.46ID:38Shv4FL
>>507
ファイル名はちゃんと記述してるし書き込みも読み込みも
動くときは正常に動いてる

ただ読み書きを繰り返してると時々
「他のプロセスで使用されてるのでx1cyfcve.dllにアクセスできません」
とエラーが出てデバッグが止まる

エラーが出たら普通はエラーが解決されるまで止まり続けるのが普通?
なんだろうけど今回はエラーが出ても続けると何事もなかったように
正常に動き続けるのでこちらも理解できない状態
0511デフォルトの名無しさん2015/07/31(金) 00:36:22.42ID:/zzUTvIH
何歳か知らないけど、それじゃ何も伝わらない
0512デフォルトの名無しさん2015/07/31(金) 00:53:16.06ID:I1VSGf/O
>>510
とりあえず基礎からプログラミングの勉強した方が良いと思うけど
ソースないとどころか、ソースあっても何も理解できてないじゃん

エラーが出た瞬間は他のプロセスで使われてたからエラーになったんだろ
普通はその他のプロセスが使い続けてる限り、エラーは出続けるわな
お前がエラーを確認してから再開するまでに他のプロセスが使うのやめただけの話だろ
0513デフォルトの名無しさん2015/07/31(金) 04:04:40.51ID:x/lAeM4R
自分で理解できんようなもん使わんと名前と番号程度なぞただのテキストファイルとかでいいだろもう
0514デフォルトの名無しさん2015/07/31(金) 04:59:07.97ID:KUETyTuA
盛り上がってるところ申し訳ありませんが
>>502お願いできます?

要は初心者向けじゃないVB.NETの本が欲しいってことです
0515デフォルトの名無しさん2015/07/31(金) 05:31:42.25ID:5JIfYwes
無いよ
VB.NETは初心者しか使わないから初心者用の本しかない
0516デフォルトの名無しさん2015/07/31(金) 05:33:26.35ID:x/lAeM4R
質問スレで嫌われるもの
・マルチ
・情報の後出し
・回答の催促
0517デフォルトの名無しさん2015/07/31(金) 11:19:35.58ID:aobk3QH+
>>514
網羅的な解説書はVBもC#も日本語では2008以降は出てない。
洋書ではあるけど。ただ、web上にいくらでも解説があるからそれで十分。

.NET Frameworkも含めて網羅的に解説してる本はおそらく洋書にもない。
というかそれはもはや不可能。

>>516
なるほど、上から目線のてめえは嫌われてないとでも思ってるんだ。そりゃおめでたい。
まあ嫌われてるっていうか馬鹿にされてるんだと思うけどねw
0518デフォルトの名無しさん2015/07/31(金) 12:24:13.70ID:NCcDqg0l
>>514
「プログラミング.NET Framework Jeffrey Richter」
仕様レベルで.NET Frameworkを解説されています
上級者向けですが、一度は読んでおくべき一冊です
VB.NET関連は知らないです、でもamazonにありそうな気はします
0519デフォルトの名無しさん2015/07/31(金) 12:33:49.09ID:NCcDqg0l
VB.NETは初心者向けと言っている方がいますが、そうは思えません
これからプログラムを勉強したい初心者がいたらC#とVB.NETどちらを薦めますか?
C#とVB.NETの学習コストはほぼ同じと言われています
それでもC#を薦めるでしょう
ネットの情報量も加味したら更にコストは下がると思いますよ
0520デフォルトの名無しさん2015/07/31(金) 13:01:15.92ID:3RjYFzpU
うん、もうVBの役割は終わった。
0521デフォルトの名無しさん2015/07/31(金) 16:40:28.66ID:KUETyTuA
>>517
>>518
どうもありがとうございます。
とりあえずVB.NET弄ってググるのを繰り返すのが一番みたいですね
0522デフォルトの名無しさん2015/07/31(金) 21:59:17.93ID:5JIfYwes
初学者はILを学ぶのが適切です
ここを押さえておけば後は言語ごとの方言を少し覚えればいいので楽ですね
0523デフォルトの名無しさん2015/08/02(日) 11:03:36.96ID:sr1OtW2+
みんな〜、Small Basicの時代だよ〜
図形を描いたり動かすのが簡単だよ(・ω・)

【初心者歓迎】Small Basic Part 2 【片手間】
http://peace.2ch.net/test/read.cgi/tech/1422240355/
0524デフォルトの名無しさん2015/08/05(水) 16:56:13.11ID:ece7t/K7
>>492
もう別の方法で解決したから良いみたいだし、亀レスだけど

>Public Meibo As New System.Collections.ArrayList() ’問題はここ

これを

Public Meibo As New List(Of MeiboClass)

に変えたらどうだ?
質問の意味がイマイチわからんがそんな気がする。
0525デフォルトの名無しさん2015/08/07(金) 12:23:55.72ID:kgqaQAsJ
メッセージを垂れ流しで表示するコンソール画面のようなものをつくろうと思ってます。
絶対に欲しい機能は以下の2つです。
 行単位で文字はカラー表示
 行単位でコピー
100行くらい保持して、表示は10〜20行くらい表示できればいいのですが、
上記条件で作るとなれば、datagridviewかリッチテキストボックスしかないでしょうか?
VB2010expressで作成しようと思っています。
0526デフォルトの名無しさん2015/08/07(金) 12:45:39.39ID:KG6W47XJ
使用フレームワーク 4.5.2
やりたいこと
TFS APIをつかって、対象のリポジトリのファイルをロックしたい
(保留中の変更欄にロックと表示される状態)

状況
山勘で、ワークスペースのメソッドにあるsetlockかと思い試してみたけれど変化なしでした。
どうしたらよいかご教示願います。
0527デフォルトの名無しさん2015/08/07(金) 22:07:40.11ID:TzkIo9sF
ばかばっか
0528デフォルトの名無しさん2015/08/08(土) 00:22:17.39ID:Fe3rcXOX
VBを駆逐するにはVB開発者を駆逐するしかない
未来のためにもあなたたちには自決して欲しい
0529デフォルトの名無しさん2015/08/08(土) 01:07:30.69ID:xp2orv6h
VBが悪いのではなくて、問題は学習意欲が無く過去に覚えたものにしがみ着いてクソコピペコードを垂れ流すだけの無能PGでしよ
VBが無くなったところでJavaやC#に移住するだけだよ
0530デフォルトの名無しさん2015/08/08(土) 01:30:58.56ID:Fe3rcXOX
プログラマって免許制にすべきだと思うんだよね
プログラムに金銭や人命が左右されるんだよ
素人(VBコーダーの事)をプログラムに関わらせるのは無責任すぎる
0531デフォルトの名無しさん2015/08/08(土) 16:52:36.35ID:qUvMcN+h
VBは邪悪だろ
未だに On Error 〜 とか使えるし
0532デフォルトの名無しさん2015/08/08(土) 18:57:10.53ID:xp2orv6h
OnError使うようなカスはJavaやC#を使ったとしても例外握りつぶしまくりのビチクソみたいなコード書くよ
0533デフォルトの名無しさん2015/08/08(土) 20:13:31.20ID:Fe3rcXOX
例外情報で機密情報をどどんと表示されるくらいなら握りつぶしたほうがマシ
0534デフォルトの名無しさん2015/08/08(土) 20:28:35.45ID:2mT64iaQ
機密情報w
0535デフォルトの名無しさん2015/08/08(土) 20:32:22.73ID:Fe3rcXOX
そういえば夏だったな
0536デフォルトの名無しさん2015/08/08(土) 21:29:12.58ID:OztNlj6Y
>>532
バカは必ずそれいうが今時誰がそんなコード書くのよ
0537デフォルトの名無しさん2015/08/08(土) 21:30:03.79ID:OztNlj6Y
すまん>>531だった
0538デフォルトの名無しさん2015/08/08(土) 23:21:00.15ID:SoFpQLhj
ここ雰囲気悪く終わってるな
0539デフォルトの名無しさん2015/08/09(日) 09:54:16.02ID:/6/RtruA
VBスレなんざ始まってすらいない
0540デフォルトの名無しさん2015/08/15(土) 17:18:05.97ID:hcwFHcJB
設計維持したままVB6からVB.NETに移植しろって案件多いけど、なんのメリットがあるんだ?
そてじゃあ移植前と何も変わらない、ただのスクラップじゃん
0541デフォルトの名無しさん2015/08/16(日) 05:58:03.53ID:oJJ9Sokx
VB6のままでいるデメリットが大きいからでしょうね
0542デフォルトの名無しさん2015/08/16(日) 15:55:44.62ID:Q8xWKp4N
>>540
最初から満足なものを作っちゃったら当分新しい仕事が生まれないだろう
いきなり作り直すとコストがでかいからとりあえずベタ移植しましょうと騙しておけば、
後でこんな時代遅れのゴミ使えるかと言われてリプレースで2度美味しい
0543デフォルトの名無しさん2015/08/16(日) 16:26:59.46ID:zpUhk8CC
あと、基本的に客には負債を背負わせるのがよい
腐ったものはなるべく残し、対症療法を繰り返して糞の上に糞を塗り重ねて肥大化させる
自分たちにしか理解できないシステムを作り上げ、業務を人質に取ることで継続的に搾取できる
0544デフォルトの名無しさん2015/08/17(月) 21:32:52.64ID:uP0yoFXr
設計し直す時間も予算もないんですよ
0545デフォルトの名無しさん2015/08/17(月) 23:14:11.40ID:lByiupFy
inputmanのGcDateTimeCellを設定したセルに和暦表示させたい。
設定は正しくできているとした場合、
"平成27年8月17日"というリテラルをどういう型であたえたらよいでしょうか?
よろしくお願いします。
0546デフォルトの名無しさん2015/08/17(月) 23:38:16.63ID:uP0yoFXr
サポートに聞いたら?
0547デフォルトの名無しさん2015/08/18(火) 00:01:48.01ID:ibEfm7F+
>>545
長らくinputman使ってないけど、valueに相当するぷろぱちーに日付型渡して、
formatに相当する設定を和暦に設定するのじゃだめなの?
0548デフォルトの名無しさん2015/08/20(木) 23:16:58.97ID:A9xiGhKk
Visual Studio 2015のVBについて質問です(先日から始めました

TextBox1に"13:30:56"とあります '13時31分56秒という意味
TextBox2に"1:30"とあります '1時間30分という意味
TextBox3に、上の13時30分56秒に1時間30分を足した、15:00:56と表示させたいんですが

Excelのように=A1+B1のように簡単に時間を足すことはできますか?
TextBox2の値を分解?して、..AddHours(1)さらに.AddMinutes(30)としなければできませんか?

よろしくお願いします
05495482015/08/20(木) 23:32:32.65ID:A9xiGhKk
調べていたところ見つかりました
TimeSpan.Parseで出来ました(多分
ありがとうございました
0550デフォルトの名無しさん2015/09/02(水) 22:48:03.77ID:PUTjdeXA
インターフェイスの有用な使い方ってどんなの?
継承のマストオーバーライドじゃダメなの?
0551デフォルトの名無しさん2015/09/03(木) 08:58:15.80ID:V3rPrhUr
IComparableとかIEnumerableとか
DLL作るんならともかくアプリ作るだけなら独自に定義することはあまりないな
0552デフォルトの名無しさん2015/09/03(木) 14:05:00.03ID:OiKdhPLN
VisualStadio2013のソルーションをVisualStadio2015 RCで開くとエラーがでやがるクソがっ
0553デフォルトの名無しさん2015/09/03(木) 23:16:46.54ID:LjTaPrCX
2010で作ったslnを2013にアップグレードしたんだけど、
slnをダブルクリックで開こうとすると2010で開かれる
これってしょうがないこと?
0554デフォルトの名無しさん2015/09/04(金) 01:02:44.89ID:nkhHol/6
>>553
ソリューション右クリ→プログラム指定オープン→常に開くチェックを付けてVS2013
0555デフォルトの名無しさん2015/09/04(金) 14:21:47.98ID:q+NYG/yO
Dim a As Integer() = {1, 3, 5, 9}というデータを
1
1 3
1 5
1 9
1 3 5
1 3 5 9
3
3 5
3 9
3 5 9
5
5 9
9
という風に展開したいので、組み合わせ、部分集合を
調べてみた。再帰を使うのがよいという所までわかったが
再帰の部分をどう考えるのかがわからない。
あと一歩のような気がするけど。う〜ん。
0556デフォルトの名無しさん2015/09/04(金) 19:40:57.80ID:JF/H3adu
1 5 9 と 1 3 9 抜けてる?
0557デフォルトの名無しさん2015/09/04(金) 20:09:22.67ID:Dj8/Wc2n
>>553
2013で開いて sln を上書き保存する。
0558デフォルトの名無しさん2015/09/05(土) 22:12:29.19ID:6dKeptfV
(define (combination ls)
(let loop ((n (length ls)) (r '()))
(if (zero? n) (reverse r)
(loop (- n 1) (append (combination-r ls n) r)))))

(define (combination-r ls r)
(cond
((null? ls)'())
((or (zero? r)(> r (length ls)))'())
((= r 1)(map list ls))
((= r (length ls))(list ls))
(else
(append
(map (lambda (n)(cons (car ls) n)) (combination-r (cdr ls)(- r 1)))
(combination-r (cdr ls) r)))))

(combination '(1 3 5 9))
=>((1 3 5 9) (3 5 9) (1 5 9) (1 3 9) (1 3 5) (5 9) (3 9) (3 5) (1 9) (1 5) (1 3) (9) (5) (3) (1))
0559デフォルトの名無しさん2015/09/06(日) 15:07:16.58ID:jSMoCFLp
何そのVB?
0560デフォルトの名無しさん2015/09/06(日) 18:18:47.84ID:vWlWpWil
カンスーのオナニー
0561デフォルトの名無しさん2015/09/08(火) 12:08:12.70ID:ZWQRiLyw
Dim n, m, i As Integer, a() As String = {1, 3, 5, 9}
Dim str, str0 As String
str = "" : str0 = ""
For m = 0 To UBound(a)
str0 = a(m)
str = str & str0 & ","
i = m
Do
For n = i + 1 To UBound(a)
str = str & str0 & a(n) + ","
Next
i = i + 1
If UBound(a) < i Then
Exit Do
Else
str0 = str0 & a(i)
End If
Loop
str0 = ""
Next
MsgBox(str)
0562デフォルトの名無しさん2015/09/09(水) 09:50:18.50ID:mGMNpKX1
複数のフォームにまたがったマルチスレッドの方法をおしえて下さい。
0563デフォルトの名無しさん2015/09/09(水) 10:21:13.79ID:tEPd2G1m
スレッド起こす
↓
メッセージループを開始させる(Application.Run)
↓
フォームを開く
0564デフォルトの名無しさん2015/09/10(木) 00:35:56.79ID:t/YL/t1I
>>555
俺もあと一歩のところで苦労したよ(´・ω・`)
なんとか出来たから見てやってくれw
Module Module1
Sub Main()
Dim a As New ArrayList(New Integer() {1, 3, 5, 9})
For i As Integer = 0 To a.Count - 1 : Console.WriteLine(a(i)) : Dim sa As New ArrayList, sb As New ArrayList : sb.Add(i) : sa.Add(sb) : Call t(a, sa) : Next
Console.ReadKey()
End Sub
Sub t(a As ArrayList, sa As ArrayList)
Dim sb As New ArrayList
For Each v1 As ArrayList In sa : For i As Integer = v1(v1.Count - 1) + 1 To a.Count - 1
Dim v2 As New ArrayList : v2 = v1.Clone : v2.Add(i) : sb.Add(v2)
If v2.Count - 1 = 2 Then
If Not (v2(0) = 0 And v2(2) = 3 And (v2(1) = 1 Or v2(1) = 2)) Then Call pr(a, v2)
Else Call pr(a, v2)
End If
Next : Next
If sb.Count <= 0 Then Exit Sub
Call t(a, sb)
End Sub
Sub pr(a As ArrayList, indexList As ArrayList)
Dim valueList As New ArrayList
For Each i As Integer In indexList : valueList.Add(a(i)) : Next : Console.WriteLine(String.Join(" ", valueList.ToArray))
End Sub
End Module
0565561(回帰法)2015/09/10(木) 22:35:26.15ID:jEFSzuCg
Dim rm As Integer, str As String = "", addStr As String = ""
Dim a() As String = {1, 3, 5, 9}
str = addFunc1(0)
MsgBox(str)
Function addFunc1(ByVal nn As Integer)
addFunc1 = ""
If nn > UBound(a) Then Return addFunc1
rm = nn
addStr = a(nn)
addFunc1 = addStr + "," + AddFunc2(nn) + addFunc1(nn + 1)
End Function
Function AddFunc2(ByVal n As Integer)
AddFunc2 = ""
If n = UBound(a) Then
If rm < UBound(a) And (Strings.Right(addStr, 1) <> a(UBound(a) - 1)) Then
addStr = addStr + a(rm + 1)
rm += 1
n = rm
Else
addStr = ""
Return AddFunc2
End If
End If
AddFunc2 = addStr + a(n + 1) + "," + AddFunc2(n + 1)
End Function
05665652015/09/10(木) 22:40:29.70ID:jEFSzuCg
訂正
×回帰法
○再帰法
0567デフォルトの名無しさん2015/09/13(日) 21:12:55.28ID:zY9i8RMC
BitConverter.ToSingle に関する質問です。

Private Function fn4Bytes2Singel(ByVal Offset As Integer) As Single

'parse 4 of bytes into an Single value,

Dim bytaryData(3) As Byte 'byte array structure
Dim SglData As Single
Dim Ix As Integer 'index counter

For Ix = 0 To 3
bytaryData(Ix) = aryBuffer(Offset + Ix)
Next Ix

SglData = BitConverter.ToSingle((bytaryData), 0)

Return SglData

End Function

ファイルのデータを aryBuffer() as byte に読み込んで、そこに正しく記録されている
Single 形式の 4 バイトから値を取得すると言う単純な Function です。

しかし、03 84 8A 4B と 04 84 8A 4B と 05 84 8A 4B が同じ値 18155530 を返してきます。
IEEE に準拠した形式であれば 18155526 18155528 18155530 になるはずで、WEB 上の
コンバーターでは、正しく変換されます。

BitConverter.ToSingle の仕様とも思えないのですが、回避する手段をご存じの方が
おられましたら、ご教授頂けますよう、お願い致します。
0568デフォルトの名無しさん2015/09/13(日) 21:39:43.54ID:03ZHIFHO
エンディアンは考慮したか?
0569デフォルトの名無しさん2015/09/13(日) 21:55:35.41ID:zY9i8RMC
>>568
ご覧頂いてお判りのとおり、リトルエンディアンです。

最後の1バイトが 03 04 05 なので異なる値になるはずですが、
VB.net はこの桁数になると何故か10の位で丸めてしまいます。
0570デフォルトの名無しさん2015/09/13(日) 22:04:40.11ID:03ZHIFHO
>>569
表示の問題じゃないの?
・BitConverter.GetBytesで期待する内容になっているか確認
・ToString時に書式で精度を指定
0571デフォルトの名無しさん2015/09/13(日) 22:41:58.72ID:zY9i8RMC
>>570

.ToString("R") で正しく表示されました。とてもありがとう。
0572デフォルトの名無しさん2015/09/14(月) 16:09:00.17ID:HEz1zm02
画像処理の勉強をしようと思い、文献を参考に以下a)〜d)の手順で
テストしているのですが、正しく比較できません。
a)ALT+PrintScreenキーで画面をコピー
b)ファイルに保存
c)ペイントでb)から画像の一部を切り取って別ファイルに保存
d)b)の画像をc)の大きさに切り取ってc)と比較
(LockBitsでBitmapDataを取得し、hashで比較)
調べてみると、strideの値が違っていて、hash値が同じにならないようです。

b)の画像(width=1010,height=654)
c)の画像(width=32,height=24,PixelFormat24bppRGB[137224])
d)の画像(width=32,height=24,PixelFormat24bppRGB[137224])

c)のstride値=96
d)のstride値=128

横のサイズも解像度も一緒なのにstrideの値が違うのは
どういうことなのでしょうか。ここで行き詰ってしまってます。
0573デフォルトの名無しさん2015/09/14(月) 16:34:42.03ID:nU6Hj5No
解像度が同じってどこでどうやって確認したんだ
0574デフォルトの名無しさん2015/09/14(月) 23:27:05.95ID:HEz1zm02
>>573さん、ありがとうございます。

自分で解像度と書いておきながらorz
c)の解像度とd)の解像度が違ってました。

ペイントで切り取っただけなので、解像度は
元の画像と一緒だと思い込んでいました。
0575デフォルトの名無しさん2015/09/14(月) 23:31:45.86ID:vyP+kIMw
windowsFormでスポイトみたいな機能って作れる?
0576デフォルトの名無しさん2015/09/15(火) 00:00:34.08ID:gfZB6wo1
>>575
1) 画面をキャプチャ
2) その画像をフォームに貼り付ける
3) フォームを全画面表示
4) マウスクリックした位置の色を取得
0577デフォルトの名無しさん2015/09/15(火) 00:22:47.83ID:NYCY6dmW
マルチディスプレイのとき大変そう
0578デフォルトの名無しさん2015/09/15(火) 10:58:18.67ID:aXilKN+j
WindowsAPIの方のGetPixelで
0579デフォルトの名無しさん2015/09/20(日) 18:09:59.00ID:wuncGOg/
WindowsFormはWPFに移行しそう?
0580デフォルトの名無しさん2015/09/20(日) 19:14:58.30ID:b+FOz907
移行先はWPFでもWinRTでもなくASP.NET MVCだよ
デスクトップアプリはもう終わり
0581デフォルトの名無しさん2015/09/21(月) 02:23:44.90ID:rMVHjiQK
スマホでできる様なアプリはそうだろうな
0582デフォルトの名無しさん2015/09/21(月) 07:55:16.66ID:noPfBolk
猿みたいに大量のテキストボックスとボタンを貼り付けたVB業務アプリ(笑)の類は実際HTMLで十分
0583デフォルトの名無しさん2015/09/21(月) 10:06:41.67ID:VAnypKs5
業務アプリはDataGridが主なんじゃないの?
0584デフォルトの名無しさん2015/09/23(水) 00:33:27.04ID:VNFPxWvx
ファイルの中身を検索することって可能?
0585デフォルトの名無しさん2015/09/23(水) 14:20:19.01ID:z8WDBc2F
そりゃファイルが読めるんだったら可能だろ
0586デフォルトの名無しさん2015/09/23(水) 14:26:02.86ID:fNvYxFzy
多数のファイルを検索するならWSSを使う
VBerが自分で実装しても遅くて使い物にならないゴミができるだけ
0587デフォルトの名無しさん2015/09/23(水) 16:11:11.28ID:VNFPxWvx
>>586
WSSとか初めて聞いたわ
ちょっと調べてみます。

それにしてもそんなマイナーなサービス知ってるなんて何者なんだよ・・・
0588デフォルトの名無しさん2015/09/24(木) 20:32:50.61ID:0yGHuVYu
fess縺ィ縺九▽縺九∴縺ー縺�>繧薙〒縺ェ縺�シ�
0589デフォルトの名無しさん2015/09/28(月) 19:05:50.28ID:msA0clOz
支那人お断り!
0590デフォルトの名無しさん2015/09/28(月) 22:41:42.20ID:XGmRBdjQ
Fessがいいんじゃない?
.Netと連携させる情報は殆ど無いけど・・・
0591デフォルトの名無しさん2015/10/05(月) 22:05:39.54ID:gJGi5W+H
はじめまして。
質問させてください。

VB2010でPowerpointのファイルを開くプログラムを考えています。
開くだけの方法は色々と探せたのですが、特定の位置・サイズにて
開く方法が分かりません。

要は、モニタ内を4等分して4つのPowerpointのファイルをそれぞれ
指定した位置に開きたいと思っています。

ご教授の程よろしくお願いします。
0592デフォルトの名無しさん2015/10/05(月) 22:26:07.48ID:OKIX/2NQ
win32 apiで。
0593デフォルトの名無しさん2015/10/06(火) 10:35:52.05ID:LJ0HjND0
Dim Drs As DataRow()
(中略)
Dim Dt As DataTable = Drs.CopyToDataTable

上は System.Data をインポートしたときの構文で、インポートしなかったときは

Dim Drs As System.Data.DataRow()
(中略)
Dim Dt As System.Data.DataTable = Drs.CopyToDataTable

と思って試すと
'CopyToDataTable' は 'System.Array' のメンバーではありません。
と叱られてしまいます。

System.Data.〜 的なものをつける必要があると思うんですが
どんな風に修飾したら良いのでしょうか
0594デフォルトの名無しさん2015/10/06(火) 11:06:58.02ID:y3L8AxGi
System.Data.DataSetExtensions.dllを参照に入れてSystem.Data名前空間をimport
.NET2.0なら使えないので諦めろ
0595デフォルトの名無しさん2015/10/06(火) 11:11:43.14ID:LJ0HjND0
3.5なので参照で掴んでいて
インポートしたらもちろん使えます。

インポート(C#で言うとこのusing)をしない場合の記述方法が知りたいのです。
0596デフォルトの名無しさん2015/10/06(火) 11:16:32.48ID:ul1pDFDb
>'CopyToDataTable' は 'System.Array' のメンバーではありません。
今試したらこんなエラーでなかったけど?
0597デフォルトの名無しさん2015/10/06(火) 11:23:01.35ID:W6vDOSby
質問者は拡張メソッドを良く知らないだけだな
0598デフォルトの名無しさん2015/10/06(火) 11:28:30.48ID:LJ0HjND0
インポートしまくってるソースが氾濫してますが
基本から勉強する場合、すべてのインポートを切ったほうがいいと思うんですよ

EventArgs すら System.EventArgs って書くみたいに

>>596
System.Data をインポートしてませんか?
プロジェクトのプロパティ→参照→下半分のインポートのところでSystem.Dataの先頭チェックを外してみてください
0599デフォルトの名無しさん2015/10/06(火) 11:42:13.96ID:rJsBL5Cg
Importsしないなら普通のSharedメソッドとして普通に呼び出すしかないんじゃね

> 基本から勉強する場合、すべてのインポートを切ったほうがいいと思うんですよ
拡張メソッドなんかそのレベルの学習に入れるもんじゃない
0600デフォルトの名無しさん2015/10/06(火) 12:00:01.42ID:LJ0HjND0
imports(using)を使わない場合の記述方法もあると思うんですよ
cout だって正式には std::cout じゃないですか。

あれ式の、正式な(省略しない)記述方法があると思うんですが
0601デフォルトの名無しさん2015/10/06(火) 12:08:18.50ID:rJsBL5Cg
いやだから普通のSharedメソッドとして呼び出すのが正式な記述方法
System.Data.DataTableExtensions.CopyToDataTable(Drs)
0602デフォルトの名無しさん2015/10/06(火) 12:11:24.98ID:y3L8AxGi
System.Data.DataTableExtensions.CopyToDataTable(Of DataRow)(drs)
こんなビチグソみたいなコードになる
extensionsというクラス名から分かるように、これは拡張メソッドで使うためのメソッドであり
拡張メソッドを使うのが正式な書き方だ
0603デフォルトの名無しさん2015/10/06(火) 12:12:40.23ID:W6vDOSby
>>600
だから拡張メソッドがどういうものかちゃんと再確認した?
そんな難しい話じゃないからこんなとこでクダ巻いてる時間で十分間に合うよ。
0604デフォルトの名無しさん2015/10/06(火) 12:13:33.75ID:LJ0HjND0
Drs.(なにか)CopyToDataTable

みたいな書き方が出来るのかと思ってましたが
>>601 みたいな風が正式版ですか、どうもありがとうございました。
0605デフォルトの名無しさん2015/10/06(火) 12:15:24.87ID:LJ0HjND0
>602-603
拡張メソッドが理解できてません。

コレクション型に対する ToArray も同じだと思いますが
その手の拡張メソッドをエレガントに使うには、Imports 必須と考えたほうがいいわけですね

とりあえず、System.Linq と共に、それらだけは Imports することにします。
0606デフォルトの名無しさん2015/10/06(火) 12:23:30.95ID:LJ0HjND0
連投すみません、取り急ぎ拡張メソッド勉強してきました。

Module Module1
  <System.Runtime.CompilerServices.Extension()>
  Public Function ParseInteger(ByVal aString As String) As Integer
    If aString Is Nothing OrElse aString.Length = 0 Then
      Return 0
    Else
      Return Integer.Parse(aString)
    End If
  End Function

  Public Sub Test()
    Dim a As String = "123"
    Dim b As Integer = a.ParseInteger
  End Sub
End Module

今まで Shared Function で作っていました。
嬉しくて涙が出そうです。ありがとうございました。
0607デフォルトの名無しさん2015/10/06(火) 12:26:13.25ID:rJsBL5Cg
案の定こういうクソ拡張メソッドが量産される瞬間に立ち会うことになるのである
0608デフォルトの名無しさん2015/10/06(火) 12:34:21.30ID:LJ0HjND0
さっそく量産体制に入ろうと最も使用頻度の高い↓みたいなの書きました


  <System.Runtime.CompilerServices.Extension()>
  Public Function ParseInteger(ByVal aObject As Object) As Integer
    If aObject Is Nothing OrElse aObject.Equals(System.DBNull.Value) OrElse aObject.Length = 0 Then
      Return 0
    Else
      Return Integer.Parse(aObject)
    End If
  End Function

  Public Sub Test()
    Dim a As Object = "123"
    Dim b As Integer = a.ParseInteger
  End Sub


が、これが通りません。何かコツあるのでしょうか。
06095912015/10/06(火) 17:59:20.59ID:ZWNx+kJ0
APIで試してみましたが、起動まではうまくいくのですが
実際に指定した場所に移動しません。
そもそもの使い方が間違っているのでしょうか?
よろしくおねがいします。

'別で宣言
Public Declare Function MoveWindow Lib "user32" (ByVal hWnd As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal bRepaint As Integer) As Integer

'フォームのボタン操作
psi.StartInfo.FileName = "POWERPNT.EXE"
psi.StartInfo.Arguments = "C:\sample.ppsx"
Dim p As System.Diagnostics.Process = System.Diagnostics.Process.Start(psi)
p.WaitForInputIdle()
Dim hWnd As Integer = p.MainWindowHandle
Call MoveWindow(hWnd, 0, 50, 960, 490, 0)
0610デフォルトの名無しさん2015/10/06(火) 18:05:07.12ID:yQPDx26S
管理者権限?
0611デフォルトの名無しさん2015/10/06(火) 18:17:18.82ID:RmS10x6f
SetWindowPosでやってみたら
06125912015/10/06(火) 19:26:21.67ID:ZWNx+kJ0
>>610
管理者権限です。

>>611
ありがとうございます。
試してみます。
06135912015/10/06(火) 19:31:52.62ID:ZWNx+kJ0
>>611
こちらもダメでした。

ちなみに、
SetWindowPosの戻り値は0となってます。

電卓(calc.exe)でも同様です。
06145912015/10/06(火) 19:55:28.48ID:ZWNx+kJ0
VB2010だとNG
VB2008だとOK

でした…

ただ、拡張子PPSXのファイルなのに、編集状態で開いてしまいます…
んーなかなかうまくいきませんねー
0615デフォルトの名無しさん2015/10/07(水) 07:24:06.94ID:xDaWfGY0
>>608
VB.NETだとObject型には拡張メソッド書けないじゃなかったっけ?
0616デフォルトの名無しさん2015/10/09(金) 16:27:50.81ID:AWj2PSbP
>>615
おれもそう思ってたんだが、それが明示されてるドキュメントがみつからん
2013で試してみたけど、拡張メソッドの定義そのものはできるな
呼び出そうとすると、Option Strict Onだとコンパイルエラー
Offだと実行時エラー
どうもObjectに対する未定義のメソッドはすべて遅延バインドだと解釈されるようだ
定義はできるみたいだから、C#とかからなら呼び出せるかもしれんが試してない

>>608はどこでどううまくいかないのかわからんが、まあ、VB.Netではできないという結論
ObjectにLengthとかないから、おそらくOption Strict Offなんだろうな
Onにしとく事をお勧めするぞ
0617デフォルトの名無しさん2015/10/09(金) 21:20:57.10ID:CFgeSmkK
Object型に対する拡張メソッド呼び出しはできないよ…遅延バインディングが癌
ドキュメントは確かに見たことない
0618デフォルトの名無しさん2015/10/16(金) 10:13:35.09ID:AEVVbhao
タスクバーでのグルーピングに関して質問です(windows7)

メモ帳をたくさん表示された場合、タスクバー上で1つにまとまって表示されますが、
これをA.exeとB.exeが合わせてn個以上表示された場合、1つにまとまって表示して
ほしいのですが、方法はありますか?

単純にA.exeが5個表示された場合は1つにまとめて表示されるのですが、A.exeと
B.exeをまとめて表示する方法がわかりません。
0619デフォルトの名無しさん2015/10/16(金) 11:49:59.30ID:IIEWzpZc
各ウィンドウでウィンドウのプロパティストアを取得して
System.AppUserModel.IDなPROPERTYKEYで両方共に同じ文字列を設定すればいいんじゃね?しらんけど
0620デフォルトの名無しさん2015/10/16(金) 15:56:17.08ID:i7CrKVS+
>619
関西人かよ
知らんけど
0621デフォルトの名無しさん2015/10/16(金) 19:58:30.01ID:IIEWzpZc
あーウィンドウ単位のプロパティじゃなくできるかもね
0622デフォルトの名無しさん2015/10/16(金) 19:59:27.18ID:IIEWzpZc
知らんけど
0623デフォルトの名無しさん2015/10/18(日) 01:08:59.04ID:x5doyKGo
VB.netでExcelファイルをPDFに変換するアプリケーションを作成したいのですが、

実行環境のサーバー(windowsServer)上にExcelがない為、
ExportAsFixedFormat等のExcelを使ったファイル変換が使えません。


他の手段として、
・Excelとして読み込むクラス・ライブラリを使い、
 直に読み込んで仮想プリンタを使いPDFに変換する
・オープンオフィスをインストールしvb.net側から操作する
・サードパーティー製のアプリケーションを使う
などをネット記事で見つけたのですが、
極力フリーソフトやサードパーティ製は使いたくないと言うことで、

何か他にいい方法はないでしょうか?


後、
これは初歩的な質問になってしまうのですが、
Microsoft.Office.InteropのCOMコンポーネントをサーバーに直接配置して、
Workbookクラス等のクラスを使ったプログラムをサーバー上で実行したところ、
クラスを持った変数を定義した部分でエラーが出力されました。
これは、WorkbookクラスをExcelを介して認識するため、Excleがインストールされていないからとダメだったと言う認識でよろしいのでしょうか?

色々多いですがよろしくお願いします。
0624デフォルトの名無しさん2015/10/18(日) 02:05:10.97ID:0PlCKIO2
>極力フリーソフトやサードパーティ製は使いたくない
自分でEXCELファイルを読み込んで解析して、レイアウト作ってPDFに出力すればいいんじゃね
フリーやサードパーティのソフト一切不要だぞ
ただ自分でバイナリファイルでEXCELとPDFのファイル形式で読み書きする必要があるだけだ
0625デフォルトの名無しさん2015/10/18(日) 02:37:35.70ID:eq+N5507
Excelインストールしたらいい
0626デフォルトの名無しさん2015/10/18(日) 12:21:06.83ID:DdWfz+eT
>>625
ライセンス違反
0627デフォルトの名無しさん2015/10/18(日) 12:49:15.45ID:C1AV2CkK
>>626
意味が分からない

>>623
web上のpdf変換サービスを使えば出来るんじゃない?
当然オフラインでは使えないが。
0628デフォルトの名無しさん2015/10/18(日) 19:38:49.24ID:x5doyKGo
>>624

バイナリ形式ですか
考えてもいなかったです。
試してみたいと思います。



>>627

参考にさせていただきます
0629デフォルトの名無しさん2015/10/18(日) 19:52:40.23ID:sHqPi8O5
>>628
VBで作成する事に拘らないならLibreOfficeで読んでPDF化で良いんじゃないかと思うが
フリーソフトは対象外か
0630デフォルトの名無しさん2015/10/19(月) 13:09:49.32ID:GKIe3Ccj
>>628
ExcelにPDF変換がついてるのは知っているみたいだから
たぶん一括で変換したいんだろうけども、
結局のところ、買えばいいんじゃね?
としか言えないな。

あと規模がさっぱりわからないけど、
ライセンス違反にならないようにしっかり読めよ。
0631デフォルトの名無しさん2015/10/20(火) 22:02:02.70ID:QjBILWBz
関連付けファイルのアイコンってファイル名だけで取得できないですかね?
0632デフォルトの名無しさん2015/10/20(火) 22:48:08.23ID:TzbTJ/Sf
ファイル名以外でどうやって取得すんだよハゲ
0633デフォルトの名無しさん2015/10/20(火) 23:12:39.48ID:QjBILWBz
ファイル名っていうか、拡張子だけで取得したいんです
0634デフォルトの名無しさん2015/10/20(火) 23:36:38.60ID:J8bauSmM
拡張子がexeだったら?
0635デフォルトの名無しさん2015/10/21(水) 09:15:15.85ID:3TuEHh7e
SHGetFileInfo使え
0636デフォルトの名無しさん2015/10/26(月) 14:21:41.46ID:EtrG0LL4
コントロールのModifiesプロパティ=Private GenerateMemberプロパティ=FalseにするとFormの外からアクセスできないことは分かるんだが、他に何か効用があるのかね。どういうときに使うのかが書いてある記述が無いね
0637デフォルトの名無しさん2015/10/26(月) 14:54:35.19ID:K/m3m5Ja
コントロールのプロパティじゃないけどねそれ。
MSDNの説明以上の何が知りたいんだ?
そのまんまだと思うけど
0638デフォルトの名無しさん2015/10/28(水) 03:30:46.76ID:Dygk5TrA
使いたいときに使えばいいんじゃねーの
0639デフォルトの名無しさん2015/10/28(水) 07:04:31.62ID:ZYFsLJm6
デフォルトがC#=Private VB=Friend これはVBの場合はあえて緩くしてるのか、影響範囲の確認が面倒だな、デフォルトPrivateならいいのに。
0640デフォルトの名無しさん2015/10/28(水) 09:17:48.14ID:JFpDXlQ+
あれはVSが設定するデフォルトで言語としてのデフォルトではない
ちなみに昔のVBはPublicだったはず
なんでもかんでもデフォルトのままじゃなくて、必要なら自分で変えればいいだけ
0641デフォルトの名無しさん2015/10/28(水) 20:56:50.41ID:8s7NCB3J
MSがVBユーザーのスキルは低いと考えているのは事実なので、
言語としてのデフォルトと言ってしまっても差し支えない
0642デフォルトの名無しさん2015/10/31(土) 15:05:40.20ID:FLICW1zg
(´・ω・`)
0643デフォルトの名無しさん2015/10/31(土) 22:06:01.48ID:EtKhFYTd
デフォルトがPrivateが妥当だろうな、MSのVB担当者ってC#担当者に比べて無能なのかな、こんなもの考えるまでもなくPrivateだろ。
VBユーザはエラーがでなければ何でもやる連中なんだからできるだけ縛りは厳しい方がいいんだよ。
0644デフォルトの名無しさん2015/10/31(土) 23:23:32.98ID:9dOg6vGq
作法的に良くないというような理屈をVBに持ち込むのはナンセンス
それ言い出したらC#があるのにVBが存在すること自体が間違っているという結論にしかならない
0645デフォルトの名無しさん2015/10/31(土) 23:35:24.96ID:CVsb3S4r
>>643
初期の(.Netですらない)VBからの互換の問題があるからそうしてないんだろうよ
VB.Netは良くも悪くも過去に引っ張られてる言語なんだよ
0646デフォルトの名無しさん2015/11/01(日) 18:22:00.38ID:qJZnh0GV
VB.NETってVB6移行のために残されてるんじゃないの?
そろそろ切った方がいいと思うけど需要があるんだろうな…
0647デフォルトの名無しさん2015/11/02(月) 02:58:26.10ID:dksLsKIk
VB6アプリがWin7環境で動いてしまうのにな。
https://msdn.microsoft.com/ja-jp/vstudio/ms788708.aspx
0648デフォルトの名無しさん2015/11/02(月) 21:05:26.97ID:4rckZONq
VB6のIDEはサポートされてない
0649デフォルトの名無しさん2015/11/03(火) 05:10:55.38ID:GQY9CVK6
IDE側のサポートなんて開発者側の言いぐさ、
別にIDEが対応してなくてもVB6アプリケーションは動くんだから問題ない、
VB6アプリケーションのエンドユーザからすれば、VB.NETへの移行なんて無駄な投資。
0650デフォルトの名無しさん2015/11/03(火) 08:22:15.44ID:Qi78cw7w
VB.NETへ移行したところで開発者側の技術力が上がるわけじゃないからな
客の無知に甘えて技術力のない連中が客の仕事を人質に取っていることが
どれだけ客の不利益になっているかということだね
0651デフォルトの名無しさん2015/11/03(火) 11:35:59.89ID:i649bMmf
最新だからエライんですとかいって
ブラックボックスを広げて無駄なリスクを抱え込むのが客の不利益
0652デフォルトの名無しさん2015/11/03(火) 11:46:43.93ID:0iEVwzMV
といって勉強しようとしない奴が一番の不利益
0653デフォルトの名無しさん2015/11/03(火) 14:11:42.41ID:yibfipyC
2015は良いよ
参照数が表示されただけでスパゲッティの命が繋ぎ止められた感じ
0654デフォルトの名無しさん2015/11/03(火) 14:14:07.16ID:yibfipyC
スパゲッティの命を繋ぎ止めたらアカンな
スパゲッティが紐解かれるかんじって事で
0655デフォルトの名無しさん2015/11/08(日) 13:22:27.28ID:eJZ5FS8C
くだらない質問ですみません。
フォームにAXmediaplayerを埋め込んで、音楽が再生されるソフトを作っています。
APIのmcisendstringで再生させずに、mediaplayerを使った場合は、ライセンス等の関係で有償ソフトとして販売はできないのでしょうか?
宜しくお願いします。
0656デフォルトの名無しさん2015/11/08(日) 16:06:47.46ID:Wgq8sPxt
どうしてそう思ったの
06576552015/11/08(日) 17:18:31.57ID:eJZ5FS8C
>>656
音楽を再生する方法として、mciが紹介されているホームページにAPIのmciのメリットとして著作権的にも大丈夫という文章がありました。
その他の項目には、特に著作権に触れていなかったのですが、もしかしたら配布するときに埋め込んであるプログラムにも配布禁止のものがあるのかと思いました。
0658デフォルトの名無しさん2015/11/08(日) 21:40:25.44ID:07unwE0J
      ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなーこたーない
    ´∀`/    \__________
   __/|Y/\
 Ё|__ | /  |
     | У  |
0659デフォルトの名無しさん2015/11/08(日) 22:03:50.62ID:ZzHgFX5N
それは単なるラッパーで動くのはローカルのWMPだ
0660デフォルトの名無しさん2015/11/08(日) 22:21:39.18ID:q9z/wwdd
UWPに移行してる人っている?
0661デフォルトの名無しさん2015/11/10(火) 22:08:20.15ID:qIpsxet0
文字列Aのなかに文字列Bが何回出現するか調べたいときは
Splitを使うのが一般的なんでしょうか?

たとえば

Dim s() As String

s = Split("HogeHoge", "og")

s.Length-1 が "HogeHoge"のなかで"og"が出現した回数→2

みたいな感じで。

”VB 文字列出現回数” ググっても専用の関数が準備されているわけでなさそうなので
質問してみることにしました。初歩的な質問ですが恐縮ですが回答いただければ幸いです。
0662デフォルトの名無しさん2015/11/10(火) 22:17:41.87ID:zGjpM8dn
あるイベントが発生すると画面の隅にポップアップ(スクロールしながら出現でも可)がでて
しばらくすると消滅するようにしたいんだけど。
メーラーで通知があった時のようなかんじです。
2013か2015ででお願いします。
0663デフォルトの名無しさん2015/11/10(火) 23:31:54.07ID:reu3i9ZN
signalRじゃない?
06646552015/11/11(水) 17:25:57.09ID:PyhIvlai
>658
>659
そんなことはないですか?
では、画面上にmediaplayerが表示されいても大丈夫なんですね!感謝です。
しかし、ローカルのmediaplayerということは、もともとパソコンにインストールされていないと配布先では使えない可能性があるのでしょうか?
0665デフォルトの名無しさん2015/11/11(水) 17:32:49.32ID:Yeh/+kkk
Server Coreで動かすとかなら考慮しないといけないかもね
0666デフォルトの名無しさん2015/11/11(水) 20:33:24.88ID:RY0eiki2
この商用?ソフトはmediaplayerが入っていないとどうさしますせん絶対!と書いておけば大丈夫絶対
0667デフォルトの名無しさん2015/11/12(木) 17:43:33.47ID:tbcgbggA
>>661
メモリ不足にならないといいね。
0668デフォルトの名無しさん2015/11/12(木) 20:00:05.86ID:UQPi/g2N
splitの右辺て文字列じゃなくて区切り文字の羅列じゃなかったか
まあどうでもいいか
0669デフォルトの名無しさん2015/11/12(木) 20:14:27.31ID:94sRVAdN
String.Split
Sprit
0670デフォルトの名無しさん2015/11/16(月) 11:34:42.29ID:7yHHnP/U
職種別、資格別、スキル別の平均最低月給リスト(ほぼ毎日更新)
http://jobinjapan.jp/cate/
全掲載求人109,160件の平均最低月給195,800円

VB.NETの求人 の平均最低月給219,100円
http://jobinjapan.jp/job-listing/keyword-vb.net.html
0671デフォルトの名無しさん2015/11/16(月) 13:31:24.14ID:htc6fDTL
一方アメリカでは年収1000万超
■Best Tech Skills To Have On A Resume, Ranked By Salary - Business Insider
http://www.businessinsider.com/best-tech-skills-resume-ranked-salary-2014-11
> 10. Visual Basic - $85,962
0672デフォルトの名無しさん2015/11/17(火) 00:01:03.89ID:iswENiry
VB6用のDLLを使おうと思うんだけど、何か注意点とかってありますか?
一応、引数の型を変えて無事呼べることが確認できてます
0673デフォルトの名無しさん2015/11/17(火) 00:16:47.57ID:By6rEB1N
>>672
VB6用のDLLってのが気になる
あ、おれ答えるスキルないからw
0674デフォルトの名無しさん2015/11/19(木) 02:55:58.49ID:ZaCf0IqK
>>661
それでググルと一番最初に@itのページが出てくるけど
0675デフォルトの名無しさん2015/12/12(土) 17:04:27.13ID:eEBWMFLt
VB6のActiveXはそのまま使えますか?
0676デフォルトの名無しさん2015/12/12(土) 21:31:42.06ID:7G0ybzbE
ものによる
0677デフォルトの名無しさん2015/12/18(金) 19:22:23.26ID:n5gjkZya
FileStreamのデフォルトのバッファサイズはいくつなのでしょうか?
https://msdn.microsoft.com/ja-jp/library/d0y914c5(v=vs.100).aspx

ネットワーク越しで読み取ったテキストファイルをそのままローカルファイルに
書き込みしているのですが、書き込み後に元ファイルにはないNULL文字が入ってしまうため、
読み取り時のバッファサイズを調整しています。
0678デフォルトの名無しさん2015/12/18(金) 20:21:04.72ID:DitYKCH0
それは多分バッファの問題じゃなくて>>677の書いてるコードがまずいだけだ
Readした時の返値見ずにそのままWriteでByte配列全部書き込んでるとかそんなんだろ
0679デフォルトの名無しさん2015/12/18(金) 20:34:10.51ID:5uMc3rQu
だな
06806772015/12/19(土) 08:56:17.10ID:S+Jdjr47
>>678
↓こんな感じですが、ReadLineしたときの返値ですか?
ReadLineの返値は「入力ストリームの末尾に到達した場合、戻り値は null 参照 (Visual Basic では Nothing) です」と
なっていたので見なくていいと思っておりました。

Using fs As New FileStream("\\hoge\hogehoge.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite, 2048, System.IO.FileOptions.SequentialScan)
Using sr As New StreamReader(fs, Encoding.GetEncoding("shift-jis"))
Using fs2 As New FileStream("c:\aaa.txt", FileMode.Create, FileAccess.Write, FileShare.None)
Using wr As New StreamWriter(fs2, Encoding.GetEncoding("shift-jis"))
Do Until sr.EndOfStream
Dim line As String = sr.ReadLine
wr.WriteLine(line)
Loop
wr.Close()
fs2.Close()
End Using
End Using
sr.Close()
fs.Close()
End Using
End Using
0681デフォルトの名無しさん2015/12/19(土) 17:20:30.25ID:ulixXBbF
それってファイル末尾が改行で終わってなかったらどうなるんだ?
0682デフォルトの名無しさん2015/12/31(木) 10:19:04.64ID:/LsWdhXv
http://nyannyan3.minidns.net/up/2015_12_31a-VB-Color.jpg

Button1.BackColor = Color.Silver
でなく
Windowsのシステム コントロールの色に設定する場合なにを記述すれば
0683デフォルトの名無しさん2015/12/31(木) 12:49:19.46ID:C0PkiD0j
SystemColorを使うんやで
0684デフォルトの名無しさん2015/12/31(木) 14:11:54.34ID:/LsWdhXv
具体的なコードがわからんよ?
0685デフォルトの名無しさん2016/01/01(金) 10:18:18.64ID:xaK64s7q
Button1.BackColor = SystemColor.Controlやで
0686デフォルトの名無しさん2016/01/01(金) 10:41:40.28ID:ZOqvZprW
今年も頑張ってクソコードを大量生産して日本のビジネスを停滞させるぜ
0687デフォルトの名無しさん2016/01/01(金) 18:48:25.04ID:heEaLrXz
エラーになるButton1.BackColor = SystemColor.Control
0688デフォルトの名無しさん2016/01/01(金) 18:52:47.28ID:Z+X0gO72
新年早々教えてクレクレってサルか
0689デフォルトの名無しさん2016/01/01(金) 20:08:12.29ID:heEaLrXz
↑IDきんもっー☆猿のようにって自己紹介乙
0690デフォルトの名無しさん2016/02/04(木) 22:17:35.85ID:XAERfnIe
>>689
×Button1.BackColor = SystemColor.Control
○Button1.BackColor = SystemColors.Control
0691デフォルトの名無しさん2016/02/06(土) 12:28:31.24ID:vMnoSxem
Windows Server 2008R2のサーバにてCSVファイルを取り込んで
SQL server 2008R2の特定のテーブルを更新処理するVB.NETの
プログラムを動かしております。
取り込んで、更新する処理は問題ないのですが、取り込んだ
CSVをINIファイルに記述したフォルダに移動する
(コピーして元を消す)処理が、ある日突然出来なくなりました。
ユーザーはサーバの環境は一切変わってないと言ってるが
こんなことあるのかなあ。
06926772016/02/06(土) 13:34:46.41ID:b9DdOlqn
>>691
INIファイルにアクセスできなくなったとか?
0693デフォルトの名無しさん2016/02/06(土) 13:59:09.42ID:vMnoSxem
>>692
なるほど。ありがとう。
0694デフォルトの名無しさん2016/02/06(土) 15:05:19.93ID:vMnoSxem
>>692
しかし、CSVファイルの取込先フォルダもINIに書いているので、
取り込み時はINIにアクセス出来て、取り込み処理が正常に出来て
処理終了後にはINIにアクセス出来ないなんてあるのだろうか?
0695デフォルトの名無しさん2016/02/06(土) 15:32:23.82ID:WN90o/KX
クォータとかじゃ?
0696デフォルトの名無しさん2016/02/06(土) 17:29:04.02ID:21OGO6t2
読み取り時に排他ロックかけてかけっぱなしにしているんだろう
今迄うまくいってたのはGCが運良く仕事をしていたからだな
VBプログラムには良くあるんだこういう馬鹿みたいな障害が
0697デフォルトの名無しさん2016/02/06(土) 19:28:01.26ID:7tfPk+1P
>>691
せめて、
INIファイルの読み込みができないのか
ファイルのコピー(書き込み)ができないのか
ファイルの削除ができないのか
ぐらいは切り分けろよ

プログラムや環境設定変わってなくても
たとえば今まではフルコントロールだったのに、今度のファイルは削除禁止になってるとか
ディスクの空きや割当クォータが無くなったとか
そんな状況いくらでもありうる
0698デフォルトの名無しさん2016/02/06(土) 20:03:45.03ID:7g0sefOr
>>696
×VBプログラムには良くあるんだ
○VBプログラマには良くあるんだ
0699デフォルトの名無しさん2016/02/06(土) 22:25:37.85ID:ib3EdFrY
Visual Studio 2015に言語仕様書がついていますが
あれのVB6.0版ってあるのでしょうか?
0700デフォルトの名無しさん2016/02/06(土) 23:09:21.77ID:ib3EdFrY
ごめん要らなくなった
0701デフォルトの名無しさん2016/02/07(日) 21:44:49.47ID:bsTgWpjE
>>697
処理概要
�@CSVを取込、DBを更新
(取込先フォルダはINIより取得)
�A処理終了後、ログを作成
(ログ作成先フォルダはINIより取得)
�Bバックアップフォルダに日別フォルダ作成
(バックアップフォルダはINIより取得)
�C取り込んだCSVを�Bのフォルダへコピー
�D取り込んだCSVを削除

�@の処理は問題なし
�AはINIに記述されたフォルダと全く別の場所
(プログラムと同フォルダ内)にログが作成される
�B�C�Dは全滅

このプログラムが稼動して1年半問題なかったが、
ある日突然�A以下の処理が上記の状態になった
0702デフォルトの名無しさん2016/02/07(日) 23:05:10.80ID:yPpw4wAm
>>701
全滅とかじゃなくて、具体的にどうなってるのか書けないのかよ
ここはエスパーがレスするスレじゃないぞ
0703デフォルトの名無しさん2016/02/07(日) 23:08:14.58ID:bWkQPcZN
権限がなくなった
WindowsUpdateでおかしくなった
容量がなくなった
0704デフォルトの名無しさん2016/02/08(月) 04:06:37.83ID:9ZhGg5zu
ファイルエラーは数十ある。
まずエラーメッセージが無いと、
可能性があり過ぎて、答えられない

セキュリティ・パーミッション。
ファイル数・容量などのリソースの上限。
システムの自動アップデートで、整合性が取れなくなった。
ウイルス
0705デフォルトの名無しさん2016/02/08(月) 20:37:04.76ID:lZYeolLS
>>702
�@CSVを取込、DBを更新
(取込先フォルダはINIより取得)
�A処理終了後、ログを作成
(ログ作成先フォルダはINIより取得)
�Bバックアップフォルダに日別フォルダ作成
(バックアップフォルダはINIより取得)
�C取り込んだCSVを�Bのフォルダへコピー
�D取り込んだCSVを削除

�@の処理は問題なし
このプログラムが稼動して1年半問題なかったが、
ある日突然、
�AはINIに記述されたフォルダと全く別の場所
(プログラムと同フォルダ内)にログが作成されるようになり、
�B�C�Dは全て処理が失敗するようになった
(当日用フォルダは作成されない、元のCSVはコピーされない、削除されない)
※エラー管理は�@に対してのみ行われ、�A〜�Dに対しては
 何もしていないので、エラーログも無い

>>703
容量は十分にある(クォータも設定されていない)
ある日突然、権限がなくなるなんていうことがあるのですか?
0706デフォルトの名無しさん2016/02/08(月) 21:48:17.31ID:oSRT452Y
>何もしていないので、エラーログも無い
んなこと堂々と言われても知らんがな
保存先が環境変数やレジストリなどに依存してるとかじゃないの?
0707デフォルトの名無しさん2016/02/08(月) 22:11:41.83ID:lZYeolLS
ある日突然おかしくなり、ユーザーは何もしてないと言い張るので、
MicroSoft UPDATEは確かに怪しい。
こちらで用意したサーバやクライアント端末を納品する場合は、
必ずUPDATEを無効にするが、ユーザーが用意したものだとそうもいかず
厄介だ。
0708デフォルトの名無しさん2016/02/08(月) 22:38:55.96ID:XGZLfeXD
VirtualStoreとかの話じゃないよな?

つかProcess Monitorあたりで追えばすぐ原因分かるだろ
0709デフォルトの名無しさん2016/02/08(月) 22:43:28.25ID:B9lxtwn8
>>705
>(プログラムと同フォルダ内)にログが作成されるようになり、
これフォルダ名取得できなくて、ファイル名だけで出力されてるんじゃないかな。
(ファイル名だけだとカレントディレクトリに出力される。)
0710デフォルトの名無しさん2016/02/09(火) 04:29:28.91ID:Xp0hf37h
>>705
処理が失敗とか言われても
どういう命令で、エラーが出た(のに無視してる)のか、エラーは出ないが思った通りに処理されてないのか

まあ、Windows UPDATEはあやしいと言えばあやしいが、それ以前に
プログラムに不備があるけど今までたまたま動いてただけって気がするけどな
プログラムの不備じゃなくても、アクセス権とか変えようと思えばいくらでも変わるし、
あとはウィルス対策ソフトの誤検出とかいうのもあるけど
障害調査でこのレベルの発言してるようじゃプログラムの不備の可能性の方が高いと思うわ
0711デフォルトの名無しさん2016/02/09(火) 20:09:12.62ID:Au2QAVMK
全て大文字のUPDATE違和感

「Windows Update」意外は認めたくない
0712デフォルトの名無しさん2016/02/09(火) 20:36:44.27ID:kNa7HC7G
こんな担当者に当たった客も気の毒だな
0713デフォルトの名無しさん2016/02/09(火) 21:49:40.12ID:LlKjQKPi
>>710
>プログラムに不備があるけど今までたまたま動いてただけって気がするけどな

稼動して間もなくなら有り得なくもないが、1年半普通に動いて、ある日突然
おかしくなるなんて有り得ないだろ。

>アクセス権とか変えようと思えばいくらでも変わるし

勝手に変わるなんてことあるの?
誰かが変更して、とぼけているということ?

ちなみに、このプログラムは外注に作らせたのだが、
その外注は既に潰れているので、社内のプログラマーに
ソースを見させたところ、VisualStudo2010の有償版でないと
コンパイル出来ないようになっていると言っているだが、
そんなことはあるのだろうか?

自分で組む場合はVB6.0を使うので、この辺の事情がどうも疎くて。
0714デフォルトの名無しさん2016/02/09(火) 21:59:31.81ID:kINyOVJ+
VBコミュニティらしい流れで大変よろしい
0715デフォルトの名無しさん2016/02/09(火) 22:04:11.49ID:Au2QAVMK
>>713
釣りは他でやれよタコ

1.>つかProcess Monitorあたりで追えばすぐ原因分かるだろ
2.ソース見る
3.直す
0716デフォルトの名無しさん2016/02/10(水) 00:29:21.01ID:jozDLnvP
>>713
>稼動して間もなくなら有り得なくもないが、1年半普通に動いて、ある日突然
>おかしくなるなんて有り得ないだろ。
なぜあり得ない?
たまたま動く条件が変更されない限り、1年でも2年でも動き続けるし
その条件が変われば3日でも動かなくなるだけだが
数年動いてたシステムが担当者かわったとたんにバグ発覚とかいくらでもある

>勝手に変わるなんてことあるの?
勝手にとはどういう範囲まで含んで言ってるんだ?
意識しないでも環境変えてしまうような操作なんていくらでもあるわけだが
0717デフォルトの名無しさん2016/02/10(水) 23:16:23.34ID:xbXvMA7C
2chで句点売ってる奴はおかしなのが多いというのは本当だった。
0718デフォルトの名無しさん2016/02/11(木) 09:18:15.26ID:pPotq0xY
>>717
別に販売してる人はいないと思いますよwwwww
0719デフォルトの名無しさん2016/02/11(木) 19:11:01.36ID:RC4FoWZ+
やっぱり時代はC#なのか
0720デフォルトの名無しさん2016/02/11(木) 19:15:24.46ID:XGMVVJFq
javaが酷すぎてな
c#しか選択肢がない
0721デフォルトの名無しさん2016/02/12(金) 08:42:12.61ID:eUWMATXs
>>719
もうローカルexeどうこうを語る時代じゃないですよww

javaかJavascript。
yv
0722デフォルトの名無しさん2016/02/12(金) 12:25:06.81ID:cTpqmtB2
そうやってweb系ばかりもてはやした結果組み込みが…
0723デフォルトの名無しさん2016/02/12(金) 12:46:51.78ID:eUWMATXs
>>722
組み込みは自滅だろ
0724デフォルトの名無しさん2016/02/12(金) 12:58:28.18ID:/IhDLmoA
まあ時代はwebだっつってたスマホ業界も結局アプリ隆盛のご時世ですけどね
0725デフォルトの名無しさん2016/02/12(金) 21:58:28.39ID:E6xN8nAg
結論をいうと何やってもダメだからその場の流行を追えばいい
古くなったら保守はやめてキッパリ捨てる
特別な才能やアイデアがないヤツが儲けるコツだね
0726デフォルトの名無しさん2016/02/16(火) 14:56:50.99ID:5ExsDyJB
ローカルマシンで、csvから複数キーワードであいまい検索を行い、行を取得するようなものは皆様ならcsvにどのようにアクセスしますか?
csvはカラムが30程度で行は10万ほどで
0727デフォルトの名無しさん2016/02/16(火) 18:02:29.72ID:b0fHFSg3
C++で書いてPInvoke
0728デフォルトの名無しさん2016/02/16(火) 21:24:24.04ID:OcocJQuG
>>726
SQLiteに全部投入してSELECT WHERE LIKE
0729デフォルトの名無しさん2016/02/16(火) 21:27:06.56ID:OcocJQuG
あとはSolrとか使うのもいいかもね
10万行程度なら大袈裟だけどCSVの数やサイズが増えるなら
0730デフォルトの名無しさん2016/02/16(火) 22:46:39.56ID:2AJpp8Jb
参考になります
0731デフォルトの名無しさん2016/02/18(木) 11:32:10.68ID:j9jWhXOV
時代はWEBとか昭和かよw

今はほとんどアプリだ
0732デフォルトの名無しさん2016/02/18(木) 12:18:14.32ID:ZT6up+kd
ヘキサゴナル+スマホアプリ&PCアプリ&ブラウザアプリのパターンが増えてきてるね
0733デフォルトの名無しさん2016/02/18(木) 13:27:16.98ID:7/4guD7j
>>732
JavaScript一本で、スマートデバイス用サイトやPC用サイトだけではなく(所謂ウェブアプリ)
デスクトップアプリやスマートフォンアプリを作れちゃう時代だからね。

前者はサーバが必要だが、後者はNode.jsが含まれているので、ハードウェア制御も出来る。
なので、今は殆どアプリだ は見当違いなレスと言える。

しかも、後者はUIを全プラットフォームで共通化、コードも共通化出来てしまうので、もの
すごく楽。それぞれのプラットフォーム用のGUIライブラリまで用意されていたりするので、
遜色もないし、APIも充実してる。

俺は故に最近じゃ、Electronでアプリを作るようにしていて、VB.NETはご無沙汰だな。
0734デフォルトの名無しさん2016/02/20(土) 17:09:00.49ID:gR2v2zUs
.NETでホストできてマイクロフト製でブラウザレスのJavaScript実行環境ってありますん?
使いたいサービスがJSのAPIしか提供してない
このサービスをなんとかしてまるでマネージドなクラスのようにVB.NETから使いたいんだ
0735デフォルトの名無しさん2016/02/20(土) 23:31:36.47ID:CVbuoLmq
VBプログラマはクズでカスが多いと言われているが
それを最近身をもって体験した
0736デフォルトの名無しさん2016/02/21(日) 01:51:20.21ID:YmrezniX
VB6のスレがないとは・・・
開発プログラムの大半がVB6なのに・・・
0737デフォルトの名無しさん2016/02/21(日) 07:22:49.23ID:fn7wjimq
>>734
JSのAPIってつまりREST APIだろ
JS用のSDK使う代わりに普通にVBから直接HTTPのリクエストを投げたらいい
っていうかググったら大抵のサービスはC#の実装例があると思うが
0738デフォルトの名無しさん2016/02/21(日) 09:12:56.72ID:3/2dW5Cz
>>737
Httpのレスポンス受け取ってもJavaScriptを実行できないと意味無い
0739デフォルトの名無しさん2016/02/21(日) 09:29:13.30ID:c7Tr0h6z
>>738
JSのAPIといったら一般的にはREST APIが公開されててJSからそれを使うためのライブラリが提供されてるものが普通だろ
JSのコードを返してくるAPI(笑)なんか聞いたことないわ
0740デフォルトの名無しさん2016/02/21(日) 09:36:55.86ID:3/2dW5Cz
クソみたいだけどあるんですわ
弊社の考えた最強のAPI使ってくださいってな
一般公開されてるシステムでも無いから非常識がまかり通る
なあなあで関係築いてるから拒否もできん
0741デフォルトの名無しさん2016/02/21(日) 09:56:53.46ID:GHYTzu9z
jsonpのことじゃなくて?
0742デフォルトの名無しさん2016/02/21(日) 10:36:28.23ID:NteN5fIz
民泊、Airbnbはどの程度儲かるのか?
http://xn--48jwgzd6g2bg8dtd3452cfmf.com/?p=2773
2016年最新副業術 稼げすぎて面白すぎる!副業術 ステップアップ講座5
http://airbnbhost.blog.jp/
【 airbnb 収支 】airbnbでどれくらい儲かるの?実例ご紹介
http://airbnb-start.com/post-1348/
急増する外国人の「民泊」需要でひと稼ぎ!
Airbnbのサービス代行業者を賢く利用しよう
http://diamond.jp/articles/-/80800
憧れのコンテナハウスがなんと20万円で購入可能?
http://xn--ick3b8eyct505c6fc.net/container-house/
小さい家、コンテナハウスいろいろ
http://miraie-future.net/category/house/small-house/
おしゃれなコンテナハウス
http://yadokari.net/tag/%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%83%8F%E3%82%A6%E3%82%B9/
購入の8〜9割がスマホ経由、月150万円売る作家も登場。ハンドメイドマーケット「minne」
http://appmarketinglabo.net/minne/
0743デフォルトの名無しさん2016/02/21(日) 10:54:14.84ID:gkYlB/Go
>>690
今度試してみる
0744デフォルトの名無しさん2016/02/21(日) 13:25:08.35ID:nTKHtlPD
>>736
古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1440930335/
0745デフォルトの名無しさん2016/03/02(水) 19:16:21.23ID:S9gx5AE/
質問していいですか?

Private Sub MainForm_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
Dim Reply As DialogResult
Reply = MessageBox.Show("社員情報管理システムを終了します。" _
, Application.ProductName, MessageBoxButtons.OKCancel _
, MessageBoxIcon.Information)

If Reply = Windows.Forms.DialogResult.Cancel Then
  e.Cancel = True
End If
End Sub

というふうに入力したいのですが、
インテリセンスに Windows.Forms.と出てきません。
どうすればよろしいでしょうか?

環境は Windows10 VisualStudio2015 Communityです。

よろしくお願い致します。
0746デフォルトの名無しさん2016/03/02(水) 21:42:59.67ID:xo/ZxCCv
>>745
新規プロジェクトつくるときのテンプレでフォームアプリケーションを選択して
参照設定がはいってないんじゃないの?
0747デフォルトの名無しさん2016/03/02(水) 21:44:46.89ID:/7GciTSV
-If Reply = Windows.Forms.DialogResult.Cancel Then
+If Reply = System.Windows.Forms.DialogResult.Cancel Then
0748デフォルトの名無しさん2016/03/03(木) 19:31:02.26ID:iChCIIM0
>>746
>>747

ありがとうございます。

参照を見たら異常はありませんでした。

If Reply = System.Windows.Forms.DialogResult.Cancel Then としたら正常に動きました。

ありがとうございました。
0749デフォルトの名無しさん2016/03/03(木) 21:15:41.95ID:QgvSFDUv
それでも動くとは思いますが、名前空間がインポートされてない可能性があります
プロジェクトのプロパティから参照タブを開き、インポートされた名前空間に
「System.Windows.Forms」が入っているか確認しておいた方が良いと思います
0750デフォルトの名無しさん2016/03/03(木) 21:54:52.15ID:qL/O6Q+k
確認するにこしたことはないけど、System.Windows.Formsの参照がされてなかったら
赤の波線出るから分かるかと
0751デフォルトの名無しさん2016/03/04(金) 03:49:35.83ID:DcNHwK2h
WPFだったとかいうオチはないのか?
0752デフォルトの名無しさん2016/03/04(金) 19:56:08.02ID:Z9JxehV+
System.Windows.Formsってデフォルトでインポートされてる気がしたが
0753デフォルトの名無しさん2016/03/05(土) 12:28:19.65ID:kknVnvpf
スレッド同期について質問してもよかですか?

uartの非同期通信プログラムが
ちょい遅くて相談したく
0754デフォルトの名無しさん2016/03/05(土) 18:59:37.33ID:ePVH9QxI
ついに、C#に手を出そうと思うんだけど、挫折した人とかっている?
0755デフォルトの名無しさん2016/03/05(土) 19:15:25.62ID:dzCnIEjv
挫折もクソもVBってC#の方言だぞ
C#できなかったらそれは即ちVBも分かってないってこと
0756デフォルトの名無しさん2016/03/05(土) 20:36:54.11ID:FRV4TUKl
>>754
VBになれてるとC#は面倒くせえって思う
それくらい自動でやってくれというか
0757デフォルトの名無しさん2016/03/05(土) 20:51:35.11ID:hMGK2sP7
目が悪いからCに限らず{}使う言語は全部ダメ
0758デフォルトの名無しさん2016/03/05(土) 21:04:44.02ID:rzOvGDeK
これVBなの?って思えるようなソフトって何かあるかな
0759デフォルトの名無しさん2016/03/05(土) 21:16:36.10ID:PSQ4fRy9
無いね
.NETのOSSはほぼ全てC#だし、海外だとC#の方が圧倒的に人気あるし、スキルある人はC#行っちゃうし
0760デフォルトの名無しさん2016/03/05(土) 21:42:08.76ID:JkAYrDmp
古いバージョンならともかく今のC#とVBに差異なんて殆ど無い
スキル無いプログラマはなぜかVBを使うからVBには腐った資産が多い
腐った資産が多すぎてVBはダメな言語なんだと誤解されている
言語のせいじゃ無いのにね
0761デフォルトの名無しさん2016/03/05(土) 22:52:45.40ID:ePVH9QxI
小文字始まりに違和感がありすぎてね・・・
Unityやろうかと思って、C#の感想を聞いてみたまでだよ
0762デフォルトの名無しさん2016/03/05(土) 22:58:30.21ID:5rT0ZyBv
大文字小文字区別しない+キーワードが多いので、たまにいらっとするぞ
文字列リテラルの「“”」はどうしようもない
0763デフォルトの名無しさん2016/03/06(日) 00:02:35.98ID:78nFOM/6
>>760
VBプログラマでろくなのみたことない
MVP含めて
0764デフォルトの名無しさん2016/03/06(日) 00:36:31.83ID:gnmnF1EY
俺はC#よりもVB.NETの方が好きだが
ラムダ式だけは何とかならんのかと思うわ
0765デフォルトの名無しさん2016/03/06(日) 13:33:15.94ID:mU8G/zxt
ラムダは設計の手抜きとも考えられる
なければないで構わないな
0766デフォルトの名無しさん2016/03/06(日) 13:37:45.11ID:TZA1U5AB
そういう日本人が好むワードを並べて勉強しない言い訳してる奴ばかりなのがVB
0767デフォルトの名無しさん2016/03/06(日) 14:04:25.73ID:mU8G/zxt
クリーンコードの基本であるインデントの削減に真っ向から喧嘩売ってんだよねラムダって
ちゃんとした設計と命名を行えばインデントなんて殆ど出てこないのにな
0768デフォルトの名無しさん2016/03/06(日) 14:11:40.02ID:TZA1U5AB
そりゃラムダの使い方を正しく理解してないわ
ラムダは単一式が基本だからインデントなんか増えないよ
単一式のラムダの使い方が想像できないなら関数型言語を軽く勉強するといい
0769デフォルトの名無しさん2016/03/06(日) 14:18:55.52ID:mU8G/zxt
>>768
まあラムダに頼りきりのコーダーじゃこの程度の理解度だよな
0770デフォルトの名無しさん2016/03/06(日) 23:20:24.05ID:26FBAlYc
プログラマはなぜ性格悪い奴が多いのか
0771デフォルトの名無しさん2016/03/07(月) 00:00:52.94ID:e4ckG9cS
ブラック業界だから
0772デフォルトの名無しさん2016/03/07(月) 10:20:37.23ID:ZKRleHXr
>>770
そもそもいい奴なんているの?
0773デフォルトの名無しさん2016/03/07(月) 10:44:51.68ID:XSlx9mVN
>>772
いなかった
0774デフォルトの名無しさん2016/03/08(火) 00:15:55.48ID:RvcgzD1Q
>>772
だからお前は阿呆なんだよ
悪いと言うと良いを持ち出すアホな

普通と悪いを比較してんだよ間抜け
0775デフォルトの名無しさん2016/03/08(火) 00:41:54.80ID:otKz9tk0
プログラマはなぜ性格悪い奴が多いのか
0776デフォルトの名無しさん2016/03/08(火) 10:24:45.12ID:RvcgzD1Q
>>775
コピペは図星の証拠
0777デフォルトの名無しさん2016/03/08(火) 13:47:38.19ID:Mczv1GjB
>>774
そもそも普通な人なんているの?
0778デフォルトの名無しさん2016/03/08(火) 13:48:16.05ID:Mczv1GjB
>>774
こいつも性格悪そうだな
0779デフォルトの名無しさん2016/03/08(火) 17:47:08.02ID:FLPZmVOW
>>777-778
ご苦労様
0780デフォルトの名無しさん2016/03/08(火) 18:16:55.17ID:N3qg6lE6
有償でもいいからアドバイスしてくれるサイトってある?
前任者がとんでやらざるを得ないんだけど、訳がわからん。
コボラーのおっさんにはとっつきにくい
0781デフォルトの名無しさん2016/03/08(火) 18:39:11.73ID:wmaX9u1G
無償だと自分で調べろだこれくらい分かれとか阿呆が多いからな
0782デフォルトの名無しさん2016/03/08(火) 23:33:50.66ID:MOSr64Vh
諦めて派遣雇え
0783デフォルトの名無しさん2016/03/09(水) 00:22:24.88ID:JPqYmlMN
VBのアドバイスはいつの間にかVBではなく前任の遺したスパゲティを適切に処理する方法のアドバイスになってしまう
0784デフォルトの名無しさん2016/03/09(水) 01:45:49.16ID:3BVvFWzO
>>780
ココナラとかで聞いてみたら
http://coconala.com/search/recommend?service_class=0&;keyword=VB.NET
0785デフォルトの名無しさん2016/03/09(水) 09:19:28.85ID:/de16Jf7
>>781-784
ありがとう784でここで聞いてみるかな
それでも駄目なら782が言うように人材入れるしかないね
0786デフォルトの名無しさん2016/03/09(水) 22:30:32.30ID:JUW2kc0o
>>780
前任者なにしたん?
0787デフォルトの名無しさん2016/03/10(木) 09:40:23.72ID:BGKEE21p
>>780
有償でアドバイスっていうサイト

やめておいたほうがいいよ。ぶっちゃけ回答内容もさることながら回答してる奴も程度の低い奴しか
集まってないから。ああいった所で小銭稼いでるような暇人は本業がさっぱりだからね。stackoverflow
のほうがよっぽど優秀な人が多い。
0788デフォルトの名無しさん2016/03/10(木) 16:35:40.60ID:dcyylkZt
質問サイトにおいては人に分かるように教えることができない奴は優秀と言えない
内容は高度だが誰のための回答か分からないようなものする奴が多い
特に無料のサイトだと
0789デフォルトの名無しさん2016/03/10(木) 22:35:55.12ID:ldo23FcU
↓を参考に、
ttp://rnk.mitelog.jp/oyaji/2015/02/net-dc21.html

SerialPort1_DataReceivedイベントのプログラムを作成して
他のシリアル通信のソフトから送られてきた1バイトのデータを
受信したのですが、0x00〜0x42は正常に受信できるのですが、
0x43以上の値を送信すると作った受信側のプログラムが取得した
値が0xD2〜になります。
原因を教えて下さい。
0790デフォルトの名無しさん2016/03/11(金) 05:35:56.34ID:hoUEJahG
>>789
ふつうに考えてそんな事になるはずがないから

勘違い
プログラムがバグってる
ハード的に故障してる

のどれかかだろう
コードとどうやって確認したか晒す気がないならエスパーを探してください
0791デフォルトの名無しさん2016/03/11(金) 12:09:30.65ID:g88E4uV6
>>788
無料で教えてもらえるんだから贅沢言うなよ
0792デフォルトの名無しさん2016/03/11(金) 21:32:24.40ID:1otz+gaw
>>791
質問サイトでオナニー回答してる馬鹿
MVPのやつでもいるけどほんと滑稽

まずは質問者が解決する事が第一
あとからその質問を見た人や回答者は二の次
0793デフォルトの名無しさん2016/03/11(金) 21:34:18.07ID:1otz+gaw
ほんと質問者の知識レベルを考慮した説明のできない阿呆が多くて困る
おれが回答するのにノイズが入って困るから黙っとけ
0794デフォルトの名無しさん2016/03/11(金) 21:55:16.18ID:/OYior/Z
必ずいるのがAをBするにはどうすればいいですか?って質問にAのMSDNリンク貼る奴
BをするにはCで、とかそれは出来ないよって答え期待してるのにAを勉強しなさいドャア…
0795デフォルトの名無しさん2016/03/11(金) 22:07:54.92ID:pregGQ2r
それって質問者が気付いてないだけでリンク先が正に答えのパターンじゃん
0796デフォルトの名無しさん2016/03/11(金) 22:15:02.84ID:AEE3B+zk
質問者が気づけないようなリンク貼るだけだけの奴が無能なだけ
自己満足回答者は同じ回答者の立場からからみてもうざい
0797デフォルトの名無しさん2016/03/11(金) 23:55:03.58ID:yexlXadQ
じゃあ適切に答えてやれば、ってのが
0798デフォルトの名無しさん2016/03/12(土) 04:50:27.08ID:W/VzQjI7
>>796
「わかりません」って返答が来てから詳しく回答すればいいや、
リンク先貼るだけで解決する人もいるんだし、最初から詳しく書くのは時間の無駄

って考え方た上での回答なんじゃない?
0799デフォルトの名無しさん2016/03/12(土) 11:12:21.88ID:3dstvjn1
>>798
それが自己満足だって事
でだいたいそういう奴は最初も何も
詳細要求されたところで詳しく書けないで終わる
0800デフォルトの名無しさん2016/03/12(土) 11:36:09.27ID:D8hpo9Du
すみません、String型の変数に "%USERPROFILE%" という文字列が入っているのですが
これを絶対パス(例えば "C:\Users\USER123" )に変換するにはどうすればよいのでしょうか?
ある関数の引数としてパスを渡さなければならないのですが、その関数が絶対パスしか受け付けないようなので。

ググって調べましたが環境変数の取得方法ばかりヒットしてしまい、絶対パスへの変換方法は出てきませんでした。
環境はVB2010です。よろしくお願いします。
0801デフォルトの名無しさん2016/03/12(土) 11:45:01.65ID:+KV61A6e
何が分からないのかわからない
環境変数が取得できたらそれでいいんじゃないのか?
0802デフォルトの名無しさん2016/03/12(土) 11:55:22.03ID:D8hpo9Du
>>801
説明不足でした。
configファイルに「WorkFolderPath="%USERPROFILE%\work"」という内容が書かれていて
これをプログラムから読み出して関数に渡したいのですが、その際に絶対パスに変換したいのです。
0803デフォルトの名無しさん2016/03/12(土) 11:57:42.32ID:QAXcZmPW
%USERPROFILE%って何?
0804デフォルトの名無しさん2016/03/12(土) 11:58:04.10ID:0TmMYtro
VBerってクソすぎ
0805デフォルトの名無しさん2016/03/12(土) 12:06:05.09ID:D+ovHJjX
クソ回答者がっていう流れの直後の質問は釣りの可能性が高い

>>798
>ググって調べましたが環境変数の取得方法ばかりヒットしてしまい、
これで分からない場合、出てきて見てみたURLを書いて、そのどこが分からなかったのか書かないと
2度手間3度手間になる

っていう時間の無駄を>>798は指摘しているってばっちゃが言ってた
0806デフォルトの名無しさん2016/03/12(土) 12:17:47.56ID:D+ovHJjX
釣りの根拠は2chでの句点使用

これだけだとクソ回答者になっちゃうからURLを貼る

MSDNリンク貼るだけだと>>794に該当しちゃうから
ちゃんとVB.NETのサンプルコードが書いてあるサイト
http://www.atmarkit.co.jp/fdotnet/dotnettips/190windir/windir.html

貼るだけだとあれだから書いてみる
Environment.GetEnvironmentVariable("USERPROFILE")

だがしかし回答者は2度と現れない
それどころかこのレスにツッコミが色々出てくる

ここまでテンプレ
0807デフォルトの名無しさん2016/03/12(土) 12:38:15.91ID:fF+Ri/X2
>>800
System.Environment.ExpandEnvironmentVariables メソッド
0808デフォルトの名無しさん2016/03/12(土) 12:43:00.82ID:D+ovHJjX
Environment.ExpandEnvironmentVariables(WorkFolderPath)
とこのように自演回答がついて終了です

では次の方どうぞ
0809デフォルトの名無しさん2016/03/12(土) 14:46:39.38ID:VuT0YpOP
Jsonのシリアライザが幾つかありますがどれを使うのがベストなのですか?
0810デフォルトの名無しさん2016/03/12(土) 15:49:50.19ID:XM04ktMV
Json.NET
ASP.NET MVCにも使われており事実上の標準
0811デフォルトの名無しさん2016/03/12(土) 16:09:29.59ID:96C4sN2q
>>789
データビット数とストップビット数
パリティを見直せ
絶対設定間違ってるから
0812デフォルトの名無しさん2016/03/12(土) 16:15:10.29ID:96C4sN2q
バックグラウンドで受信スレッドを
無限ループで回して
受信したら、データをフォームスレッドに最速で渡す
方法を教えてください

syncronizationObjectとpost使ったけど
なんか遅い

フォームスレッドに受信待ちで
ウェイトいれるととんでもない遅さ
0813デフォルトの名無しさん2016/03/12(土) 17:46:26.57ID:D8hpo9Du
>>807
まさに欲しかったものです!ありがとうございます!
0814デフォルトの名無しさん2016/03/12(土) 20:31:03.68ID:D+ovHJjX
自演は他のレスした人をスルーするという典型例
08158132016/03/12(土) 20:51:11.92ID:Rvi6ma4b
ありがとうございました
08168132016/03/12(土) 21:15:26.17ID:Rvi6ma4b
連続ですみません。
System.Environment.ExpandEnvironmentVariablesだとエラーが出るのですが
Environment.ExpandEnvironmentVariablesにしないといけないのはなぜでしょうか?
08178132016/03/13(日) 21:25:49.98ID:pB1K/L5R
>>815-816
自演はあなたじゃないですか…
私については何書かれても構いませんが、答えてくれた>>807さんに迷惑が掛かるような書き込みはやめて下さい。
しかも実際に試せばすぐわかるような細かいミスを指摘して気持ち悪い。
もう以降決して書き込みませんので、何か書き込まれても私だとは思わないで下さい。
それでは。
0818デフォルトの名無しさん2016/03/14(月) 03:52:29.96ID:7GQH+9KO
>>812
post で遅いってどのくらいのパフォーマンスが要求されてるんだろう?
それは UI スレッドで処理しなきゃならないデータなんだろうか。
0819デフォルトの名無しさん2016/03/14(月) 11:38:24.34ID:bpWJKxtT
。
0820デフォルトの名無しさん2016/03/14(月) 15:36:16.75ID:iyKGP90j
みんなってさ
プロパティの値を保持しておく変数(フィールド?)って
どこに書いてる?
一番上にまとめて?
各プロパティの直上?
0821デフォルトの名無しさん2016/03/14(月) 18:41:19.58ID:B7yTdRtz
appconfig
0822デフォルトの名無しさん2016/03/14(月) 19:40:53.64ID:tMa2mJIy
>>821
ま、常識だwな
0823デフォルトの名無しさん2016/03/14(月) 21:35:01.47ID:813TYYJm
>>820
自動実装プロパティ導入以前は上にまとめて書いてた時もあるけど
単純なバッキングフィールドなら今はプロパティの直前に書いてる
0824デフォルトの名無しさん2016/03/14(月) 23:17:34.64ID:4SO07TlH
>>820
一番下
興味がないものほど下でいい
0825デフォルトの名無しさん2016/04/08(金) 21:56:21.28ID:7xcsm7M3
Entity Framework使ってる人いる?
0826デフォルトの名無しさん2016/04/08(金) 22:06:49.58ID:Pb3mrre4
VBerはデータセットに決まってるだろ
0827デフォルトの名無しさん2016/04/08(金) 22:17:52.74ID:7xcsm7M3
>>826
そうだよね
うちの会社はもっぱらデータテーブルだわ
0828デフォルトの名無しさん2016/04/08(金) 22:21:15.01ID:jblI0r3U
過去にしがみついて先に進もうとしない人のための言語だからな
0829デフォルトの名無しさん2016/04/08(金) 22:28:47.01ID:7xcsm7M3
先に進まなくても、なんの問題もないんだから進まない
逆に新しいことをして成功しても、大して評価されないし、失敗したときのリスクを負いたくないっていうのが原因かも
0830デフォルトの名無しさん2016/04/09(土) 09:46:32.05ID:AbuIHjSU
どんか糞なSQL文を生成するのかと思うと
とてもじゃないが前向きに使いたいとは思わない
0831デフォルトの名無しさん2016/04/09(土) 11:05:27.32ID:uJZINSCD
でもVBerの書くsqlよりだいぶマシだよ
まあそもそもVBerが作るとテーブル設計自体が破滅するからそれ以前の話だな
0832デフォルトの名無しさん2016/04/09(土) 11:09:17.59ID:y3LSRvbv
>>831
馬鹿は口を開かなくていいよw
0833デフォルトの名無しさん2016/04/09(土) 11:12:24.33ID:Q/bwh4yI
そもそもVBerの作るCOBOL時代さながらの壮大なテーブルじゃEFなんかまともに使い物にならないだろ
0834デフォルトの名無しさん2016/04/09(土) 11:14:43.96ID:y3LSRvbv
>>833
馬鹿は口を開かなくていいよ
0835デフォルトの名無しさん2016/04/09(土) 11:15:46.68ID:uJZINSCD
>>829
日本はビジネスそのものが停滞しているからね
新しいサービスにチャレンジしようという気も
既存の業務を改善しようという気もない
業務そのものが10年20年変わらないなら当然システムも変る必要がない
変化するビジネスに適応するために開発されたフレームワークが普及するわけもない
0836デフォルトの名無しさん2016/04/09(土) 11:25:27.36ID:1qpNdq6N
EFは業務アプリに向いてない気がするけどな
一つのテーブルを複数のシステムで参照したりしたときにすべてが崩壊が始まる

>>830
SQLがLinqになるだけで、どっちも同じだろ
0837デフォルトの名無しさん2016/04/09(土) 11:45:12.01ID:Q/bwh4yI
>>836
業務アプリに向いてないんじゃなくて典型的な旧来の業務アプリ開発のプロセスに向いてないんだよ
「納品」ではなくCIを回して運用しながら開発していくスタイルではうまく機能する
0838デフォルトの名無しさん2016/04/09(土) 11:49:10.57ID:jb6TpqzR
業務アプリには向いてると思う
SQLインジェクションをほぼ回避できるし、B2Bとかだとパフォーマンス求められない場合多いし
0839デフォルトの名無しさん2016/04/09(土) 12:03:54.16ID:uJZINSCD
変化の速い業務ならマッピングとクエリビルダ無しでは耐えられない
幸い日本では経営者のやる気が無く業務プロセスが停滞しているのが普通なので無くても何とかなる
何とかなるので勉強しないので人材が不足する
IT分野で身動きが取れなくなるのでなんかの拍子に業務を変化させたくなっても容易には変えられない
日本はもう詰んでる
自民党のITエンジニア軽視政策が日本を終わらせた
0840デフォルトの名無しさん2016/04/09(土) 12:09:56.75ID:1qpNdq6N
>>838
業務アプリでSQLインジェクションってそんなに重要じゃなくない?
そこはストアドパッケージとか使えばいい気がする

あとは業務アプリを使う側もITの知識が全然ないので提案もできないし、
新しいIT技術を使って新しい業務を考えることも難しい
どうすればいいんだか
0841デフォルトの名無しさん2016/04/09(土) 12:37:45.82ID:jb6TpqzR
PCIDSSだっけか
あれうるさいよ
0842デフォルトの名無しさん2016/04/09(土) 13:08:26.77ID:bpZQ8tTu
>>840
逆の論理だろ
業務アプリだからこそ、SQLインジェクション対策が必須
とはいえ、別にフレームワーク使わなくてもパラメタライズドクエリは書ける
0843デフォルトの名無しさん2016/04/09(土) 13:10:35.36ID:Q/bwh4yI
>>842
VB製の業務アプリなんかセキュリティホールだらけでイントラの外に晒したらえらいことになるわ
EFを使ったところで解決する話ではなく、開発者の意識とスキルの問題だけどね
0844デフォルトの名無しさん2016/04/09(土) 13:16:25.92ID:bpZQ8tTu
SQLアンチパターンでも、
他の24のアンチパターンについては許容する場合を例示してるが、
SQLインジェクションについては、許容するケースは全くないと断言してるぞ

ttps://www.oreilly.co.jp/books/9784873115894/
0845デフォルトの名無しさん2016/04/09(土) 13:19:20.16ID:bpZQ8tTu
もしSQLインジェクション対策をしなくてもいいと考えるエンジニアがいたら、そいつはITエンジニア失格だと思って間違いない

もし納期ないしイントラだから。SQLインジェクション対策不要と断言するPMいたら
そのプロジェクトからダッシュで逃げ出すわぃw
0846デフォルトの名無しさん2016/04/09(土) 13:27:55.93ID:bwAw05iS
SQLインジェクションごときが話題になるこのスレのレベルの低さ・・・
0847デフォルトの名無しさん2016/04/09(土) 13:28:59.72ID:1qpNdq6N
てっきり世の中はパラメタライズドクエリばっかりって思ってたからSQLインジェクションをそこまで意識してる人がいたことにちょっと驚き
0848デフォルトの名無しさん2016/04/09(土) 15:40:58.48ID:Q/bwh4yI
パラメータ使えばいいんでしょ?と言ってCookieやhiddenフィールドやURLに生SQLを埋め込むのがVBerとPHPer
0849デフォルトの名無しさん2016/04/09(土) 17:05:34.56ID:jb6TpqzR
LINQ to Entitiesで書けばパラメーターを意識する必要はないってのはでかい

SQLインジェクションが埋め込まれるリスクを減らせる
0850デフォルトの名無しさん2016/04/09(土) 17:22:38.72ID:1qpNdq6N
>>848
そんな人見たことないなぁ
どんだけ酷い周辺環境なんだよ・・・
0851デフォルトの名無しさん2016/04/09(土) 17:46:52.50ID:VUvkdYpi
>>850
恐ろしいことに、hiddenフィールドにSQLはそんなに珍しくない
パッケージソフトのHTMLソース覗いたら普通にSQLが含まれてたりするよ
0852デフォルトの名無しさん2016/04/09(土) 20:11:42.38ID:nX2uL7WF
上司「sqlインジェクションは絶対に許さないお前が責任持って確実に排除しろ」
コーディング部隊班長「ハイワカリマシタムラタサン」
僕「(安いとはいえ人種は選べよ……)」

結局のところセキュリティホールは人なんだよね
0853デフォルトの名無しさん2016/04/10(日) 08:47:50.94ID:dPYz0f+a
VBerにSQL書かせるのは
大工に電気工事もさせるようなもの

そもそも要求される知識が違うのに
PGなんぞにSQLを書かせようとするからDB鯖が悲鳴を上げる

全てストアド化して、DBAがSQLを書くべき
0854デフォルトの名無しさん2016/04/10(日) 08:49:03.13ID:dPYz0f+a
>>848
デフォで、Server.HtmlEncode() で括らないプログラマは多いな
0855デフォルトの名無しさん2016/04/10(日) 16:56:49.26ID:TIi9QSX6
シングルクォートを検索条件に入れると落ちる業務アプリは沢山見たなー
外人の名前とか英語の商品名とかで発覚するの
0856デフォルトの名無しさん2016/04/10(日) 17:05:10.72ID:4L3Bk0hb
>>853
それができる企業は全体の1%くらいだろうな
0857デフォルトの名無しさん2016/04/10(日) 17:11:25.84ID:ga9VCIZz
nullさんの名前が入力できないアレですか?
0858デフォルトの名無しさん2016/04/10(日) 17:33:04.81ID:tG5Zcw82
>>853
んな大袈裟なもんではない
せいぜい大工に内装工事もさせるようなもの
0859デフォルトの名無しさん2016/04/10(日) 17:43:00.34ID:2nCcxZVq
select XmlData from Foos where Id = @Id
insert into Foos (Id, XmlData) values (@Id, @XmlData)
update Foos set XmlData = @XmlData where Id = @Id

Dim id As Guid
Dim obj = DB.Load(Of Foo)(id)
obj.Hello()
DB.Save(obj)

最近はこんなんばかりだからクエリ自動生成で何も困らないんだよね
時代遅れの手書きとか考えられんよ
0860デフォルトの名無しさん2016/04/10(日) 17:48:42.62ID:A4Ve/lr0
PictureBox1.ImageLocation = "web画像アドレス"
でネット上にある画像をピクチャーボックスに貼り付ける際に
事前にその画像が存在するかを確認しあれば表示させ
なければ表示させないって事をさせたいんですが
その様な事出来るんでしょうか?
出来るならどういうプログラム書けばいいんでしょうか?

指定するアドレスが一定じゃなくて変化する為にチェックさせたいと思いまして。
0861デフォルトの名無しさん2016/04/10(日) 18:05:09.45ID:2nCcxZVq
>>860
そのサーバーが画像ファイルリストのようなものを公開してないと無理
リソースの存在確認は実際にアクセスしてみるのが正解だよ
0862デフォルトの名無しさん2016/04/10(日) 18:11:05.39ID:f9i56Er/
実際にロードした結果はLoadCompletedイベントでe.Errorを確認
0863デフォルトの名無しさん2016/04/10(日) 18:33:55.35ID:tG5Zcw82
>>860
WebClientを使う
0864デフォルトの名無しさん2016/04/10(日) 20:56:39.61ID:A4Ve/lr0
>>861-863
早速の返信ありがとうございます。
>>862-863に書いてある事を調べてみます。
0865デフォルトの名無しさん2016/04/13(水) 22:23:11.68ID:VkPLtEnN
ListViewのTileSizeって最初に表示するときにしか影響しないのでしょうか?
横幅いっぱいに広げて表示したくて、ListViewのサイズが変わった時にTileSizeを再設定しているんですが、全然設定が反映されません
0866デフォルトの名無しさん2016/04/15(金) 13:43:31.78ID:k3a2yLdX
全角チルダを波ダッシュに変換したいのですが、全角チルダはどうやって指定すれば良いのでしょうか?
0867デフォルトの名無しさん2016/04/15(金) 14:13:01.28ID:k3a2yLdX
済みません、str = replace(str,ChrW(12316),"〜")で解決できました。
0868デフォルトの名無しさん2016/04/15(金) 14:26:46.76ID:6MTjtKzK
>>865
試した感じなんだが、TileSizeそのものは設定される

ただ、何らかの条件で、ListViewのタイルが正しく表示されないバグがあるような気がする
2列で表示されるようなSizeとTileSizeを設定しても、1列でしか表示されないときがあったりするな

TileSize設定した後に一旦詳細表示にしてからタイル表示に戻すとかすれば正しく表示されるかも
0869デフォルトの名無しさん2016/04/15(金) 19:34:12.83ID:izg5L3kJ
一時的にSQLから取得した結果をDataTableに格納するのに
現状 DataAdapter.Fillで格納しています。

DataTableに格納する時間を極力早く行いたいのですが、
Fill以外でおすすめの方法ありますでしょうか?
0870デフォルトの名無しさん2016/04/15(金) 20:22:45.19ID:zCqMDpGz
>>868
fullrowselectプロパティを変えることで対応できました!
0871デフォルトの名無しさん2016/04/16(土) 01:44:38.57ID:F9xoPFx8
Webkitでユーザエージェントとリファラを設定する方法はありますか?
0872デフォルトの名無しさん2016/04/16(土) 13:19:30.35ID:IndkogUi
>>869
SQLをチューニングする
0873デフォルトの名無しさん2016/04/16(土) 14:07:10.74ID:8noXj16C
>>869
無駄なデータを取得しない
0874デフォルトの名無しさん2016/04/16(土) 14:24:07.11ID:m2D+vNbU
Labelの背景が透明にできないんですがどうすれば透明にできますか?

これは透明にならなかったです
>ttps://msdn.microsoft.com/ja-jp/library/9hwzeyc9%28v=vs.90%29.aspx
>Label1.BackColor = System.Drawing.Color.Transparent
>Label1.SendToBack()
>Label1.BringToFront()

これも駄目
>Public Class CustomLabel
> Inherits Label
> Public Sub New()
> SetStyle(ControlStyles.SupportsTransparentBackColor, True)
> End Sub
>End Class
>
>CustomLabel1.BackColor = Color.Transparent
08758742016/04/16(土) 14:29:24.96ID:m2D+vNbU
Hello, world!レベルなので詳しくお願いします
0876デフォルトの名無しさん2016/04/16(土) 14:37:05.92ID:GB14s2o+
透明にならないとなると何色になってるの?
最悪ラベルがおいてあるコンテナの背景色をBackColorに設定にしたらいい
08778742016/04/16(土) 14:45:24.79ID:m2D+vNbU
>>876
どもです
灰色になっています

テキストボックスとプログレスバーの上にあります
http://light.dotup.org/uploda/light.dotup.org319069.png
08788742016/04/16(土) 14:49:54.63ID:m2D+vNbU
これもダメでした
ただこれはLabelの文字の色がプログレスバーのForeColorの色に変わりました
>Label1.Parent = ProgressBar1
>Label1.BackColor = Color.Transparent
>Label1.Location = New Point(0, 0)
0879デフォルトの名無しさん2016/04/16(土) 15:02:35.42ID:uGN128nE
WinFormでは透過色はサポートしてないので諦めよう
08808742016/04/16(土) 15:16:36.71ID:m2D+vNbU
>>879
どもです
えー
VB6ではLabel透過はプロパティ設定するだけでできましたよね?
VB.NETだとできないんですか・・・
0881デフォルトの名無しさん2016/04/16(土) 16:03:52.47ID:wLwN2JiQ
>>874
Label を継承したクラスを作って SetStyle する。

Public Class TLabel
  Inherits Label
  Sub New()
    SetStyle(ControlStyles.SupportsTransparentBackColor, True)
    BackColor = Color.Transparent
  End Sub
End Class
0882デフォルトの名無しさん2016/04/16(土) 16:50:58.59ID:wLwN2JiQ
あーこれじゃだめだ
ごめんなさい

ttp://mitsu.three-atmarks.com/archives/10696

こういうのみつけた
OnPaintBackground で背面のコントロールを描画するんだそうな
08838692016/04/16(土) 17:18:58.16ID:+fQCE2h8
>>872,
レスありがとう
取得自体はIndexScanで取得はできてます

>>873
レスありがとう
SELECT *ではなく、取得する必要項目のみ取得するようにしてます

Insertであれば、通常のクエリよりも書き込む速度を早くする方法があるんですけど
やはり現状Fillぐらいしかないかなという感じですね
0884デフォルトの名無しさん2016/04/16(土) 17:28:31.32ID:MfNAX89g
バイナリにシリアライズして保存すると超速いよ
データ転送効率は文字通り最高でこれ以上は無い
クッソ遅いDataTableそのものが要らなくなるから
転送されたデータをプログラムで使える状態に復元する処理もめ速くなる
オマケにDBアクセス層の同じようなコピペ修正コードが丸ごと消えてスッキリする
そうなるとコンパイル速度も爆速になるし保守までやりやすくなる
0885デフォルトの名無しさん2016/04/16(土) 17:30:14.54ID:8noXj16C
検索どうすんねんアホか
100万件をインデックス無しで全件読んで線形検索する気か
0886デフォルトの名無しさん2016/04/16(土) 17:42:49.98ID:XnAbrcMG
安易にシリアライズ使うと後でバージョン不整合で地獄を見るよ
通信以外には使うべきではない(XmlSerializerは除く)
0887デフォルトの名無しさん2016/04/16(土) 17:54:17.58ID:MfNAX89g
>>885
馬鹿は君だよ
検索用のデータは別に用意するの
検索キーにインデックスを張ったテーブルにシリアライズしたデータ保存する
検索時には余計な計算も結合も行わない
バイナリ保存ならこのように検索すら爆速になる
大規模なシステムでは今や当たり前となったテクニックだけど
日本の10年遅れた現場じゃすぐには理解できないかな
0888デフォルトの名無しさん2016/04/16(土) 18:02:12.92ID:MfNAX89g
>>886
バージョン不整合は起こらないよ
むしろバージョンのアップに対しての柔軟性が大幅に上がる
同じ型の異なるバージョンどころか
異なる型でさえ同じ処理で扱えるほどに柔軟なのだから
バージョン差異で悩むのはDBを伝統的で変化に弱い使い方をした時の話
シリアライズして保存する戦略は本来はむしろ激しく変化する業務に対応するために生み出されたテクニックなんだ
そこに速度という素晴らしいオマケもついてきたんだね
0889デフォルトの名無しさん2016/04/16(土) 18:04:31.71ID:+fQCE2h8
>>884
レスありがとう
シリアルライズで早くなるか挑戦してみます

最初30秒かかっていた処理がテーブル設計見直して
(マスタ構築しなおしでかなり大変でしたが・・・)
9秒(SQL取得部分が6秒ぐらい)までになったので、
3秒部分がどこまで縮めれるかやれるところまでやってみます

>>886
シリアライズについてアドバイス頂きありがとう
シリアライズのリスク調べた上で実装してみます
0890デフォルトの名無しさん2016/04/16(土) 18:28:39.34ID:PuB+vZFt
>>888
BinaryFomatterってXMLより遅いよ?
まともに検証もせず妄想でチューニング笑してるのかな
0891デフォルトの名無しさん2016/04/16(土) 20:59:48.23ID:MfNAX89g
>>890
ふぅ〜やれやれそこ笑うところかい?
BinaryFormatter(笑)
0892デフォルトの名無しさん2016/04/16(土) 21:04:55.97ID:wRwlZS2k
あげ足取るしか出来なくなったか
0893デフォルトの名無しさん2016/04/16(土) 21:13:29.27ID:PuB+vZFt
今必死にProtocol Buffersとかググってそう
0894デフォルトの名無しさん2016/04/16(土) 21:28:33.14ID:XnAbrcMG
シリアライズだとバイナリでもサイズが数倍になる
ディスクIOがボトルネックだから読み出しにかかる時間はほぼ1オブジェクトあたりのサイズに比例するはずで、
DBより確実に遅くなる
08958742016/04/16(土) 21:48:01.68ID:m2D+vNbU
>>881
どもです
>>874に書いてある通りその方法ではできませんでした
08968742016/04/16(土) 22:13:29.18ID:m2D+vNbU
>>882
>>882さんの環境だとそのC#のコードをVBに変換して動いているんですか?
>>881と同じで動かなくないですか?
C#は分からないのでコード変換サービスを利用しましたがうまく変換されずVBで使えませんでした
>>875の通りなのでVBで教えてほしいです

やはり>>879さんの言う事が正しく、透明にするのは無理なんですね
0897デフォルトの名無しさん2016/04/16(土) 22:46:09.53ID:P3e7jPhf
このスレ見てていつも思う
VBerが馬鹿と言われるのはこういうところ

一、VBスレでC#のURL貼るだけ
  (例えるなら英語のスレでドイツ語で言うとこうだというURL貼るだけ
一、試しもせずに動かないコードを貼る
  (直近で例えると質問者が動作しなかったと言うコードをそのまま貼るとか理解不能
一、質問者の技量を理解できず質問者が理解できない内容で回答
  (分かっている人には不要、分からない人にとっても理解できないので不要、回答者自身のオナニー回答
一、そういうやつに限って答えたがる
一、知識自慢するだけのレスをする
一、途中で回答を投げ出す
一、シリアライズの話題で一人盛り上がる

包丁など調理器具を完璧に扱えるが、客の求めている美味いと言える料理が作れない料理人
それらの扱いは上手くないが、客の求めた美味いと言う料理が作れる一般人

前者は役に立たないくせに驕り、後者は役に立つ上に謙虚、なぜなのか

透明は不可、透明相当は可だが何をしたいかによって代案の方が良し
08988742016/04/16(土) 22:50:23.07ID:m2D+vNbU
>>882
追記です
C#からの変換はcode converterというサイトのを使いました
よろしくお願いします
0899デフォルトの名無しさん2016/04/16(土) 23:12:14.13ID:YVSRR5CQ
Microsoft MVP()
0900デフォルトの名無しさん2016/04/17(日) 08:17:45.09ID:uWFtU6Pt
>>898

ttp://www.dotup.org/uploda/www.dotup.org823469.png
ttp://www.dotup.org/uploda/www.dotup.org823470.zip

ここまではできた。

アニメーションするコントロールは WM_PAINT を拾うなりして再描画かな。
0901デフォルトの名無しさん2016/04/17(日) 12:00:50.70ID:fOrpnRrn
そもそもの用途が不明だから何とも言えんが
バイナリにシリアライズされたデータがデータセットの代用になるとか想像付かん

>検索キーにインデックスを張ったテーブルにシリアライズしたデータ保存する
テーブルって何?まさかDataTable?それもとDBMSのテーブル?
どっちにしても
>バイナリ保存ならこのように検索すら爆速になる
それで検索の速度が上がる理由がわからん
>検索時には余計な計算も結合も行わない
から検索速度が上がるってならまだわからん事も無い主張だけど、それバイナリとか関係ないから
0902デフォルトの名無しさん2016/04/17(日) 12:08:37.97ID:JjiAKXsf
>>901
少しでいいからアーキテクチャの動向について勉強したほうがいいよ
君さ10年20年前の知識で止まってるんでしょ
もちろん君がアーキテクチャを選べる立場にはない末端のコーダーということは理解してる
でもだからと言って勉強をサボっていい理由にはならない
0903デフォルトの名無しさん2016/04/17(日) 12:24:05.66ID:CtnwDdxp
最近のWebだとORM使ったりドキュメントDB使ったりしてアプリのモデルとDBをより緊密に統合するというのが主流で
考え方自体は確かにシリアライズに近くなっていると言えなくもないが、使うのはあくまでDBだよ
開発とデプロイを容易にするためアプリはなるべくステートレスにし、状態は可能な限りDBに押し付ける
VBでSQL垂れ流すしか知らなかった子がそのへんの話を聞き齧って誤解しちゃってるんだろうな
0904デフォルトの名無しさん2016/04/17(日) 14:25:55.98ID:fOrpnRrn
>>902
勉強するから、参考サイトでもそのアーキテクチャを採用しているフレームワークでもいいけど
実際にバイナリにシリアライズされたデータを取り扱うようなアーキテクチャ例を紹介してくれないか

で、そのアーキテクチャだと検索速度が上がる理由もそれ見れば解決するんだろうな
0905デフォルトの名無しさん2016/04/17(日) 14:30:15.08ID:fOrpnRrn
>>903
モデルとDBをより緊密に統合するというのが主流かどうかは置いとくけど
まさかORMで生成されたモデルは、バイナリに「シリアライズ」されてるとかいう主張じゃないよな
09069032016/04/17(日) 15:11:20.05ID:PeuZpNoi
>>905
もちろん違うよ
シリアライズ君の言ってる「最新のアーキテクチャ」なるものの正体を推測しただけ
DBへの格納も広義のシリアライズではあるけど、
彼の言うシリアライズはアプリ側の型情報まで完全に維持する狭義のシリアライズだろう
俺は狭義のシリアライズは通信専用だと思ってる
0907デフォルトの名無しさん2016/04/18(月) 02:50:20.04ID:Ek2lhC2M
何言ってるのかさっぱりわからん
0908デフォルトの名無しさん2016/04/18(月) 08:18:09.17ID:Vq/5RQ4u
amazonみたいな本当にパフォーマンス安定性拡張性が求められる世界の話だから理解出来なくても支障はないよ
0909デフォルトの名無しさん2016/04/19(火) 20:12:38.36ID:ZJVLBtpp
プログレスバーをダブルクリックしたときにメッセージボックスを表示させたいんですが
どうすればいいのでしょうか?
プログレスバーだとダブルクリック反応しなくて
0910デフォルトの名無しさん2016/04/19(火) 20:22:56.69ID:B+86D9iO
イースターエッグを仕込みたいの?
0911デフォルトの名無しさん2016/04/19(火) 21:51:51.47ID:AWqtoCVI
>>909
MouseDown イベントは拾えるみたいなので

「クリックとダブルクリックを識別する」
ttps://msdn.microsoft.com/ja-jp/library/ms171543(v=vs.100).aspx

下のほうの「MouseDown イベントでのクリックを識別するには」の
コードが参考になると思う。
0912デフォルトの名無しさん2016/04/20(水) 11:28:47.74ID:a2n75eOs
TreeViewで選択中のノードの最下層のノードの値を取得する方法をおしえてください
0913デフォルトの名無しさん2016/04/20(水) 11:40:44.21ID:a2n75eOs
親、子、孫
とあって、親もしくは子どちらを選択した場合も孫の値を取得したいです
0914デフォルトの名無しさん2016/04/20(水) 13:58:10.51ID:j+emin84
子の下に孫が二人いたらどうするんだ
Dim node As TreeNode = current
Do While node.ChildNodes.Count > 0
node = node.ChildNodes(0)
Loop
0915デフォルトの名無しさん2016/04/20(水) 15:52:22.85ID:0H8y5mhs
Winストアアプリ使ってVB2013でBluetooth LEと通信できる?
C++かC#じゃないとダメ?
0916デフォルトの名無しさん2016/04/20(水) 19:27:32.40ID:a2n75eOs
>>914
ありがとうございます
ChidNodesがメンバではないというエラーが出て動きませんでした

あれから数時間(爆)考えた結果できました
Dim tv1 As TreeNode = TreeView1.SelectedNode
Do Until tv1.LastNode Is Nothing
tv1 = tv1.LastNode
Loop
0917デフォルトの名無しさん2016/04/22(金) 12:28:06.02ID:2YyHBIhj
PHPで言うfile_put_contents('sample.bmp', gzuncompress(file_get_contents('sample.dat')));を
VB.NETで行いたいんですけどソースコードを教えて欲しいです
よろしくお願いします
0918デフォルトの名無しさん2016/04/22(金) 20:37:18.60ID:dc4Uwy8k
親クラス:BaseClass
継承するサブクラス:SubClass1, SubClass2, SubClass3, SubClass4

引数を2つ与えるとDecimal値を返す計算メソッド Public Functin Calculate(ByVal X, ByVal Y) As Decimal
がBaseClassに実装されてます。

SubClass1, 2, 3, 4は Calculateメソッドの中での計算方法のみが違います。

画面上のプルダウンの選択値によって、どのサブクラスのCalculateメソッドを実行するかを切り分けたいときに、
1つのインスタンスで処理を切り替えるとか可能でしょうか?
0919デフォルトの名無しさん2016/04/22(金) 20:46:41.62ID:dc4Uwy8k
>>918の続き
現状は下記の通りでやってます。

Dim Result As Decimal

Select Case プルダウン.SelectedIndex
Case 0
Dim calcIns As New SubClass1
result = calcIns.Calculate(x, y)

Case 1
Dim calcIns As New SubClass2
result = calcIns.Calculate(x, y)

Case 2
Dim calcIns As New SubClass3
result = calcIns.Calculate(x, y)

Case 3
Dim calcIns As New SubClass4
result = calcIns.Calculate(x, y)
End Select
0920デフォルトの名無しさん2016/04/23(土) 00:34:51.74ID:pLidqxK4
Strategyパターンでググってみたら?
09219182016/04/23(土) 09:38:55.85ID:Utxh7tdw
>>920
ありがとうございます。
早速ぐぐってみました。
Strategyパターンって言うんですね。
デザインパターン他にも色々参考になりそうなのが多いので、
大変参考になります。
0922デフォルトの名無しさん2016/04/23(土) 20:14:38.44ID:jg2YTAuP
役に立つのはstrategyだけだよ
というか全てのパターンがstratrgyの亜種でしかない
そしてstrategyはλに集約されるのでλを覚えればデザインパターンを覚える必要はない
0923デフォルトの名無しさん2016/04/28(木) 12:43:40.43ID:/g0gmDHD
GattDeviceService.GetCharacteristics ってサポートされてないの?
MSDNでは
Public Function GetCharacteristics(
characteristicUuid As Guid
) As IReadOnlyList(Of GattCharacteristic)
って書いてあるけど、インテリセンスでGetCharacteristicsが出てこない
0924デフォルトの名無しさん2016/04/28(木) 19:16:40.34ID:8BbQD7Lg
Windows Runtime APIのだからな
デスクトップアプリでも使えるけど多少の作業と参照の追加が必要
http://www.atmarkit.co.jp/ait/articles/1304/26/news058_2.html
参照が必要なアセンブリはMSDN見れ 拡張子はDLLじゃなくてwinmdだけど
0925デフォルトの名無しさん2016/05/01(日) 10:21:38.84ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
g
0926デフォルトの名無しさん2016/05/03(火) 13:52:54.82ID:b7r5U4V4
hoshu
0927デフォルトの名無しさん2016/05/04(水) 11:03:37.90ID:C6quG3Oc
Select Case returnCode
Case 0
Dim a As StructureA
Case 1
Dim a As StructureB
Case 2
Dim a As StructureC

みたいに、識別変数returnCodeによって変数aに違う構造体を持たせたいんだけれど、
このブロック出たら消えてしまうので、あとあとaを使うところでコンパイルエラーを吐いてしまう。

こういう場合ってどうしたらいいですか?
0928デフォルトの名無しさん2016/05/04(水) 11:25:50.56ID:IRRLVIf2
>>927
そんなクソみたいな設計をやめる
0929デフォルトの名無しさん2016/05/04(水) 11:29:11.78ID:Mk4V6hyN
>>927
構造体でなくクラスにして、Storategyパターンを使えば?

あとで a を使うときにA、B、Cで共通に必要となるメンバを
インターフェースとして定義して、
A、B、Cはそのインターフェースを継承

Select に入る前に a をそのインターフェースで宣言
Select 内で returnCode に応じて a にA、B、Cを割り当てる
0930デフォルトの名無しさん2016/05/04(水) 11:45:57.40ID:Mk4V6hyN
あ、こういうのはStorategyとは言わないか
知ったかぶりしてしまった…。ごめん

いずれにせよ構造体のままでは「あとあとaを使う」ときに困るはず
インターフェースなり、基底クラスなりとして
A、B、Cで共通する機能をもったクラスを定義しておく必要がある
0931デフォルトの名無しさん2016/05/04(水) 12:04:48.16ID:FE8MLNLo
インターフェイスとベースクラスの使い分けってどうしてる?
ベースクラスで事足りる気がする
0932デフォルトの名無しさん2016/05/04(水) 12:20:51.63ID:IHDYpsAX
>>930
どうみてもストラテジでしょ

>>931
基底クラスにすべきもっともな理由がなければインターフェースを使う
基底クラスは実装への依存が生じるので保守性が下がる
09339272016/05/04(水) 13:26:03.91ID:C6quG3Oc
いろいろありがとうございます。

配布されてる構造体を使ってるのでなんとかこのまま使いたかったんだけど、
一筋縄ではいかなそうか。
0934デフォルトの名無しさん2016/05/04(水) 13:35:13.94ID:Mk4V6hyN
>>933
その構造体をラップするクラスを作ればいいと思う
0935デフォルトの名無しさん2016/05/04(水) 15:58:59.19ID:J4HNaOR4
>>933
adapter
0936デフォルトの名無しさん2016/05/04(水) 17:15:21.34ID:nZiZjwQi
内容は上だけど
回答としては下

そんなバカ回答
0937デフォルトの名無しさん2016/05/04(水) 18:56:47.45ID:7J/Qybsb
Select Caseの方が率直でわかりやすい
KISSの原則を守ろう
0938デフォルトの名無しさん2016/05/06(金) 06:06:06.53ID:Yw6FJ1og
>>931
Is a 関係にするべきものは基底クラスを
Has a 関係にするべきものはコンポジションを使う
0939デフォルトの名無しさん2016/05/06(金) 21:35:38.71ID:cKcVYPY0
DBから値を取得する重い処理が2つあり、
それを各々別スレッドで実行します。
(AThread, BThread)

更にフォームにキャンセルボタンがあり、
それを押下すると重い処理のスレッドを停止させます。

現状、下記のようにしてユーザからのキャンセルイベントを拾いつつ、スレッド終了待機を行っています。

AThread.Start()

BThread.Start()

Do Until ATThread.ThreadState = Threading.ThreadState.Stopped AndAlso BThread.ThreadState = Threading.ThreadState.Stopped
Application.DoEvents()
Loop

ただ、Application.DoEventsはVB6.0の頃の処理で、VB.netでは推奨されていないようなのですが、
Application.DoEventsを使用せずにいける方法はありますでしょうか?
0940デフォルトの名無しさん2016/05/06(金) 22:24:41.98ID:NaQoG1N+
Task
0941デフォルトの名無しさん2016/05/06(金) 22:30:18.95ID:MaHvIWJS
>>939
>Application.DoEventsはVB6.0の頃の処理で、VB.netでは推奨されていないようなのですが、

そんな情報msのサイトに有るのか?
0942デフォルトの名無しさん2016/05/07(土) 00:23:02.34ID:np3vmMWt
バックグラウンドワーカーが楽やで
0943デフォルトの名無しさん2016/05/07(土) 00:55:22.66ID:doNSv0Rb
VB6の頃はスレッドの扱いが難しかったのでDoEventsが有用だったが
.NETになってスレッド使えるので使う必要性が減っただけ
0944デフォルトの名無しさん2016/05/07(土) 06:45:51.85ID:Orn8oH5O
>>939
DoEventsはUIスレッドで重い処理をする馬鹿のためのもので、別スレッドから呼ぶ必要はない
DB処理なら勝手にIO待ちでブロックされるはずだから明示的にSleepとか入れる必要もない
09459392016/05/07(土) 08:14:51.45ID:YcnuEM0l
>>941
MSのサイトにはないのですが、
無限ループで同期処理をする必要はない(Application.DoEventsは使用しないほうがいい)とネットで散見してます。

>>942
ありがとうございます。
試してみました。

DBアクセスが"1処理"であれば、BackGroundWorkerがベストだとは考えてます。

重いファイル"2つ"への並列DBアクセス処理なのでBackGroundWorkerを2つ用意して、
RunWorkerCompletedでフラグ管理でもいけましたが、処理速度はThread利用時よりは落ちてます。
シングルスレッドで順次よりは速いです。

>>943
同じような内容(DoEventsによる弊害理由を含めて)をネットで散見してます。

>>944
スレッド処理をボタン押下でキャンセルする部分でボタン押下を受け付けてくれれば、
スレッド処理のみでいけると考えてます。
Join()で完了を待つ場合は、UI側が操作できない状態です。
09469392016/05/07(土) 08:45:13.02ID:YcnuEM0l
>>940
ありがとうございます。
Taskについても調べてみます。
Threading.Threadよりスレッド数自動調整等の融通が利きそうです。
0947デフォルトの名無しさん2016/05/07(土) 09:01:23.56ID:Orn8oH5O
Task使うならAsync/Awaitも使えばいい
UIスレッドをブロックすることなくJoinっぽく書ける
0948デフォルトの名無しさん2016/05/07(土) 11:41:23.52ID:98qiMegf
今どきBGW使うメリットってあるのか?
0949デフォルトの名無しさん2016/05/07(土) 11:48:47.86ID:t9gdqky+
デリゲート書かなくていい
0950デフォルトの名無しさん2016/05/07(土) 14:34:57.92ID:g0XKFXiW
なんでRegexって後ろのeが小文字なんですか?
ライブラリや他の人が書いたプログラムでもほとんど小文字になってるみたいですけど
命名規則とやらでいくと大文字になると思うのですが、なにか明確な理由があるなら教えてください。
0951デフォルトの名無しさん2016/05/07(土) 15:15:49.83ID:doNSv0Rb
生スレッドとバックグラウンドワーカーで速度差が気になるなら
言語の選択が間違ってるとしか言いようがない
0952デフォルトの名無しさん2016/05/07(土) 15:18:37.56ID:Orn8oH5O
>>950
ExだとサロンパスExのExやCreateWindowExのExと紛らわしいだろ
RegExpでもいいとは思うけどRegExはない
0953デフォルトの名無しさん2016/05/07(土) 16:11:00.79ID:doNSv0Rb
Regexで一つの単語だって扱いなんじゃない
たしか.NETの命名規則では短縮系は原則禁止のはずだから
0954デフォルトの名無しさん2016/05/28(土) 22:25:01.93ID:pXEQQ7B+
VBを学習するのによい参考書おしえてください
プログラミングから初心者です
0955デフォルトの名無しさん2016/05/28(土) 22:27:14.05ID:mtai33Zs
仕事じゃないならC#やった方がいい
本も良いのが多い
0956デフォルトの名無しさん2016/05/28(土) 22:33:24.06ID:lbEynTHU
VBの本はコピペ用サンプルコード集ばっかり
酷いのはVBにオブジェクト指向は要らんとか堂々と書いてたりして目を疑う
C#やればVBも使えるからC#のほうがいいよ
0957デフォルトの名無しさん2016/05/28(土) 23:17:01.18ID:bLk2LQbR
答えになってないな
0958デフォルトの名無しさん2016/05/29(日) 00:26:56.09ID:ep3mCIXu
>>954
そういうのは自分で大型書店に行って立ち読みしてみて気に入ったのを買うのが一番
または、ネットで本を調べてレビューとか見て良さそうだと思うのを買う

どの本が良いかは人によって違うから自分で探すのが一番
0959デフォルトの名無しさん2016/05/29(日) 00:55:45.63ID:DYRgDF3k
大型書店は都会に行かないと無いでしょう。
都会に行くには船で一日かかりますよ。
帰りもまた一日ですよ。
0960デフォルトの名無しさん2016/05/29(日) 10:56:58.70ID:tvzCZHQV
VB.NETの本って実際チュートリアルとサンプル集ばかりで
C#みたいな体系的な解説書ってほとんど無いから、本の良し悪しってあんまり問題にならない気がするけどな
本で扱ってるネタが自分の目的に合ってるかどうかだけだ
0961デフォルトの名無しさん2016/05/29(日) 16:22:48.48ID:H7nvrqJw
VBってうんこなの?みんなC#やっちゃうの?
0962デフォルトの名無しさん2016/05/29(日) 18:56:32.19ID:8+EEPboG
できることほとんど同じだし、
どっちでもいいんじゃね?
0963デフォルトの名無しさん2016/05/29(日) 18:59:31.09ID:S0B21gx/
VBしかできないやつはうんこなのは確か
C#がいいのはJavaやC++など言語増やしやすいところ
0964デフォルトの名無しさん2016/05/29(日) 19:29:13.43ID:GTS7K4/T
C#とC++は全くの別物だし
C#やってる奴が今更JAVAでStrutsとかやったりするのか?
0965デフォルトの名無しさん2016/06/01(水) 14:33:57.65ID:/H/kSwpR
vb.netのコンソールのコンソールアプリケーションで

Dim i As Integer

For i = 1 To 5 Step 1

Console.WriteLine(i)

Next

Console.ReadKey()

と書いて出力すると

1
2
3
4
5


と勝手に改行されてしまいます、例えばC言語なら「\nもしくは/n」と自ら書かないと改行されません
結果を改行しないで表示するにはどうしたらいいですか?

1 2 3 4 5

↑このように
0966デフォルトの名無しさん2016/06/01(水) 14:42:31.47ID:FbOedO1u
>>965
msdn読めよ
0967デフォルトの名無しさん2016/06/01(水) 15:06:55.74ID:21ed6GSa
Console.WriteLine
0968デフォルトの名無しさん2016/06/01(水) 15:08:55.12ID:ENXCYRNH
>>965
'改行されない
Console.Write(i)

'改行される
'Console.WriteLine(i);
0969デフォルトの名無しさん2016/06/01(水) 15:10:15.20ID:ENXCYRNH
>>966-967
質問スレでヒント()とか言ってるおバカさんは教師にでもなってそこでやってください邪魔です
0970デフォルトの名無しさん2016/06/01(水) 20:11:14.56ID:1u9XxWLO
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim ts As ThreadStart = New ThreadStart(AddressOf runrun)
Dim th As List(Of Thread) = New List(Of Thread)
For i = 0 To 19
th.Add(New Thread(ts))
Next
For Each t In th
t.Start()
Next
End Sub
Sub runrun()
Console.WriteLine("らんらん")
While (1)
End While
End Sub

runrunのwhile有り無しでらんらん全部表示されるまでに物凄い差が出るんだけどどうにかならないの
taskでも同じ感じなんだが
0971デフォルトの名無しさん2016/06/01(水) 20:36:17.82ID:DAAY7kcB
釣りにマジレスしてしまった
0972デフォルトの名無しさん2016/06/01(水) 20:48:49.13ID:tYb+W4Zg
>>966-969
ありがとうございます、"Console.Write"で改行されなとは知りませんでした
お礼にこれあげます

Dim i, j As Integer
Dim n As Integer
n = Console.ReadLine

For i = 1 To n Step 1
For j = 1 To i Step 1
Console.Write("x")
Next
Console.WriteLine(" ")
Next

VB.netでもこんなことできるんだから、
一生懸命C言語を学んでる友達やクラスメイトに、これで自慢できます
0973デフォルトの名無しさん2016/06/01(水) 22:01:19.10ID:IfpgImxc
>>970
「らんらん」の後に「るー」付けてないからじゃないの?
0974デフォルトの名無しさん2016/06/04(土) 18:15:23.88ID:YF/88fZM
ローカルウィンドウでの日付表記を
月日年 AM/PM
から
年月日 24時間
に変更する方法があれば
教えてください。
0975デフォルトの名無しさん2016/06/11(土) 20:16:20.55ID:huiKwjL5
1時間て何秒かしら
タイマーコントロールがミリ秒だからわけわかめ
0976デフォルトの名無しさん2016/06/11(土) 20:18:36.04ID:huiKwjL5
Timer1.Interval = 1時間
て書けないわけだから
0977デフォルトの名無しさん2016/06/11(土) 21:40:50.51ID:YLYKZstD
それぐらい計算しろよ・・・
0978デフォルトの名無しさん2016/06/11(土) 23:59:05.99ID:celar2Hd
>>975-976
1時間=60分=3600秒=3,600,000ミリ秒

>>977
馬鹿はスルーもしくは答える
間をとって煽るのは愚の骨頂
0979デフォルトの名無しさん2016/06/12(日) 07:42:28.64ID:U7frteGo
もうこれでやるわ おまえらクーズ
Timer1.Interval = 1000
dim i1 as integer
i1 = (Textbox1.Text*60*60 + Textbox2.Text*60 + Textbox3.Text)
0980デフォルトの名無しさん2016/06/12(日) 12:45:49.92ID:Vtz8L5dR
>>979
>>978で答えたのに礼もなしとは
どんな親に育てられたんだ?
親の顔がみたい
0981デフォルトの名無しさん2016/06/12(日) 13:24:47.01ID:0s/IbFUp
質問の段階で頭おかしいのは分かってるじゃん
0982デフォルトの名無しさん2016/06/12(日) 19:42:37.75ID:wJ9RNQRX
産まれる前の段階で気付いてやれなかったのかなぁ
そうすれば堕ろすて選択肢もあったのに
0983デフォルトの名無しさん2016/06/13(月) 11:27:45.48ID:p7XUrl5t
VB絡みほんとやだ
根本的に体質が古くて毎回炎上しながらも、他に何もできないから変えられない
そんなゴミ会社ばっかり
0984デフォルトの名無しさん2016/06/13(月) 12:40:23.23ID:vI+KOtmV
>>979
天才
0985デフォルトの名無しさん2016/06/14(火) 15:28:28.27ID:BYuQZtrs
落ちるで
0986デフォルトの名無しさん2016/06/14(火) 22:35:26.38ID:+tutUBR7
うめ
0987デフォルトの名無しさん2016/06/15(水) 02:59:12.32ID:8a6IN7Hg
梅
0988デフォルトの名無しさん2016/06/15(水) 04:00:37.77ID:DO6EJe94
終了
0989デフォルトの名無しさん2016/06/15(水) 11:22:49.47ID:26dm7nlp
雨
0990デフォルトの名無しさん2016/06/15(水) 11:42:05.65ID:9eV3efFp
VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465958469/
0991デフォルトの名無しさん2016/06/15(水) 12:04:02.88ID:6LrjeIzy
>>990
乙
0992デフォルトの名無しさん2016/06/15(水) 17:15:37.43ID:yPiEAEc9
おつ
0993デフォルトの名無しさん2016/06/15(水) 17:38:06.60ID:yPiEAEc9
うめ
0994デフォルトの名無しさん2016/06/15(水) 23:12:25.53ID:UyoJgWin
梅
0995デフォルトの名無しさん2016/06/16(木) 08:27:49.02ID:7JmNnxo6
毒
0996デフォルトの名無しさん2016/06/16(木) 11:27:12.81ID:5ApX6GC7
雨
0997デフォルトの名無しさん2016/06/16(木) 12:06:20.98ID:cHK7lzHs
うめ
0998デフォルトの名無しさん2016/06/16(木) 13:01:57.07ID:eiRfHXmN
VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1465958469/
0999デフォルトの名無しさん2016/06/17(金) 00:43:28.61ID:YtR2jfkV
999
1000デフォルトの名無しさん2016/06/17(金) 00:44:19.38ID:YtR2jfkV
1000
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 543日 7時間 53分 40秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。