前スレ
VB.NET質問スレ(Part40)
http://toro.2ch.net/test/read.cgi/tech/1365857015/
VB.NET質問スレ(Part41)
http://peace.2ch.net/test/read.cgi/tech/1391334405/
VB.NET質問スレ(Part42)
http://echo.2ch.net/test/read.cgi/tech/1419148239/
VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2016/06/15(水) 11:41:09.50ID:bPj3FmGk572デフォルトの名無しさん
2017/05/17(水) 00:24:15.90ID:twHUlOTr 将来的な需要のある言語なんて誰もわからないし、
この業界は進化(変化)が激しいから、最初に何やろうがあんまり関係ない
この業界は進化(変化)が激しいから、最初に何やろうがあんまり関係ない
573デフォルトの名無しさん
2017/05/17(水) 00:33:30.94ID:nkA0vPpB 言語の差異なんて無いも同じ
574デフォルトの名無しさん
2017/05/17(水) 00:49:58.60ID:8AQDyWzi >>571
最初にvbを触るのはまずいのでしょうか?
最初にvbを触るのはまずいのでしょうか?
575デフォルトの名無しさん
2017/05/17(水) 00:52:28.59ID:aIm9uZNt 最初に.NETから学ぶって割とめんどくさそう
いや、逆に素直に受け入れられるのか?
いや、逆に素直に受け入れられるのか?
576デフォルトの名無しさん
2017/05/17(水) 08:42:43.96ID:s+0/QlSg577デフォルトの名無しさん
2017/05/17(水) 12:15:26.26ID:omyPvYqj578デフォルトの名無しさん
2017/05/17(水) 16:57:22.28ID:8AQDyWzi579デフォルトの名無しさん
2017/05/17(水) 17:04:37.53ID:8AQDyWzi >>577
その企業は地元で自社内開発をしている会社で教育体制も整っている会社なので
自分としてはすごくポイントが高いんですが、使う言語がVBだけというのが不安で踏み切れずにいます
将来を考えるのであれば都内の客先常駐系で経験を積んでいく方が良いのでしょうか・・
その企業は地元で自社内開発をしている会社で教育体制も整っている会社なので
自分としてはすごくポイントが高いんですが、使う言語がVBだけというのが不安で踏み切れずにいます
将来を考えるのであれば都内の客先常駐系で経験を積んでいく方が良いのでしょうか・・
580デフォルトの名無しさん
2017/05/17(水) 17:29:07.25ID:7qQt36O1 VB使ったら頭悪くなるとかありえんけど、まあ、
企業が何であえてC#じゃなくてVB使ってるのかは気になるところではあるね。
何にしろ、冷たいようだけど自分の人生は自分で考えるしかないよw
誰にとっても地雷の会社はあっても誰にとってもよい会社なんてないし。
企業が何であえてC#じゃなくてVB使ってるのかは気になるところではあるね。
何にしろ、冷たいようだけど自分の人生は自分で考えるしかないよw
誰にとっても地雷の会社はあっても誰にとってもよい会社なんてないし。
581デフォルトの名無しさん
2017/05/17(水) 17:37:37.24ID:7qQt36O1 ちなみに、俺の前の会社もVB使ってたけど、
.NET以前はVB6使ってたから.NET移行時にVBの方が容易だろうってことで決めたようだったね。
さすがに2008になってあまりにC#と差がついちゃったんでC#に変えてもらったけど
.NET以前はVB6使ってたから.NET移行時にVBの方が容易だろうってことで決めたようだったね。
さすがに2008になってあまりにC#と差がついちゃったんでC#に変えてもらったけど
582デフォルトの名無しさん
2017/05/17(水) 17:43:17.70ID:TNF12pwP VB使っているところはVB6からの流れが大部分だと思うよ
おそらく学習コストと意欲の問題で単純に移行する気がないだけ
今はVBもC#も隔たりがなくなってきたからどっちでもいいと思うけど
新たに始めるならC#のほうが優位だよね
おそらく学習コストと意欲の問題で単純に移行する気がないだけ
今はVBもC#も隔たりがなくなってきたからどっちでもいいと思うけど
新たに始めるならC#のほうが優位だよね
583デフォルトの名無しさん
2017/05/17(水) 17:52:12.92ID:OyAwlGYD 言語なんて一つ極めれば他の言語は応用でかなり対応可能
現在のVBとC#なら方言の違いみあいなものだから、この二択なら悩むことない
そもそも仕事以外でスキル向上すればいいだけだし
現在のVBとC#なら方言の違いみあいなものだから、この二択なら悩むことない
そもそも仕事以外でスキル向上すればいいだけだし
584デフォルトの名無しさん
2017/05/17(水) 20:19:44.74ID:G7cUCqPy >>583
極めてない人がそういう事言っても全然説得力ないですけど
極めてない人がそういう事言っても全然説得力ないですけど
585デフォルトの名無しさん
2017/05/17(水) 21:54:55.30ID:nkA0vPpB でも言語なんて微々たるものだよ。ほんと。
586デフォルトの名無しさん
2017/05/17(水) 22:19:06.68ID:8AQDyWzi >>583
自分初学者であまり詳しくないのですがプログラミング言語というのは
細かい部分はそれぞれの言語で違うけど大部分はどの言語も共通して似たようなものだから
一つを極めてしまえば、他の言語を新たに学ぶときもさほど苦労はしない、という解釈でいいですか?
自分初学者であまり詳しくないのですがプログラミング言語というのは
細かい部分はそれぞれの言語で違うけど大部分はどの言語も共通して似たようなものだから
一つを極めてしまえば、他の言語を新たに学ぶときもさほど苦労はしない、という解釈でいいですか?
587デフォルトの名無しさん
2017/05/18(木) 00:47:49.89ID:d+oDyp66 スッキリわかる Java入門 第2版、2014
この本を3回読めば、C# も出来るようになる
たのしいRuby 第5版、2016
この本を3回読めば、Python, JavaScript, Groovy も出来るようになる
この2冊が、言語の基本
この本を3回読めば、C# も出来るようになる
たのしいRuby 第5版、2016
この本を3回読めば、Python, JavaScript, Groovy も出来るようになる
この2冊が、言語の基本
588デフォルトの名無しさん
2017/05/18(木) 06:40:38.38ID:wJMhN+ja589デフォルトの名無しさん
2017/05/18(木) 08:20:41.04ID:XKGRIOOr >>585
そうだね、フレームワークだよね
そうだね、フレームワークだよね
590デフォルトの名無しさん
2017/05/18(木) 08:48:18.90ID:ewg+OcMq 客先常駐で技術を磨ける人材なら独学でも勉強できるでしょうね
591デフォルトの名無しさん
2017/05/18(木) 13:45:59.05ID:MLJ8qicI VBとC#でどっちを勉強するか迷ってVBAにも流用出来そうだからと結局VBに
WPF始めた途端、C#に止む無く移行
英語ペラペラならVBでも行けると思うが、出来ないならC#だな〜
参考になるサイトや文献の量が違いすぎる
WPF始めた途端、C#に止む無く移行
英語ペラペラならVBでも行けると思うが、出来ないならC#だな〜
参考になるサイトや文献の量が違いすぎる
592デフォルトの名無しさん
2017/05/18(木) 16:01:42.18ID:oyKD852L 両方やってるけど、方言レベルの違いで、VBもC#も大差ないと思うが
593デフォルトの名無しさん
2017/05/18(木) 16:32:58.22ID:W1XXuHc6 C#とVB.NETがアメリカ英語とイギリス英語ならVBAはラテン語ぐらいの印象
594デフォルトの名無しさん
2017/05/18(木) 16:36:10.78ID:M49g2Wb7 VBAはVB6系だから別物と考えるべき
595デフォルトの名無しさん
2017/05/18(木) 16:51:57.80ID:oyKD852L 変数宣言はVBのほうが個人的にはシックリくるかな
型が先ってのが、どうも嫌。
あと、宣言して即座にnewするとき、VBのほうがキレイだと思う
全体的にC#のほうがコード量(横も縦も)が増える感じが。
型が先ってのが、どうも嫌。
あと、宣言して即座にnewするとき、VBのほうがキレイだと思う
全体的にC#のほうがコード量(横も縦も)が増える感じが。
596デフォルトの名無しさん
2017/05/18(木) 17:09:43.50ID:3vEckYLB C#もvarができてからnew代入の記述は楽になったと思うが
597デフォルトの名無しさん
2017/05/18(木) 17:17:20.68ID:M49g2Wb7 コード量はC#のほうが少なくない?
VBのラムダ式はもうちょいシンプルにならないのかね
VBのラムダ式はもうちょいシンプルにならないのかね
598デフォルトの名無しさん
2017/05/18(木) 17:31:42.82ID:oyKD852L ああ、俺はVBのときはWITHを頻繁に使うから、かなり短くなってるのか
for() はC#のほうが好きだが
for() はC#のほうが好きだが
599デフォルトの名無しさん
2017/05/18(木) 18:48:43.60ID:XKGRIOOr >>592
リファレンスの量と質が比べ物にならない
リファレンスの量と質が比べ物にならない
600デフォルトの名無しさん
2017/05/18(木) 19:15:11.40ID:fpMTuU/5 ラムダ式にFunction()とかふざけてんのかねホントに
VBとPHPくらいだろそんなの
VBとPHPくらいだろそんなの
601デフォルトの名無しさん
2017/05/18(木) 20:07:13.03ID:ewg+OcMq あのFunctionは辛いわ
アロー式で書かせて欲しい
リファレンスは何で書かれててもあんまり気にならないかな
どっちみちやること変わらないし
アロー式で書かせて欲しい
リファレンスは何で書かれててもあんまり気にならないかな
どっちみちやること変わらないし
602デフォルトの名無しさん
2017/05/18(木) 20:50:17.90ID:nv0hNXKv .NET Core対応もC#に比べて周回遅れだけどな
603デフォルトの名無しさん
2017/05/18(木) 22:25:51.82ID:anTKPcsr 2008の段階でVBに失望してC#に乗り換えた人は多いと思う
俺もその一人
俺もその一人
604デフォルトの名無しさん
2017/05/18(木) 22:37:32.52ID:TOOzSAi+ >>598
今時C#でforなんて滅多に使わないだろ
今時C#でforなんて滅多に使わないだろ
605デフォルトの名無しさん
2017/05/18(木) 23:13:32.29ID:anTKPcsr606デフォルトの名無しさん
2017/05/18(木) 23:24:37.27ID:mhJy8/8/ LINQ使えばループの8割はなくせる
607デフォルトの名無しさん
2017/05/19(金) 07:11:56.81ID:7jd4CUxw ループは悪なの?
LINQが高速ならいいけど必ずしもそうじゃないし
LINQが高速ならいいけど必ずしもそうじゃないし
608デフォルトの名無しさん
2017/05/19(金) 07:37:40.76ID:1J7G/w2H そういうことはDataTable遊びをやめてから言いなさい
609デフォルトの名無しさん
2017/05/19(金) 07:43:19.13ID:mm1qRo/S >>607
ループが悪なのではなく、LINQが選択肢にすら上がらないプログラマーが悪なのです
速度にこだわりたいならforでいい
が、それだと極端な話ForEachも使うなという話になってくる
かのドナルド・クヌース氏の言うように「早まった最適化は諸悪の根源だ」と考えるべき
チューニングはボトルネックが判明してからでも遅くはないさ
ループが悪なのではなく、LINQが選択肢にすら上がらないプログラマーが悪なのです
速度にこだわりたいならforでいい
が、それだと極端な話ForEachも使うなという話になってくる
かのドナルド・クヌース氏の言うように「早まった最適化は諸悪の根源だ」と考えるべき
チューニングはボトルネックが判明してからでも遅くはないさ
610デフォルトの名無しさん
2017/05/19(金) 07:46:02.97ID:s/1/vL0B ループでいいものをなんでもLINQ使いたがる事が早まった最適化なんだけどな
611デフォルトの名無しさん
2017/05/19(金) 08:26:08.97ID:mm1qRo/S 手続き型と宣言型の論争は泥沼になるからしない
LINQを早まった最適化としてループにするならそれはそれで良し
天秤にかける以前に、そもそもLINQを知らない現場コーダーが珍しくないのが問題
LINQっつーか新しい知識に対する貪欲さが薄い人が多い気もしなくもない
LINQを早まった最適化としてループにするならそれはそれで良し
天秤にかける以前に、そもそもLINQを知らない現場コーダーが珍しくないのが問題
LINQっつーか新しい知識に対する貪欲さが薄い人が多い気もしなくもない
612デフォルトの名無しさん
2017/05/19(金) 09:10:35.90ID:2M/fCFGg VB派だけど
.Net Coreでは思い切ってVBをC#に吸収合併してほしかったな
そうすればC#に移行するいい機会になったのに
.Net Coreでは思い切ってVBをC#に吸収合併してほしかったな
そうすればC#に移行するいい機会になったのに
613デフォルトの名無しさん
2017/05/19(金) 09:51:55.88ID:Lc2EAn7e >>612
さっさと移行しろよ
さっさと移行しろよ
614デフォルトの名無しさん
2017/05/19(金) 12:26:17.96ID:RFDTxagh >>611
現実の仕事では枝葉末節の知識にばかり興味が向かってるお前みたいな奴の方が問題になるんだよ
現実の仕事では枝葉末節の知識にばかり興味が向かってるお前みたいな奴の方が問題になるんだよ
615デフォルトの名無しさん
2017/05/19(金) 15:53:59.68ID:v0+FkJJm 味噌もクソも{}なC系が死ぬ程嫌い
616デフォルトの名無しさん
2017/05/19(金) 16:05:54.15ID:dgLRkGLJ617デフォルトの名無しさん
2017/05/19(金) 16:23:11.75ID:8B2hIZ69 LINQで完結するのもないとは言えないが
基本ループだけど、細かい分岐条件がある、って要件である場合が殆どだと思うが
if 使ってもいいのに、やたら三項演算子に拘る人に通じるものがあるな
自分の書いたコードを少しでも難読化させたい的な
(それが自分の技術力のアピールにもなると勘違いしてる系)
基本ループだけど、細かい分岐条件がある、って要件である場合が殆どだと思うが
if 使ってもいいのに、やたら三項演算子に拘る人に通じるものがあるな
自分の書いたコードを少しでも難読化させたい的な
(それが自分の技術力のアピールにもなると勘違いしてる系)
618デフォルトの名無しさん
2017/05/19(金) 16:31:54.25ID:v0+FkJJm >>616
最初はFortran次はRPG3でVBA→VB.net
最初はFortran次はRPG3でVBA→VB.net
619デフォルトの名無しさん
2017/05/19(金) 16:33:15.79ID:v0+FkJJm >>617
そそ、Cのソース読むと気が滅入る
そそ、Cのソース読むと気が滅入る
620デフォルトの名無しさん
2017/05/19(金) 17:06:30.97ID:NdGHW7/K621デフォルトの名無しさん
2017/05/19(金) 22:16:34.69ID:vtwwYXhB configに定義してあるEndponintBehaviorをコードで取得する方法ってありますでしょうか?
622デフォルトの名無しさん
2017/05/24(水) 10:58:45.42ID:0w0qPph2623デフォルトの名無しさん
2017/05/25(木) 21:57:23.53ID:LUQcs+si Listクラスとかのインデクサって独自のクラスで実装できますか?
624デフォルトの名無しさん
2017/05/26(金) 01:10:06.22ID:t9Hdpjhx >>623
list(0) とか list.Item(0) ってできるようにしたいってことなら既定のプロパティ
https://msdn.microsoft.com/ja-jp/library/az06zx4y(v=vs.90).aspx
list(0) とか list.Item(0) ってできるようにしたいってことなら既定のプロパティ
https://msdn.microsoft.com/ja-jp/library/az06zx4y(v=vs.90).aspx
625デフォルトの名無しさん
2017/05/27(土) 11:03:02.04ID:/Ok7KXq3 PDFに枠線付きの表形式で記載されている商品情報(列は商品番号, 名称, 規格, 金額, メーカー名)があり、
そのPDFを読み込みファイルとして指定した結果をDataGridView等で表示し編集したいのですが、
それに特化したライブラリ等ご存知の方いらっしゃいますか?
そのPDFを読み込みファイルとして指定した結果をDataGridView等で表示し編集したいのですが、
それに特化したライブラリ等ご存知の方いらっしゃいますか?
626デフォルトの名無しさん
2017/05/30(火) 06:27:02.32ID:lON7Raep エスペラント言語もあるらしい
627デフォルトの名無しさん
2017/06/02(金) 06:06:39.11ID:F2C57ZnU LANでつながってる別のパソコンのハードデスクの空き容量取得できないのかしら
628デフォルトの名無しさん
2017/06/02(金) 06:53:59.92ID:SPpZD+rV win32-opensshみたいなの使えば
629デフォルトの名無しさん
2017/06/02(金) 08:10:06.98ID:9EW2KNON >>627
wmi
wmi
630デフォルトの名無しさん
2017/06/02(金) 19:24:24.23ID:F2C57ZnU それらのキーワードで検索してみるね
631デフォルトの名無しさん
2017/06/30(金) 01:41:21.87ID:48mZ6WIP 質問させてください。
ある有償の印刷ツールを使用し、帳票のプレビュー画面、印刷処理を実装しようとしています。
フォームから印刷用の処理(フォルダの取得とか)を行うクラスファイルを呼び出し、クラスファイル内で帳票ツールを参照しイベントを紐付けてプレビュー画面を表示することが出来ました。
しかし、クラスファイル内でプレビュー画面から印刷処理後、オブジェクト参照がインスタンスに設定されてない、とエラーになりました。
プレビュー表示、印刷処理のイベント自体はクラスファイルにイベントを紐付けてあります。
プレビューから印刷ボタン押下時、紐付けた印刷処理のイベントを呼び出し、プレビュー画面はクローズするようにしています。
(プレビュー画面はクローズしなければ、オブジェクト〜のエラーにはなりません)
クラスファイル内で紐付けたイベントをクローズした場合、クラスファイルごと強制終了?してしまうのでしょうか…
初心者で考えが回らず、困っています…誰か助けていただけませんでしょうか
ある有償の印刷ツールを使用し、帳票のプレビュー画面、印刷処理を実装しようとしています。
フォームから印刷用の処理(フォルダの取得とか)を行うクラスファイルを呼び出し、クラスファイル内で帳票ツールを参照しイベントを紐付けてプレビュー画面を表示することが出来ました。
しかし、クラスファイル内でプレビュー画面から印刷処理後、オブジェクト参照がインスタンスに設定されてない、とエラーになりました。
プレビュー表示、印刷処理のイベント自体はクラスファイルにイベントを紐付けてあります。
プレビューから印刷ボタン押下時、紐付けた印刷処理のイベントを呼び出し、プレビュー画面はクローズするようにしています。
(プレビュー画面はクローズしなければ、オブジェクト〜のエラーにはなりません)
クラスファイル内で紐付けたイベントをクローズした場合、クラスファイルごと強制終了?してしまうのでしょうか…
初心者で考えが回らず、困っています…誰か助けていただけませんでしょうか
632デフォルトの名無しさん
2017/06/30(金) 02:08:26.20ID:48mZ6WIP もしかしてなのですが、プレビュー画面はクラスファイルのファンクション内で、帳票ツールのイベントを呼び出して表示しています。
しかし印刷処理は帳票ツールのボタン押下イベントとして、イベントハンドラを追加してクラスファイル内に新しいメソッドとして追加しています。
ということは、もしや帳票プレビュー画面から印刷処理を呼び出した時点でクラスファイル自体は終了状態でしょうか?
しかし印刷処理は帳票ツールのボタン押下イベントとして、イベントハンドラを追加してクラスファイル内に新しいメソッドとして追加しています。
ということは、もしや帳票プレビュー画面から印刷処理を呼び出した時点でクラスファイル自体は終了状態でしょうか?
633デフォルトの名無しさん
2017/06/30(金) 09:43:37.93ID:IHXr7yJD 終了状態とかはNullReferenceExceptionの範疇ではない
デバッガで動かしてたら例外出た時点でブレイクして例外出たところが表示されるだろ
何がNothingになってるのか自動変数ウィンドウとかで確認
デバッガで動かしてたら例外出た時点でブレイクして例外出たところが表示されるだろ
何がNothingになってるのか自動変数ウィンドウとかで確認
634デフォルトの名無しさん
2017/07/01(土) 08:40:56.50ID:ollNq+8F >631
オブジェクトモデルしだい
製品名からエスパーしろってことか
有償製品ならサポートあるだろ
オブジェクトモデルしだい
製品名からエスパーしろってことか
有償製品ならサポートあるだろ
635デフォルトの名無しさん
2017/07/01(土) 19:31:57.59ID:C2aergYE テキストファイルの読み込みとフォルダ一覧取得とファイル一覧取得
をネットで調べてコピペして
またしばらくして忘れて調べてコピペ
するを繰り返して20年経ってこれらしか知識が付かない場合なにすれば
をネットで調べてコピペして
またしばらくして忘れて調べてコピペ
するを繰り返して20年経ってこれらしか知識が付かない場合なにすれば
636デフォルトの名無しさん
2017/07/02(日) 16:34:48.54ID:9DLOI7U5 別にいいんじゃね
また必要になった時に、検索してコピペすればいいんだから
また必要になった時に、検索してコピペすればいいんだから
637デフォルトの名無しさん
2017/07/02(日) 18:42:08.87ID:zwMqZWEJ 俺も、ネットがないころは本を買って熟読して覚えたけど
今はネットからコピペしちゃうから全然覚えられない罠
今はネットからコピペしちゃうから全然覚えられない罠
638デフォルトの名無しさん
2017/07/04(火) 22:14:09.77ID:GXfrM+Il コピペした内容を、全て理解して貼り付けてるならよいけど、
理解せず動いたからヨシにしている場合はマズイ
理解せず動いたからヨシにしている場合はマズイ
639デフォルトの名無しさん
2017/07/05(水) 12:17:30.14ID:dDvBznZA 必要なのは「どう動く」かであり
「なぜ動く」かではない
「なぜ動く」かではない
640デフォルトの名無しさん
2017/07/05(水) 12:24:50.13ID:30GSgs4R 質問掲示板で解答者がソース貼ると怒るやついるしなw
「為にならない」って
質問者は「お勉強」しに来てるんじゃねーんだよw
「為にならない」って
質問者は「お勉強」しに来てるんじゃねーんだよw
641デフォルトの名無しさん
2017/07/05(水) 13:05:46.49ID:x7acWd9B642デフォルトの名無しさん
2017/07/07(金) 08:13:36.41ID:6HogV9Gz643デフォルトの名無しさん
2017/07/13(木) 08:42:34.68ID:a1NtUvmB プロジェクトで使用するVBのバージョンってどうやって決まるんですか?
同じプロジェクト内でも、.vbではvb14の機能が使えるのに、.vbhtmlで使おうとするとvb12ではサポートされていません、って表示されてしまいます。
同じプロジェクト内でも、.vbではvb14の機能が使えるのに、.vbhtmlで使おうとするとvb12ではサポートされていません、って表示されてしまいます。
644デフォルトの名無しさん
2017/07/17(月) 02:43:13.91ID:Sjiy0WuF 質問です。DataTableの値をList型のクラスに変換したいです。クラスは別のクラスのインスタンスを保持していて、その別のクラスのフィールドに値をセットしたいです。どういうやり方が一般的ですか。
645デフォルトの名無しさん
2017/07/17(月) 10:24:00.76ID:W+Dn0UEX 地道に書く
汎用的にしたいなら列名とプロパティ名を同じにしてPropertyInfoを見ながら回す
汎用的にしたいなら列名とプロパティ名を同じにしてPropertyInfoを見ながら回す
646デフォルトの名無しさん
2017/07/17(月) 11:23:52.04ID:nd0ZPw8t VB2010でのバイナリファイルの書き込みについての質問です
ある構造体の配列変数Record()をFileOpenとFilePutを使って
N:ファイル番号
SaveFileName:ダイアログで取得した出力ファイル名
RecordSize:配列のサイズ
N = FreeFile()
FileOpen(N, SaveFileName, OpenMode.Binary, OpenAccess.Write, OpenShare.LockReadWrite)
Seek(OpenFileNumber, 1)
For i As Long = 0 To RecordSize
FilePut(N, Record(i))
Next
FileClose(N)
といった感じで実装しています(実際にはエラー処理のためTry〜End Tryの中に記述)
通常はこの処理で問題ないんですが、既に存在しているファイルに上書きしようとした場合、既存のファイルが上書きしようとする
ファイルよりも大きいと、余った分のサイズが上書きされず前の古いファイルの内容が残ってしまいます
上書き時に既に存在するファイルを完全に置き換える(つまり古いファイルは消える)にはどうすればいいのでしょうか?
ファイルをオープンする前にSaveFileNameに該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・
ある構造体の配列変数Record()をFileOpenとFilePutを使って
N:ファイル番号
SaveFileName:ダイアログで取得した出力ファイル名
RecordSize:配列のサイズ
N = FreeFile()
FileOpen(N, SaveFileName, OpenMode.Binary, OpenAccess.Write, OpenShare.LockReadWrite)
Seek(OpenFileNumber, 1)
For i As Long = 0 To RecordSize
FilePut(N, Record(i))
Next
FileClose(N)
といった感じで実装しています(実際にはエラー処理のためTry〜End Tryの中に記述)
通常はこの処理で問題ないんですが、既に存在しているファイルに上書きしようとした場合、既存のファイルが上書きしようとする
ファイルよりも大きいと、余った分のサイズが上書きされず前の古いファイルの内容が残ってしまいます
上書き時に既に存在するファイルを完全に置き換える(つまり古いファイルは消える)にはどうすればいいのでしょうか?
ファイルをオープンする前にSaveFileNameに該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・
647デフォルトの名無しさん
2017/07/17(月) 17:10:54.57ID:wHgHyCIS さすがにVB使ってる人でもVB6の互換関数とか使ってる人はほとんどいないと思うw
まあ、構造体がそのまま読み書きできて便利かもしれないけど、
ググれば構造体とbyte()を相互変換する方法が出てくるから、
それを使ってSystem.IO使って書き直した方がいいと思うよw
まあ、構造体がそのまま読み書きできて便利かもしれないけど、
ググれば構造体とbyte()を相互変換する方法が出てくるから、
それを使ってSystem.IO使って書き直した方がいいと思うよw
648デフォルトの名無しさん
2017/07/17(月) 20:33:05.87ID:nd0ZPw8t >>647
構造体配列とByte配列の相互変換については調べたんですが、マーシャリング云々が
自分の頭ではさっぱり理解できず・・・
もし分かりやすく解説しているサイト等があれば教えていただけないでしょうか?
構造体配列とByte配列の相互変換については調べたんですが、マーシャリング云々が
自分の頭ではさっぱり理解できず・・・
もし分かりやすく解説しているサイト等があれば教えていただけないでしょうか?
649デフォルトの名無しさん
2017/07/18(火) 00:51:59.63ID:H1lIICB/ >>648
(1) CopyMemoryを使う
(2) VBFixedArray属性 とFieldOffset属性を使う(要は共用体にする)
(2) は本当に可能かどうか知らない。
(1)は実際にやったことあるしググればいくらでも実例出てくると思う。
構造体⇔Byte()だけではなく構造体の配列⇔Byte()も可能だし、こっちの方がいいかもね。
(1) CopyMemoryを使う
(2) VBFixedArray属性 とFieldOffset属性を使う(要は共用体にする)
(2) は本当に可能かどうか知らない。
(1)は実際にやったことあるしググればいくらでも実例出てくると思う。
構造体⇔Byte()だけではなく構造体の配列⇔Byte()も可能だし、こっちの方がいいかもね。
650デフォルトの名無しさん
2017/07/26(水) 03:35:26.71ID:KTzuPZab >>646
createで開くって話か?
createで開くって話か?
651デフォルトの名無しさん
2017/08/02(水) 03:00:44.42ID:o3i3NFtL '100行書く
For i = 0 to 100
TextBox1.Text = "VB最強"
Next
For i = 0 to 100
TextBox1.Text = "VB最強"
Next
652デフォルトの名無しさん
2017/08/02(水) 05:01:09.39ID:UeTQYFNL 1行を101回表示しただけじゃね
653デフォルトの名無しさん
2017/08/02(水) 05:02:39.91ID:UeTQYFNL 結果も1行
654デフォルトの名無しさん
2017/08/02(水) 07:31:10.86ID:fmM7k/7g655デフォルトの名無しさん
2017/08/02(水) 10:19:07.91ID:jFyOk7N2 for (i=1;i<=1000;i++) {
fprintf(stdaux,"はじめてのC\n");
}
fprintf(stdaux,"はじめてのC\n");
}
656デフォルトの名無しさん
2017/08/12(土) 03:55:33.25ID:rOvfQBTy なぜc
657デフォルトの名無しさん
2017/08/12(土) 06:59:23.82ID:ZsmIO1UY カウンタ用の変数に、i、j、k、l、m、nを使う奴はFortrun出身者
658デフォルトの名無しさん
2017/08/12(土) 07:50:18.44ID:nw4NiEuS FORmula TRANslation な
659デフォルトの名無しさん
2017/08/12(土) 11:40:48.61ID:QjNv8My6 dictionary ( of integer, string) のofってなんですか?
660デフォルトの名無しさん
2017/08/12(土) 15:40:30.15ID:SMcEF66V https://msdn.microsoft.com/ja-jp/library/067b2z78(v=vs.90).aspx
>Of 句を使用すると、ジェネリックであるクラス、構造体、インターフェイス、デリゲート、またはプロシージャに型パラメータを定義できます。
>Of 句を使用すると、ジェネリックであるクラス、構造体、インターフェイス、デリゲート、またはプロシージャに型パラメータを定義できます。
661デフォルトの名無しさん
2017/08/12(土) 15:52:11.54ID:s2RcRfJ5662デフォルトの名無しさん
2017/08/12(土) 16:34:44.28ID:JUbLQ1BA 型よ
663デフォルトの名無しさん
2017/08/12(土) 17:45:48.24ID:ZsmIO1UY >>661
後発薬品?
後発薬品?
664デフォルトの名無しさん
2017/08/12(土) 20:14:41.43ID:QjNv8My6 前の引数だけOFが付いてるのは何故なんだろう?
665デフォルトの名無しさん
2017/08/12(土) 20:37:36.82ID:QjNv8My6 >660
良い資料ありがとう。意味わかりました。ofは両方の引数にかかるんだ。
良い資料ありがとう。意味わかりました。ofは両方の引数にかかるんだ。
666デフォルトの名無しさん
2017/08/12(土) 21:11:02.79ID:JQcCJPUN 片方が型引数でもう片方は型引数でない何か、ってものが存在しないんだったら1つで十分でしょ
667デフォルトの名無しさん
2017/08/12(土) 22:39:38.37ID:QjNv8My6 Using the Of Keyword
The following code example uses the Of keyword to define the outline of a class that takes two type parameters.
It constrains the keyType parameter by the IComparable interface, which means the consuming code must supply
a type argument that implements IComparable. This is necessary so that the add procedure can call the System.
IComparable.CompareTo method.
For more information on constraints, see Type List.
Ofキーワードの使い方について
次のコード例はOfキーワードを使っているが、それは二つのタイプのパラメータを取るクラスの外形を定義している。
IComparableインターフェースのKeyTypeパラメータを含むが、ここで使われるコードにはIComparableを実装した引数を
あてなくてはならないということを意味する。これが必要なのはadd関数がシステムをコールのIComarable.CompareToを実行
できるようにするためである。さらに詳しくはListの項目を見ること
Public Class Dictionary(Of entryType, keyType As IComparable)
Public Sub add(ByVal e As entryType, ByVal k As keyType)
Dim dk As keyType
If k.CompareTo(dk) = 0 Then
End If
End Sub
Public Function find(ByVal k As keyType) As entryType
End Function
End Class
The following code example uses the Of keyword to define the outline of a class that takes two type parameters.
It constrains the keyType parameter by the IComparable interface, which means the consuming code must supply
a type argument that implements IComparable. This is necessary so that the add procedure can call the System.
IComparable.CompareTo method.
For more information on constraints, see Type List.
Ofキーワードの使い方について
次のコード例はOfキーワードを使っているが、それは二つのタイプのパラメータを取るクラスの外形を定義している。
IComparableインターフェースのKeyTypeパラメータを含むが、ここで使われるコードにはIComparableを実装した引数を
あてなくてはならないということを意味する。これが必要なのはadd関数がシステムをコールのIComarable.CompareToを実行
できるようにするためである。さらに詳しくはListの項目を見ること
Public Class Dictionary(Of entryType, keyType As IComparable)
Public Sub add(ByVal e As entryType, ByVal k As keyType)
Dim dk As keyType
If k.CompareTo(dk) = 0 Then
End If
End Sub
Public Function find(ByVal k As keyType) As entryType
End Function
End Class
668デフォルトの名無しさん
2017/08/14(月) 10:15:48.33ID:Q/2jfFNl 同じプロジェクト内にForm2を生成すると
Form1から
Form2.showdialog()
で呼び出すことができる。しかしForm2を立ち上げる時に初期化ファイルをセットしたい
そこでForm2に次のコードを付け加える。
sub New( inifile as string)
INIFILE = inifile
end sub
こうするとForm2.showdialog()が立ち上がらない。そこで
dim fm as new Form2.new(inifile)
fm.showdialog()
のようにすると立ち上がるけれども、Form2上のコントロールとかが全く表示されない。
これは何故なのだろう。
Form1から
Form2.showdialog()
で呼び出すことができる。しかしForm2を立ち上げる時に初期化ファイルをセットしたい
そこでForm2に次のコードを付け加える。
sub New( inifile as string)
INIFILE = inifile
end sub
こうするとForm2.showdialog()が立ち上がらない。そこで
dim fm as new Form2.new(inifile)
fm.showdialog()
のようにすると立ち上がるけれども、Form2上のコントロールとかが全く表示されない。
これは何故なのだろう。
669デフォルトの名無しさん
2017/08/14(月) 10:34:07.27ID:Q/2jfFNl >668
自己解決した。サンクス
自己解決した。サンクス
670デフォルトの名無しさん
2017/08/14(月) 16:29:17.87ID:C7avT2pN >>667
Ofはともかく、型制約にAs使うの解りづらすぎるよな
C#みたいに (Of T) Where T Implements IComparable でよかったのに
まあVBerのレベルを考えるとあまり多用される機能ではないという判断で
文法への影響の少ない構文にしたのかもね
Ofはともかく、型制約にAs使うの解りづらすぎるよな
C#みたいに (Of T) Where T Implements IComparable でよかったのに
まあVBerのレベルを考えるとあまり多用される機能ではないという判断で
文法への影響の少ない構文にしたのかもね
671デフォルトの名無しさん
2017/08/14(月) 17:17:31.67ID:Q/2jfFNl dim strA as string
dim dt as integer = convert.toint16(strA)
みたいな方法でいつもinteger 変換してるけど非常にめんどくさい。stringに機能を追加して
dt = strA.toint16
にすることはできないんですか? やる方法があれば教えてください。
dim dt as integer = convert.toint16(strA)
みたいな方法でいつもinteger 変換してるけど非常にめんどくさい。stringに機能を追加して
dt = strA.toint16
にすることはできないんですか? やる方法があれば教えてください。
672デフォルトの名無しさん
2017/08/14(月) 17:50:35.60ID:qguplZTI■ このスレッドは過去ログ倉庫に格納されています
