VB.NET質問スレ (Part8) ..
[2ch|▼Menu]
430:デフォルトの名無しさん
05/01/07 22:59:17
>428-429
自演乙。別に悪いことじゃないけど。

431:429
05/01/07 23:04:18
んじゃー>>428とケコーンする!

432:428
05/01/07 23:10:30
>>431
おまいさんが新成人±4歳で美処女なら喜んで。(w

433:デフォルトの名無しさん
05/01/08 00:45:53
>>426
APIのFloodFillかFloodFillEx

434:429
05/01/08 01:02:23
>>432
残念!おいらは新成人±10歳のオサーンでつw

435:デフォルトの名無しさん
05/01/08 01:22:44
>>433
調べてみたんですが、どうやらVB→VB.NETの仕様変更で(型が合わんとかGDI、GDI+云々)
.NET上でどうExtFloodFillを扱っていいものかよく分かりませんです…。
もしよろしければご教授を…(つД`)

436:デフォルトの名無しさん
05/01/08 01:26:33
>>435
URLリンク(custom.programming-in.net)

437:デフォルトの名無しさん
05/01/08 01:35:11
すいません、VB.NETでサービスを作ろうとしたのですが、VBのみを買ってきたせいか、サービスプロジェクトがありません。
どなたか、よい方法をご存知ないでしょうか?
よろしくご教授願います。

438:デフォルトの名無しさん
05/01/08 01:36:36
自分のIPアドレス文字列(192.168.1.1)を取得するには
どうしたらいいでつか・・・?

439:デフォルトの名無しさん
05/01/08 01:44:04
>356の下のコード(の一部)を使ってIPAddressクラスを取得して.ToString()。

440:435
05/01/08 02:07:44
グラフィックからHDCを取得したところ( g.GetHDC( ) )IntPtr型が戻り値になっているため
FloodFillの引数のHDC( Int型 )と型が合わないといわれます。
色の値もIntegerとの事ですが、これはColorTranslatorによる変換でよろしいのですかね?

そして現在のブラシの色で塗りつぶすとありますが、このブラシの色をどこで設定するのかが分からずまともに動きません…orz
Dim b as New SolidBrush(ry では無さそうですし…。

ちなみに今

Dim bmp As Bitmap = New Bitmap(256, 256)
Dim g As Graphics = Graphics.FromImage(bmp)
Dim hdc As IntPtr = g.Gethdc()

(゚Д゚)??

g.ReleaseHdc(hdc)
( bmpはonPaintをオーバーライドして描画 )


こんな感じで詰まっております(´・ω・`)

441:デフォルトの名無しさん
05/01/08 02:21:04
ExtFloodFillの定義のhDCをIntPtrで宣言してやればよし。
色はColorTranslator.ToWin32でOK。

描画にWin32APIを使うならグラフィクスオブジェクトもWin32APIの作法に則ってやらないといけない。
以下の関数は全部Win32API。Declareで宣言する必要があるぞ。

CreateSolidBrushでブラシを作成。
SelectObjectで作成したブラシを選択。
ExtFloodFillで描画。
SelectObjectで作成したブラシから元々選択していたオブジェクトに戻す。
DeleteObjectで作成したブラシを削除。

442:デフォルトの名無しさん
05/01/08 03:11:13
User Agentを自分独自のものにカスタマイズしたいのですが、どうすればいいいのですか?

443:435
05/01/08 04:20:49
>>441さん他に教えていただいたことをもとに以下の様なソースを書いてみたのですが動きません…orz

Private bmp As Bitmap = New Bitmap(256, 256)
Private Graph As Graphics = Graphics.FromImage(bmp)

Public Function Fill(ByVal FillColor As Color, ByVal x As Integer, ByVal y As Integer) As Integer
 Dim hdc As IntPtr = Graph.GetHdc()
 Dim brs As Integer = CreateSolidBrush(ColorTranslator.ToWin32(FillColor))
 Dim old As Integer = SelectObject(hdc, brs)
 Dim CrColor As Integer
 Dim ret As Integer

 'Me.GetPixel():マウスダウンされた座標点の色
 CrColor = ColorTranslator.ToWin32(Me.GetPixel(x, y))
 ret = ExtFloodFill(hdc, x, y, CrColor, 1)

 SelectObject(hdc, old)
 DeleteObject(brs)
 Graph.ReleaseHdc(hdc)
End Function

どこかご指摘点ありますでしょうか(´;ω;`)

444:デフォルトの名無しさん
05/01/08 05:37:48
日本語おかしい奴おおすぎ

445:デフォルトの名無しさん
05/01/08 05:39:50
>439
ありがとうございます。
ちなみに似たような方法でサブネットマスクも取得できますか?

446:デフォルトの名無しさん
05/01/08 12:01:20
クリレポのシリアル付きインストーラつくったのだが
インストールしたら実行時「COMコンポーネント〜エラー」が出る・・・
必要なファイルは全部含めてるんだが・・・



447:デフォルトの名無しさん
05/01/08 21:00:40
すいません。>445なんですが、どなたかご存知ないでしょうか。

448:デフォルトの名無しさん
05/01/09 01:52:21
>>443
GetDCするだけじゃ無理らしくて調べてたら説明するよりコードを書いた方が分かりやすくなったのでサンプルクラスをかいとく。
基本はイメージのサイズ指定してのNewすることで一つ四角を描画、あと任意にDrawRectangleで四角を追加。
FillFloodで指定位置の色の連続している部分を塗りつぶし。Bmpフィールドで描画結果を取得。
本文長杉だそうなのでインデントも無きが如し。
Public Class FillFloodTest
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As IntPtr) As IntPtr
Private Declare Function ExtFloodFill Lib "gdi32" (ByVal hdc As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal color As Integer, ByVal filltype As Integer) As Boolean
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As IntPtr, ByVal obj As IntPtr) As IntPtr
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal color As Integer) As IntPtr
Private Declare Function DeleteObject  Lib "gdi32" (ByVal obj As IntPtr) As Boolean
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As IntPtr) As Boolean
Public Bmp As Bitmap 'Getのみのプロパティにしたいけど行がもったいないのでフィールド直接Public
Public Sub New(ByVal width As Integer, ByVal height As Integer)
 Bmp = New Bitmap(width, height)
 Clear(Color.Brown) '何となく決めうちで茶色でクリア
 DrawRectangle(Color.Red, 100, 100, 100, 100) '何となく決めうちで初めの四角を描画
End Sub
Public Sub DrawRectangle(ByVal line As Color, ByVal x As Integer, ByVal y As Integer, ByVal width As Integer, ByVal height As Integer)
 Dim g As Graphics = Graphics.FromImage(Bmp)
 Dim p As New Pen(line)
 g.DrawRectangle(p, x, y, width, height)
 p.Dispose()
 g.Dispose()
End Sub
Public Sub Clear(ByVal back As Color)
 Dim g As Graphics = Graphics.FromImage(Bmp)
 g.Clear(back)
 g.Dispose()
End Sub

449:デフォルトの名無しさん
05/01/09 01:54:56
Public Function FillFlood(ByVal fillColor As Color, ByVal x As Integer, ByVal y As Integer) As Boolean
 Dim baseColor As Integer = ColorTranslator.ToWin32(bmp.GetPixel(x, y)) 'ほんとはGetPixelで例外処理が必要
 Dim filler As Integer = ColorTranslator.ToWin32(fillColor)
 Dim g As Graphics = Graphics.FromImage(bmp)
 Dim originalDC As IntPtr = g.GetHdc()
 Dim hBitmap As IntPtr = bmp.GetHbitmap() 'BmpのWin32APIで扱えるビットマップ表現HBITMAPを取得
 Dim compatibleDC As IntPtr = CreateCompatibleDC(originalDC) '元DCとExtFloodFillで扱うDCに互換性がないので、互換DCを作成。以後描画するのはこの互換DCになる
 Dim oldSelectedHbitmap As IntPtr = SelectObject(compatibleDC, hBitmap) '互換DCにHBITMAPをセット。互換DCの描画対象が元画像になる
 Dim brush As IntPtr = CreateSolidBrush(filler)
 Dim oldSelectedGraphicsObject As IntPtr = SelectObject(compatibleDC, brush) '互換DCにブラシをセット
 Dim result As Boolean = ExtFloodFill(compatibleDC, x, y, baseColor, 1) '互換DCで塗りつぶし

450:デフォルトの名無しさん
05/01/09 01:55:55
 Dim newBitmap As Bitmap
 If result Then newBitmap = Image.FromHbitmap(hBitmap) '塗りつぶせたら、描画したHBITMAPから.NETのBitmapオブジェクトを作成
 DeleteObject(SelectObject(compatibleDC, oldSelectedGraphicsObject)) '互換DCのブラシを元に戻し、返ってきた自分で作ったブラシ(brush)を削除
 DeleteObject(SelectObject(compatibleDC, oldSelectedHbitmap)) '互換DCのHBITMAPを元に戻し、返ってきた"既にImageオブジェクトを作って用済みのhBitmap"を削除
 DeleteDC(compatibleDC) '不要になった互換DCを削除
 g.ReleaseHdc(originalDC) '使い終わったDCを解放
 g.Dispose() '使用済みGraphicsオブジェクトをDispose
 If result Then '塗りつぶしに成功していたら
  Dim originalBitmap As Bitmap = Bmp '描画前の画像を持つBitmapは後でDisposeするために待避
  Bmp = newBitmap 'Bitmapを描画後の画像のものに差し替え
  originalBitmap.Dispose() '以前のBmpだったビットマップはDispose
 End If
 Return result '成功したらTrueを返す
End Function
End Class

こうなるって分かってたらインデントとかまともにすべきだった……。

451:デフォルトの名無しさん
05/01/09 02:13:19
ていうかなんか>>443のソース見る限り>>435の場合Win32APIとか以前にグラフィックの基本が分ってないようだから、
>>448-450みたいなの書かれても理解できないと思う。

グラフィックの基本が分ってないとしか思えないでしょ。
どう考えてもBitmapとかGraphicsが概念的に理解できてない人のコードだよ。
こんなの人に聞くよりMSDNでも読んだほうが100倍早いのになんでそういう
手間を惜しむんだろうねえ。。

それに恐らくこういうコード書く人はクラスもわかんない可能性高い。

ていうかBitmap返すクラスってなんか使いにくそう。
私だったらGraphicsをメソッドの引数に取るかコンストラクタで食わせるかするなたぶん。

452:デフォルトの名無しさん
05/01/09 02:28:15
>>451
>  ていうかBitmap返すクラスってなんか使いにくそう。
>  私だったらGraphicsをメソッドの引数に取るかコンストラクタで食わせるかするなたぶん。

あーうん。
元々はもうちょっとクラスとして意味のある構成を考えてたんだが、
掲示板に貼るのに最低限の部分だけにしたらクラスにする意味がすっかり薄れてしまったのさね。
ただGetHbitmapの為にBitmapインスタンスも必要というのが悩ましい。
//BitmapのHdc>BitmapのHdcにBitBltするにもこの操作が必要だし。
//なんかないかなー。

453:デフォルトの名無しさん
05/01/09 02:29:42
>>451
>それに恐らくこういうコード書く人はクラスもわかんない可能性高い。
VB.NETへの移行過程でその手の厨房は淘汰されるので今しばらくのご辛抱を。


454:デフォルトの名無しさん
05/01/09 02:34:22
.NETになって格段に日本語ドキュメントが充実したからなあ。まず読め、読みまくれ。
宝の山ですぞ!


455:435
05/01/09 03:10:18
まったくもって頭が上がりません…。
>>448さん他非常にありがとうございました
謝罪のしようもありません。

>>452さん、>>454さんの仰るとおりMSDN穴が開くほど読み倒してきます(`・ω・´)

456:435
05/01/09 03:11:33
そしてアンカーを間違える_| ̄| ...○
>>452>>451

457:デフォルトの名無しさん
05/01/09 04:31:45
すいません、VB.NETでサービスを作ろうとしたのですが、VBのみのやつを買ってきたせいか、サービスプロジェクトがありません。
どなたか、よい方法をご存知ないでしょうか?
よろしくご教授願います。


458:最凶VB厨房
05/01/09 04:36:21
>>457
Microsoftクイック スタート チュートリアル
URLリンク(ja.gotdotnet.com)

459:デフォルトの名無しさん
05/01/09 07:27:54
すいません。>445なんですが、どなたかご存知ないでしょうか。

460:最凶VB厨房
05/01/09 10:09:44
Imports System
Imports Microsoft.Win32

Public Class SubnetMaskGetter
Shared Sub Main(ByVal args As String())
Dim interfacekeys As String = "SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces"
Dim rk As RegistryKey = Registry.LocalMachine.OpenSubKey(interfacekeys, False)
If rk Is Nothing Then
Console.WriteLine("キーはなさげ")
End If
Dim s As String() = rk.GetSubKeyNames()
Dim sk As String
For Each sk In s
Dim rrk As RegistryKey = Registry.LocalMachine.OpenSubKey(interfacekeys & "\" & sk, False)
Dim v As String() = CType(rrk.GetValue("SubnetMask"), String())
Console.WriteLine(sk)
Console.WriteLine(v(0))
Next
End Sub
End Class

URLリンク(support.microsoft.com)

461:最凶VB厨房
05/01/09 10:25:39
>>442
HttpWebRequestクラス

Imports System
Imports System.IO
Imports System.Net

Public Class UAHttpAccess
Shared Sub Main(ByVal args As String())
Dim hr As HttpWebRequest = WebRequest.Create("URLリンク(127.0.0.1:10000)")
hr.UserAgent = "SaikyoVBChubo"
Dim wres As WebResponse = hr.GetResponse()
Dim st As Stream = wres.GetResponseStream()
Dim sr As StreamReader = New StreamReader(st)
Dim s As String = sr.ReadToEnd()
Console.WriteLine(s)
End Sub
End Class

462:デフォルトの名無しさん
05/01/09 10:55:43
>460
うーん、レジストリから取得するってことですよねぇ。
他の方法をお願いします。もっとスマートなやつ。

463:デフォルトの名無しさん
05/01/09 11:16:18
すみません,質問です.

ListBox に現在のプロジェクトにあるフォームをリストアップし,
そこから選んだアイテムに対応するフォームを開く,という処理を行ないたいのですが……

まず,現在のプロジェクトにあるフォームのリストを取得する方法がわかりません orz
で,とりあえず固定でフォーム名のリストを持たせてやってみようと思ったのですが,
今度は,ListBox から取得した文字列で示されるクラスを作る方法がわかりません orz

Dim f = New Form1() の「Form1」とかの部分を変数で指定できれば……と思ったのですが,
この発想自体が無理っぽいでしょうか?


464:最凶VB厨房
05/01/09 11:53:50
Imports System.Reflection
-----------------------
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly()
Dim t As Type
For Each t In asm.GetTypes()
If t.IsSubclassOf(GetType(System.Windows.Forms.Form)) Then
ListBox1.Items.Add(t.FullName)
End If
Next
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim s As String = CType(ListBox1.Items.Item(ListBox1.SelectedIndex()), String)
Dim asm As [Assembly] = [Assembly].GetExecutingAssembly()
Dim f As Form = CType(asm.CreateInstance(s), Form)
f.Show()
End Sub
'Button1,Button2,ListBox1配置


465:463
05/01/09 12:17:40
おぉー
とても感謝です.ありがとう!

# Assembly までは辿り着けたんですが GetExecutingAssembly() まで行けてませんでした orz

466:デフォルトの名無しさん
05/01/09 12:30:56
>463
おお、なんかかっこいいな。

467:デフォルトの名無しさん
05/01/09 14:42:12
>>462
何様?

468:超初心者
05/01/09 17:39:44
質問です!
あるものを処理し(具体的にはJavaなのですが)、その結果をhtmlで作成
もしくは元からあるhtmlファイルに上書き、それをVBで表示さ
せたいのですが、そのhtml作成(更新)されてから、読み込んで
表示させるにはどのようにすればよいのでしょうか?

469:デフォルトの名無しさん
05/01/09 17:51:37
>467
いや、気持ちは分かるんですが、もっとスマートな方法を
知りたかったので。他の方、分かりませんか?

470:デフォルトの名無しさん
05/01/09 20:10:33
WMI使うとか

471:デフォルトの名無しさん
05/01/09 20:35:00
>470
どうも。

ところでみんなわりぃ、サブネットマスク取得する必要
なくなっちゃったよ。まぁよくあることだわな。

472:デフォルトの名無しさん
05/01/10 03:52:18
ばかじゃないの

473:最凶VB厨房
05/01/10 06:39:35
Private Sub FileSystemWatcher1_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed
Dim fi As FileInfo = New FileInfo(e.FullPath)
While fi.LastAccessTime = DateTime.Now
System.Threading.Thread.Sleep(1000)
End While
AxWebBrowser1.Navigate(e.FullPath)
End Sub
'FileSystemWatchr1,AxWebBrowser1(Microsoft Web Browser)配置

474:最凶VB厨房
05/01/10 07:20:50
Dim query As ObjectQuery = New ObjectQuery("Select IPSubnet FROM Win32_NetworkAdapterConfiguration")
Dim searcher As ManagementObjectSearcher = New ManagementObjectSearcher(query)
Dim share As ManagementObject
For Each share In searcher.Get()
Dim o As Object = share("IPSubnet")
If Not o Is Nothing Then
If o.ToString() = "System.String[]" Then
Dim d() As String = CType(o, String())
Console.WriteLine(d(0))
End If
End If
Next
URLリンク(ukamen.hp.infoseek.co.jp)
URLリンク(msdn.microsoft.com)

475:最凶VB厨房
05/01/10 07:26:18
補足追加

Imports System.Management
参照の追加
System.Management

476:デフォルトの名無しさん
05/01/10 09:29:16
>474
お前色々ソース出してるけど、その読みにくさなんとかしろ。
全角スペースでインデント付けろ。

477:デフォルトの名無しさん
05/01/10 10:20:58
分かってると思うけど↑みたいのいちいち構うのよそう。
こういう人はそのうち自作自演で「構い」だすだろうが、そっちも含めて放置で。

478:476
05/01/10 11:05:07
>477
なんで?ソースを読みやすくしてほしくないの?

479:476
05/01/10 11:06:36
While fi.LastAccessTime = DateTime.Now
  System.Threading.Thread.Sleep(1000)
End While

こう書いたほうが読みやすいとは思わんのかね?

480:デフォルトの名無しさん
05/01/10 11:32:14
Thread.Sleepを使うとフリーズしちゃうでしょ(笑)

481:デフォルトの名無しさん
05/01/10 11:32:23
>>477の↑は「最凶VB厨房」に向いてると思われ。

482:超初心者
05/01/10 11:53:19
>>474
は468への答えでいいの?

483:デフォルトの名無しさん
05/01/10 12:59:27
>482
いいの?じゃなくて、いいのですか?くらい書いてもらえますか?

484:超初心者
05/01/10 13:13:59
>>483
ゴメンナサイ、いいのですか?

485:デフォルトの名無しさん
05/01/10 14:09:02
すいません、MainMenuでヘルプメニューを作って、
それをクリックすると、txtファイルをよび出すようにしたいのですが、
どうすればいいのですか?

486:デフォルトの名無しさん
05/01/10 14:15:15
txtファイルをどうしたいのかによるけれど。
関連づけられたエディタで開きたいのなら、System.Diagnostics.Procss.Start

487:デフォルトの名無しさん
05/01/10 14:15:53
む、eが抜けた。System.Disgnostics.Process.Start

488:デフォルトの名無しさん
05/01/10 14:16:15
>>485
呼び出すって?

489:485
05/01/10 14:34:42
>>486
どうもです。できました。

>>488
すみません、なんと表現していいのか分からなかったもので^_^;
486さんの解釈の通りです。

490:デフォルトの名無しさん
05/01/10 14:35:41
>>485
ヘルプテキストをhtml化して、ブラウザに投げるのが簡単。

491:デフォルトの名無しさん
05/01/10 15:21:55
>490
はぁ?

492:超初心者
05/01/10 15:27:08
>>473〜475
ありがとう。でも、馬鹿すぎてよくわからんとです。
どこで何やってるのか誰か解説キボンです。


493:デフォルトの名無しさん
05/01/10 15:36:30
>492
あなたは馬鹿じゃないですよ。質問者のレベルに合わせた
回答をできない方が馬鹿なんです。

494:デフォルトの名無しさん
05/01/10 15:37:33
>>493
自演乙

495:デフォルトの名無しさん
05/01/10 15:51:18
>494
根拠は?そうでないと証明もできませんが。
あなたは出来るの?

496:493
05/01/10 15:52:34
自演じゃないですが、自演だったとして何か不都合がありますか?
どちらにしろあなたが馬鹿だという事実は変わりませんよ。

497:デフォルトの名無しさん
05/01/10 15:59:12
うんそう、満足に初心者に一から教える事もできない、自演と決めつけて心の安寧を貪る馬鹿の巣窟の日記帳だから。
賢いあんたはこんな芥溜め痰壷に近づかない方が良いよ。

498:デフォルトの名無しさん
05/01/10 16:13:06
>>492
あなたに対する解答は473だけ
474〜475は471に対するもの、もういらないようだけど。
そのくらいは分かるよね。


499:デフォルトの名無しさん
05/01/10 16:43:09
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || 図星だと      Λ_Λ  いいですね。
          || こうなります。 \ (゚ー゚*)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |    |
〜(_(  ∧ ∧ __(  ∧ ∧__( ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(∧ ∧ _(∧ ∧ は〜い、先生。
    〜(_(  ,,)(_(   ,,)(_(   ,,)
      〜(___ノ 〜(___ノ 〜(___ノ

500:デフォルトの名無しさん
05/01/10 17:58:46
質問スレで「初心者」を免罪符にする香具師の典型的パターンだな

501:超初心者
05/01/10 18:35:47
>>498
そうでしたか。
やさしい人、468お願いします!!

502:デフォルトの名無しさん
05/01/10 18:40:43
ここにも釣り師登場か。

503:デフォルトの名無しさん
05/01/10 18:46:26
>>501
>>334,>>337,>>368,>>378,>>387,>>390
これ皆あなたでしょ、少しは自分で考えないと。

504:デフォルトの名無しさん
05/01/10 19:46:55
>503
どこまで考えればいいの?線引きしてください。

505:デフォルトの名無しさん
05/01/10 20:04:40
答えを丸写ししてるだけじゃダメだから、MSDNやサンプルコード
を検索したり組み合わせたりして、自分がやりたい処理に持って行
く。

大まかな線引きとしては、「やりたいこと」だけを質問するんじゃ
なくて、「まずコードを書く」ことからやってみそ。

506:デフォルトの名無しさん
05/01/10 20:06:45
>505
ギャハハハハ。やってみそだって!ギャハハハハハ

507:デフォルトの名無しさん
05/01/10 20:07:28
>>505
ということは、コードをまったく書けない場合は質問するな、
ということですね。他の方もそうなんですか?

508:デフォルトの名無しさん
05/01/10 20:24:22
>>507
コードがまったく書けない人に質問されても
答えることは難しいわな。
入門書である程度勉強するしかないのでは。
特にここは長い説明は嫌われるしな。


509:デフォルトの名無しさん
05/01/10 20:28:52
>508
それはあなたのルールですか?
このスレのルールですか?

510:デフォルトの名無しさん
05/01/10 20:29:52
コードが全く書けないのにプログラム板に来るのはなんで?
ここはコードやアルゴリズムを突き合わせて切磋琢磨するところ
だと思ってるんだが。

511:デフォルトの名無しさん
05/01/10 20:30:55
>510
切磋琢磨してるのですが全く書けないので、こういう
掲示板を利用してみようかと思って辿り着きました。

512:デフォルトの名無しさん
05/01/10 20:31:24
>510
それはあなたのルールですか?
このスレのルールですか?

513:デフォルトの名無しさん
05/01/10 20:32:49
>510
そういうスレ立てれば?>>1には「VB.NETの質問全般です」としか
書かれていないので、別にレベルが低い質問もあっても
仕方ないのでは?

514:デフォルトの名無しさん
05/01/10 20:33:27
まず、カイジの利根川のセリフを頭に叩き込まなければなりませんね。

少なくともコードの書き方(配列変数は文法的にどう書くのなど)は、自分で
勉強するものだろう。まさかそんなことまで人に教えてもらおうなんて奴は
居ないと思うが。


515:俺ルール
05/01/10 20:33:38
ルールっぽいことを書く人は、「名前」欄に「俺ルール」や「スレルール」と
書くことにしましょう。何もない場合は「俺ルール」ということにしましょう。

516:デフォルトの名無しさん
05/01/10 20:34:04
>514
それはあなたのルールですか?
このスレのルールですか?

517:デフォルトの名無しさん
05/01/10 20:34:31
>>514
カイジの利根川のセリフって何ですか?
専門的すぎてよく分かりません。

518:俺が職場で学んだルール
05/01/10 20:42:33
自分がやりたい処理がある。

テンプレに載ってる数多のサンプルや手法を読んでみる。

流用できそうなのをうまく編集してコードにしてみる。

うまくいかなかったら、ここor識者に具体的な質問をする。

‥‥つか、学生にしろ社会人にしろこれくらいは常識だと思う。
教えて君は本人にとっても回りにとっても良くないだろ。
URLリンク(myu.daa.jp)

519:デフォルトの名無しさん
05/01/10 20:43:02
>>516
よほど難しい文法でない限り文法事項なんて独習が常識だろう。
I am a student in that high school. を訳せません教えてくださいって聞くアホは
いないでしょ。


520:508
05/01/10 20:43:51
>>509
どこにルールなんて書いたの?
コードが全くかけない人に、どのように説明するの。
それともコードは全くかけないが、人のコードは
理解できるとでも言うの。

521:デフォルトの名無しさん
05/01/10 20:44:35
>518-519
あのぅ、さっきからずっと釣ってるのですが、いつまで反応してくれるのですか?
いい加減釣りも飽きてきたのでやめたいのですが。

522:デフォルトの名無しさん
05/01/10 20:45:16
>520
>521

523:デフォルトの名無しさん
05/01/10 20:46:50
>>521
立場が悪くなったら釣りの振りして逃げる。雑魚っていうかゴミの典型ですね。
恥ずかしい

524:デフォルトの名無しさん
05/01/10 20:52:49
>>513
質問したっていいさ、ただ答えたくても、全くコードをかけないやつに
どうやって説明したらいいか、困ったな。といっているの。


525:デフォルトの名無しさん
05/01/10 20:53:56
>523
うわ、まだ反応してるよ。

526:デフォルトの名無しさん
05/01/10 20:54:35
>523
ゴミの定義は?

527:デフォルトの名無しさん
05/01/10 21:00:00
明日から学校なんだし、ここも静かになるだろ。
枯れ葉も山のにぎわい程度に流しておけばいいじゃん。

528:デフォルトの名無しさん
05/01/10 21:02:07
>>527
うんだ。

529:デフォルトの名無しさん
05/01/10 21:06:32
>527-528
私に関して言えば引きこもってるので変わらないですよ。

530:デフォルトの名無しさん
05/01/10 21:22:51
意味のわからない質問、答えにくい質問はスルーされる。
自然の摂理だ。
質問者が思っている以上に答えるのにはエネルギーを使うもんだ。

531:デフォルトの名無しさん
05/01/10 21:44:09
>530
質問に回答するのはあなた方の自由のはずですが。

532:デフォルトの名無しさん
05/01/10 22:08:41
別に、質問者の質問内容の程度なんてどうでもいいんでない?

答える側は、質問の意図を聞き返したりスルーしたり出来るし。
答えたい奴が答えるでいいじゃん。

533:超初心者
05/01/10 22:14:15
なんかすいません。僕のせいで荒れてしまいましたね。
自分で検索したんですがさっぱり出てこなくて。
もう少しがんばってみます。それでもわからなかったら
ここで質問します。そん時はよろしくお願いします!

534:超初心者
05/01/10 22:25:35
あともうひとつ、>>473-475は468の答えでは
ないんですか?なんか釣りとか書いてたから・・・

535:デフォルトの名無しさん
05/01/11 01:00:14
URLリンク(jp.thespoke.net)

あの似顔絵ウィザードも含めて、HomeStyle+ って
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.NET Framework で書かれてるんですね。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
逆アセンブルしてみたら気づきました・・・・。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ああいうのを作品に組み込むのも面白いかも(笑)

MSの製品を逆汗するような奴をMSはMVPに選んでいるんです。MSは逆汗を認めていると

536:デフォルトの名無しさん
05/01/11 01:25:32
ちょい荒れ気味のところすまんけど、

VBCommenter + NDoc って使ってる?

試しに入れてみたけど、VBCommenter出力がいまいちうまくいかなかったり、
NDocが異常終了したり。どっか設定おかしいのかなあ。
でもうまくいったら便利そう。ちなみにC#未経験。

537:デフォルトの名無しさん
05/01/11 08:24:04
上に便乗して質問w

VB.netで勉強の為に簡単なチャットプログラムを作ろうと思ってるんですが、
VB6.0の資料はぐぐっても出てくるのですが、VB.net用の資料は全然ないのです。
VB6.0のソースを参考にして自分なりに書いてみたのですがどうも動かない・・・
一応、
URLリンク(www.comel.or.jp)
こちらのVB6.0用のソースを参考にして自分で作ったソースが↓です。
URLリンク(cdrtest.hp.infoseek.co.jp)
ソースをUpして「見て下さい」っていうのは失礼だとは思うのですが
どうか宜しくお願い致します。


538:デフォルトの名無しさん
05/01/11 10:04:01
ソースを見ずにカキコ


非同期サーバー ソケットの使用
URLリンク(www.microsoft.com)

Google 検索: C# Socket
URLリンク(www.google.co.jp)

539:デフォルトの名無しさん
05/01/11 10:41:33
とりあえずMSWinsockLib.dllとか見えた時点で読むのを止めた。

540:デフォルトの名無しさん
05/01/11 11:01:38
vb.netでおなじLAN内のファイル転送の仕方が色々調べましたが分かりません 教えてください

541:デフォルトの名無しさん
05/01/11 11:03:11
>>540
何を調べたのか書いてみろ。

542:デフォルトの名無しさん
05/01/11 11:14:36
imports system IO file.copyでマシンネームを入れるやり方だったと思うのですがよく分からずできずにあきらめ、
色々サイトを見て回ったのですがそれらしい物すら見つからずです

543:デフォルトの名無しさん
05/01/11 11:19:29
さっきの追加です チャットするまではできます 
そこにファイル転送も加えたいです

544:531
05/01/11 12:06:56
>532がいいこと言った

545:デフォルトの名無しさん
05/01/11 13:48:19
取りあえずチャットのプロトコルとしてUDP使うのはやめとけ。ファイル転送もやりたいなら
なおさらTCP使った方がいいぞ。
俺は4年前から自宅サーバでチャットプログラム動かしてて内輪でチャットやってるから
チャットプログラムを本格的に作る気ならノウハウぐらいは提供できる。C#だが。
>>539
俺はいつもSystem.Net.Sockets名前空間のSocket使ってるから知らないんですけど
MSWinsockLibてなんですか?Winsockのラッパー?


546:デフォルトの名無しさん
05/01/11 14:10:02
>>545
> 俺はいつもSystem.Net.Sockets名前空間のSocket使ってるから知らないんですけど
> MSWinsockLibてなんですか?Winsockのラッパー?

そう。
そりゃ.NETでWinsockのサンプルなんて無いだろ(System.Net.Socketsがあるんだから)、
まず>538でも見て.NETにおけるソケットの扱い方を勉強しろ、と。
そう思った次第。

547:デフォルトの名無しさん
05/01/11 14:29:58
>546
勉強しろ、じゃなくて、勉強してください、ね。語尾は正確にお願いします。

548:デフォルトの名無しさん
05/01/11 14:43:54
>>547
何様?

549:デフォルトの名無しさん
05/01/11 14:45:10
殿様ん

550:デフォルトの名無しさん
05/01/11 17:00:12
勉強しなくなけりゃしなくても
喪れは困らないので勉強しなくてもいいですよ。

551:デフォルトの名無しさん
05/01/11 17:26:59
>550
なんでタイプミスするの?

552:デフォルトの名無しさん
05/01/11 17:28:40
timer1のを一度disableするとenableにしてもEVENTかかりません。
なぜでしょう。?
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If picBar.Height > 0 Then
picBar.Height = picBar.Height - 1
Else
Timer1.Enabled = False ’ここで切ると二度と飛んでこない?
End If
End Sub
Sub threadMain()
Do
thread1.Sleep(100)
If Now.Second = 0 Then
Timer1.Enabled = True
Timer1.Interval = 100
Timer1.Start()
picBar.Height = 500
End If
Loop
End Sub



553:デフォルトの名無しさん
05/01/11 17:36:19
>552
System.Windows.Forms.Timerを使っているのであればムリ。
他のTimer使ってみてはどうでしょう。

554:デフォルトの名無しさん
05/01/11 18:10:52
えっ、他にもタイマーがあるの?
ちなみにバグってことでしょうか?

555:デフォルトの名無しさん
05/01/11 18:31:57
>>552
MSDN読んだら、Start()の替わりにEnabledにtrueを設定することでもスタートさせることができると
書いてあったのだが二重起動にならないか?多分Timer内部でハネてるから大丈夫とは思うが。
他のタイマーとしてはSystem.ThreadingのものとSystem.Timersのものがある。
使い分けはMSDN読んだら書いてある。


556:デフォルトの名無しさん
05/01/11 18:40:37
二重起動は気にする必要はない。
Start()はEnabledをtrueにしてるだけだし、
Enabledを変更した時に値が同一なら以降の処理をしないようにしてる。

557:デフォルトの名無しさん
05/01/11 18:46:01
>555
 ありがとう。
 良く分からんが、System.windows.forms.timerってのはComインターフェース
なのかな? vb6.0で作ったActiveXなんかもNETでは動作がおかしい。
VB6.0のときはEnable=trueだけで制御できた。

結論:flgを追加して、ディスエーブルするようにした。timerはFalseにしない。



558:デフォルトの名無しさん
05/01/11 19:00:55
バグかどうかよくわからんけど、System.Windows.Forms.Timerは
マルチスレッド環境でうまく動かないことがあったな。

559:デフォルトの名無しさん
05/01/11 19:04:45
>Timer は、ユーザー定義の間隔でイベントを発生させるために使用されます。
>この Windows タイマは、UI スレッドを使用して処理を実行するシングルスレッド環境に合わせて設計されています。
>ユーザー コードには利用できる UI メッセージ ポンプが必要です。
>また、このコードは必ず同じスレッドから操作し、別のスレッドに対する呼び出しをマーシャリングする必要があります。

いかにもお手軽に使う以外は使うべきでなさそうじゃないか。

560:デフォルトの名無しさん
05/01/11 19:08:28
>559
ありゃ。ちゃんと書いてあったのか。失礼しました。

561:デフォルトの名無しさん
05/01/11 20:48:23
開発環境が変わったんだけど、C#なしのVB.NETだけ、VSSも入ってないマシンになっちゃったから、
とりあえずSubversion + AnkhSVNを試してみた。

……VC++.NETがないと動作しないってマジですか ○| ̄}_
(正確にはVCProjectEngine.dllだかが必要らしい)

Subversion + TortoiseSVNでがんがるべき?
NTCVS + Iglooってどうなのかな。

562:デフォルトの名無しさん
05/01/12 05:33:22
ツールバーをウィンドウから独立させる方法教えてくだちい!
普通フォームの端につくか、枠内で動くかしかできませんよね。
そこをなんとか。
ツールバー自体がアプリの実体に見えるようなものを作りたいんです。

563:デフォルトの名無しさん
05/01/12 10:57:34
>>562
PhotoShopみたいなフローティングのツールバーってこと?
空のフォーム生成してDockしちゃえば?


クリレポがうまく配布できない
あるPCでは動くのにあるPCでは動かない
{XXXXX〜XXXX}のCOMが何とかってエラーが出る
何かファイルが足りないんだろうか

564:プログラマ初心者
05/01/12 11:35:29
.netでversion番号を入力したいんですがどういった方法を用いればよろしいですか?

565:デフォルトの名無しさん
05/01/12 11:38:49
>>565
AssemblyInfo

566:564
05/01/12 12:32:58
>>565
すんません。
参考になりました。

567:デフォルトの名無しさん
05/01/12 15:48:01
フォームに大幅に変更を加え、実行したところ、変更途中のものがビルドされて
出てきて、実際にビルダーで作ったものとは異なる状態で表示されます。

エラーのある状態で実行すると、こうなるのでしょうか?途中経過を見たいので
最新の状態でビルドして画面を見たいのですが、どうすればよいですか?

568:567
05/01/12 16:07:55
すみません、エラー部分に片っ端から ' をつけることで解決しました。


もうひとつ、教えていただきたいのですが、frmAというフォームをそっくりそのままコピーして
同じプロジェクト内でfrmBというフォームを作りたいんですが、どうすればよいのでしょう?

別名で保存しても、プロジェクトからは見えないのですが。

569:デフォルトの名無しさん
05/01/12 16:18:56
>>568
既存項目の追加

570:デフォルトの名無しさん
05/01/12 17:00:06
VB6のDirListBoxを使うにはどうすればいいんですか?



571:デフォルトの名無しさん
05/01/12 17:02:23
URLリンク(www.google.co.jp)

572:570
05/01/12 17:39:28
 VB6で作ったプログラムにDirListBoxがあるんですが、これをウイザード
で自動変換すると、NETに上手く変換してくれます。ところが、ツールボックスに
はDIRListBoxが見当たらない。
.NETのデザインエディターでコピーして貼り付けると自動的にDirListBox2が
できます。
 ということで、デザインエディターはVB6のDirListBoxもサポートしているわけです。
どうすれば、ツールボックスにDirListBoxを追加できるのかが知りたいのです。
どなたか分かりませんか? 



573:デフォルトの名無しさん
05/01/12 17:44:49
ツールボックスで右クリックして

574:デフォルトの名無しさん
05/01/12 17:47:02
571の3つめ辺りにある宇宙仮面のとこに書いてるっての。

575:570
05/01/12 18:06:04
>574
おっーサンクス。でけたー。
帰りにMSに石なげてかえろっと。

576:デフォルトの名無しさん
05/01/12 21:26:19
10秒後とにファイルを読み込むということをしたいんですが
どのようにしたらよいでしょうか?



577:デフォルトの名無しさん
05/01/12 21:27:29
System.Windows.Forms.Timerを使えばいいんじゃない?

578:576
05/01/12 21:56:43
タイマーコントロールをフォームに貼り付ける
その中にファイルを読み込むコード入れればよいんですよね?
でも、ボタンをクリックしたときにタイマーを使ってその処理
をしたいんですがどうすれば?

579:デフォルトの名無しさん
05/01/12 22:00:50
>>578
> でも、ボタンをクリックしたときにタイマーを使ってその処理
> をしたいんですがどうすれば?

ボタンをクリックしたらタイマをスタートさせるという事?
ならその通りにコーディングすればいい。
貼り付けただけじゃタイマはスタートしないぞ。

580:noname
05/01/12 22:34:50
リストボックスに表示されている項目において、マウスでクリックした
項目のテキストを取得するにはどうしたらよいのでしょうか。

例)
リストボックスに、「A」「B」「C」と表示されているとする。
2番目をクリックすると、「B」という文字が取得できる。

サイトをさがしてみたのですが、マウスでクリックした項目が何番目
であるのかを取得する方法はのっていましたが、テキストの取得方法は
のっていませんでしたので、どうしたらよいのか分かりません。(汗
URLリンク(vbdotnet.fc2web.com)

基本的な質問ですみませんが、よろしくお願いします。

581:デフォルトの名無しさん
05/01/12 22:38:24
まあ項目のインデクスからでも取得はできるけどね。

SelectedItemプロパティ。
選択アイテムの文字列なら.ToString()メソッドも。

582:noname
05/01/12 22:45:31
>>581
すばやい回答ありがとうございます!!
助かりました。

583:デフォルトの名無しさん
05/01/12 22:54:19
nprofって日本語対応だれかやってないのかなあ。
パスに日本語が入ってるとエラーが出る。


しかし、ちゃんと動作しても、情報のうまい見方がいまいちよくわからないのであった。
devpartnerなんかはわかりやすいけど、50万円か……
URLリンク(www.atmarkit.co.jp)

ANTS Profilerってのも見やすそうだけど、$295... URLリンク(www.red-gate.com)


584:デフォルトの名無しさん
05/01/12 23:49:25
質問よろしいでしょうか
Web上を探し回ってUSBカメラの映像をフォーム上に表示させることには成功しました。
VFWとDirectShowを使ったやり方、表示はどちらもうまくいったのですが、DirectShow
のほうで、スナップショットの扱いがどうもうまくいきません。
スナップショットを静止画として別フォームに表示、ではなく、それをBMPかJPGとして
保存したいのです。
VFWではそれをクリップボードに取り込んだうえ、Doodle2というフリーのdllを使って
BMPに出力できたのですが、DirectShowでそのやり方を無理にとると、モニター全体の
PrintScreen状態の画像になってしまいます(欲しい画像は隅にちょこっとうつってる
だけ。VFWでは画像部分だけが取れた)

やりたいことはすでにVFWで実現できており、これは後学のためにという程度の
質問なので、誰かひまなとき教えてください。

585:デフォルトの名無しさん
05/01/13 00:04:52
ようわからんが、取りあえずそれっぽいところ
URLリンク(www.google.com)
URLリンク(mobiquitous.com)

586:デフォルトの名無しさん
05/01/13 00:34:11
>>585さん
ありがとうございます
後のほうのリンク、内容はすごく面白そうなんですけど、読解できないのが
なさけない。
Cってのはこういう書き方をする言語だったんですか、とか、新たな発見を
してしまうレベルの素人だったりするので・・・


587:デフォルトの名無しさん
05/01/13 12:50:48
昨日書いた者ですが、タイマーが作動してないのですが・・・

588:デフォルトの名無しさん
05/01/13 12:56:00
そうか頑張れ。


真面目な話それだけじゃ何も分からないのでせめて
・何をどうしたか
・例外が出るならどんな例外か
・できれば関連部分のコード
を書かないと答えようがないよ。

589:587
05/01/13 13:41:58
とりあえずタイマーが動いてるかどうか見たいんで
ラベルに、1秒ごとに表示させたいのですが。
とりあえずタイマー貼り付けてそのなかに
i = i + 1
Label1.Text = i
iは、タイマーの外で宣言してます
としたのですがラベルが0のまま動きません・・・

590:デフォルトの名無しさん
05/01/13 13:43:21
VB.NETで作ったものって、VB6で動かせますか?

591:デフォルトの名無しさん
05/01/13 13:50:33
>>589
で、その貼り付けたタイマのインスタンスに.Start()はしたの?
って言うところから質問を一問一答で繰り返していくというのは掲示板というシステム上歓迎できない。

>>590
VB6で動かすという意味が分からないのだが。
VB.NETで作ったものは.NET Frameworkが必要だよ。
//統合開発環境の名前と言語の名前が同じだとややこしいな。

592:デフォルトの名無しさん
05/01/13 14:17:23
してないです。どうするんですか?

593:デフォルトの名無しさん
05/01/13 14:36:03
>>592
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Integer
i += 1
Label1.Text = Convert.ToString(i)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Interval = 1000
Timer1.Start()
End Sub

594:デフォルトの名無しさん
05/01/13 14:51:11
>>593
タイマーの定義の部分を見せてください。昨日の流れから別のタイマーに代えたりしてませんか?
Label1にアクセスしてますからSystem.Windows.Forms.Timer以外では問題が出るはずです。

595:デフォルトの名無しさん
05/01/13 15:26:23
なんかびみょーに話がずれてないか?

596:デフォルトの名無しさん
05/01/13 15:49:12
うん、始めから話が変だな。
大体System.Windows.Forms.Timerだったら
Start() Stop() でも Enableでもどちらでも
スタート&ストップ出来るじゃん。

597:デフォルトの名無しさん
05/01/13 16:07:04
はじめのコードはタイマーより別のところが突っ込みどころ満載だったんだよね。
Sub threadMain() <−ワーカースレッドぽかったり
Do
 thread1.Sleep(100) <−なんか寝てたり
 If Now.Second = 0 Then <− 意味わかんなかったり
  Timer1.Enabled = True
  Timer1.Interval = 100
  Timer1.Start()
  picBar.Height = 500
End If
Loop

598:デフォルトの名無しさん
05/01/13 16:28:26
配列をリッチテキストボックス(もしくは、ラベルかテキストボックス)に1行ずついれたいのですが、
どうやればできるでしょうか?
配列はstring型で10個です。配列の0〜9を一行ずつ表示させたいです。
調べましたが、簡単すぎるのかヒットしませんでした。お願いします。

599:デフォルトの名無しさん
05/01/13 16:37:05
String.Join()だな。

600:デフォルトの名無しさん
05/01/13 16:38:41
>>598
改行を入れたいって話かな?だったら改行文字で区切ればよい。
VBだとvbCrLfって定数が使えたはず。

601:デフォルトの名無しさん
05/01/13 16:39:10
一番簡単なのはRichTextBoxのLinesプロパティにそのまま文字列配列を代入する事。
ただし上書きになる。

602:599
05/01/13 16:47:15
1番取った記念にサンプル乗っけちゃお。
Dim str() As String = {"aa", "bb", "cc", "dd", "ee", "ff", "gg", "hh", "ii", "jj"}
TextBox1.Text = String.Join(vbCrLf, str)


603:ディフォルトの名無しさん
05/01/13 20:51:19
ADO.NETのDataSetの使い方がいまいち分からないです。。
ADOでの、ADODB.RecordsetでopenしてFilterでデータをしぼりこんで、
movenextしながらデータ取得。という手順をやりたいんですけど、
DataSetではFilterにあたるものがみあたりません。。。
どうしたらよいのでしょうか?
よろしくお願いいたします。

604:デフォルトの名無しさん
05/01/13 21:00:21
>597
なんで意味わかんないの?

605:デフォルトの名無しさん
05/01/13 21:30:34
>>603
DataSetは、端的に言えばDataTableのコレクションとそれぞれのDataTableのリレーションを管理するためのクラス。
データそのものはDataTableの中に入ってる。
DataTableのSelectメソッドが目的のものだろうね。

606:デフォルトの名無しさん
05/01/13 21:46:55
>>603
System.Data.DataViewがそれにあたるのだが、それ以前のところで悩んでそうですね。
System.Data.DataSetは高機能のデータトランスファオブジェクトであって、
データベースのテーブルとは直接の関係はないのですよ。
読み込んだデータをまとめて溜め込んでおいたり、持ち運んだりするためのものなのです。

unixとlinuxの間をみるといいことがあるかも、それからキーボードのuからqを続けて見る。

607:ディフォルトの名無しさん
05/01/13 21:55:31
>>605>>606
ADO.NETは、リファレンスとか読もうとしても、
情報量が膨大でどこを読めばいいのか良く分からなかった
ところもあったので、読み方の糸口が見つかった気がします。
早速調べてみます。
ありがとうございます。

608:デフォルトの名無しさん
05/01/13 23:12:37
ついでに便乗質問。

Datatable.Select()は便利だけど、戻り値がDatarow()になる。
ソートのために使うときなんか、結果はDatatableで欲しいんだけど、
Datarow()をFor Eachかなんかで回して1行ずつDatatableを作り直すしかないの?
ADO.NET 2.0だと、Dataview.ToTable()ってのが使えるみたいなんだけど……。

あと。
SQLを発行してDatatableを作ったあと、そのテーブルに対して操作を行ないました。
その結果、いっぱい重複行ができちゃったのでDISTINCTしたいんだけど、そういうのはさくっと簡単には書けない?

とりあえず、Datatable.Copy()で同じスキーマの空テーブルを作り、全ColumnをUniqueにして、
Tryで例外無視してむりやり全行ぶっこんでみたい。遅い。
全Columnを複合主キーにして、Findできなければ追加、ってやったらちょっとマシになった。
もうちょいスマートに書けないのかなぁ


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

4850日前に更新/258 KB
担当:undef