Form1.frm
上传用户:ynjin1970
上传日期:2014-10-13
资源大小:6438k
文件大小:3k
源码类别:

中间件编程

开发平台:

Visual C++

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Form1"
  4.    ClientHeight    =   3990
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   5040
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3990
  10.    ScaleWidth      =   5040
  11.    StartUpPosition =   3  'Windows Default
  12.    Begin VB.PictureBox Picture1 
  13.       Height          =   2895
  14.       Left            =   120
  15.       ScaleHeight     =   2835
  16.       ScaleWidth      =   4755
  17.       TabIndex        =   2
  18.       Top             =   960
  19.       Width           =   4815
  20.    End
  21.    Begin VB.CommandButton Command1 
  22.       Caption         =   "Command1"
  23.       Height          =   375
  24.       Left            =   120
  25.       TabIndex        =   1
  26.       Top             =   480
  27.       Width           =   1095
  28.    End
  29.    Begin VB.TextBox Text1 
  30.       Height          =   285
  31.       Left            =   120
  32.       TabIndex        =   0
  33.       Text            =   "sample.dat"
  34.       Top             =   120
  35.       Width           =   4695
  36.    End
  37. End
  38. Attribute VB_Name = "Form1"
  39. Attribute VB_GlobalNameSpace = False
  40. Attribute VB_Creatable = False
  41. Attribute VB_PredeclaredId = True
  42. Attribute VB_Exposed = False
  43. Private Sub Command1_Click()
  44.     Dim contour As New COM_EXLib.contour
  45.     Dim concount As Long, segcount As Long, pointcount As Long
  46.     Dim x() As Double, y() As Double
  47.     Dim xmin As Double, xmax As Double, ymin As Double, ymax As Double
  48.     Dim i, j, tmpx, tmpy, tmpz
  49.     
  50.     '打开数据文件,获取数据的范围
  51.     Open Text1.Text For Input As #1
  52.         Input #1, tmpx, tmpy, tmpz
  53.         xmax = tmpx
  54.         xmin = tmpx
  55.         ymax = tmpy
  56.         ymin = tmpy
  57.         Do While Not EOF(1)
  58.             Input #1, tmpx, tmpy, tmpz
  59.             If tmpx > xmax Then xmax = tmpx
  60.             If tmpx < xmin Then xmin = tmpx
  61.             If tmpy > ymax Then ymax = tmpy
  62.             If tmpy < ymin Then ymin = tmpy
  63.         Loop
  64.     Close #1
  65.     
  66.     '根据数据范围设置picturebox的坐标
  67.     Picture1.ScaleLeft = xmin
  68.     Picture1.ScaleWidth = xmax - xmin
  69.     Picture1.ScaleTop = ymax
  70.     Picture1.ScaleHeight = -(ymax - ymin)
  71.     
  72.     '生成等值线并绘图
  73.     contour.InitialContour (Text1.Text)
  74.     concount = contour.GetContourCount
  75.     For i = 0 To concount - 1
  76.         segcount = contour.GetSegCountOf(i)
  77.         For j = 0 To segcount - 1
  78.             pointcount = contour.GetPointsCountOf(i, j)
  79.             ReDim x(pointcount)
  80.             ReDim y(pointcount)
  81.             contour.GetPointsOf i, j, x(0), y(0)
  82.             For k = 0 To pointcount - 2
  83.                 Picture1.Line (x(k), y(k))-(x(k + 1), y(k + 1))
  84.             Next k
  85.         Next j
  86.     Next i
  87.     Set contour = Nothing
  88. End Sub