VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "PedGraph"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Description = "Enhanced  Metafile class"
Attribute VB_Ext_KEY = "SavedWithClassBuilder6" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
'GDI32 API declarations

Private Declare Function CloseEnhMetaFile Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CreateEnhMetaFile Lib "gdi32" Alias "CreateEnhMetaFileA" (ByVal hdcRef As Long, ByVal lpFileName As String, lpRect As RECT, ByVal lpDescription As String) As Long
Private Declare Function GetEnhMetaFile Lib "gdi32" Alias "GetEnhMetaFileA" (ByVal lpszMetaFile As String) As Long
Private Declare Function PlayEnhMetaFile Lib "gdi32" (ByVal hdc As Long, ByVal hemf As Long, lpRect As RECT) As Long
Private Declare Function GetMetaFileBitsEx Lib "gdi32" (ByVal hMF As Long, ByVal nsize As Long, lpvData As Any) As Long
Private Declare Function SetWinMetaFileBits Lib "gdi32" (ByVal cbBuffer As Long, lpbBuffer As Byte, ByVal hdcRef As Long, lpmfp As METAFILEPICT) As Long
Private Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As Long, ByVal lpszFile As String) As Long
Private Declare Function DeleteEnhMetaFile Lib "gdi32" (ByVal hemf As Long) As Long
Private Declare Function TextOut Lib "gdi32" Alias "TextOutA" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal lpString As String, ByVal nCount As Long) As Long
Private Declare Function DrawText Lib "user32" Alias "DrawTextA" (ByVal hdc As Long, ByVal lpStr As String, ByVal nCount As Long, lpRect As RECT, ByVal wFormat As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, ByVal nIndex As Long) As Long
Private Declare Function CreateFont Lib "gdi32" Alias "CreateFontA" (ByVal h As Long, ByVal w As Long, ByVal E As Long, ByVal O As Long, ByVal w As Long, ByVal i As Long, ByVal u As Long, ByVal S As Long, ByVal c As Long, ByVal OP As Long, ByVal CP As Long, ByVal Q As Long, ByVal PAF As Long, ByVal F As String) As Long
Private Declare Function GetCurrentObject Lib "gdi32" (ByVal hdc As Long, ByVal uObjectType As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function SetMapMode Lib "gdi32" (ByVal hdc As Long, ByVal nMapMode As Long) As Long
Private Declare Function Rectangle Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long) As Long
Private Declare Function RoundRect Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long
Private Declare Function Ellipse Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long) As Long
Private Declare Function SetBkMode Lib "gdi32" (ByVal hdc As Long, ByVal nBkMode As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function CreateHatchBrush Lib "gdi32" (ByVal nIndex As Long, ByVal crColor As Long) As Long

Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As POINTAPI) As Long
Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long

Private Declare Function CreatePen Lib "gdi32" (ByVal nPenStyle As Long, ByVal nWidth As Long, ByVal crColor As Long) As Long
Private Declare Function Polyline Lib "gdi32" (ByVal hdc As Long, lpPoint As POINT, ByVal nCount As Long) As Long
Private Declare Function Polygon Lib "gdi32" (ByVal hdc As Long, lpPoint As POINT, ByVal nCount As Long) As Long
Private Declare Function PolyBezier Lib "gdi32" (ByVal hdc As Long, lpPoint As POINT, ByVal cPoints As Long) As Long
Private Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Private Declare Function SetROP2 Lib "gdi32" (ByVal hdc As Long, ByVal nDrawMode As Long) As Long
Private Declare Function GetROP2 Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function Arc Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long
Private Declare Function Chord Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long
Private Declare Function Pie Lib "gdi32" (ByVal hdc As Long, ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, ByVal X3 As Long, ByVal Y3 As Long, ByVal X4 As Long, ByVal Y4 As Long) As Long

Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function SelectClipPath Lib "gdi32" (ByVal hdc As Long, ByVal iMode As Long) As Long
Private Declare Function AbortPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function StrokeAndFillPath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function StrokePath Lib "gdi32" (ByVal hdc As Long) As Long
Private Declare Function FillPath Lib "gdi32" (ByVal hdc As Long) As Long

Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long) As Long
Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
Private Declare Function CreatePolygonRgn Lib "gdi32" (lpPoint As POINT, ByVal nCount As Long, ByVal nPolyFillMode As Long) As Long
Private Declare Function CreateRectRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long) As Long
Private Declare Function CreateRoundRectRgn Lib "gdi32" (ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, ByVal X3 As Long, ByVal Y3 As Long) As Long

Private Const PI1 = 3.14159265358979

Private Const RGN_COPY = 5

' printer device constants

Private Const PHYSICALHEIGHT = 111
Private Const PHYSICALOFFSETX = 112
Private Const PHYSICALOFFSETY = 113
Private Const PHYSICALWIDTH = 110
Private Const LOGPIXELSX = 88
Private Const LOGPIXELSY = 90
' Pen constants
'Private Const PS_DASH = 1
'Private Const PS_DOT = 2
'Private Const PS_SOLID = 0
'Private Const PS_DASHDOT = 3
'Private Const PS_DASHDOTDOT = 4
'Private Const PS_INSIDEFRAME = 6
'Private Const PS_NULL = 5

'Private Const DT_LEFT = &H0
'Private Const DT_CENTER = &H1
'Private Const DT_RIGHT = &H2
'Private Const DT_VCENTER = &H4
'Private Const DT_BOTTOM = &H8
'Private Const DT_WORDBREAK = &H10
'Private Const DT_SINGLELINE = &H20
'Private Const DT_EXPANDTABS = &H40
'Private Const DT_TABSTOP = &H80
'Private Const DT_NOCLIP = &H100
'Private Const DT_EXTERNALLEADING = &H200
'Private Const DT_CALCRECT = &H400
'Private Const DT_NOPREFIX = &H800
'Private Const DT_TOP = &H0

'Hatch styles
'Private Const HS_HORIZONTAL = 0
'Private Const HS_VERTICAL = 1
'Private Const HS_FDIAGONAL = 2
'Private Const HS_BDIAGONAL = 3
'Private Const HS_CROSS = 4
'Private Const HS_DIAGCROSS = 5
'Private Const HS_SOLID = 8

' DC object constants
'Private Const OBJ_BRUSH = 2
'Private Const OBJ_PEN = 1

' User types
Private Type POINTAPI
    x As Long
    y As Long
End Type


Private Type RECT
        left As Long
        top As Long
        Right As Long
        Bottom As Long
End Type

Private Type POINT
        x As Long
        y As Long
End Type

Private Type METAFILEPICT
        mm As Long
        xExt As Long
        yExt As Long
        hMF As Long
End Type

' Private Class datamembers
Private hdcEM As Long
Private devX As Long
Private devY As Long
Private devW As Long
Private devH As Long
Private devXO As Long
Private devYO As Long
Private ret As Long
Private olPen As Long
Private nPen As Long
Private oBrush As Long
Private nBrush As Long
Private nFont As Long
Private oFont As Long
Private oRop As Long
Private regH As Long
Private regO As Long
Private brs As RECT
Private closed As Boolean
Private report As Boolean
Private pnta(5000) As POINT
Private ll As Long
Private tt As Long
Private rr As Long
Private bb As Long
Private repn As Integer
Private myLineWidth As Long
Private myLineStyle As Long
Private myLineColor As Long
Private myFillColor As Long
Private myFillStyle As Long
Private myBeginColor As Long
Private myEndColor As Long
Private myGradientFill As Boolean
Private myGradientAngle As Long
Private myGradientType As Long

' Public Class datamembers
Public metawidth As Long
Public metaheight As Long
Public MetaFile As String
Public ReportFile As String
Public hemf As Long
Public MostraSpecifiche As Boolean
Public Evidenzia As Boolean


Public Enum GradType
  GR_Hor = 0
  GR_Ver = 1
  GR_HorMid = 2
  GR_VerMid = 3
  GR_HorMidRev = 4
  GR_VerMidRev = 5
End Enum

Public Enum Linetype
  LT_Solid = 0
  LT_Dash = 1
  LT_Dot = 2
  LT_Dashdot = 3
  LT_Dashdotdot = 4
  LT_Insideframe = 6
  LT_None = 5
End Enum

Public Enum AlignType
  TA_Left = 0
  TA_Top = 0
  TA_Center = 1
  TA_Right = 2
  TA_VertCenter = 36
  TA_Bottom = 40
End Enum

Public Enum FillType
  FT_Horizontal = 0
  FT_Vertical = 1
  FT_Fdiagonal = 2
  FT_Bdiagonal = 3
  FT_Cros = 4
  FT_Diagcross = 5
  FT_Opaque = 7
  FT_Solid = 8
End Enum

Public Property Let GradientType(ByVal gt As Long)
 myGradientType = gt

End Property

Public Property Get GradientType() As Long
 GradientType = myGradientType
End Property

Public Property Let GradientAngle(ByVal ga As Long)
 myGradientAngle = ga
 
End Property

Public Property Get GradientAngle() As Long
 GradientAngle = myGradientAngle
End Property

Public Property Let GradientFill(ByVal g As Boolean)
 myGradientFill = g
 
End Property

Public Property Get GradientFill() As Boolean
 GradientFill = myGradientFill
End Property

Public Property Let BeginColor(ByVal bc As Long)
 myBeginColor = bc

End Property

Public Property Get BeginColor() As Long
 BeginColor = myBeginColor
End Property

Public Property Let EndColor(ByVal EC As Long)
 myEndColor = EC

End Property

Public Property Get EndColor() As Long
 EndColor = myEndColor
End Property

Public Property Let LineWidth(ByVal lw As Long)
 myLineWidth = lw
 
End Property

Public Property Get LineWidth() As Long
LineWidth = myLineWidth
End Property

Public Property Let LineStyle(ByVal ls As Long)
 myLineStyle = ls

End Property

Public Property Get LineStyle() As Long
 LineStyle = myLineStyle
End Property

Public Property Let FillColor(ByVal FC As Long)
 myFillColor = FC

End Property

Public Property Get FillColor() As Long
 FillColor = myFillColor
End Property

Public Property Let FillStyle(ByVal fs As Long)
 myFillStyle = fs

End Property

Public Property Get FillStyle() As Long
 FillStyle = myFillStyle
End Property

Public Property Let LineColor(ByVal lc As Long)
 myLineColor = lc
  
End Property

Public Property Get LineColor() As Long
 LineColor = myLineColor
End Property







Public Sub TextBox(ts As String, ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal rot As Long = 0, Optional ByVal fs As Long = 0, Optional fnt As String = "", Optional ByVal ul As Long = 0, Optional ByVal j As Integer = 0, Optional ByVal k As Integer = 0)
  Dim rs As RECT         ' text rectangle
  Dim nH As Long         ' calculation of fontsize
 
  If myGradientFill = True And k <> 2 Then
    G_Box l, t, R, b, myBeginColor, myEndColor, myGradientType
  End If
  rs.left = (devX / 254 * l)
  rs.top = (devY / 254 * t)
  rs.Right = (devX / 254 * R)
  rs.Bottom = (devY / 254 * b)
  ' fontsize 0 is printer fontsize gebruiken
  If fs = 0 Then fs = 8.2
  ' geen fontnaam is printer fontnaam
  If fnt = "" Then fnt = "Arial"
  ' fontsize uitrekenen voor Createfont
  'nH = -((fs * GetDeviceCaps(Printer.hdc, 90)) / 72)
  '                  size       weight, it, ul, str            fontnaam
  nFont = CreateFont(nH, 0, rot, rot, 400, 0, ul, 0, 1, 7, 0, 0, 0, ByVal fnt)
  oFont = SelectObject(hdcEM, nFont)
  If k = 1 Then
      pnta(0).x = rs.left
      pnta(0).y = rs.top
      pnta(1).x = rs.Right
      pnta(1).y = rs.top
      pnta(2).x = rs.Right
      pnta(2).y = rs.Bottom
      pnta(3).x = rs.left
      pnta(3).y = rs.Bottom
      pnta(4).x = rs.left
      pnta(4).y = rs.top
      ret = Polyline(hdcEM, pnta(0), 5)
  ElseIf k = 2 Then
      ret = Rectangle(hdcEM, rs.left, rs.top, rs.Right, rs.Bottom)
  End If
  ret = DrawText(hdcEM, ts, Len(ts), rs, j + 16 + 512)
  nFont = SelectObject(hdcEM, oFont)
  ret = DeleteObject(nFont)
End Sub

Public Sub SetText(t, ByVal x As Long, ByVal y As Long, Optional ByVal rot As Long = 0, Optional ByVal fs As Long = 0, Optional ByVal fnt As String = "", Optional ByVal ul As Long = 0)
  'attenzione t As String
  
  Dim nH As Long                 ' voor berekening fontsize
  
  'X = (devX / 254 * X)           ' x en y aanpassen aan printer device resolutie
  'Y = (devY / 254 * Y)
  ' fontsize 0 is printer fontsize gebruiken
  If fs = 0 Then fs = 8.2
  ' geen fontnaam is printer fontnaam
  If fnt = "" Then fnt = "Arial"
  nH = -fs * 10
  ' fontsize uitrekenen voor Createfont
  'nH = -((fs * GetDeviceCaps(Printer.hdc, 90)) / 72)
  '                  size       weight, it, ul, str            fontnaam
  nFont = CreateFont(nH, 0, rot, rot, 400, 0, ul, 0, 1, 7, 0, 0, 0, ByVal fnt)
  oFont = SelectObject(hdcEM, nFont)
  'ret = TextOut(hdcEM, x, y, t, Len(t)) 'attenzione 02/08/02
  ret = TextOut(hdcEM, x, y, t, Len(t))
  nFont = SelectObject(hdcEM, oFont)
  ret = DeleteObject(nFont)
End Sub

Private Sub myCircle(ByVal tp As Integer, ByVal x As Long, ByVal y As Long, ByVal R As Long, ByVal pwidth As Long, ByVal pcol As Long, ByVal psty As Long, ByVal fcol As Long)
  Select Case tp
  Case 1             'line
    ll = x - Abs(R)
    tt = y - Abs(R)
    rr = x + Abs(R)
    bb = y + Abs(R)
    
  Case 2             'fill
    
  Case 3             'linefill
   
  End Select
 ' X = (devX / 254 * X)
 ' Y = (devY / 254 * Y)
 ' r = (devY / 254 * r)
  Select Case tp
  Case 1             'line
    nPen = CreateMyPen(pwidth, psty, pcol)
    If myGradientFill = True Then
      regH = CreateEllipticRgn(x - R, y - R, x + R, y + R)
      ret = SelectClipRgn(hdcEM, regH)
      G_Box ll, tt, rr, bb, myBeginColor, myEndColor, myGradientType
      ret = SelectClipRgn(hdcEM, 0)
      ret = DeleteObject(regH)
    End If
    oRop = SetROP2(hdcEM, 9)
  Case 2             'fill
    nPen = CreateMyPen(0, 5, 0) ' 5 = PS_NULL of geen pen
  Case 3             'linefill
    nPen = CreateMyPen(pwidth, psty, pcol)
  End Select
  Select Case tp
  Case 1             'line
    ret = Ellipse(hdcEM, (x - R), (y - R), (x + R), (y + R))
    oRop = SetROP2(hdcEM, oRop)
  Case 2, 3            'line and fill
    nBrush = CreateMyBrush(fcol)
    ret = Ellipse(hdcEM, (x - R), (y - R), (x + R), (y + R))
    ret = RestoreBrush()
  End Select
  ret = RestorePen()
End Sub

Public Sub L_Circle(ByVal x As Long, ByVal y As Long, ByVal R As Long, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  myCircle 1, x, y, R, pwidth, pcol, psty, 0
End Sub

Public Sub F_Circle(ByVal x As Long, ByVal y As Long, ByVal R As Long, Optional ByVal fcol As Long = 0)
  myCircle 2, x, y, R, 0, 0, 0, fcol
End Sub

Public Sub LF_Circle(ByVal x As Long, ByVal y As Long, ByVal R As Long, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
  myCircle 3, x, y, R, pwidth, pcol, psty, fcol
End Sub


Public Sub LF_Box(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
 
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(pwidth, psty, pcol)
  'l = (devX / 254 * l)  ' aantal device pixels per 1/100 mm * n/100 mm
  't = (devY / 254 * t)
  'r = (devX / 254 * r)
  'b = (devY / 254 * b)
  ret = Rectangle(hdcEM, l, t, R, b)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub F_Box(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal fcol As Long = 0)
  
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(0, 5, 0)
  'l = (devX / 254 * l)  ' aantal device pixels per 1/100 mm * n/100 mm
  't = (devY / 254 * t)
  'r = (devX / 254 * r)
  'b = (devY / 254 * b)
  ret = Rectangle(hdcEM, l, t, R, b)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub L_Box(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  ll = l
  tt = t
  rr = R
  bb = b
  
  nPen = CreateMyPen(pwidth, psty, pcol)
 ' l = (devX / 254 * l)  ' aantal device pixels per 1/100 mm * n/100 mm
 '' t = (devY / 254 * t)
  'r = (devX / 254 * r)
  'b = (devY / 254 * b)
  pnta(0).x = l
  pnta(0).y = t
  pnta(1).x = R
  pnta(1).y = t
  pnta(2).x = R
  pnta(2).y = b
  pnta(3).x = l
  pnta(3).y = b
  pnta(4).x = l
  pnta(4).y = t
  If myGradientFill = True Then
    regH = CreateRectRgn(l, t, R, b)
    ret = SelectClipRgn(hdcEM, regH)
    G_Box ll, tt, rr, bb, BeginColor, EndColor, myGradientType
    ret = SelectClipRgn(hdcEM, 0)
    ret = DeleteObject(regH)
    pnta(0).x = l
    pnta(0).y = t
    pnta(1).x = R
    pnta(1).y = t
  End If
  ret = Polyline(hdcEM, pnta(0), 5)
  ret = RestorePen()
End Sub

Private Sub G_Box(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal gcol1 As Long = 0, Optional ByVal gcol2 As Long = 16777215, Optional ByVal dr As Long = 0)
  Dim ccol As Long
  Dim ct As Integer
  Dim Ri
  Dim Gi
  Dim Bi
  Dim sR As Integer
  Dim sG As Integer
  Dim sB As Integer
  Dim Er As Integer
  Dim eG As Integer
  Dim eB As Integer
  Dim fstep As Integer
  l = (devX / 254 * l)  ' aantal device pixels per 1/100 mm * n/100 mm
  t = (devY / 254 * t)
  R = (devX / 254 * R)
  b = (devY / 254 * b)
  
  If dr Mod 2 = 0 Then
     fstep = (R - l)
  ElseIf dr Mod 2 = 1 Then
     fstep = (b - t)
  End If
  
  sR = GetRed(gcol1)
  Er = GetRed(gcol2)
  sG = GetGreen(gcol1)
  eG = GetGreen(gcol2)
  sB = GetBlue(gcol1)
  eB = GetBlue(gcol2)
  Ri = (Er - sR) / fstep
  Gi = (eG - sG) / fstep
  Bi = (eB - sB) / fstep
  
  If dr = 0 Then
    For ct = 0 To fstep
      ccol = RGB(sR + Ri * ct, sG + Gi * ct, sB + Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
          pnta(0).x = l + ct
          pnta(0).y = t
          pnta(1).x = l + ct
          pnta(1).y = b
          ret = Polyline(hdcEM, pnta(0), 2)
        ret = SelectObject(hdcEM, olPen)
        ret = DeleteObject(nPen)
    Next
  ElseIf dr = 1 Then
     For ct = 0 To fstep
      ccol = RGB(sR + Ri * ct, sG + Gi * ct, sB + Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
      pnta(0).x = l
      pnta(0).y = t + ct
      pnta(1).x = R
      pnta(1).y = t + ct
      ret = Polyline(hdcEM, pnta(0), 2)
      ret = SelectObject(hdcEM, olPen)
      ret = DeleteObject(nPen)
    Next
  ElseIf dr = 2 Then
    For ct = 0 To fstep Step 2
      ccol = RGB(sR + Ri * ct, sG + Gi * ct, sB + Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
      pnta(0).x = l + ct / 2
      pnta(0).y = t
      pnta(1).x = l + ct / 2
      pnta(1).y = b
      ret = Polyline(hdcEM, pnta(0), 2)
      pnta(0).x = R - ct / 2
      pnta(0).y = t
      pnta(1).x = R - ct / 2
      pnta(1).y = b
      ret = Polyline(hdcEM, pnta(0), 2)
      ret = SelectObject(hdcEM, olPen)
      ret = DeleteObject(nPen)
    Next
  ElseIf dr = 3 Then
     For ct = 0 To fstep Step 2
      ccol = RGB(sR + Ri * ct, sG + Gi * ct, sB + Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
      pnta(0).x = l
      pnta(0).y = t + ct / 2
      pnta(1).x = R
      pnta(1).y = t + ct / 2
      ret = Polyline(hdcEM, pnta(0), 2)
      pnta(0).x = l
      pnta(0).y = b - ct / 2
      pnta(1).x = R
      pnta(1).y = b - ct / 2
      ret = Polyline(hdcEM, pnta(0), 2)
      ret = SelectObject(hdcEM, olPen)
      ret = DeleteObject(nPen)
    Next
  ElseIf dr = 4 Then
    For ct = 0 To fstep Step 2
      ccol = RGB(Er - Ri * ct, eG - Gi * ct, eB - Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
      pnta(0).x = l + ct / 2
      pnta(0).y = t
      pnta(1).x = l + ct / 2
      pnta(1).y = b
      ret = Polyline(hdcEM, pnta(0), 2)
      pnta(0).x = R - ct / 2
      pnta(0).y = t
      pnta(1).x = R - ct / 2
      pnta(1).y = b
      ret = Polyline(hdcEM, pnta(0), 2)
      ret = SelectObject(hdcEM, olPen)
      ret = DeleteObject(nPen)
    Next
   ElseIf dr = 5 Then
     For ct = 0 To fstep Step 2
      ccol = RGB(Er - Ri * ct, eG - Gi * ct, eB - Bi * ct)
      nPen = CreateMyPen(1, 0, ccol)
      pnta(0).x = l
      pnta(0).y = t + ct / 2
      pnta(1).x = R
      pnta(1).y = t + ct / 2
      ret = Polyline(hdcEM, pnta(0), 2)
      pnta(0).x = l
      pnta(0).y = b - ct / 2
      pnta(1).x = R
      pnta(1).y = b - ct / 2
      ret = Polyline(hdcEM, pnta(0), 2)
      ret = SelectObject(hdcEM, olPen)
      ret = DeleteObject(nPen)
    Next
  End If
End Sub




Public Sub F_Rectangle(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal rot = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoogte2 As Long
  Dim breedte2 As Long
  Dim mx As Long
  Dim my As Long
  Dim ra As Long
 
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(0, 5, 0)
 ' l = (devX / 254 * l)
 ' t = (devY / 254 * t)
 ' r = (devX / 254 * r)
 ' b = (devY / 254 * b)
  breedte2 = (R - l) / 2
  hoogte2 = (b - t) / 2
  mx = l + breedte2
  my = t + hoogte2
  ra = Sqr((breedte2 * breedte2) + (hoogte2 * hoogte2))
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  pnta(0).x = mx + ra * ((l - mx) / ra * crot - (t - my) / ra * srot)
  pnta(0).y = my + ra * ((t - my) / ra * crot + (l - mx) / ra * srot)
  pnta(1).x = mx + ra * ((R - mx) / ra * crot - (t - my) / ra * srot)
  pnta(1).y = my + ra * ((t - my) / ra * crot + (R - mx) / ra * srot)
  pnta(2).x = mx + ra * ((R - mx) / ra * crot - (b - my) / ra * srot)
  pnta(2).y = my + ra * ((b - my) / ra * crot + (R - mx) / ra * srot)
  pnta(3).x = mx + ra * ((l - mx) / ra * crot - (b - my) / ra * srot)
  pnta(3).y = my + ra * ((b - my) / ra * crot + (l - mx) / ra * srot)
  pnta(4).x = pnta(0).x
  pnta(4).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), 5)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub LF_Rectangle(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoogte2 As Long
  Dim breedte2 As Long
  Dim mx As Long
  Dim my As Long
  Dim ra As Long
  
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(pwidth, psty, pcol)
  'l = (devX / 254 * l)
  't = (devY / 254 * t)
  'r = (devX / 254 * r)
  'b = (devY / 254 * b)
  breedte2 = (R - l) / 2
  hoogte2 = (b - t) / 2
  mx = l + breedte2
  my = t + hoogte2
  ra = Sqr((breedte2 * breedte2) + (hoogte2 * hoogte2))
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  pnta(0).x = mx + ra * ((l - mx) / ra * crot - (t - my) / ra * srot)
  pnta(0).y = my + ra * ((t - my) / ra * crot + (l - mx) / ra * srot)
  pnta(1).x = mx + ra * ((R - mx) / ra * crot - (t - my) / ra * srot)
  pnta(1).y = my + ra * ((t - my) / ra * crot + (R - mx) / ra * srot)
  pnta(2).x = mx + ra * ((R - mx) / ra * crot - (b - my) / ra * srot)
  pnta(2).y = my + ra * ((b - my) / ra * crot + (R - mx) / ra * srot)
  pnta(3).x = mx + ra * ((l - mx) / ra * crot - (b - my) / ra * srot)
  pnta(3).y = my + ra * ((b - my) / ra * crot + (l - mx) / ra * srot)
  pnta(4).x = pnta(0).x
  pnta(4).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), 5)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub L_Rectangle(ByVal l As Long, ByVal t As Long, ByVal R As Long, ByVal b As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  Dim crot
  Dim srot
  Dim hoogte2 As Long
  Dim breedte2 As Long
  Dim mx As Long
  Dim my As Long
  Dim ra As Long
    
  nPen = CreateMyPen(pwidth, psty, pcol)
 ' l = (devX / 254 * l)
 ' t = (devY / 254 * t)
 ' r = (devX / 254 * r)
 ' b = (devY / 254 * b)
  breedte2 = (R - l) / 2
  hoogte2 = (b - t) / 2
  mx = l + breedte2
  my = t + hoogte2
  ra = Sqr((breedte2 * breedte2) + (hoogte2 * hoogte2))
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  pnta(0).x = mx + ra * ((l - mx) / ra * crot - (t - my) / ra * srot)
  pnta(0).y = my + ra * ((t - my) / ra * crot + (l - mx) / ra * srot)
  pnta(1).x = mx + ra * ((R - mx) / ra * crot - (t - my) / ra * srot)
  pnta(1).y = my + ra * ((t - my) / ra * crot + (R - mx) / ra * srot)
  pnta(2).x = mx + ra * ((R - mx) / ra * crot - (b - my) / ra * srot)
  pnta(2).y = my + ra * ((b - my) / ra * crot + (R - mx) / ra * srot)
  pnta(3).x = mx + ra * ((l - mx) / ra * crot - (b - my) / ra * srot)
  pnta(3).y = my + ra * ((b - my) / ra * crot + (l - mx) / ra * srot)
  pnta(4).x = pnta(0).x
  pnta(4).y = pnta(0).y
  ret = Polyline(hdcEM, pnta(0), 5)
  ret = RestorePen()
End Sub






Public Sub L_Polygon(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  Dim sx As Integer
  Dim sy As Integer
  ll = x1 - Abs(ra)
  tt = y1 - Abs(ra)
  rr = x1 + Abs(ra)
  bb = y1 + Abs(ra)
  If n < 3 Or n > 30 Then Exit Sub
  
  nPen = CreateMyPen(pwidth, psty, pcol)
  hoek = 360 / n '((n - 2) * 180) / n
  spos = 90 - (hoek / 2)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'ra = (devY / 254 * ra)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  For num = 0 To n - 1
    pnta(num).x = x1 + ra * ((Cos((spos + (hoek * num)) * PI1 / 180) * crot) - (Sin((spos + (hoek * num)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra * ((Sin((spos + (hoek * num)) * PI1 / 180) * crot) + (Cos((spos + (hoek * num)) * PI1 / 180) * srot))
  Next
  pnta(n).x = pnta(0).x
  pnta(n).y = pnta(0).y
  If myGradientFill = True Then
    regH = CreatePolygonRgn(pnta(0), n + 1, 1)
    ret = SelectClipRgn(hdcEM, regH)
    sx = pnta(1).x
    sy = pnta(1).y
    G_Box ll, tt, rr, bb, myBeginColor, myEndColor, myGradientType
    ret = SelectClipRgn(hdcEM, 0)
    ret = DeleteObject(regH)
    pnta(0).x = pnta(n).x
    pnta(0).y = pnta(n).y
    pnta(1).x = sx
    pnta(1).y = sy
  End If
  ret = Polyline(hdcEM, pnta(0), n + 1)
  ret = RestorePen()
End Sub

Public Sub F_Polygon(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra As Long, Optional ByVal rot = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(0, 5, 0)
  hoek = 360 / n '((n - 2) * 180) / n
  spos = 90 - (hoek / 2)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'ra = (devY / 254 * ra)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  For num = 0 To n - 1
    pnta(num).x = x1 + ra * ((Cos((spos + (hoek * num)) * PI1 / 180) * crot) - (Sin((spos + (hoek * num)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra * ((Sin((spos + (hoek * num)) * PI1 / 180) * crot) + (Cos((spos + (hoek * num)) * PI1 / 180) * srot))
  Next
  pnta(n).x = pnta(0).x
  pnta(n).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), n + 1)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub polP(nome As String, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
  
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
Close #1
Open nome For Input As #1




Input #1, nn




For j = 0 To nn


Input #1, nodox, nodoy

pnta(j).x = nodox
pnta(j).y = nodoy


Next j

Close #1

nBrush = CreateMyBrush(fcol)
nPen = CreateMyPen(pwidth, psty, pcol)

ret = Polygon(hdcEM, pnta(0), nn + 1)
ret = RestorePen()



End Sub


Public Sub LF_Polygon(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  ' minstens driehoek, maximum 30 hoek
  If n < 3 Or n > 30 Then Exit Sub
  
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(pwidth, psty, pcol)
  hoek = 360 / n '((n - 2) * 180) / n
  spos = 90 - (hoek / 2)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'ra = (devY / 254 * ra)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  For num = 0 To n - 1
    pnta(num).x = x1 + ra * ((Cos((spos + (hoek * num)) * PI1 / 180) * crot) - (Sin((spos + (hoek * num)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra * ((Sin((spos + (hoek * num)) * PI1 / 180) * crot) + (Cos((spos + (hoek * num)) * PI1 / 180) * srot))
  Next
  pnta(n).x = pnta(0).x
  pnta(n).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), n + 1)
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub L_Star(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra1 As Long, ByVal ra2 As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  Dim nm As Integer
  Dim sx As Integer
  Dim sy As Integer
  ll = x1 - Abs(ra1)
  tt = y1 - Abs(ra1)
  rr = x1 + Abs(ra1)
  bb = y1 + Abs(ra1)
  If n < 3 Or n > 20 Then Exit Sub
  
  nPen = CreateMyPen(pwidth, psty, pcol)
  hoek = 360 / n
  spos = 90 - (hoek / 2)
 ' X1 = (devX / 254 * X1)
 ' Y1 = (devY / 254 * Y1)
  'ra1 = (devY / 254 * ra1)
  'ra2 = (devY / 254 * ra2)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  nm = 0
  For num = 0 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra1 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra1 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  spos = 90
  nm = 0
  For num = 1 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra2 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra2 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  pnta(n * 2).x = pnta(0).x
  pnta(n * 2).y = pnta(0).y
  
  If myGradientFill = True Then
    regH = CreatePolygonRgn(pnta(0), (n * 2) + 1, 1)
    ret = SelectClipRgn(hdcEM, regH)
    sx = pnta(1).x
    sy = pnta(1).y
    G_Box ll, tt, rr, bb, myBeginColor, myEndColor, myGradientType
    ret = SelectClipRgn(hdcEM, 0)
    ret = DeleteObject(regH)
    pnta(0).x = pnta(n * 2).x
    pnta(0).y = pnta(n * 2).y
    pnta(1).x = sx
    pnta(1).y = sy
  End If
  ret = Polyline(hdcEM, pnta(0), ((n * 2) + 1))
  ret = RestorePen()
End Sub

Public Sub LF_Star(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra1 As Long, ByVal ra2 As Long, Optional ByVal rot = 0, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  Dim nm As Integer
  If n < 3 Or n > 20 Then Exit Sub
 
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(pwidth, psty, pcol)
  hoek = 360 / n
  spos = 90 - (hoek / 2)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'ra1 = (devY / 254 * ra1)
  'ra2 = (devY / 254 * ra2)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  nm = 0
  For num = 0 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra1 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra1 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  spos = 90
  nm = 0
  For num = 1 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra2 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra2 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  pnta(n * 2).x = pnta(0).x
  pnta(n * 2).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), ((n * 2) + 1))
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub F_Star(ByVal x1 As Long, ByVal y1 As Long, n As Long, ByVal ra1 As Long, ByVal ra2 As Long, Optional ByVal rot = 0, Optional ByVal fcol As Long = 0)
  Dim crot
  Dim srot
  Dim hoek As Long
  Dim spos As Long
  Dim num As Integer
  Dim nm As Integer
  If n < 3 Or n > 20 Then Exit Sub
  
  nBrush = CreateMyBrush(fcol)
  nPen = CreateMyPen(0, 5, 0)
  hoek = 360 / n
  spos = 90 - (hoek / 2)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'ra1 = (devY / 254 * ra1)
  'ra2 = (devY / 254 * ra2)
  crot = Cos(rot * PI1 / 180)
  srot = Sin(rot * PI1 / 180)
  nm = 0
  For num = 0 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra1 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra1 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  spos = 90
  nm = 0
  For num = 1 To ((n * 2) - 1) Step 2
    pnta(num).x = x1 + ra2 * ((Cos((spos + (hoek * nm)) * PI1 / 180) * crot) - (Sin((spos + (hoek * nm)) * PI1 / 180) * srot))
    pnta(num).y = y1 + ra2 * ((Sin((spos + (hoek * nm)) * PI1 / 180) * crot) + (Cos((spos + (hoek * nm)) * PI1 / 180) * srot))
    nm = nm + 1
  Next
  pnta(n * 2).x = pnta(0).x
  pnta(n * 2).y = pnta(0).y
  ret = Polygon(hdcEM, pnta(0), ((n * 2) + 1))
  ret = RestorePen()
  ret = RestoreBrush()
End Sub

Public Sub L_Line(ByVal x1 As Long, ByVal y1 As Long, ByVal x2 As Long, ByVal y2 As Long, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)

  nPen = CreateMyPen(pwidth, psty, pcol)
  'X1 = (devX / 254 * X1)
  'Y1 = (devY / 254 * Y1)
  'X2 = (devX / 254 * X2)
  'Y2 = (devY / 254 * Y2)
  pnta(0).x = x1
  pnta(0).y = y1
  pnta(1).x = x2
  pnta(1).y = y2
  ret = Polyline(hdcEM, pnta(0), 2)
  ret = RestorePen()
  'ret = RestoreBrush()
End Sub

Public Sub L_PolyLineCalcolato(Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  
Dim pt As POINTAPI

  nPen = CreateMyPen(pwidth, psty, pcol)
 Close #1
Open "c:\rete\albione\albione3\dati\risultati.out" For Input As #1
 
'MousePointer = 11
k = 0
Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b, c, da ' Read data into two variables.
     
    pnta(k).x = a
    pnta(k).y = b
    'Ycalc(k) = C
    'Ydiff(k) = d
     k = k + 1
Loop
Close #1
    
  ret = Polyline(hdcEM, pnta(0), k - 1)
  ret = RestorePen()
  'ret = RestoreBrush()
End Sub

Public Sub L_PolyLine1(Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  
Dim pt As POINTAPI

  nPen = CreateMyPen(pwidth, psty, pcol)
  pnta(0).x = 0
  pnta(0).y = 0
  pnta(1).x = 15
  pnta(1).y = 15
  pnta(2).x = 30
  pnta(2).y = 0
    
  ret = Polyline(hdcEM, pnta(0), 3)
  ret = RestorePen()
  'ret = RestoreBrush()
End Sub


Public Sub Vector(ByVal x As Long, ByVal y As Long, ByVal ln As Long, ByVal hk, Optional ByVal pwidth As Long = 0, Optional ByVal pcol As Long = 0, Optional ByVal psty As Long = 0)
  Dim rhk        ' hoek in Radians
  Dim xe As Long
  Dim ye As Long
  
  nPen = CreateMyPen(pwidth, psty, pcol)
  x = (devX / 254 * x)
  y = (devY / 254 * y)
  ln = (devY / 254 * ln)
  rhk = hk * PI1 / 180
  xe = x + ln * Cos(rhk)
  ye = y + ln * Sin(rhk)
  pnta(0).x = x
  pnta(0).y = y
  pnta(1).x = xe
  pnta(1).y = ye
  ret = Polyline(hdcEM, pnta(0), 2)
  ret = RestorePen()
End Sub





Public Sub CloseMeta()
  
  
  
  hemf = CloseEnhMetaFile(hdcEM)
  ret = DeleteDC(hdcEM)
  ret = DeleteEnhMetaFile(hemf)
  If ret = 0 Then
    'MsgBox "Delete metafile error in function clMeta !"
    Exit Sub
  End If
  closed = True

End Sub



Public Sub OpenMeta(MF, Optional ByVal l As Long = 0, Optional ByVal t As Long = 0, Optional ByVal R As Long = 0, Optional ByVal b As Long = 0)
Attribute OpenMeta.VB_Description = "Iniialize"
  ' if bottom of right = 0 gebruiken we printerformaat
 
  
'  If r = 0 Or b = 0 Then
  ' Printer.ScaleMode = 1         'twips
   
  '  l = 0
  '  t = 0
    ' printer object geeft accuratere settings dan getdevicecaps
 ' Printer.ScaleWidth * 254 / 144
  '  b = Printer.ScaleHeight * 254 / 144
 ' ElseIf r - l > b - t Then
    ' printer orientatie aanpassen aan eigen formaat
  '  Printer.Orientation = 2
 ' ElseIf r - l < b - t Then
    ' printer orientatie aanpassen aan eigen formaat
 '   Printer.Orientation = 1
 ' End If
  brs.left = l                    ' metapicture size in .01 mm (himetric) !!!!
  brs.top = t
  brs.Right = R * 7.3
  brs.Bottom = b * 7.3
  metawidth = (brs.Right - brs.left)
  metaheight = (brs.Bottom - brs.top)
 ' Printer.Width = metawidth
 ' Printer.Height = metaheight
 'hdcEM = CreateEnhMetaFile(Printer.hdc, MF, brs, "")
  hdcEM = CreateEnhMetaFile(hdc, MF, brs, "")
  If hdcEM = 0 Then
    'MsgBox "Metafile creation failed"
    Exit Sub
  End If
  ret = SetMapMode(hdcEM, 1)        ' MM_TEXT
  ret = SetBkMode(hdcEM, 1)         ' transparant
  oBrush = GetCurrentObject(hdcEM, OBJ_BRUSH)
  olPen = GetCurrentObject(hdcEM, OBJ_PEN)
  MetaFile = MF
  closed = False
End Sub




Public Sub CerVuot(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Dim nome$(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b, c
    k = k + 1
    x(k) = a
    y(k) = b
    nome$(k) = c
    
Loop
Close #1

'finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Circle (x1, y1), R, col, F
'identificazione campioni
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x(i)
YYReal(NumCamp(Indeks), Indeks) = y(i)
Campione(NumCamp(Indeks), Indeks) = nome$(i)

Next i




'metafile
For i = 1 To k
x1 = 1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
MF1.L_Circle x1, y1, (R * 10), , col
Next i


End Sub
Public Sub Un_CerVuot(nome As String, x, y, R As Integer, col As Variant)



'finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Circle (x1, y1), R, col, F
'identificazione campioni
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
MF1.L_Circle x1, y1, (R), LineWidth, col



End Sub

Public Sub Un_CerVuotL(nome As String, y, R, col)



'metafile

x1 = 500 / 10
y1 = y / 10
MF1.L_Circle x1, y1, (R), LineWidth, col



End Sub
 Public Sub CerPien(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Circle (x1, y1), R, col
Next
'metafile
For i = 1 To k
x1 = 1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
MF1.LF_Circle x1, y1, (R * 10), , col, , col
Next i


End Sub

Public Sub Un_CerPien(nome As String, x, y, R As Integer, col As Variant)


'finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Circle (x1, y1), R, col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile
x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))

MF1.LF_Circle x1, y1, (R), , col, , col


End Sub

Public Sub Un_CerPienL(nome As String, y, R, col)

'metafile
x1 = 500 / 10
y1 = y / 10
MF1.LF_Circle x1, y1, (R), , col, , col


End Sub



Public Sub REE_CerPien(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
MF1.LF_Circle x1, y1, (rm), , col1, , col1
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i

End Sub

Public Sub REE_CerPienL(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

ss = 0
For i = 1 To 15
'finestra
'If Form8.Check1(i - 1).Value = 1 Then
ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))
Spiy(Indeks, i, id) = Val(Format$(y1, "0.0"))
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx / 2, col1
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

MF1.LOGY_Linea x1 - Rx / 2, y1, x1 + Rx / 2, y1, col

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
MF1.LF_Circle x1, y1, (rm), , col1, , col1


If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

'End If

Next i

End Sub

Public Sub SPIDER_CerPien(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i

wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
    If SpiderAbsent(i) = False Then
    picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
    picforms(Indeks).Picture2.FillStyle = 0
    picforms(Indeks).Picture2.FillColor = col1
    picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
    End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1


'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
MF1.LF_Circle x1, y1, (rm), , col1, , col1
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
End If
    xprec1 = x1
    yprec1 = y1

End If

Next i

End Sub

Public Sub SPIDER_CerPienL(idRx, Ry, rm, col1 As Variant, colline As Variant)

ss = 0
For i = 1 To NumSpider '+ 1
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
Spiy(Indeks, i, id) = Val(Format$(y1, "0.0"))
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx / 2, col1
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

MF1.LOGY_Linea x1 - Rx / 2, y1, x1 + Rx / 2, y1, col

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000))
y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))
MF1.LF_Circle x1 / 10, y1 / 10, (rm), , col1, , col1

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1



Next i

End Sub

Public Sub LOGY_CerPien(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MF1.LF_Circle x1, y1, (rm), , col1, , col1


End Sub

Public Sub LOGY_CerPienL(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx / 2, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = 1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))

minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MF1.LF_Circle x1, y1, (rm * 10), , col1, , col1

MF1.LOGY_Linea xxa - rm / 2, yya, xxa + rm / 2, yya, col

End Sub


Public Sub LOGX_CerPien(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MF1.LF_Circle x1, y1, (rm), , col1, , col1


End Sub

Public Sub LOGX_CerPienL(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx / 2, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = 1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))

minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MF1.LF_Circle x1, y1, (rm * 10), , col1, , col1

MF1.LOGX_Linea xxa - rm / 2, yya, xxa + rm / 2, yya, col

End Sub


Public Sub LOG_CerPien(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.LF_Circle x1, y1, (rm), , col1, , col1

yyyyx:

End Sub

Public Sub LOG_CerPienL(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx / 2, col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = 1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))
MF1.LF_Circle x1, y1, (rm * 10), , col1, , col1

MF1.LOG_Linea xxa - rm / 2, yy2, xxa + rm / 2, yy2, col

yyyyx:

End Sub

Public Sub REE_TriaVuotSu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1 - (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 + (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
End If


If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i


End Sub

Public Sub SPIDER_TriaVuotSu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1 - (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 + (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
End If


If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i


End Sub

Public Sub LOGY_TriaVuotSu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1 - (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 + (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()

End Sub

Public Sub LOGX_TriaVuotSu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1 - (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 + (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()

End Sub



Public Sub LOG_TriaVuotSu(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col1
               
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If
               'metafile

x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1 - (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 + (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()

yyyyx:

End Sub
Public Sub REE_TriaVuotGiu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 - (rm)
pnta(1).x = x1
pnta(1).y = y1 + (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
End If




If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i



End Sub

Public Sub SPIDER_TriaVuotGiu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 - (rm)
pnta(1).x = x1
pnta(1).y = y1 + (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
End If




If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i



End Sub

Public Sub LOGY_TriaVuotGiu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col1
  
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 - (rm)
pnta(1).x = x1
pnta(1).y = y1 + (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()



End Sub

Public Sub LOGX_TriaVuotGiu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col1
  
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 - (rm)
pnta(1).x = x1
pnta(1).y = y1 + (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()



End Sub


Public Sub LOG_TriaVuotGiu(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col1
             
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

 'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 - (rm)
pnta(1).x = x1
pnta(1).y = y1 + (rm)
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1 + (rm)
pnta(3).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()

yyyyx:

End Sub


Public Sub REE_CerVuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1


'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(0)
MF1.L_Circle x1, y1, (rm), LineWidth, col1
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i



End Sub

Public Sub SPIDER_CerVuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)


For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i

wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
    ss = ss + 1
    x1 = i
    y1 = LOG10(ValSpiderNorm(i))
    PlotSpi(Indeks, wwq) = id
    Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
  If SpiderAbsent(i) = False Then
    picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
    picforms(Indeks).Picture2.FillStyle = 1
    picforms(Indeks).Picture2.FillColor = col1
    picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
End If
        If ss > 1 Then
        picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
        picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
        End If
xprec = x1
yprec = y1


'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
    If SpiderAbsent(i) = False Then
    nBrush = CreateMyBrush(0)
    MF1.L_Circle x1, y1, (rm), LineWidth, col1
    End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()

End If
    xprec1 = x1
    yprec1 = y1

End If

Next i



End Sub

Public Sub LOGY_CerVuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10


nBrush = CreateMyBrush(0)
MF1.L_Circle x1, y1, (rm), LineWidth, col1




End Sub

Public Sub LOGX_CerVuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10


nBrush = CreateMyBrush(0)
MF1.L_Circle x1, y1, (rm), LineWidth, col1




End Sub




Public Sub LOG_CerVuot(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Circle (x1, y1), Rx, col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(0)
MF1.L_Circle x1, y1, (rm), LineWidth, col1

yyyyx:
End Sub
Public Sub REE_QuadPien(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
MF1.LF_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1, , col1
End If


If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i
End Sub

Public Sub SPIDER_QuadPien(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))

If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
MF1.LF_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1, , col1
End If


If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i
End Sub

Public Sub LOGY_QuadPien(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
  
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.LF_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1, , col1


End Sub

Public Sub LOGX_QuadPien(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
  
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.LF_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1, , col1


End Sub


Public Sub LOG_QuadPien(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)


picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
MF1.LF_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1, , col1

yyyyx:

End Sub

Public Sub REE_QuadVuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1



Next i
End Sub

Public Sub REE_QuadVuotPer(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1



Next i
End Sub

Public Sub SPIDER_QuadVuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

End If

Next i
End Sub

Public Sub SPIDER_QuadVuotPer(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1

'-------
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
'-----
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

End If

Next i
End Sub


Public Sub LOGY_QuadVuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B

'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1



End Sub

Public Sub LOGY_QuadVuotPer(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B

'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1

'----------------
x1 = xxa
y1 = LOG10(yya)

picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
End If

'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = 1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()



End Sub


Public Sub LOGX_QuadVuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B

'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1



End Sub

Public Sub LOGX_QuadVuotPer(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B

'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1

'-------------------------

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
End If

'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub


Public Sub LOG_QuadVuot(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
          
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

 'metafile
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1


yyyyx:

End Sub

Public Sub LOG_QuadVuotPer(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1, B
          
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

 'metafile
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
MF1.L_Rectangle (x1 - (rm)), (y1 - (rm)), (x1 + (rm)), (y1 + (rm)), , LineWidth, col1

'---------------

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
'If Mod1 = False Then
'NumCamp(Indeks) = NumCamp(Indeks) + 1
'xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
'yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
'XXReal(NumCamp(Indeks), Indeks) = xxa
'YYReal(NumCamp(Indeks), Indeks) = yya
'Campione(NumCamp(Indeks), Indeks) = nome
'End If


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()

yyyyx:

End Sub

Public Sub REE_Asterisco(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1



'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (rm)
pnta(6).y = y1 + (rm)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (rm)
pnta(8).y = y1 - (rm)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (rm)
pnta(10).y = y1 + (rm)
pnta(11).x = x1 + (rm)
pnta(11).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1



Next i

End Sub
Public Sub REE_Evidenzia(id)

id1 = PlotSpi(Indeks, id)
SPI.DeterminaValoriREE id1

MDIForm1.StatusBar1.Panels(1).Text = "Campione: " + NomeCamp(id1)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i

ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i * (picforms(Indeks).Picture2.Width / 15)
y1 = picforms(Indeks).Picture2.Height - (valREEn(i) - MinY(Indeks) / (MaxY(Indeks) - MinY(Indeks)) * picforms(Indeks).Picture2.Height)
'Spiy(Indeks, i, id) = Val(format$(y1, "0.0"))
picforms(Indeks).Shape3(i).left = i - (picforms(Indeks).Shape3(i).Width / 2)
picforms(Indeks).Shape3(i).top = Spiy(Indeks, i, id) + (picforms(Indeks).Shape3(i).Height / 2)
picforms(Indeks).Shape3(i).Visible = False
If REEabsent(i) = False Then
picforms(Indeks).Shape3(i).Visible = True
End If

Next i

End Sub
Public Sub SPIDER_Evidenzia(id)



id1 = PlotSpi(Indeks, id)

SPI1.CaricaNormalizzazioneSpider NormSP(Indeks)
'SPI1.DeterminaSpiderPresenti
SPI1.DeterminaValoriSpider id1

MDIForm1.StatusBar1.Panels(1).Text = "Campione: " + NomeCamp(id1)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i

ss = 0
For i = 1 To NumSpider
'finestra

ss = ss + 1
x1 = i * (picforms(Indeks).Picture2.Width / 15)
y1 = picforms(Indeks).Picture2.Height - (ValSpiderNorm(i) - MinY(Indeks) / (MaxY(Indeks) - MinY(Indeks)) * picforms(Indeks).Picture2.Height)
'Spiy(Indeks, i, id) = Val(format$(y1, "0.0"))
picforms(Indeks).Shape3(i).left = i - (picforms(Indeks).Shape3(i).Width / 2)
picforms(Indeks).Shape3(i).top = Spiy(Indeks, i, id) + (picforms(Indeks).Shape3(i).Height / 2)
picforms(Indeks).Shape3(i).Visible = False
If SpiderAbsent(i) = False Then
picforms(Indeks).Shape3(i).Visible = True
End If

Next i

End Sub

Public Sub REE_Croce(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If

    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1



'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i

End Sub

Public Sub SPIDER_Asterisco(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If

    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1



'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (rm)
pnta(6).y = y1 + (rm)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (rm)
pnta(8).y = y1 - (rm)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (rm)
pnta(10).y = y1 + (rm)
pnta(11).x = x1 + (rm)
pnta(11).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = NumSpider
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

End If

Next i
End Sub

Public Sub SPIDER_Croce(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1



'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)
ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = NumSpider
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

End If


Next i
End Sub


Public Sub LogY_Asterisco(name As String, xxa, yya, Rx, Ry, rm, col1 As Variant)

Dim y1

x1 = xxa
y1 = LOG10(yya)

picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (rm)
pnta(6).y = y1 + (rm)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (rm)
pnta(8).y = y1 - (rm)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (rm)
pnta(10).y = y1 + (rm)
pnta(11).x = x1 + (rm)
pnta(11).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()


End Sub

Public Sub LogY_Croce(name As String, xxa, yya, Rx, Ry, rm, col1 As Variant)

Dim y1

x1 = xxa
y1 = LOG10(yya)

picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub

Public Sub LogX_Asterisco(name As String, xxa, yya, Rx, Ry, rm, col1 As Variant)

Dim y1

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (rm)
pnta(6).y = y1 + (rm)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (rm)
pnta(8).y = y1 - (rm)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (rm)
pnta(10).y = y1 + (rm)
pnta(11).x = x1 + (rm)
pnta(11).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()


End Sub

Public Sub LogX_Croce(name As String, xxa, yya, Rx, Ry, rm, col1 As Variant)

Dim y1

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
 
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub

Public Sub LOG_Asterisco(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (rm)
pnta(6).y = y1 + (rm)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (rm)
pnta(8).y = y1 - (rm)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (rm)
pnta(10).y = y1 + (rm)
pnta(11).x = x1 + (rm)
pnta(11).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()



yyyyx:

End Sub

Public Sub LOG_Croce(nome As String, xxa, yya, rm, col1 As Variant)

If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col1
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)

pnta(0).x = x1 + (rm)
pnta(0).y = y1 + (rm)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (rm)
pnta(2).y = y1 - (rm)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (rm)
pnta(4).y = y1 + (rm)
pnta(5).x = x1 + (rm)
pnta(5).y = y1 - (rm)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()



yyyyx:

End Sub



Public Sub REE_InsertPoint(id, rr As Variant, col1 As Variant, col2 As Variant, tipo As Variant)

Campione(id, Indeks) = NomeCamp(id)

If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If



Dim rxx
Dim ryy


r2 = rr

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.REE_QuadPien id, rxx, ryy, rr, col1, col2
End If

If tipo = 2 Then
MF1.REE_QuadVuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 3 Then
MF1.REE_CerPien id, rxx, ryy, rr, col1, col2
End If

If tipo = 4 Then
MF1.REE_CerVuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 5 Then
MF1.REE_TriaVuotSu id, rxx, ryy, rr, col1, col2
End If

If tipo = 6 Then
MF1.REE_TriaVuotGiu id, rxx, ryy, rr, col1, col2
End If

If tipo = 7 Then
MF1.REE_Asterisco id, rxx, ryy, rr, col1, col2
End If

If tipo = 8 Then
MF1.REE_Piu id, rxx, ryy, rr, col1, col2
End If

If tipo = 9 Then
MF1.REE_rombvuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 10 Then
MF1.REE_Croce id, rxx, ryy, rr, col1, col2
End If

If tipo = 11 Then
MF1.REE_Meno id, rxx, ryy, rr, col1, col2
End If

If tipo = 12 Then
MF1.REE_QuadVuotPer id, rxx, ryy, rr, col1, col2
End If


End Sub


Public Sub REE_InsertPointMOD(model)


SPI.DeterminaValoriREEmod (model)

Close #1
Open App.Path + "\data\SpiMod_" + Trim(model) + ".txt" For Input As #1

Input #1, numgraph, C0, F, ModelLineSp, col2, tipo, ModelSymbSp, col1, ModelSymbWid

'--------------------------

Campione(id, Indeks) = "Modello" '+nome

If ModelSymbSp = 1 Then
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If ModelSymbSp = 2 Then
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If



Dim rxx
Dim ryy


r2 = ModelSymbWid

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.REE_QuadPien 0, rxx, ryy, r2, col1, col2
End If

If tipo = 2 Then
MF1.REE_QuadVuot 0, rxx, ryy, r2, col1, col2
End If

If tipo = 3 Then
MF1.REE_CerPien 0, rxx, ryy, r2, col1, col2
End If

If tipo = 4 Then
MF1.REE_CerVuot 0, rxx, ryy, r2, col1, col2
End If

If tipo = 5 Then
MF1.REE_TriaVuotSu 0, rxx, ryy, r2, col1, col2
End If

If tipo = 6 Then
MF1.REE_TriaVuotGiu 0, rxx, ryy, r2, col1, col2
End If

If tipo = 7 Then
MF1.REE_Asterisco 0, rxx, ryy, r2, col1, col2
End If

If tipo = 8 Then
MF1.REE_Piu 0, rxx, ryy, r2, col1, col2
End If

If tipo = 9 Then
MF1.REE_rombvuot 0, rxx, ryy, r2, col1, col2
End If

If tipo = 10 Then
MF1.REE_Croce 0, rxx, ryy, r2, col1, col2
End If

If tipo = 11 Then
MF1.REE_Meno 0, rxx, ryy, r2, col1, col2
End If

If tipo = 12 Then
MF1.REE_QuadVuotPer 0, rxx, ryy, r2, col1, col2
End If


End Sub


Public Sub Spider_InsertPoint(id, rr As Variant, col1 As Variant, col2 As Variant, tipo As Variant)

Campione(id, Indeks) = NomeCamp(id)

If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If


Dim rxx
Dim ryy

r2 = rr

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.SPIDER_QuadPien id, rxx, ryy, rr, col1, col2
End If

If tipo = 2 Then
MF1.SPIDER_QuadVuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 3 Then
MF1.SPIDER_CerPien id, rxx, ryy, rr, col1, col2
End If

If tipo = 4 Then
MF1.SPIDER_CerVuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 5 Then
MF1.SPIDER_TriaVuotSu id, rxx, ryy, rr, col1, col2
End If

If tipo = 6 Then
MF1.SPIDER_TriaVuotGiu id, rxx, ryy, rr, col1, col2
End If

If tipo = 7 Then
MF1.SPIDER_Asterisco id, rxx, ryy, rr, col1, col2
End If

If tipo = 8 Then
MF1.SPIDER_Piu id, rxx, ryy, rr, col1, col2
End If

If tipo = 9 Then
MF1.SPIDER_rombvuot id, rxx, ryy, rr, col1, col2
End If

If tipo = 10 Then
MF1.SPIDER_Croce id, rxx, ryy, rr, col1, col2
End If

If tipo = 11 Then
MF1.SPIDER_Meno id, rxx, ryy, rr, col1, col2
End If

If tipo = 12 Then
MF1.SPIDER_QuadVuotPer id, rxx, ryy, rr, col1, col2
End If

End Sub


Public Sub LOGY_InsertPoint(name As String, xx, yy, rr, col1 As Variant, tipo)


If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If



Dim rxx
Dim ryy

r2 = rr

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.LOGY_QuadPien name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 2 Then
MF1.LOGY_QuadVuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 3 Then
MF1.LOGY_CerPien name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 4 Then
MF1.LOGY_CerVuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 5 Then
MF1.LOGY_TriaVuotSu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 6 Then
MF1.LOGY_TriaVuotGiu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 7 Then
MF1.LogY_Asterisco name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 8 Then
MF1.LOGY_Piu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 9 Then
MF1.LOGY_rombvuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 10 Then
MF1.LogY_Croce name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 11 Then
MF1.LOGY_Meno name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 12 Then
MF1.LOGY_QuadVuotPer name, xx, yy, rxx, ryy, rr, col1
End If


End Sub

Public Sub LOGX_InsertPoint(name As String, xx, yy, rr, col1 As Variant, tipo)


If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If



Dim rxx
Dim ryy

r2 = rr

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.LOGX_QuadPien name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 2 Then
MF1.LOGX_QuadVuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 3 Then
MF1.LOGX_CerPien name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 4 Then
MF1.LOGX_CerVuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 5 Then
MF1.LOGX_TriaVuotSu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 6 Then
MF1.LOGX_TriaVuotGiu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 7 Then
MF1.LogX_Asterisco name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 8 Then
MF1.LOGX_Piu name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 9 Then
MF1.LOGX_rombvuot name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 10 Then
MF1.LogX_Croce name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 11 Then
MF1.LOGX_Meno name, xx, yy, rxx, ryy, rr, col1
End If

If tipo = 12 Then
MF1.LOGX_QuadVuotPer name, xx, yy, rxx, ryy, rr, col1
End If

End Sub

Public Sub REE_Piu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
End If

    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i
End Sub

Public Sub REE_Meno(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i

End Sub


Public Sub SPIDER_Piu(id, Rx, Ry, rm, col1 As Variant, colline As Variant)
For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i
End Sub

Public Sub SPIDER_Meno(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i
End Sub

Public Sub LOGY_Piu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1


'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub LOGY_Meno(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1


'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1


ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub



Public Sub LOGX_Piu(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1


'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub LOGX_Meno(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1


'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If

'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1

ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()


End Sub


Public Sub LOG_Piu(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)


picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1, y1 - Ry)-(x1, y1 + Ry), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (rm)
pnta(4).x = x1
pnta(4).y = y1 + (rm)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()

yyyyx:

End Sub

Public Sub LOG_Meno(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)


picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 + Rx, y1), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 + (rm)
pnta(0).y = y1
pnta(1).x = x1 - (rm)
pnta(1).y = y1


ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()

yyyyx:

End Sub



Public Sub REE_rombvuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))

If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * rm)
pnta(4).x = x1 - (rm)
pnta(4).y = y1
ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1



Next i
End Sub

Public Sub SPIDER_rombvuot(id, Rx, Ry, rm, col1 As Variant, colline As Variant)
For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * rm)
pnta(4).x = x1 - (rm)
pnta(4).y = y1
ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
End If

If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1

End If

Next i
End Sub

Public Sub LOGY_rombvuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * rm)
pnta(4).x = x1 - (rm)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub LOGX_rombvuot(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)

x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * rm)
pnta(4).x = x1 - (rm)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub LOG_rombvuot(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1

Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay


Rx = rm / 300
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col1
picforms(Indeks).Picture2.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col1
 
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile


x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * rm)
pnta(4).x = x1 - (rm)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()

yyyyx:

End Sub



Public Sub REE_EsagonoVuoto(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To 15
If valREEn(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1
ss = 0
For i = 1 To 15
'finestra

ss = ss + 1
x1 = i
y1 = LOG10(valREEn(i))

PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = 15
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm / 2)
pnta(0).y = y1 + (rm)
pnta(1).x = x1 + (rm / 2)
pnta(1).y = y1 + (rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1 + (rm / 2)
pnta(3).y = y1 - (rm)
pnta(4).x = x1 - (rm / 2)
pnta(4).y = y1 - (rm)
pnta(5).x = x1 - (rm)
pnta(5).y = y1
pnta(6).x = x1 - (rm / 2)
pnta(6).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1


Next i
End Sub

Public Sub SPIDER_EsagonoVuoto(id, Rx, Ry, rm, col1 As Variant, colline As Variant)

For i = 1 To NumSpider
If ValSpiderNorm(i) <= 0 Then
Exit Sub
End If
Next i
wwq = wwq + 1

ss = 0
For i = 1 To NumSpider '+ 1
'finestra
If Form16.Shape2(i - 1).FillColor = QBColor(2) Then
ss = ss + 1
x1 = i
y1 = LOG10(ValSpiderNorm(i))
PlotSpi(Indeks, wwq) = id
Spiy(Indeks, i, wwq) = Val(Format$(y1, "0.0"))
If SpiderAbsent(i) = False Then
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col1
End If
    If ss > 1 Then
    picforms(Indeks).Picture2.DrawWidth = LineSp(Indeks)
    picforms(Indeks).Picture2.Line (x1, y1)-(xprec, yprec), colline
    End If
xprec = x1
yprec = y1

'metafile
minyy = Int(LOG10((MinY(Indeks)))) + 1
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = 1
MAXXX = NumSpider + 1
yyy = y1
x1 = (1000 / 10) + (((x1 - MinXX) / (MAXXX - MinXX)) * (4000 / 10))
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000 / 10))
If SpiderAbsent(i) = False Then
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm / 2)
pnta(0).y = y1 + (rm)
pnta(1).x = x1 + (rm / 2)
pnta(1).y = y1 + (rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1 + (rm / 2)
pnta(3).y = y1 - (rm)
pnta(4).x = x1 - (rm / 2)
pnta(4).y = y1 - (rm)
pnta(5).x = x1 - (rm)
pnta(5).y = y1
pnta(6).x = x1 - (rm / 2)
pnta(6).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()
End If



If ss > 1 Then
    nBrush = CreateMyBrush(colline)
    If LineSp(Indeks) = 1 Then
    ll = 1
    End If
    If LineSp(Indeks) = 2 Then
    ll = 15
    End If
    nPen = CreateMyPen(ll, 0, colline)
    pnta(0).x = x1
    pnta(0).y = y1
    pnta(1).x = xprec1
    pnta(1).y = yprec1

    ret = Polyline(hdcEM, pnta(0), 2)
    ret = RestorePen()
    End If
    xprec1 = x1
    yprec1 = y1
End If

Next i
End Sub

Public Sub LOGY_EsagonoVuoto(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = xxa
y1 = LOG10(yya)

'picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(xxa)
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If


'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10


nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm / 2)
pnta(0).y = y1 + (rm)
pnta(1).x = x1 + (rm / 2)
pnta(1).y = y1 + (rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1 + (rm / 2)
pnta(3).y = y1 - (rm)
pnta(4).x = x1 - (rm / 2)
pnta(4).y = y1 - (rm)
pnta(5).x = x1 - (rm)
pnta(5).y = y1
pnta(6).x = x1 - (rm / 2)
pnta(6).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()


End Sub

Public Sub LOGX_EsagonoVuoto(name As String, xxa As Variant, yya As Variant, Rx, Ry, rm, col1 As Variant)


x1 = LOG10(xxa)
y1 = yya

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col1
    
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = name
'End If



'metafile
MinXX = Int(LOG10((MinX(Indeks))))
MAXXX = Int(LOG10((MaxX(Indeks)))) + 1

minyy = MinY(Indeks)
maxyy = MaxY(Indeks)
yyy = y1
x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10


nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm / 2)
pnta(0).y = y1 + (rm)
pnta(1).x = x1 + (rm / 2)
pnta(1).y = y1 + (rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1 + (rm / 2)
pnta(3).y = y1 - (rm)
pnta(4).x = x1 - (rm / 2)
pnta(4).y = y1 - (rm)
pnta(5).x = x1 - (rm)
pnta(5).y = y1
pnta(6).x = x1 - (rm / 2)
pnta(6).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()


End Sub


Public Sub LOG_EsagonoVuoto(nome As String, xxa, yya, rm, col1 As Variant)


If xxa = 0 Or yya = 0 Or rm = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


Intax = MAXXX - MinXX
Intay = maxyy - minyy
Rxy = Intax / Intay

Rx = rm / 300 * Intax
Ry = Rx / Rxy
x1 = LOG10(xxa)
y1 = LOG10(yya)

picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col1
picforms(Indeks).Picture2.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col1
picforms(Indeks).Picture2.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col1
   
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Val(Format$(x1, "0.00"))
yy(NumCamp(Indeks), Indeks) = Val(Format$(y1, "0.00"))
XXReal(NumCamp(Indeks), Indeks) = xxa
YYReal(NumCamp(Indeks), Indeks) = yya
Campione(NumCamp(Indeks), Indeks) = nome
'End If
   'metafile



x1 = (1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col1)
nPen = CreateMyPen(LineWidth, 0, col1)
pnta(0).x = x1 - (rm / 2)
pnta(0).y = y1 + (rm)
pnta(1).x = x1 + (rm / 2)
pnta(1).y = y1 + (rm)
pnta(2).x = x1 + (rm)
pnta(2).y = y1
pnta(3).x = x1 + (rm / 2)
pnta(3).y = y1 - (rm)
pnta(4).x = x1 - (rm / 2)
pnta(4).y = y1 - (rm)
pnta(5).x = x1 - (rm)
pnta(5).y = y1
pnta(6).x = x1 - (rm / 2)
pnta(6).y = y1 + (rm)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()

yyyyx:

End Sub


Public Sub T_Un_CerPien(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Circle (x1, y1), Rx, col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

'metafile
x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
MF1.LF_Circle x1, y1, (R), LineWidth, col, , col


End Sub

Public Sub T_Un_CerPienL(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Circle (x1, y1), Rx / 2, col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

MF1.T_line x - Rx, y, z, x + Rx, y, z, col

'metafile
x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = (x1 / 75 * 5000) + 200
y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))
MF1.LF_Circle x1, y1, (R * 10), LineWidth, col, , col


End Sub
Public Sub assi()

picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture2.DrawWidth = 1

MF1.LineWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)
'trattini
'asse x
picforms(Indeks).Picture1.FontSize = 8
picforms(Indeks).Picture1.FontBold = False
jj = -1
stpx = (MaxX(Indeks) - MinX(Indeks)) / deltax1(Indeks)
For i = 100 To GraphSqX + 100 Step (GraphSqX / stpx)
jj = jj + 1
'T1 = (((((i - 100) / GraphSqX)) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
T1 = MinX(Indeks) + jj * deltax1(Indeks)
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00######"))) / 2)
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print Val(Format$(T1, "0.00######"))
Next i
'asse Y
jj = -1
stpy = (MaxY(Indeks) - MinY(Indeks)) / deltay1(Indeks)
For i = 100 To GraphSqY + 100 Step (GraphSqY / stpy)
jj = jj + 1
'For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))
'T1 = (((((i - 100) / GraphSqY)) * (MaxY(Indeks) - MinY(Indeks))) + MinY(Indeks))
T1 = MinY(Indeks) + jj * deltay1(Indeks)
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 70 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00######"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00######"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print Val(Format$(T1, "0.00######"))
Next i

picforms(Indeks).Picture1.FontSize = 10
picforms(Indeks).Picture1.FontBold = True
picforms(Indeks).Picture1.CurrentX = (GraphDimX(Indeks)) - (picforms(Indeks).Picture1.TextWidth("X")) - 10
picforms(Indeks).Picture1.CurrentY = 80 - (picforms(Indeks).Picture1.TextHeight("X") / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(1)
picforms(Indeks).Picture1.Print "X"
picforms(Indeks).Picture1.CurrentX = 80 - (picforms(Indeks).Picture1.TextWidth("Y") / 2)
picforms(Indeks).Picture1.CurrentY = (GraphDimY(Indeks)) - 10
picforms(Indeks).Picture1.ForeColor = QBColor(12)
picforms(Indeks).Picture1.Print "Y"

'MetaFile
MF1.L_Line 1000 / 10, ((4000 * ratioXY / 10) + 300 / 10), 5000 / 10, ((4000 * ratioXY / 10) + 300 / 10), , QBColor(0)
MF1.L_Line 800 / 10, ((4000 * ratioXY / 10) + 100 / 10), 800 / 10, 100 / 10, , QBColor(0)
' trattini E testo asse X
'For i = 1000 To 5000 Step (4000 / Inty(Indeks))
jj = -1
For i = 1000 / 10 To 5000 / 10 Step (4000 / (stpx * 10))
jj = jj + 1
T1 = MinX(Indeks) + jj * deltax1(Indeks)
'T1 = (((((i - (1000 / 10)) / (4000 / 10))) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
'T1 = Format$(T1, "0.00")
MF1.L_Line i, ((4000 * ratioXY / 10) + 300 / 10), i, ((4000 * ratioXY / 10) + 250 / 10), , QBColor(0) 'Attenzione 250=350
MF1.L_Line i, 1, i, 50 / 10, , QBColor(0)
SetText Mid(Str(T1), 2, Len(Str(T1))), i - 50 / 10, (4000 * ratioXY / 10) + 370 / 10, , 10 / 10 'attenzione 02/08/02 5 prima era 200
Next i
' trattini E testo asse y
jj = -1 'Int(stpy)
For i = ((4000 * ratioXY / 10) + 100 / 10) To 100 / 10 Step -((4000 * ratioXY / 10) / stpy)
'T1 = (((((1 - (i - 100) / (4000 * ratioXY)))) * (MaxY(Indeks) - MinY(Indeks))) + MinY(Indeks))
jj = jj + 1
T1 = MinY(Indeks) + jj * deltay1(Indeks)
'T1 = Format$(T1, "0.00")
MF1.L_Line 800 / 10, i, 850 / 10, i, , QBColor(0) 'attenzione 850=750
MF1.L_Line (4999 + 100) / 10, i, (4949 + 100) / 10, i, , QBColor(0)
SetText T1, 450 / 10, i - 50 / 10, , 10 / 10
Next i

'picforms(Indeks).Picture1.DrawWidth = Linesp(Indeks)

End Sub

Public Sub Log_Testo(x1, y1, Text1 As String, col As Integer, size1)

'x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
'y1 = ((A100 - 0) / (100 - 0)) * 100

x11 = LOG10(x1)
y11 = LOG10(y1)

col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture2.FontSize = size2
picforms(Indeks).Picture2.ForeColor = col1
picforms(Indeks).Picture2.CurrentX = x11
picforms(Indeks).Picture2.CurrentY = y11
picforms(Indeks).Picture2.Print Text1

col2 = col1
xx12 = 1000 + (((x11 - LOG10(MinX(Indeks))) / (LOG10(MaxX(Indeks)) - LOG10(MinX(Indeks)))) * 4000)
yy12 = ((ratioXY * 4000) + 100) - (((y11 - LOG10(MinY(Indeks))) / (LOG10(MaxY(Indeks)) - LOG10(MinY(Indeks)))) * (ratioXY * 4000))
size3 = 2 * size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub

Public Sub T_Testo(x111, y111, z111, Text1 As String, col As Integer, size1)

A100 = (x111 / (x111 + y111 + z111)) * 100
B100 = (y111 / (x111 + y111 + z111)) * 100
C100 = (z111 / (x111 + y111 + z111)) * 100

x11 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y11 = ((A100 - 0) / (100 - 0)) * 100


col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture1.FontSize = size2
picforms(Indeks).Picture1.ForeColor = col1
picforms(Indeks).Picture1.CurrentX = x11
picforms(Indeks).Picture1.CurrentY = y11
picforms(Indeks).Picture1.Print Text1

col2 = col1
x11 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y11 = ((A100 - 0) / (100 - 0)) * 100
xx12 = (x11 / 75 * 5000) + 200
yy12 = ((200 + (5000 * 0.8660254038)) - (y11 / 100 * (5000 * 0.8660254038)))
size3 = 2 * size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub

Public Sub T_Testo1(y112, Text1 As String, col As Integer, size1)


x11 = -5
y11 = y112


col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture1.FontSize = size2
picforms(Indeks).Picture1.ForeColor = col1
picforms(Indeks).Picture1.CurrentX = x11
picforms(Indeks).Picture1.CurrentY = y11
picforms(Indeks).Picture1.Print Text1

col2 = col1
x11 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y11 = ((A100 - 0) / (100 - 0)) * 100
xx12 = (x11 / 75 * 5000) + 200
yy12 = ((200 + (5000 * 0.8660254038)) - (y11 / 100 * (5000 * 0.8660254038)))
size3 = 2 * size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub

Public Sub LogY_Testo(x1, y1, Text1 As String, col As Integer, size1)

x11 = x1
y11 = LOG10(y1)

col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture2.FontSize = size2
picforms(Indeks).Picture2.ForeColor = col1
picforms(Indeks).Picture2.CurrentX = x11
picforms(Indeks).Picture2.CurrentY = y11
picforms(Indeks).Picture2.Print Text1

col2 = col1
xx12 = 1000 + (((x11 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
yy12 = ((ratioXY * 4000) + 100) - (((y11 - LOG10(MinY(Indeks))) / (LOG10(MaxY(Indeks)) - LOG10(MinY(Indeks)))) * (ratioXY * 4000))
size3 = size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub

Public Sub LogX_Testo(x1, y1, Text1 As String, col As Integer, size1)

x11 = LOG10(x1)
y11 = y1

col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture2.FontSize = size2
picforms(Indeks).Picture2.ForeColor = col1
picforms(Indeks).Picture2.CurrentX = x11
picforms(Indeks).Picture2.CurrentY = y11
picforms(Indeks).Picture2.Print Text1

col2 = col1
xx12 = 1000 + (((x11 - LOG10(MinX(Indeks))) / (LOG10(MaxX(Indeks)) - LOG10(MinX(Indeks)))) * 4000)
yy12 = ((ratioXY * 4000) + 100) - (((y11 - MinY(Indeks)) / (LOG10(MaxY(Indeks)) - MinY(Indeks))) * (ratioXY * 4000))
size3 = size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub



Public Sub Testo(x1, y1, Text1 As String, col As Integer, size1)

x11 = x1
y11 = y1

x111 = 100 + ((x11 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * (GraphSqX)
y111 = 100 + ((y11 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (GraphSqY)

col1 = QBColor(col)
size2 = size1

picforms(Indeks).Picture1.FontBold = False
picforms(Indeks).Picture1.FontSize = size2
picforms(Indeks).Picture1.ForeColor = col1
picforms(Indeks).Picture1.CurrentX = x111
picforms(Indeks).Picture1.CurrentY = y111
picforms(Indeks).Picture1.Print Text1

col2 = col1
xx12 = 1000 + (((x11 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
yy12 = ((ratioXY * 4000) + 100) - (((y11 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
size3 = size1


SetText Text1, xx12 / 10, yy12 / 10, , size3 / 10


End Sub

Public Sub DisegnaNormXNormY()

MF1.NewRectGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)
'sfondo non bianco
'For i = 1 To Numcamp1
'MF1.InsertSfondoNonBianco DatiOrigine(i, numa), DatiOrigine(i, numb), SimbDim(Indeks)
'Next i

'modelli
MF1.disegnaMOD

MF1.assi
MF1.Diagram
aa = 0

'disegno
For i = 1 To Numcamp1

xxx = Val(Format$(DatiOrigine(i, AXX(Indeks)), "0.000000"))
yyy = Val(Format$(DatiOrigine(i, AXY(Indeks)), "0.000000"))

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

If tipo = 0 Or tipo1 = 0 Or SimbFilter(i) = 0 Or DatiOrigine(i, AXX(Indeks)) = -12345.67 Or DatiOrigine(i, AXY(Indeks)) = -12345.67 Then GoTo wqwq2 '16-05

If xxx > MaxX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If xxx < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy > MaxY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If



BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.InsertPoint NomeCamp(i), DatiOrigine(i, AXX(Indeks)), DatiOrigine(i, AXY(Indeks)), SimbDim(Indeks), col, tipo

wqwq2:

Next i

If aa > 0 Then
MsgBox "Attention! Some samples are positioned out of graph area", , "Attention"
End If

'MF1.TriaVuotGiu "C:\RETE\METAFILE\INPUT4.TXT", 4, QBColor(1)
MF1.asseXTitle Elementi(AXX(Indeks)), 10
MF1.asseYTitle Elementi(AXY(Indeks)), 10
MF1.Finegraph
MF1.MostraSpecifiche = True
MF1.Evidenzia = True

'Form4.Text1.Enabled = True
'Form4.Text2.Enabled = True
'Form4.Text3.Enabled = True
'Form4.Text4.Enabled = True
'Form4.Text5.Enabled = True
'Form4.Text6.Enabled = True

End Sub

Public Sub DisegnaNormXLogY()


MF1.NewXnormLogYGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)

'modelli
MF1.disegnaMOD

MF1.AssiXnormLogYGraph
MF1.Diagram
aa = 0

'disegno
For i = 1 To Numcamp1

xxx = Val(Format$(DatiOrigine(i, AXX(Indeks)), "0.000000"))
yyy = Val(Format$(DatiOrigine(i, AXY(Indeks)), "0.000000"))

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

If tipo = 0 Or tipo1 = 0 Or SimbFilter(i) = 0 Or SimbFilter(i) = 0 Or DatiOrigine(i, AXX(Indeks)) = -12345.67 Or DatiOrigine(i, AXY(Indeks)) = -12345.67 Then GoTo wqwq2   '16-05

If xxx > MaxX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If xxx < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy > MaxY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.LOGY_InsertPoint NomeCamp(i), DatiOrigine(i, AXX(Indeks)), DatiOrigine(i, AXY(Indeks)), SimbDim(Indeks), col, tipo

wqwq2:

Next i

If aa > 0 Then
MsgBox "Attention! Some samples are positioned out of graph area", , "Attention"
End If

'MF1.TriaVuotGiu "C:\RETE\METAFILE\INPUT4.TXT", 4, QBColor(1)
MF1.asseXTitle Elementi(AXX(Indeks)), 10
MF1.asseYTitle Elementi(AXY(Indeks)), 10
MF1.Finegraph
MF1.MostraSpecifiche = True
MF1.Evidenzia = True

'Form4.Text1.Enabled = True
'Form4.Text2.Enabled = True
'Form4.Text3.Enabled = True
'Form4.Text4.Enabled = True
'Form4.Text5.Enabled = True
'Form4.Text6.Enabled = True

End Sub

Public Sub DisegnaLogXNormY()


MF1.NewLogXNormYGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)


'modelli
MF1.disegnaMOD



MF1.AssiLogXNormY
MF1.Diagram

aa = 0



'disegno
For i = 1 To Numcamp1

xxx = Val(Format$(DatiOrigine(i, AXX(Indeks)), "0.000000"))
yyy = Val(Format$(DatiOrigine(i, AXY(Indeks)), "0.000000"))

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

If tipo = 0 Or tipo1 = 0 Or SimbFilter(i) = 0 Or SimbFilter(i) = 0 Or DatiOrigine(i, AXX(Indeks)) = -12345.67 Or DatiOrigine(i, AXY(Indeks)) = -12345.67 Then GoTo wqwq2   '16-05

If xxx > MaxX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If xxx < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy > MaxY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If



BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.LOGX_InsertPoint NomeCamp(i), DatiOrigine(i, AXX(Indeks)), DatiOrigine(i, AXY(Indeks)), SimbDim(Indeks), col, tipo

wqwq2:

Next i

If aa > 0 Then
MsgBox "Attention! Some samples are positioned out of graph area", , "Error"
End If

'MF1.TriaVuotGiu "C:\RETE\METAFILE\INPUT4.TXT", 4, QBColor(1)
MF1.asseXTitle Elementi(AXX(Indeks)), 10
MF1.asseYTitle Elementi(AXY(Indeks)), 10

MF1.Finegraph
MF1.MostraSpecifiche = True
MF1.Evidenzia = True

'Form4.Text1.Enabled = True
'Form4.Text2.Enabled = True
'Form4.Text3.Enabled = True
'Form4.Text4.Enabled = True
'Form4.Text5.Enabled = True
'Form4.Text6.Enabled = True

End Sub

Public Sub DisegnaLogXLogY()

Dim tipo As Integer



If Form2.Combo6.Text = "300x300" Then
tipo = 1
End If
If Form2.Combo6.Text = "500x500" Then
tipo = 2
End If
If Form2.Combo6.Text = "700x700" Then
tipo = 3
End If


MF1.NewLogLogGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), tipo
'sfondo non bianco
'For i = 1 To Numcamp1
'MF1.LogY_InsertSfondoNonBianco DatiOrigine(i, AXX(Indeks)), DatiOrigine(i, AXY(Indeks)), SimbDim(Indeks)
'Next i

'modelli
MF1.disegnaMOD

MF1.LogAssi
MF1.Diagram

aa = 0


'disegno
For i = 1 To Numcamp1

xxx = Val(Format$(DatiOrigine(i, AXX(Indeks)), "0.000000"))
yyy = Val(Format$(DatiOrigine(i, AXY(Indeks)), "0.000000"))

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

If tipo = 0 Or tipo1 = 0 Or SimbFilter(i) = 0 Or SimbFilter(i) = 0 Or DatiOrigine(i, AXX(Indeks)) = -12345.67 Or DatiOrigine(i, AXY(Indeks)) = -12345.67 Then GoTo wqwq2  '16-05

If xxx > MaxX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If xxx < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy > MaxY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If

If yyy < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq2
End If



BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.LOG_InsertPoint NomeCamp(i), DatiOrigine(i, AXX(Indeks)), DatiOrigine(i, AXY(Indeks)), SimbDim(Indeks), col, tipo

wqwq2:

Next i

If aa > 0 Then
MsgBox "Attention! Some samples are positioned out of graph area", , "Attention"
End If

'MF1.TriaVuotGiu "C:\RETE\METAFILE\INPUT4.TXT", 4, QBColor(1)
MF1.asseXTitle Elementi(AXX(Indeks)), 10
MF1.asseYTitle Elementi(AXY(Indeks)), 10

MF1.Finegraph
MF1.MostraSpecifiche = True
MF1.Evidenzia = True

'Form4.Text1.Enabled = True
'Form4.Text2.Enabled = True
'Form4.Text3.Enabled = True
'Form4.Text4.Enabled = True
'Form4.Text5.Enabled = True
'Form4.Text6.Enabled = True

End Sub


Public Sub AssiXnormLogYGraph()
'----------------------------------
picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture2.DrawWidth = 1


'---------------------------------
picforms(Indeks).Picture1.DrawWidth = 1

MF1.LineWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)
'trattini



'asse x
picforms(Indeks).Picture1.FontSize = 8
picforms(Indeks).Picture1.FontBold = False
jj = -1
stpx = (MaxX(Indeks) - MinX(Indeks)) / deltax1(Indeks)
For i = 100 To GraphSqX + 100 Step (GraphSqX / stpx)
jj = jj + 1
'T1 = (((((i - 100) / GraphSqX)) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
T1 = MinX(Indeks) + jj * deltax1(Indeks)
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00######")) / 2))
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print Val(Format$(T1, "0.00######"))
Next i


'asse Y

'--------
ss = -1

For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))

T1 = Int(LOG10(MinY(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 50 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i

minay = Int(LOG10((MinY(Indeks))))
Maxay = Int(LOG10((MaxY(Indeks)))) + 1
Inty(Indeks) = Maxay - minay
DELTAX = (MaxX(Indeks) - MinX(Indeks)) / 60

For i = minay + 1 To Maxay ' - 1
yyyy1 = (((4000 * ratioXY) + 100)) - ((((i - minay - 1) / (Maxay - minay)) * (4000 * ratioXY)))
SetText Str(EXP10(i - 1)), 450 / 10, (yyyy1 - 50) / 10, , 1

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (MinX(Indeks), ss)-(MinX(Indeks) + DELTAX, ss), QBColor(0)
picforms(Indeks).Picture2.Line (MaxX(Indeks), ss)-(MaxX(Indeks) - DELTAX, ss), QBColor(0)


YYyy = (((4000 * ratioXY) + 100)) - (((ss - minay) / (Maxay - minay) * (4000 * ratioXY)))

MF1.L_Line 800 / 10, YYyy / 10, 850 / 10, YYyy / 10
MF1.L_Line 5049 / 10, YYyy / 10, 5099 / 10, YYyy / 10

Next ii


Next i

yyyy1 = 100
SetText Str(EXP10(Maxay)), 450 / 10, (yyyy1 - 70) / 10, , 1
'--------

'------------

MF1.L_Line 1000 / 10, ((4000 * ratioXY) + 300) / 10, 5000 / 10, ((4000 * ratioXY) + 300) / 10, , QBColor(0)
MF1.L_Line 800 / 10, ((4000 * ratioXY) + 100) / 10, 800 / 10, 100 / 10, , QBColor(0)
' trattini E testo asse X
jj = -1
For i = 1000 To 5000 Step (4000 / stpx)
jj = jj + 1
T1 = MinX(Indeks) + jj * deltax1(Indeks)
'T1 = (((((i - 1000) / 4000)) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
'T1 = Format(T1, "0.00")
MF1.L_Line i / 10, ((4000 * ratioXY) + 300) / 10, i / 10, ((4000 * ratioXY) + 250) / 10, , QBColor(0) 'Attenzione 250=350
MF1.L_Line i / 10, 1 / 10, i / 10, 50 / 10, , QBColor(0)
SetText Mid(Str(T1), 2, Len(Str(T1))), (i - 50) / 10, ((4000 * ratioXY) + 370) / 10, , 1  'attenzione 02/08/02 5 prima era 200
Next i



End Sub

Public Sub AssiLogXNormY()

picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture2.DrawWidth = 1

'MetaFile
MF1.L_Line 800 / 10, ((4000 * ratioXY) + 100) / 10, 800 / 10, 100 / 10, , QBColor(0)

' trattini E testo asse y
jj = -1
stpy = (MaxY(Indeks) - MinY(Indeks)) / deltay1(Indeks)
jj = -1 'Int(stpy)
For i = ((4000 * ratioXY) + 100) To 100 Step -((4000 * ratioXY) / stpy)
'T1 = (((((1 - (i - 100) / (4000 * ratioXY)))) * (MaxY(Indeks) - MinY(Indeks))) + MinY(Indeks))
jj = jj + 1
T1 = MinY(Indeks) + Int(jj * deltay1(Indeks))
'T1 = Format(T1, "0.00")
MF1.L_Line 800 / 10, i / 10, 850 / 10, i / 10, , QBColor(0) 'attenzione 850=750
MF1.L_Line (4999 + 100) / 10, i / 10, (4949 + 100) / 10, i / 10, , QBColor(0)
SetText Str(T1), 300 / 10, (i - 50) / 10, , 1
Next i


'-----------------------

picforms(Indeks).Picture1.DrawWidth = 1

MF1.LineWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)
'trattini



'asse y
picforms(Indeks).Picture1.FontSize = 10
picforms(Indeks).Picture1.FontBold = False
'asse Y
jj = -1
stpy = (MaxY(Indeks) - MinY(Indeks)) / deltay1(Indeks)
For i = 100 To GraphSqY + 100 Step (GraphSqY / stpy)
jj = jj + 1
'For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))
'T1 = (((((i - 100) / GraphSqY)) * (MaxY(Indeks) - MinY(Indeks))) + MinY(Indeks))
T1 = MinY(Indeks) + jj * deltay1(Indeks)
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 70 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00######"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00######"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print Val(Format$(T1, "0.00######"))
Next i


'asse x
minax = Int(LOG10((MinX(Indeks))))
MaxaX = Int(LOG10((MaxX(Indeks)))) + 1
Intx(Indeks) = MaxaX - minax
deltay = (MaxY(Indeks) - MinY(Indeks)) / 60

ss = -1
For i = 100 To GraphSqX + 100 Step (GraphSqX / Intx(Indeks))

T1 = Int(LOG10(MinX(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i



For i = minax + 1 To MaxaX ' - 1

'yyyy1 = (((4000 * ratioXY) + 100)) - (((i) / (maxay - minay + 2) * (4000 * ratioXY)))
xxx1 = (1000 + ((i - (minax + 1)) / (MaxaX - minax)) * 4000)
SetText Str(EXP10(i - 1)), (xxx1 - 100) / 10, ((4000 * ratioXY) + 370) / 10, , 1

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (ss, MinY(Indeks))-(ss, MinY(Indeks) + deltay), QBColor(0)
picforms(Indeks).Picture2.Line (ss, MaxY(Indeks))-(ss, MaxY(Indeks) - deltay), QBColor(0)

xxxx = (1000) + ((((ss - minax) / ((MaxaX - minax)) * 4000)))

MF1.L_Line xxxx / 10, ((4000 * ratioXY) + 300) / 10, xxxx / 10, ((4000 * ratioXY) + 250) / 10
MF1.L_Line xxxx / 10, 1 / 10, xxxx / 10, 50 / 10

Next ii


Next i

SetText Str(EXP10(MaxaX)), 4800 / 10, ((4000 * ratioXY) + 370) / 10, , 1
'yyyy1 = (4000 * ratioXY)
'SetText Str(EXP10(minay)), 500, yyyy1 + 50, , 20


'MF1.L_Line 1000, ((4000 * ratioXY) + 300), 5000, ((4000 * ratioXY) + 300), , QBColor(0)
'MF1.L_Line 800, ((4000 * ratioXY) + 100), 800, 100, , QBColor(0)
' trattini E testo asse y
'steptt = (MaxY(Indeks) - MinY(Indeks)) / Inty(Indeks)
'T1 = MinY(Indeks) - steptt
'For i = (4000 * ratioXY) + 100 To 100 Step -(4000 * ratioXY / Inty(Indeks))
'T1 = T1 + steptt
'T1 = Format(T1, "0.00")
'MF1.L_Line 4999 + 100, i, 4949 + 100, i, , QBColor(0)
'MF1.L_Line 800, i, 850, i, , QBColor(0)
'SetText Str(T1), 200, i, , 20 / 4
'Next i

'-------------
' trattini E testo asse y
jj = -1 'Int(stpy)
For i = ((4000 * ratioXY) + 100) To 100 Step -((4000 * ratioXY) / stpy)
'T1 = (((((1 - (i - 100) / (4000 * ratioXY)))) * (MaxY(Indeks) - MinY(Indeks))) + MinY(Indeks))
jj = jj + 1
T1 = MinY(Indeks) + jj * deltay1(Indeks)
'T1 = Format(T1, "0.00")
MF1.L_Line 800 / 10, i / 10, 850 / 10, i / 10, , QBColor(0) 'attenzione 850=750
MF1.L_Line (4999 + 100) / 10, i / 10, (4949 + 100) / 10, i / 10, , QBColor(0)
SetText Str(T1), 450 / 10, (i - 50) / 10, , 1
Next i

'--------------

'MF1.L_Line 800, 100, 850, 100, , QBColor(0)
'MF1.L_Line 4999 + 100, 100, 4949 + 100, 100, , QBColor(0)
'SetText Str(MaxY(Indeks)), 200, 100, , 20


End Sub

Public Sub REE_ASSI()

picforms(Indeks).Picture1.DrawWidth = 1

MF1.LineWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)
'trattini

ss = -1

'asse x
picforms(Indeks).Picture1.FontSize = 8
picforms(Indeks).Picture1.FontBold = False

For i = 100 To GraphSqX + 100 Step (GraphSqX / 16)
ss = ss + 1
If ss < 1 Then
GoTo ww
End If
If ss > 15 Then
GoTo ww
End If
T1 = (((((i - 100) / GraphSqX)) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(REE(16)))) / 2)
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)

'If REEabsent(ss) = False Then
picforms(Indeks).Picture1.Print REE(ss)
'End If

ww:

Next i

'asse Y



ss = 0

For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))

T1 = Int(LOG10(MinY(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 50 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i
'-----------
minay = Int(LOG10((MinY(Indeks)))) + 2
Maxay = Int(LOG10((MaxY(Indeks)))) + 1



For i = minay To Maxay

yyyy1 = (((4000 * ratioXY / 10) + 100 / 10)) - (((i + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY / 10)))
SetText "10^" + Str(i), 450 / 10, yyyy1 - 50 / 10, , 1
'SetText Str(i), 600, yyyy1 - 50, , 20

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (0, ss)-(0.3, ss), QBColor(0)
picforms(Indeks).Picture2.Line (15.7, ss)-(16, ss), QBColor(0)

YYyy = (((4000 * ratioXY / 10) + 100 / 10)) - (((ss + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY / 10)))

MF1.L_Line 800 / 10, YYyy, 850 / 10, YYyy
MF1.L_Line 5049 / 10, YYyy, 5099 / 10, YYyy

Next ii


Next i

yyyy1 = (4000 * ratioXY / 10) + 100 / 10
SetText "10^" + Str(minay - 1), 450 / 10, yyyy1 - (50 / 10), , 1
MF1.L_Line 5049 / 10, yyyy1, 5099 / 10, yyyy1
MF1.L_Line 800 / 10, yyyy1, 850 / 10, yyyy1

MF1.L_Line 1000 / 10, ((4000 * ratioXY / 10) + 300 / 10), 5000 / 10, ((4000 * ratioXY / 10) + 300 / 10), , QBColor(0)
MF1.L_Line 800 / 10, ((4000 * ratioXY / 10) + 100 / 10), 800 / 10, 100 / 10, , QBColor(0)


' trattini E testo asse X

ss = 0

For i = 1000 / 10 To 5000 / 10 Step 4000 / (14 * 10)
ss = ss + 1

If ss < 1 Then
GoTo ww1
End If
If ss > 16 Then
GoTo ww1
End If
MF1.L_Line i, ((4000 * ratioXY / 10) + 300 / 10), i, ((4000 * ratioXY / 10) + 350 / 10), , QBColor(0)
'If REEabsent(ss) = False Then
SetText REE(ss), i - (20 / 10), (4000 * ratioXY / 10) + 370 / 10, , 1
'End If
ww1:
Next i



End Sub

Public Sub SPIDER_ASSI()

picforms(Indeks).Picture1.DrawWidth = 1

MF1.LineWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)
'trattini

ss = -1

'asse x
picforms(Indeks).Picture1.FontSize = 8
picforms(Indeks).Picture1.FontBold = False

For i = 100 To GraphSqX + 100 Step (GraphSqX / (NumSpider + 1))
ss = ss + 1
If ss < 1 Then
GoTo ww
End If
If ss > NumSpider Then
GoTo ww
End If
T1 = (((((i - 100) / GraphSqX)) * (MaxX(Indeks) - MinX(Indeks))) + MinX(Indeks))
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(EleMSpider(ss)))) / 2)
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)

'If SpiderAbsent(ss) = False Then
picforms(Indeks).Picture1.Print EleMSpider(ss)
'End If

ww:

Next i

'asse Y



ss = 0

For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))

If MinY(Indeks) <= 0 Or MaxY(Indeks) <= 0 Then
Exit Sub
End If

T1 = Int(LOG10(MinY(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 50 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i


minay = Int(LOG10((MinY(Indeks)))) + 2
Maxay = Int(LOG10((MaxY(Indeks)))) + 1



For i = minay To Maxay

yyyy1 = (((4000 * ratioXY / 10) + 100 / 10)) - (((i + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY / 10)))
SetText "10^" + Str(i), 450 / 10, yyyy1 - (50 / 10), , 1
'SetText Str(i), 600, yyyy1 - 50, , 20

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (0, ss)-(0.3, ss), QBColor(0)
picforms(Indeks).Picture2.Line (NumSpider + 0.7, ss)-(NumSpider + 1, ss), QBColor(0)

YYyy = (((4000 * ratioXY / 10) + 100 / 10)) - (((ss + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY / 10)))

MF1.L_Line 800 / 10, YYyy, 850 / 10, YYyy
MF1.L_Line 5049 / 10, YYyy, 5099 / 10, YYyy

Next ii


Next i

yyyy1 = (4000 * ratioXY / 10) + 100 / 10
SetText "10^" + Str(minay - 1), 450 / 10, yyyy1 - (50 / 10), , 1
MF1.L_Line 5049 / 10, yyyy1, 5099 / 10, yyyy1
MF1.L_Line 800 / 10, yyyy1, 850 / 10, yyyy1

MF1.L_Line 1000 / 10, ((4000 * ratioXY / 10) + 300 / 10), 5000 / 10, ((4000 * ratioXY / 10) + 300 / 10), , QBColor(0)
MF1.L_Line 800 / 10, ((4000 * ratioXY / 10) + 100 / 10), 800 / 10, 100 / 10, , QBColor(0)
' trattini E testo asse X

ss = 0

For i = 1000 / 10 To 5000 / 10 Step 4000 / (10 * NumSpider)
ss = ss + 1

If ss < 1 Then
GoTo ww1
End If
If ss > (NumSpider) Then
GoTo ww1
End If
MF1.L_Line i, ((4000 * ratioXY / 10) + 300 / 10), i, ((4000 * ratioXY / 10) + 350 / 10), , QBColor(0)
'If SpiderAbsent(ss) = False Then
SetText EleMSpider(ss), i - (20 / 10), (4000 * ratioXY / 10) + 370 / 10, , 1
'End If
ww1:
Next i



End Sub



Public Sub LogAssi()



MF1.LineWidth = 1

picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture2.DrawWidth = 1

picforms(Indeks).ForeColor = QBColor(0)

'finestra
'asse orizzontale
picforms(Indeks).Picture1.Line (100, 80)-(100 + GraphSqX, 80), QBColor(0)
'asse verticale
picforms(Indeks).Picture1.Line (80, 100)-(80, 100 + GraphSqY), QBColor(0)



'asse x
minax = Int(LOG10((MinX(Indeks))))
MaxaX = Int(LOG10((MaxX(Indeks)))) + 1

minay = Int(LOG10((MinY(Indeks))))
Maxay = Int(LOG10((MaxY(Indeks)))) + 1

DELTAX = (MaxX(Indeks) - MinX(iindeks)) / 80
Intx(Indeks) = MaxaX - minax
deltay = (MaxY(Indeks) - MinY(Indeks)) / 80

ss = -1



For i = 100 To GraphSqX + 100 Step (GraphSqX / Intx(Indeks))

T1 = Int(LOG10(MinX(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (i, 80)-(i, 75), QBColor(0)
picforms(Indeks).Picture1.CurrentX = i - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.CurrentY = 70
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i



For i = minax + 1 To MaxaX ' - 1

'yyyy1 = (((4000 * ratioXY) + 100)) - (((i) / (maxay - minay + 2) * (4000 * ratioXY)))
xxx1 = (1000 + ((i - (minax + 1)) / (MaxaX - minax)) * 4000)
SetText Str(EXP10(i - 1)), (xxx1 - 100) / 10, ((4000 * ratioXY) + 370) / 10, , 1 '04-02-2002

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (ss, minay)-(ss, minay + 0.02), QBColor(0)
picforms(Indeks).Picture2.Line (ss, Maxay)-(ss, Maxay - 0.02), QBColor(0)

xxxx = (1000) + ((((ss - minax) / ((MaxaX - minax)) * 4000)))

MF1.L_Line xxxx / 10, ((4000 * ratioXY / 10) + 300 / 10), xxxx / 10, ((4000 * ratioXY / 10) + 250 / 10)
MF1.L_Line xxxx / 10, 1, xxxx / 10, 50 / 10

Next ii


Next i

SetText Str(EXP10(MaxaX)), 4800 / 10, (4000 * ratioXY / 10) + 370 / 10, , 1 '04-02-2002

'asse Y



ss = -1

For i = 100 To GraphSqY + 100 Step (GraphSqY / Inty(Indeks))

T1 = Int(LOG10(MinY(Indeks)))
ss = ss + 1
picforms(Indeks).Picture1.Line (80, i)-(75, i), QBColor(0)
picforms(Indeks).Picture1.CurrentX = 50 - (picforms(Indeks).Picture1.TextWidth(Val(Format$(T1, "0.00"))))
picforms(Indeks).Picture1.CurrentY = i - (picforms(Indeks).Picture1.TextHeight(Val(Format$(T1, "0.00"))) / 2)
picforms(Indeks).Picture1.ForeColor = QBColor(0)
picforms(Indeks).Picture1.Print "10^" + Str(ss + T1)
Next i



For i = minay + 1 To Maxay ' - 1
yyyy1 = (((4000 * ratioXY) + 100)) - ((((i - minay - 1) / (Maxay - minay)) * (4000 * ratioXY)))
SetText Str(EXP10(i - 1)), 450 / 10, (yyyy1 - 50) / 10, , 1 '04-02-2002

For ii = EXP10(i - 1) To EXP10(i) Step EXP10(i - 1)

ss = LOG10(ii)

picforms(Indeks).Picture2.Line (minax, ss)-(minax + 0.02, ss), QBColor(0)
picforms(Indeks).Picture2.Line (MaxaX, ss)-(MaxaX - 0.02, ss), QBColor(0)

YYyy = (((4000 * ratioXY) + 100)) - (((ss - minay) / (Maxay - minay) * (4000 * ratioXY)))

MF1.L_Line 800 / 10, YYyy / 10, 850 / 10, YYyy / 10
MF1.L_Line 5049 / 10, YYyy / 10, 5099 / 10, YYyy / 10

Next ii


Next i

yyyy1 = 100
SetText Str(EXP10(Maxay)), 450 / 10, (yyyy1 - 50) / 10, , 1 '04-02-2002


End Sub

Public Sub asseXTitle(nome As String, size As Long)  '(valmin As Long, valmax As Long)

'finestra
picforms(Indeks).Picture1.FontSize = size
picforms(Indeks).Picture1.ForeColor = QBColor(1)
picforms(Indeks).Picture1.CurrentX = (GraphDimX(Indeks)) - (picforms(Indeks).Picture1.TextWidth("X= " + nome)) - 10
picforms(Indeks).Picture1.CurrentY = 32 - (picforms(Indeks).Picture1.TextHeight(nome))

picforms(Indeks).Picture1.Print "X= " + nome

'MetaFile
SetText nome, 2500 / 10, (4000 * ratioXY / 10) + 600 / 10, , 20 / 15
End Sub
Public Sub asseYTitle(nome As String, size As Long)  '(valmin As Long, valmax As Long)

'finestra
picforms(Indeks).Picture1.FontSize = size
picforms(Indeks).Picture1.ForeColor = QBColor(12)
picforms(Indeks).Picture1.CurrentX = (GraphDimX(Indeks)) - (picforms(Indeks).Picture1.TextWidth("X= " + nome)) - 10
picforms(Indeks).Picture1.CurrentY = 30

picforms(Indeks).Picture1.Print "Y= " + nome

'MetaFile
SetText nome, 100 / 10, (4000 * ratioXY / 10) - 1000 / 10, 900, 20 / 15
End Sub



Public Sub QuadVuot(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col, B
Next
'metafile
For i = 1 To k
x1 = 1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , , col
Next i


End Sub

Public Sub Un_QuadVuot(nome As String, x, y, R As Integer, col As Variant)


'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col, B
NumCamp(Indeks) = NumCamp(Indeks) + 1
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col



End Sub

Public Sub Un_QuadVuotL(nome As String, y, R, col)



'metafile

x1 = 500 / 10
y1 = y / 10
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col



End Sub

Public Sub Un_QuadVuotPer(nome As String, x, y, R As Integer, col As Variant)

'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col, B


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col

'------------

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1 - R, y1 + R), col
If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
End If

Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)


pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()



End Sub

Public Sub Un_QuadVuotPerL(nome As String, y, R, col)


'metafile

x1 = 500 / 10
y1 = y / 10
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col

'------------


Dim pt As POINTAPI


'metafile


nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)


pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()



End Sub

Public Sub T_Un_QuadVuot(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)


'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col, B
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col



End Sub

Public Sub T_Un_QuadVuotPer(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)


'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col, B
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
MF1.L_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col

'--------------
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)

pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)
ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()

'---------------

End Sub

Public Sub TriaVuotSu(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1, y1 + R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 - R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1, y1 + R), col
Next

Dim pt As POINTAPI


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1 - (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 + (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
Next i




End Sub

Public Sub Un_TriaVuotSu(nome As String, x, y, R As Integer, col As Variant)



'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1, y1 + R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 - R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1, y1 + R), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1 - (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 + (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()


End Sub

Public Sub Un_TriaVuotSuL(nome As String, y, R, col)




Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1 - (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 + (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()


End Sub

Public Sub T_Un_TriaVuotSu(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'Finestra
A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 - Ry), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1 - Ry)-(x1, y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1 - (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 + (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()

End Sub
Public Sub Piu(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - R)-(x1, y1 + R), col

Next

Dim pt As POINTAPI


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
Next i




End Sub


Public Sub Un_Piu(nome As String, x, y, R As Integer, col As Variant)



'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - R)-(x1, y1 + R), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If


Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub Un_PiuL(nome As String, y, R, col)



Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub Un_Meno(nome As String, x, y, R As Integer, col As Variant)



'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 + R, y1), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If


Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1

ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()


End Sub

Public Sub Un_MenoL(nome As String, y, R, col)



Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1

ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()


End Sub


Public Sub T_Un_Piu(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'Finestra
A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1)-(x1 + Rx, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - Ry)-(x1, y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome


Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()


End Sub

Public Sub T_Un_Meno(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'Finestra
A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1)-(x1 + Rx, y1), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome


Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1


ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()


End Sub

Public Sub Asterisco(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - R)-(x1, y1 + R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1 - R, y1 + R), col
Next

Dim pt As POINTAPI


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (R)
pnta(6).y = y1 + (R)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (R)
pnta(8).y = y1 - (R)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (R)
pnta(10).y = y1 + (R)
pnta(11).x = x1 + (R)
pnta(11).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()
Next i

End Sub
Public Sub Un_Asterisco(nome As String, x, y, R As Integer, col As Variant)

'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - R)-(x1, y1 + R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1 - R, y1 + R), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (R)
pnta(6).y = y1 + (R)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (R)
pnta(8).y = y1 - (R)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (R)
pnta(10).y = y1 + (R)
pnta(11).x = x1 + (R)
pnta(11).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()


End Sub

Public Sub Un_AsteriscoL(nome As String, y, R, col)


Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (R)
pnta(6).y = y1 + (R)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (R)
pnta(8).y = y1 - (R)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (R)
pnta(10).y = y1 + (R)
pnta(11).x = x1 + (R)
pnta(11).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()


End Sub

Public Sub Un_Croce(nome As String, x, y, R As Integer, col As Variant)

'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 - R)-(x1 - R, y1 + R), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)


pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub

Public Sub Un_CroceL(nome As String, y, R, col)



Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)


pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub


Public Sub T_Un_Asterisco(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1)-(x1 + Rx, y1), col
picforms(Indeks).Picture1.Line (x1, y1 - Ry)-(x1, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1
pnta(1).x = x1 - (R)
pnta(1).y = y1
pnta(2).x = x1
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1
pnta(4).y = y1 + (R)
pnta(5).x = x1
pnta(5).y = y1
pnta(6).x = x1 + (R)
pnta(6).y = y1 + (R)
pnta(7).x = x1
pnta(7).y = y1
pnta(8).x = x1 - (R)
pnta(8).y = y1 - (R)
pnta(9).x = x1
pnta(9).y = y1
pnta(10).x = x1 - (R)
pnta(10).y = y1 + (R)
pnta(11).x = x1 + (R)
pnta(11).y = y1 - (R)
ret = Polyline(hdcEM, pnta(0), 12)
ret = RestorePen()


End Sub

Public Sub T_Un_Croce(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1 - Ry)-(x1 - Rx, y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)

pnta(0).x = x1 + (R)
pnta(0).y = y1 + (R)
pnta(1).x = x1
pnta(1).y = y1
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1
pnta(3).y = y1
pnta(4).x = x1 - (R)
pnta(4).y = y1 + (R)
pnta(5).x = x1 + (R)
pnta(5).y = y1 - (R)
ret = Polyline(hdcEM, pnta(0), 6)
ret = RestorePen()


End Sub
Public Sub TriaVuotGiu(Source As String, R As Variant, col As Variant)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 + R)-(x1, y1 - R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 + R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 + R)-(x1, y1 - R), col
Next

Dim pt As POINTAPI


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 - (R)
pnta(1).x = x1
pnta(1).y = y1 + (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()
Next i




End Sub

Public Sub Un_TriaVuotGiu(nome As String, x, y, R As Integer, col As Variant)

'Finestra
x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1 + R)-(x1, y1 - R), col
picforms(Indeks).Picture1.Line (x1 - R, y1 + R)-(x1 + R, y1 + R), col
picforms(Indeks).Picture1.Line (x1 + R, y1 + R)-(x1, y1 - R), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 - (R)
pnta(1).x = x1
pnta(1).y = y1 + (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()




End Sub

Public Sub Un_TriaVuotGiuL(nome As String, y, R, col)

Dim pt As POINTAPI


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 - (R)
pnta(1).x = x1
pnta(1).y = y1 + (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()




End Sub

Public Sub T_Un_TriaVuotGiu(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)



'Finestra
A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1 + Ry)-(x1, y1 - Ry), col
picforms(Indeks).Picture1.Line (x1 - Rx, y1 + Ry)-(x1 + Rx, y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1 + Ry)-(x1, y1 - Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI


'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 + (R)
pnta(0).y = y1 - (R)
pnta(1).x = x1
pnta(1).y = y1 + (R)
pnta(2).x = x1 - (R)
pnta(2).y = y1 - (R)
pnta(3).x = x1 + (R)
pnta(3).y = y1 - (R)

ret = Polyline(hdcEM, pnta(0), 4)
ret = RestorePen()




End Sub
Public Sub Spezzata(Source As String, col As Variant)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k - 1
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
x2 = (((x(i + 1) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y2 = (((y(i + 1) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1, y1)-(x2, y2), col

Next

Dim pt As POINTAPI


'metafile
For i = 1 To k
x1 = 1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(i - 1).x = x1
pnta(i - 1).y = y1
Next i

ret = Polyline(hdcEM, pnta(0), k)
ret = RestorePen()





End Sub

Public Sub Una_Linea(x1 As Variant, y1 As Variant, x2 As Variant, y2 As Variant, col As Variant)

'MF1.LineWidth = LineSp(Indeks) ' 17-05 attenzione
picforms(Indeks).Picture1.DrawWidth = LineSp(Indeks)
'Finestra

x11 = (((x1 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y11 = (((y1 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
x22 = (((x2 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y22 = (((y2 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x11, y11)-(x22, y22), col


Dim pt As POINTAPI


'metafile

x11 = 1000 / 10 + (((x1 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y11 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y1 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
x22 = 1000 / 10 + (((x2 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y22 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y2 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))

'nBrush = CreateMyBrush(col)
'nPen = CreateMyPen(LineWidth * 15, 0, col)  ' 17-05 attenzione
'nBrush = CreateMyBrush(col)
'nPen = CreateMyPen(0, 0, col)
'pnta(0).x = x11
'pnta(0).y = y11
'pnta(1).x = x22
'pnta(1).y = y22
'ret = Polyline(hdcEM, pnta(0), 2)
'ret = RestorePen()

MF1.LineWidth = LineSp(Indeks)
MF1.L_Line x11, y11, x22, y22, LineSp(Indeks), col




End Sub

Public Sub LOG_Linea(x1 As Variant, y1 As Variant, x2 As Variant, y2 As Variant, col As Variant)

If x1 = 0 Or y1 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

If x2 = 0 Or y2 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

R = rm / 70
x11 = LOG10(x1)
y11 = LOG10(y1)
x22 = LOG10(x2)
y22 = LOG10(y2)
'Finestra

'x11 = (((x1 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
'y11 = (((y1 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
'x22 = (((x2 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
'y22 = (((y2 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x11, y11)-(x22, y22), col



Dim pt As POINTAPI


'metafile

   'metafile
MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1
x112 = (1000 + (((x11 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y112 = (((ratioXY * 4000) + 100) - (((y11 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
x222 = (1000 + (((x22 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y222 = (((ratioXY * 4000) + 100) - (((y22 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x112
pnta(0).y = y112
pnta(1).x = x222
pnta(1).y = y222

ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()

yyyyx:

End Sub

Public Sub LOGX_Linea(x1 As Variant, y1 As Variant, x2 As Variant, y2 As Variant, col As Variant)

If x1 = 0 Or y1 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

If x2 = 0 Or y2 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

R = rm / 70
x11 = LOG10(x1)
y11 = y1
x22 = LOG10(x2)
y22 = y2
'Finestra

MinXX = Int(LOG10(MinX(Indeks)))
MAXXX = Int(LOG10(MaxX(Indeks))) + 1
minyy = MinY(Indeks)
maxyy = MaxY(Indeks)


picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x11, y11)-(x22, y22), col



Dim pt As POINTAPI


'metafile

   'metafile

x11 = (1000 + (((x11 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y11 = (((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
x22 = (1000 + (((x22 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y22 = (((ratioXY * 4000) + 100) - (((y2 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10

MF1.L_Line x11, y11, x22, y22, LineWidth, col

'nBrush = CreateMyBrush(col)
'nPen = CreateMyPen(LineWidth, 0, col)
'pnta(0).x = x11
'pnta(0).y = y11
'pnta(1).x = x22
'pnta(1).y = y22

'ret = Polyline(hdcEM, pnta(0), 2)
'ret = RestorePen()

yyyyx:

End Sub

Public Sub LOGY_Linea(x1 As Variant, y1 As Variant, x2 As Variant, y2 As Variant, col As Variant)

If x1 = 0 Or y1 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

If x2 = 0 Or y2 = 0 Then
MsgBox "An Error Occurred", , "Error"
GoTo yyyyx
End If

R = rm / 70
x11 = x1
y11 = LOG10(y1)
x22 = x2
y22 = LOG10(y2)
'Finestra

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
minyy = Int(LOG10(MinY(Indeks)))
maxyy = Int(LOG10(MaxY(Indeks))) + 1


picforms(Indeks).Picture2.FillStyle = 1
picforms(Indeks).Picture2.Line (x11, y11)-(x22, y22), col



Dim pt As POINTAPI


'metafile

   'metafile

x11 = ((1000 + ((x1 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y11 = (((ratioXY * 4000) + 100) - (((y11 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
x22 = (1000 + (((x2 - MinXX) / (MAXXX - MinXX)) * 4000)) / 10
y22 = (((ratioXY * 4000) + 100) - (((y22 - minyy) / (maxyy - minyy)) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x11
pnta(0).y = y11
pnta(1).x = x22
pnta(1).y = y22

ret = Polyline(hdcEM, pnta(0), 2)
ret = RestorePen()

yyyyx:

End Sub


Public Sub EsagonoVuoto(Source As String, R As Variant, col As Variant)

Dim x(500)
Dim y(500)
Close #1
Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - (R / 2), y1 + R)-(x1 + (R / 2), y1 + R), col
picforms(Indeks).Picture1.Line (x1 + (R / 2), y1 + R)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1 + R, y1)-(x1 + (R / 2), y1 - R), col
picforms(Indeks).Picture1.Line (x1 + (R / 2), y1 - R)-(x1 - (R / 2), y1 - R), col
picforms(Indeks).Picture1.Line (x1 - (R / 2), y1 - R)-(x1 - R, y1), col
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 - (R / 2), y1 + R), col
Next

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)
  


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 - (R / 2)
pnta(0).y = y1 + (R)
pnta(1).x = x1 + (R / 2)
pnta(1).y = y1 + (R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1 + (R / 2)
pnta(3).y = y1 - (R)
pnta(4).x = x1 - (R / 2)
pnta(4).y = y1 - (R)
pnta(5).x = x1 - (R)
pnta(5).y = y1
pnta(6).x = x1 - (R / 2)
pnta(6).y = y1 + (R)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()
Next i




End Sub

Public Sub Un_EsagonoVuoto(nome As String, x, y, R As Integer, col As Variant)


'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - (R / 2), y1 + R)-(x1 + (R / 2), y1 + R), col
picforms(Indeks).Picture1.Line (x1 + (R / 2), y1 + R)-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1 + R, y1)-(x1 + (R / 2), y1 - R), col
picforms(Indeks).Picture1.Line (x1 + (R / 2), y1 - R)-(x1 - (R / 2), y1 - R), col
picforms(Indeks).Picture1.Line (x1 - (R / 2), y1 - R)-(x1 - R, y1), col
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1 - (R / 2), y1 + R), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)
  


'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R / 2)
pnta(0).y = y1 + (R)
pnta(1).x = x1 + (R / 2)
pnta(1).y = y1 + (R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1 + (R / 2)
pnta(3).y = y1 - (R)
pnta(4).x = x1 - (R / 2)
pnta(4).y = y1 - (R)
pnta(5).x = x1 - (R)
pnta(5).y = y1
pnta(6).x = x1 - (R / 2)
pnta(6).y = y1 + (R)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()

End Sub

Public Sub Un_EsagonoVuotoL(nome As String, y, R, col)


'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R / 2)
pnta(0).y = y1 + (R)
pnta(1).x = x1 + (R / 2)
pnta(1).y = y1 + (R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1 + (R / 2)
pnta(3).y = y1 - (R)
pnta(4).x = x1 - (R / 2)
pnta(4).y = y1 - (R)
pnta(5).x = x1 - (R)
pnta(5).y = y1
pnta(6).x = x1 - (R / 2)
pnta(6).y = y1 + (R)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()

End Sub
Public Sub T_Un_EsagonoVuoto(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)


'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - (Rx / 2), y1 + Ry)-(x1 + (Rx / 2), y1 + Ry), col
picforms(Indeks).Picture1.Line (x1 + (Rx / 2), y1 + Ry)-(x1 + Rx, y1), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1)-(x1 + (Rx / 2), y1 - Ry), col
picforms(Indeks).Picture1.Line (x1 + (Rx / 2), y1 - Ry)-(x1 - (Rx / 2), y1 - Ry), col
picforms(Indeks).Picture1.Line (x1 - (Rx / 2), y1 - Ry)-(x1 - Rx, y1), col
picforms(Indeks).Picture1.Line (x1 - Rx, y1)-(x1 - (Rx / 2), y1 + Ry), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)

'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R / 2)
pnta(0).y = y1 + (R)
pnta(1).x = x1 + (R / 2)
pnta(1).y = y1 + (R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1 + (R / 2)
pnta(3).y = y1 - (R)
pnta(4).x = x1 - (R / 2)
pnta(4).y = y1 - (R)
pnta(5).x = x1 - (R)
pnta(5).y = y1
pnta(6).x = x1 - (R / 2)
pnta(6).y = y1 + (R)
ret = Polyline(hdcEM, pnta(0), 7)
ret = RestorePen()

End Sub


Public Sub RombVuot(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'Finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1, y1 + (2 * R)), col
picforms(Indeks).Picture1.Line (x1, y1 + (2 * R))-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1 + R, y1)-(x1, y1 - (2 * R)), col
picforms(Indeks).Picture1.Line (x1, y1 - (2 * R))-(x1 - R, y1), col
Next

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)
  


'metafile
For i = 1 To k
x1 = (1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)) / 10
y1 = (((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(0, 0, col)
pnta(0).x = x1 - (R)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (R)
pnta(4).x = x1 - (R)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()
Next i




End Sub
Public Sub Un_RombVuot(nome As String, x, y, R As Integer, col As Variant)



'Finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - R, y1)-(x1, y1 + (2 * R)), col
picforms(Indeks).Picture1.Line (x1, y1 + (2 * R))-(x1 + R, y1), col
picforms(Indeks).Picture1.Line (x1 + R, y1)-(x1, y1 - (2 * R)), col
picforms(Indeks).Picture1.Line (x1, y1 - (2 * R))-(x1 - R, y1), col
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)

'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * R)
pnta(4).x = x1 - (R)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()

End Sub

Public Sub Un_RombVuotL(nome As String, y, R, col)


Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)

'metafile

x1 = 500 / 10
y1 = y / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * R)
pnta(4).x = x1 - (R)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()

End Sub

Public Sub T_Un_RombVuot(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)



'Finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1 - Rx, y1)-(x1, y1 + (2 * Ry)), col
picforms(Indeks).Picture1.Line (x1, y1 + (2 * Ry))-(x1 + Rx, y1), col
picforms(Indeks).Picture1.Line (x1 + Rx, y1)-(x1, y1 - (2 * Ry)), col
picforms(Indeks).Picture1.Line (x1, y1 - (2 * Ry))-(x1 - Rx, y1), col
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome

Dim pt As POINTAPI

'nPen = CreateMyPen(1, 1, col)

'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
nBrush = CreateMyBrush(col)
nPen = CreateMyPen(LineWidth, 0, col)
pnta(0).x = x1 - (R)
pnta(0).y = y1
pnta(1).x = x1
pnta(1).y = y1 + (2 * R)
pnta(2).x = x1 + (R)
pnta(2).y = y1
pnta(3).x = x1
pnta(3).y = y1 - (2 * R)
pnta(4).x = x1 - (R)
pnta(4).y = y1

ret = Polyline(hdcEM, pnta(0), 5)
ret = RestorePen()

End Sub

Public Sub QuadPien(Source As String, R As Long, col As Long)

Dim x(500)
Dim y(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, a, b
    k = k + 1
    x(k) = a
    y(k) = b
    
Loop
Close #1

'finestra
For i = 1 To k
x1 = (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col, B
'picforms(indeks).Picture1.Line (X1 - r, Y1 - r)-(X1 + r, Y1 + r), colext, B
Next

'metafile
For i = 1 To k
x1 = 1000 + (((x(i) - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000))
MF1.LF_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , , col, , col
Next i

End Sub

Public Sub Un_QuadPien(nome As String, x, y, R As Integer, col As Variant)


'finestra

x1 = (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Line (x1 - R, y1 - R)-(x1 + R, y1 + R), col, B
'picforms(indeks).Picture1.Line (X1 - r, Y1 - r)-(X1 + r, Y1 + r), colext, B
'If Mod1 = False Then
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x
YYReal(NumCamp(Indeks), Indeks) = y
Campione(NumCamp(Indeks), Indeks) = nome
'End If

'metafile

x1 = 1000 / 10 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000 / 10)
y1 = ((ratioXY * 4000 / 10) + 100 / 10) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000 / 10))
MF1.LF_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col, , col


End Sub

Public Sub Un_QuadPienL(nome As String, y, R, col)



'metafile

x1 = 500 / 10
y1 = y / 10
MF1.LF_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col, , col


End Sub


Public Sub T_Un_QuadPien(nome As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

 
'finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = col
picforms(Indeks).Picture1.Line (x1 - Rx, y1 - Ry)-(x1 + Rx, y1 + Ry), col, B
'picforms(indeks).Picture1.Line (X1 - r, Y1 - r)-(X1 + r, Y1 + r), colext, B
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
Campione(NumCamp(Indeks), Indeks) = nome

'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
MF1.LF_Rectangle (x1 - (R)), (y1 - (R)), (x1 + (R)), (y1 + (R)), , LineWidth, col, , col



End Sub
Public Sub NewQuadGraph(file As String, tipo As Long)

If tipo = 1 Then
GraphDim = 330
GraphSqX = 200
GraphSqY = 200
GoTo wewe
End If
If tipo = 2 Then
GraphDim = 530
GraphSqX = 400
GraphSqY = 400
GoTo wewe
End If
If tipo = 3 Then
GraphDim = 730
GraphSqX = 600
GraphSqY = 600
GoTo wewe
End If

MsgBox "An Error Occurred", , "Error"
GoTo wewew
NumCamp(Indeks) = 0
wewe:
ratioXY = GraphSqX / GraphSqY
Indeks = Indeks + 1
NumCamp(Indeks) = 0 'attenzione
'picforms(Indeks).Picture1.DrawWidth = LineSp
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDim
picforms(Indeks).Picture1.Height = GraphDim
While picforms(Indeks).ScaleWidth < GraphDim
picforms(Indeks).Width = picforms(Indeks).Width + 1
Wend
While picforms(Indeks).ScaleHeight < GraphDim
picforms(Indeks).Height = picforms(Indeks).Height + 1
Wend

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDim)-(GraphDim, 0)

'label campione e coordinate
'picforms(Indeks).Label1.left = 100
'picforms(Indeks).Label4.left = 100
'picforms(Indeks).Label5.left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.top = 1 * picforms(Indeks).Label1.Height

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Elementi(AXY(Indeks)) + " vs " + Elementi(AXX(Indeks)) + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
MF1.OpenMeta file, 0, 0, 5300, 5300
MF1.L_Rectangle 1, 1, 5299, 5299

wewew:

End Sub
Public Sub NewRectGraph(file As String, dimX As Integer, dimY As Integer)

file = file + ".wmf"

'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY

GraphDimX(Indeks) = dimX + 130
GraphDimY(Indeks) = dimY + 130
GraphSqX = dimX
GraphSqY = dimY
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
'picforms(Indeks).Picture1.DrawWidth = Linesp(Indeks)
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimY(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 100
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 100
Wend

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)

'label campione e coordinate
'picforms(Indeks).Label1.left = 100
'picforms(Indeks).Label4.left = 100
'picforms(Indeks).Label5.left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Elementi(AXX(Indeks)) + " vs " + Elementi(AXY(Indeks)) + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
MF1.LineWidth = 1
    
MF1.OpenMeta file, 0, 0, 23000 / 10, (1300 / 10 + (4000 / 10 * ratioXY)) * 3.8
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

End Sub

Public Sub REENewSpiderREEGraph(file As String, dimX As Integer, dimY As Integer)

file = file + ".wmf"
'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY

GraphDimX(Indeks) = dimX + 130
GraphDimY(Indeks) = dimY + 130
GraphSqX = dimX
GraphSqY = dimY
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimY(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 1
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 1
Wend

minay = Int(LOG10((MinY(Indeks)))) + 1
Maxay = Int(LOG10((MaxY(Indeks)))) + 1

Inty(Indeks) = Maxay - minay

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)
'picforms(Indeks).Picture1.DrawWidth = Linesp
picforms(Indeks).Picture2.Width = dimX
picforms(Indeks).Picture2.Height = dimY
picforms(Indeks).Picture2.left = 100
picforms(Indeks).Picture2.top = GraphDimY(Indeks) - 30
picforms(Indeks).Picture2.Visible = True
picforms(Indeks).Picture2.Scale (0, Maxay)-(16, minay)


'label campione e coordinate
'picforms(Indeks).Label1.Left = 100
'picforms(Indeks).Label4.Left = 100
'picforms(Indeks).Label5.Left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.Top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.Top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.Top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Form8.Combo2.Text + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
MF1.LineWidth = 1
'MF1.OpenMeta file, 0, 0, 5100, (1300 + (4000 * ratioXY))
'MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1)
MF1.OpenMeta file, 0, 0, 5100 / 10, (1300 / 10 + (4000 / 10 * ratioXY))
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

End Sub

Public Sub NewSpiderGraph(file As String, dimX As Integer, dimY As Integer)

file = file + ".wmf"
'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY

GraphDimX(Indeks) = dimX + 130
GraphDimY(Indeks) = dimY + 130
GraphSqX = dimX
GraphSqY = dimY
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimY(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 1
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 1
Wend

minay = Int(LOG10((MinY(Indeks)))) + 1
Maxay = Int(LOG10((MaxY(Indeks)))) + 1

Inty(Indeks) = Maxay - minay

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)
'picforms(Indeks).Picture1.DrawWidth = Linesp
picforms(Indeks).Picture2.Width = dimX
picforms(Indeks).Picture2.Height = dimY
picforms(Indeks).Picture2.left = 100
picforms(Indeks).Picture2.top = GraphDimY(Indeks) - 30
picforms(Indeks).Picture2.Visible = True
picforms(Indeks).Picture2.Scale (0, Maxay)-(NumSpider + 1, minay)


'label campione e coordinate
'picforms(Indeks).Label1.Left = 100
'picforms(Indeks).Label4.Left = 100
'picforms(Indeks).Label5.Left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.Top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.Top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.Top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Form16.Combo1.Text + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
    
MF1.LineWidth = 1
'MF1.OpenMeta file, 0, 0, 5100, (1300 + (4000 * ratioXY))
'MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1)
MF1.OpenMeta file, 0, 0, 23000 / 10, (1300 / 10 + (4000 / 10 * ratioXY)) * 3.8
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

End Sub


Public Sub NewXnormLogYGraph(file As String, dimX As Integer, dimY As Integer)

file = file + ".wmf"
'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY

GraphDimX(Indeks) = dimX + 130
GraphDimY(Indeks) = dimY + 130
GraphSqX = dimX
GraphSqY = dimY
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimY(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 100
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 100
Wend

minay = Int(LOG10((MinY(Indeks))))
Maxay = Int(LOG10((MaxY(Indeks)))) + 1



Inty(Indeks) = Maxay - minay

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)
'picforms(Indeks).Picture1.DrawWidth = Linesp
picforms(Indeks).Picture2.Width = dimX
picforms(Indeks).Picture2.Height = dimY
picforms(Indeks).Picture2.left = 100
picforms(Indeks).Picture2.top = GraphDimY(Indeks) - 30
picforms(Indeks).Picture2.Visible = True
picforms(Indeks).Picture2.Scale (MinX(Indeks), Maxay)-(MaxX(Indeks), minay)


'label campione e coordinate
'picforms(Indeks).Label1.left = 100
'picforms(Indeks).Label4.left = 100
'picforms(Indeks).Label5.left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": Log(" + Elementi(AXY(Indeks)) + ") vs " + Elementi(AXX(Indeks)) + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
'MF1.OpenMeta file, 0, 0, 5100, (1300 + (4000 * ratioXY))
'MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1)
MF1.OpenMeta file, 0, 0, 23000 / 10, (1300 / 10 + (4000 / 10 * ratioXY)) * 3.8
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1 / 10, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

End Sub

Public Sub NewLogXNormYGraph(file As String, dimX As Integer, dimY As Integer)

file = file + ".wmf"
'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY

GraphDimX(Indeks) = dimX + 130
GraphDimY(Indeks) = dimY + 130
GraphSqX = dimX
GraphSqY = dimY
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimY(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 100
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 100
Wend

minax = Int(LOG10((MinX(Indeks))))
MaxaX = Int(LOG10((MaxX(Indeks)))) + 1



Intx(Indeks) = MaxaX - minax

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)
'picforms(Indeks).Picture1.DrawWidth = Linesp
picforms(Indeks).Picture2.Width = dimX
picforms(Indeks).Picture2.Height = dimY
picforms(Indeks).Picture2.left = 100
picforms(Indeks).Picture2.top = GraphDimY(Indeks) - 30
picforms(Indeks).Picture2.Visible = True
picforms(Indeks).Picture2.Scale (minax, MaxY(Indeks))-(MaxaX, MinY(Indeks))


'label campione e coordinate
'picforms(Indeks).Label1.left = 100
'picforms(Indeks).Label4.left = 100
'picforms(Indeks).Label5.left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Elementi(AXY(Indeks)) + " vs Log(" + Elementi(AXX(Indeks)) + ")" + " (Right mouse click for option - Double click to change)"
picforms(Indeks).Tag = Indeks
    
'MF1.OpenMeta file, 0, 0, 5100, (1300 + (4000 * ratioXY))
'MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1)
MF1.OpenMeta file, 0, 0, 5100 / 10, (1300 / 10 + (4000 / 10 * ratioXY))
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

End Sub

Public Sub NewLogLogGraph(file As String, tipo As Integer)

file = file + ".wmf"

'dimX è la dimensione X in pixel dell'area effettiva del grafico:GraphSqX
'dimX è la dimensione Y in pixel dell'area effettiva del grafico:GraphSqY
If tipo = 1 Then
'GraphDim = 400
GraphSqX = 300
GraphSqY = 300
GoTo wewe
End If
If tipo = 2 Then
'GraphDim = 600
GraphSqX = 500
GraphSqY = 500
GoTo wewe
End If
If tipo = 3 Then
'GraphDim = 600
GraphSqX = 700
GraphSqY = 700
GoTo wewe
End If

MsgBox "An Error Occurred", , "Error"
GoTo wewew

NumCamp(Indeks) = 0

wewe:
ratioXY = GraphSqX / GraphSqY
GraphDimX(Indeks) = GraphSqX
GraphDimY(Indeks) = GraphSqX
GraphSqX = GraphSqX - 130
GraphSqY = GraphSqY - 130
ratioXY = GraphSqY / GraphSqX

'indeks = indeks + 1
NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphDimX(Indeks)
picforms(Indeks).Picture1.Height = GraphDimX(Indeks)
While picforms(Indeks).ScaleWidth < GraphDimX(Indeks)
picforms(Indeks).Width = picforms(Indeks).Width + 100
Wend
While picforms(Indeks).ScaleHeight < GraphDimY(Indeks)
picforms(Indeks).Height = picforms(Indeks).Height + 100
Wend

minay = Int(LOG10((MinY(Indeks))))
Maxay = Int(LOG10((MaxY(Indeks)))) + 1

minax = Int(LOG10((MinX(Indeks))))
MaxaX = Int(LOG10((MaxX(Indeks)))) + 1

Inty(Indeks) = Maxay - minay
Intx(Indeks) = MaxaX - minax

'determino le coordinate
picforms(Indeks).Picture1.Scale (0, GraphDimY(Indeks))-(GraphDimX(Indeks), 0)
'picforms(Indeks).Picture1.DrawWidth = Linesp
picforms(Indeks).Picture2.Width = GraphSqX
picforms(Indeks).Picture2.Height = GraphSqY
picforms(Indeks).Picture2.left = 100
picforms(Indeks).Picture2.top = GraphDimY(Indeks) - 30
picforms(Indeks).Picture2.Visible = True
picforms(Indeks).Picture2.Scale (minax, Maxay)-(MaxaX, minay)


'label campione e coordinate
'picforms(Indeks).Label1.Left = 100
'picforms(Indeks).Label4.Left = 100
'picforms(Indeks).Label5.Left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.Top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.Top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.Top = 1 * picforms(Indeks).Label1.Height

NumCamp(Indeks) = 0

picforms(Indeks).Show

picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": Log(" + Elementi(AXY(Indeks)) + ") vs Log(" + Elementi(AXX(Indeks)) + ")" + " (Right mouse click for option - Double click to change)"

picforms(Indeks).Tag = Indeks
    
'MF1.OpenMeta file, 0, 0, 5100, (1300 + (4000 * ratioXY))
'MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1)
MF1.OpenMeta file, 0, 0, 5100 / 10, (1300 / 10 + (4000 / 10 * ratioXY))
MF1.LineColor = QBColor(15)
MF1.L_Rectangle 1, 1, 5099 / 10, ((1300 / 10 + (4000 / 10 * ratioXY)) - 1)
MF1.LineColor = QBColor(0)
MF1.L_Rectangle 800 / 10, 1, 5099 / 10, ((300 / 10 + (4000 / 10 * ratioXY)))

wewew:

End Sub



Public Sub NewTriplot(file As String, tipo As Integer)

file = file + ".wmf"

If tipo = 1 Then
'GraphDim = 400
GraphSqX = 300
GraphSqY = Int(300 * 0.8660254038)
GoTo wewe
End If
If tipo = 2 Then
'GraphDim = 600
GraphSqX = 500
GraphSqY = Int(500 * 0.8660254038)
GoTo wewe
End If
If tipo = 3 Then
'GraphDim = 600
GraphSqX = 700
GraphSqY = Int(700 * 0.8660254038)
GoTo wewe
End If

MsgBox "An Error Occurred", , "Error"
GoTo wewew

NumCamp(Indeks) = 0

wewe:
ratioXY = GraphSqX / GraphSqY
'Indeks = Indeks + 1
'NumCamp(Indeks) = 0 'attenzione
picforms(Indeks).Picture1.Cls
picforms(Indeks).Picture1.left = 0
picforms(Indeks).Picture1.top = 0
picforms(Indeks).Picture1.Width = GraphSqX
picforms(Indeks).Picture1.Height = GraphSqY
aa1 = picforms(Indeks).ScaleWidth
While picforms(Indeks).ScaleWidth < GraphSqX
picforms(Indeks).Width = picforms(Indeks).Width + 100
Wend
While picforms(Indeks).ScaleHeight < GraphSqY
picforms(Indeks).Height = picforms(Indeks).Height + 100
Wend

'determino le coordinate
picforms(Indeks).Picture1.Scale (-10, 110)-(85, -10)

'label campione e coordinate
'picforms(Indeks).Label1.left = 100
'picforms(Indeks).Label4.left = 100
'picforms(Indeks).Label5.left = picforms(Indeks).Label4.Width + 100
'picforms(Indeks).Label1.top = 2 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label4.top = 1 * picforms(Indeks).Label1.Height
'picforms(Indeks).Label5.top = 1 * picforms(Indeks).Label1.Height

'contorni del triangolo
picforms(Indeks).Picture1.DrawWidth = 2
picforms(Indeks).Picture1.Line (0, 0)-(75, 0)
picforms(Indeks).Picture1.Line (75, 0)-(37.5, 100)
picforms(Indeks).Picture1.Line (0, 0)-(37.5, 100)

picforms(Indeks).Show

If DiagramType(Indeks) = "none" Then
picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + Elementi(AXB(Indeks)) + " - " + Elementi(AxAa(Indeks)) + " - " + Elementi(AXC(Indeks)) + " (Right mouse click for option - Double click to change)"
Else
picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + AXB(Indeks) + " - " + AxAa(Indeks) + " - " + AXC(Indeks) + " (Right mouse click for option - Double click to change)"
End If

picforms(Indeks).Tag = Indeks
    
MF1.OpenMeta file, 0, 0, 5400 * 4.4 / 10, Int((5000 / 10 * 0.8660254038) + 400 / 10) * 4.4
'MF1.L_Rectangle 1, 1, 5399, ((5000 * 0.8660254038) + 400) - 1
MF1.L_Line 200 / 10, ((5000 * 0.8660254038 / 10) + 200 / 10), 2710 / 10, 200 / 10, 1, QBColor(0)
MF1.L_Line 200 / 10, ((5000 * 0.8660254038 / 10) + 200 / 10), 5230 / 10, ((5000 * 0.8660254038 / 10) + 200 / 10), 1, QBColor(0)
MF1.L_Line 5230 / 10, ((5000 * 0.8660254038 / 10) + 200 / 10), 2720 / 10, 200 / 10, 1, QBColor(0)

wewew:

End Sub

Public Sub TCerVuot(Source As String, R As Long, col As Long)

Dim a(500)
Dim b(500)
Dim c(500)

Dim nome$(500)
Close #1
   Open Source For Input As #1

k = 0

Do While Not EOF(1) ' Loop until end of file.
    Input #1, aa, bb, cc, z
    k = k + 1
    a(k) = aa
    b(k) = bb
    c(k) = cc
    nome$(k) = z
    
Loop
Close #1

'finestra
For i = 1 To k

A100 = (a(i) / (a(i) + b(i) + c(i))) * 100
B100 = (b(i) / (a(i) + b(i) + c(i))) * 100
C100 = (c(i) / (a(i) + b(i) + c(i))) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Circle (x1, y1), R, col, F
'identificazione campioni
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = A100
YYReal(NumCamp(Indeks), Indeks) = B100
ZZReal(NumCamp(Indeks), Indeks) = C100

Campione(NumCamp(Indeks), Indeks) = nome$(i)

Next i




'metafile
'For i = 1 To k
'X1 = 1000 + (((X(i) - MinX(indeks)) / (MaxX(indeks) - MinX(indeks))) * 4000)
'Y1 = ((ratioXY * 4000) + 100) - (((Y(i) - MinY(indeks)) / (MaxY(indeks) - MinY(indeks))) * (ratioXY * 4000))
'MF1.L_Circle X1, Y1, (r * 10), , col
'Next i


End Sub

Public Sub T_Un_CerVuot(name As String, x, y, z, Rx As Variant, Ry As Variant, R As Variant, col As Variant)

'finestra

A100 = (x / (x + y + z)) * 100
B100 = (y / (x + y + z)) * 100
C100 = (z / (x + y + z)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Circle (x1, y1), Rx, col, F
'identificazione campioni
NumCamp(Indeks) = NumCamp(Indeks) + 1
xx(NumCamp(Indeks), Indeks) = Int(x1)
yy(NumCamp(Indeks), Indeks) = Int(y1)
XXReal(NumCamp(Indeks), Indeks) = x1
YYReal(NumCamp(Indeks), Indeks) = y1
'ZZReal(NumCamp(Indeks), Indeks) = C100

Campione(NumCamp(Indeks), Indeks) = name



'metafile

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10
MF1.L_Circle x1, y1, (R), LineWidth, col



End Sub

Public Sub InsertPoint(name As String, xw, yw, r1 As Integer, col1 As Variant, tipo As Variant)

If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture1.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture1.DrawWidth = 2
MF1.LineWidth = 2
End If



If tipo = 1 Then
MF1.Un_QuadPien name, xw, yw, r1, col1
End If

If tipo = 2 Then
MF1.Un_QuadVuot name, xw, yw, r1, col1
End If

If tipo = 3 Then
MF1.Un_CerPien name, xw, yw, r1, col1
End If

If tipo = 4 Then
MF1.Un_CerVuot name, xw, yw, r1, col1
End If

If tipo = 5 Then
MF1.Un_TriaVuotSu name, xw, yw, r1, col1
End If

If tipo = 6 Then
MF1.Un_TriaVuotGiu name, xw, yw, r1, col1
End If

If tipo = 7 Then
MF1.Un_Asterisco name, xw, yw, r1, col1
End If

If tipo = 8 Then
MF1.Un_Piu name, xw, yw, r1, col1
End If

If tipo = 9 Then
MF1.Un_RombVuot name, xw, yw, r1, col1
End If

If tipo = 10 Then
MF1.Un_Croce name, xw, yw, r1, col1
End If

If tipo = 11 Then
MF1.Un_Meno name, xw, yw, r1, col1
End If

If tipo = 12 Then
MF1.Un_QuadVuotPer name, xw, yw, r1, col1
End If

End Sub

Public Sub InsertPointL()

MF1.LineWidth = 1



For i = 1 To NumL



col1 = BackGrnd.Picture1(ColL(i) + 8).BackColor
name$ = SerieL(i)
yyw = 500 + 100 * i

MF1.SetText name$, 600 / 10, (yyw - 70) / 10, , 1

If TipoL(i) = 1 Then
MF1.Un_QuadPienL name$, yyw, 2, col1
End If

If TipoL(i) = 2 Then
MF1.Un_QuadVuotL name$, yyw, 2, col1
End If

If TipoL(i) = 3 Then
MF1.Un_CerPienL name$, yyw, 2, col1
End If

If TipoL(i) = 4 Then
MF1.Un_CerVuotL name$, yyw, 2, col1
End If

If TipoL(i) = 5 Then
MF1.Un_TriaVuotSuL name$, yyw, 2, col1
End If

If TipoL(i) = 6 Then
MF1.Un_TriaVuotGiuL name$, yyw, 2, col1
End If

If TipoL(i) = 7 Then
MF1.Un_AsteriscoL name$, yyw, 2, col1
End If

If TipoL(i) = 8 Then
MF1.Un_PiuL name$, yyw, 2, col1
End If

If TipoL(i) = 9 Then
MF1.Un_RombVuotL name$, yyw, 2, col1
End If

If TipoL(i) = 10 Then
MF1.Un_CroceL name$, yyw, 2, col1
End If

If TipoL(i) = 11 Then
MF1.Un_MenoL name$, yyw, 2, col1
End If

If TipoL(i) = 12 Then
MF1.Un_QuadVuotPerL name$, yyw, 2, col1
End If

Next i

End Sub


Public Sub LOG_InsertPoint(name As String, xw, yw, rs As Integer, col1 As Variant, tipo As Variant)


r1 = rs


If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture1.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture1.DrawWidth = 2
MF1.LineWidth = 2
End If


If tipo = 1 Then
MF1.LOG_QuadPien name, xw, yw, r1, col1
End If

If tipo = 2 Then
MF1.LOG_QuadVuot name, xw, yw, r1, col1
End If

If tipo = 3 Then
MF1.LOG_CerPien name, xw, yw, r1, col1
End If

If tipo = 4 Then
MF1.LOG_CerVuot name, xw, yw, r1, col1
End If

If tipo = 5 Then
MF1.LOG_TriaVuotSu name, xw, yw, r1, col1
End If

If tipo = 6 Then
MF1.LOG_TriaVuotGiu name, xw, yw, r1, col1
End If

If tipo = 7 Then
MF1.LOG_Asterisco name, xw, yw, r1, col1
End If

If tipo = 8 Then
MF1.LOG_Piu name, xw, yw, r1, col1
End If

If tipo = 9 Then
MF1.LOG_rombvuot name, xw, yw, r1, col1
End If

If tipo = 10 Then
MF1.LOG_Croce name, xw, yw, r1, col1
End If

If tipo = 11 Then
MF1.LOG_Meno name, xw, yw, r1, col1
End If

If tipo = 12 Then
MF1.LOG_QuadVuotPer name, xw, yw, r1, col1
End If

End Sub



Public Sub InsertPointMOD(name As String, xw, yw, r1 As Integer, col1 As Variant, tipo As Variant, ModelSymbWid1)

name = "MODEL: " + name

Mod1 = True

Dim rxx
Dim ryy

If ModelSymbWid1 = 1 Then
picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture2.DrawWidth = 1
MF1.LineWidth = 1
End If
If ModelSymbWid1 = 2 Then
picforms(Indeks).Picture1.DrawWidth = 2
picforms(Indeks).Picture2.DrawWidth = 2
MF1.LineWidth = 2
End If


' NORM X - LOG Y
If tipoGraph(Indeks) = "normx-logy" Then
rr = r1
r2 = rr


rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.LOGY_QuadPien name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 2 Then
MF1.LOGY_QuadVuot name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 3 Then
MF1.LOGY_CerPien name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 4 Then
MF1.LOGY_CerVuot name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 5 Then
MF1.LOGY_TriaVuotSu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 6 Then
MF1.LOGY_TriaVuotGiu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 7 Then
MF1.LogY_Asterisco name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 8 Then
MF1.LOGY_Piu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 9 Then
MF1.LOGY_rombvuot name, xw, yw, rxx, ryy, rr, col1
End If
End If


' LOG X - NORM Y
If tipoGraph(Indeks) = "logx-normy" Then
rr = r1
r2 = rr

rxx = r2 * (Val(picforms(Indeks).Picture2.ScaleWidth) / Val(picforms(Indeks).Picture2.Width))
ryy = r2 * (Val(picforms(Indeks).Picture2.ScaleHeight) / Val(picforms(Indeks).Picture2.Height))

If tipo = 1 Then
MF1.LOGX_QuadPien name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 2 Then
MF1.LOGX_QuadVuot name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 3 Then
MF1.LOGX_CerPien name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 4 Then
MF1.LOGX_CerVuot name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 5 Then
MF1.LOGX_TriaVuotSu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 6 Then
MF1.LOGX_TriaVuotGiu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 7 Then
MF1.LogX_Asterisco name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 8 Then
MF1.LOGX_Piu name, xw, yw, rxx, ryy, rr, col1
End If

If tipo = 9 Then
MF1.LOGX_rombvuot name, xw, yw, rxx, ryy, rr, col1
End If
End If


' LOG X - LOG Y
If tipoGraph(Indeks) = "logx-logy" Then
If tipo = 1 Then
MF1.LOG_QuadPien name, xw, yw, r1, col1
End If

If tipo = 2 Then
MF1.LOG_QuadVuot name, xw, yw, r1, col1
End If

If tipo = 3 Then
MF1.LOG_CerPien name, xw, yw, r1, col1
End If

If tipo = 4 Then
MF1.LOG_CerVuot name, xw, yw, r1, col1
End If

If tipo = 5 Then
MF1.LOG_TriaVuotSu name, xw, yw, r1, col1
End If

If tipo = 6 Then
MF1.LOG_TriaVuotGiu name, xw, yw, r1, col1
End If

If tipo = 7 Then
MF1.LOG_Asterisco name, xw, yw, r1, col1
End If

If tipo = 8 Then
MF1.LOG_Piu name, xw, yw, r1, col1
End If

If tipo = 9 Then
MF1.LOG_rombvuot name, xw, yw, r1, col1
End If
End If


' NORM X - NORM Y
If tipoGraph(Indeks) = "normx-normy" Then
If tipo = 1 Then
MF1.Un_QuadPien name, xw, yw, r1, col1
End If

If tipo = 2 Then
MF1.Un_QuadVuot name, xw, yw, r1, col1
End If

If tipo = 3 Then
MF1.Un_CerPien name, xw, yw, r1, col1
End If

If tipo = 4 Then
MF1.Un_CerVuot name, xw, yw, r1, col1
End If

If tipo = 5 Then
MF1.Un_TriaVuotSu name, xw, yw, r1, col1
End If

If tipo = 6 Then
MF1.Un_TriaVuotGiu name, xw, yw, r1, col1
End If

If tipo = 7 Then
MF1.Un_Asterisco name, xw, yw, r1, col1
End If

If tipo = 8 Then
MF1.Un_Piu name, xw, yw, r1, col1
End If

If tipo = 9 Then
MF1.Un_RombVuot name, xw, yw, r1, col1
End If
End If

Mod1 = False

End Sub

Public Sub InsertSfondoNonBianco(xw, yw, r1 As Integer)


x1 = (((xw - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((yw - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture1.FillStyle = 0
picforms(Indeks).Picture1.FillColor = RGB(252, 252, 252)
picforms(Indeks).Picture1.Line (x1 - r1, y1 - r1)-(x1 + r1, y1 + r1), RGB(252, 252, 252), B



End Sub

Public Sub LogY_InsertSfondoNonBianco(xx, yy, r1 As Integer)
x1 = xx
y1 = LOG10(yy)
picforms(Indeks).Picture2.DrawWidth = SimbSp(Indeks)
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = col1

 

'metafile
minyy = Int(LOG10((MinY(Indeks))))
maxyy = Int(LOG10((MaxY(Indeks)))) + 1

MinXX = MinX(Indeks)
MAXXX = MaxX(Indeks)
yyy = y1
x1 = 1000 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000)
y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000))


x1 = (((xw - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * GraphSqX) + 100
y1 = (((yw - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * GraphSqY) + 100
picforms(Indeks).Picture2.FillStyle = 0
picforms(Indeks).Picture2.FillColor = RGB(252, 252, 252)
picforms(Indeks).Picture2.Line (x1 - r1, y1 - r1)-(x1 + r1, y1 + r1), RGB(252, 252, 252), B



End Sub


Public Sub T_InsertPoint(name As String, xw, yw, zw, r1 As Variant, col1 As Variant, tipo As Variant)

If SimbSp(Indeks) = 1 Then
picforms(Indeks).Picture1.DrawWidth = 1
MF1.LineWidth = 1
End If
If SimbSp(Indeks) = 2 Then
picforms(Indeks).Picture1.DrawWidth = 2
MF1.LineWidth = 2
End If



Dim rxx
Dim ryy


'r1 = r1 / 5

rxx = r1 * (Val(picforms(Indeks).Picture1.ScaleWidth) / Val(picforms(Indeks).Picture1.Width))
ryy = r1 * (Val(picforms(Indeks).Picture1.ScaleHeight) / Val(picforms(Indeks).Picture1.Height))




If tipo = 1 Then
MF1.T_Un_QuadPien name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 2 Then
MF1.T_Un_QuadVuot name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 3 Then
MF1.T_Un_CerPien name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 4 Then
MF1.T_Un_CerVuot name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 6 Then
MF1.T_Un_TriaVuotSu name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 5 Then
MF1.T_Un_TriaVuotGiu name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 7 Then
MF1.T_Un_Asterisco name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 8 Then
MF1.T_Un_Piu name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 9 Then
MF1.T_Un_RombVuot name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 10 Then
MF1.T_Un_Croce name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 11 Then
MF1.T_Un_Meno name, xw, yw, zw, rxx, ryy, r1, col1
End If

If tipo = 12 Then
MF1.T_Un_QuadVuotPer name, xw, yw, zw, rxx, ryy, r1, col1
End If

End Sub


Public Sub TAssi(col As Long)

'Assi
If DiagramType(Indeks) <> "none" Then
picforms(Indeks).Picture1.FontSize = 10
picforms(Indeks).Picture1.FontBold = True
picforms(Indeks).Picture1.CurrentX = 37.5 - (picforms(Indeks).Picture1.TextWidth(AxAa(Indeks)) / 2)
picforms(Indeks).Picture1.CurrentY = 105
picforms(Indeks).Picture1.Print AxAa(Indeks)
picforms(Indeks).Picture1.CurrentX = 75
picforms(Indeks).Picture1.CurrentY = 0
picforms(Indeks).Picture1.Print AXC(Indeks)
picforms(Indeks).Picture1.CurrentX = -(picforms(Indeks).Picture1.TextWidth(AxAa(Indeks)))
picforms(Indeks).Picture1.CurrentY = 0
picforms(Indeks).Picture1.Print AXB(Indeks)
picforms(Indeks).Picture1.FontBold = False
MF1.SetText AxAa(Indeks), 2650 / 10, 10 / 10, , 1.5
MF1.SetText AXB(Indeks), 150 / 10, ((5000 * 0.8660254038) + 210) / 10, , 1.5
MF1.SetText AXC(Indeks), 5150 / 10, ((5000 * 0.8660254038) + 210) / 10, , 1.5
End If
If DiagramType(Indeks) = "none" Then
picforms(Indeks).Picture1.FontSize = 10
picforms(Indeks).Picture1.FontBold = True
picforms(Indeks).Picture1.CurrentX = 37.5 - (picforms(Indeks).Picture1.TextWidth(Elementi(AxAa(Indeks))) / 2)
picforms(Indeks).Picture1.CurrentY = 105
picforms(Indeks).Picture1.Print Elementi(AxAa(Indeks))
picforms(Indeks).Picture1.CurrentX = 75
picforms(Indeks).Picture1.CurrentY = 0
picforms(Indeks).Picture1.Print Elementi(AXC(Indeks))
ma = -8
picforms(Indeks).Picture1.CurrentX = ma 'attenzione!!!! modifica empirica 30/07/02
'picforms(Indeks).Picture1.CurrentX = -(picforms(Indeks).Picture1.TextWidth(Elementi(AxAa(Indeks))))
picforms(Indeks).Picture1.CurrentY = 0
picforms(Indeks).Picture1.Print Elementi(AXB(Indeks))
picforms(Indeks).Picture1.FontBold = False
MF1.SetText Elementi(AxAa(Indeks)), 2650 / 10, 10 / 10, , 1.5
MF1.SetText Elementi(AXB(Indeks)), 150 / 10, ((5000 * 0.8660254038) + 210) / 10, , 1.5
MF1.SetText Elementi(AXC(Indeks)), (5150 - Len(Elementi(AXC(Indeks))) * 20) / 10, ((5000 * 0.8660254038) + 210) / 10, , 1.5
End If

'MF1.L_Line 200, ((5000 * 0.8660254038) + 200), 2710, 200, 20, QBColor(0)
'MF1.L_Line 200, ((5000 * 0.8660254038) + 200), 5230, ((5000 * 0.8660254038) + 200), 20, QBColor(0)
'MF1.L_Line 5230, ((5000 * 0.8660254038) + 200), 2720, 200, 20, QBColor(0)

'picforms(Indeks).picture1.Line (0, 0)-(75, 0)
'picforms(Indeks).picture1.Line (75, 0)-(37.5, 100)
'picforms(Indeks).picture1.Line (0, 0)-(37.5, 100)


picforms(Indeks).Picture1.DrawWidth = 1
picforms(Indeks).Picture1.DrawStyle = 2
'A //
For i = 10 To 90 Step 10

a1 = i
b1 = 100 - i
C1 = 0
a2 = i
b2 = 0
C2 = 100 - i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100

picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1, y1)-(x2, y2), col


Next i

'B //
For i = 10 To 90 Step 10

a1 = 100 - i
b1 = i
C1 = 0
a2 = 0
b2 = i
C2 = 100 - i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100

picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1, y1)-(x2, y2), col


Next i

'c //
For i = 10 To 90 Step 10

a1 = 0
b1 = 100 - i
C1 = i
a2 = 100 - i
b2 = 0
C2 = i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100

picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1, y1)-(x2, y2), col


Next i

picforms(Indeks).Picture1.DrawStyle = 0


'metafile
'A //
For i = 10 To 90 Step 10

a1 = i
b1 = 100 - i
C1 = 0
a2 = i
b2 = 0
C2 = 100 - i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100
x2 = ((x2 / 75 * 5000) + 200) / 10
y2 = (((200 + (5000 * 0.8660254038)) - (y2 / 100 * (5000 * 0.8660254038)))) / 10

MF1.L_Line x1, y1, x2, y2, 1, QBColor(0)

Next i

'B //
For i = 10 To 90 Step 10

a1 = 100 - i
b1 = i
C1 = 0
a2 = 0
b2 = i
C2 = 100 - i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100
x2 = ((x2 / 75 * 5000) + 200) / 10
y2 = (((200 + (5000 * 0.8660254038)) - (y2 / 100 * (5000 * 0.8660254038)))) / 10

MF1.L_Line x1, y1, x2, y2, 1, QBColor(0)


Next i

'c //
For i = 10 To 90 Step 10

a1 = 0
b1 = 100 - i
C1 = i
a2 = 100 - i
b2 = 0
C2 = i

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100
x1 = ((x1 / 75 * 5000) + 200) / 10
y1 = (((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))) / 10

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100
x2 = ((x2 / 75 * 5000) + 200) / 10
y2 = (((200 + (5000 * 0.8660254038)) - (y2 / 100 * (5000 * 0.8660254038)))) / 10

MF1.L_Line x1, y1, x2, y2, 1, QBColor(0)


Next i


End Sub

Public Sub Finegraph()

MF1.CloseMeta


End Sub
Public Sub Diagram()

'Mantle End-Members



' 87Sr86Sr Vs 143Nd144Nd

If DiagramType(Indeks) = "87Sr86SrVs143Nd144Nd" Then

sra = 0.0003
pba = 0.2
nda = 0.00004

MF1.Una_Linea 0.7022 - sra, 0.5133 - nda, 0.7022 - sra, 0.5133 + nda, QBColor(0)
MF1.Una_Linea 0.7022 - sra, 0.5133 + nda, 0.7022 + sra, 0.5133 + nda, QBColor(0)
MF1.Una_Linea 0.7022 + sra, 0.5133 + nda, 0.7022 + sra, 0.5133 - nda, QBColor(0)
MF1.Una_Linea 0.7022 + sra, 0.5133 - nda, 0.7022 - sra, 0.5133 - nda, QBColor(0)
MF1.Testo 0.7022 - sra, 0.5133 - nda, "DMM", 0, 9

MF1.Una_Linea 0.70285 - sra, 0.51285 - nda, 0.70285 - sra, 0.51285 + nda, QBColor(0)
MF1.Una_Linea 0.70285 - sra, 0.51285 + nda, 0.70285 + sra, 0.51285 + nda, QBColor(0)
MF1.Una_Linea 0.70285 + sra, 0.51285 + nda, 0.70285 + sra, 0.51285 - nda, QBColor(0)
MF1.Una_Linea 0.70285 + sra, 0.51285 - nda, 0.70285 - sra, 0.51285 - nda, QBColor(0)
MF1.Testo 0.70285 - sra, 0.51285 - nda, "HIMU", 0, 9

MF1.Una_Linea 0.7053 - sra, 0.51236 - nda, 0.7053 - sra, 0.51236 + nda, QBColor(0)
MF1.Una_Linea 0.7053 - sra, 0.51236 + nda, 0.7053 + sra, 0.51236 + nda, QBColor(0)
MF1.Una_Linea 0.7053 + sra, 0.51236 + nda, 0.7053 + sra, 0.51236 - nda, QBColor(0)
MF1.Una_Linea 0.7053 + sra, 0.51236 - nda, 0.7053 - sra, 0.51236 - nda, QBColor(0)
MF1.Testo 0.7053 - sra, 0.51236 - nda, "EM-I", 0, 9

MF1.Una_Linea 0.7078 - sra, 0.51258 - nda, 0.7078 - sra, 0.51258 + nda, QBColor(0)
MF1.Una_Linea 0.7078 - sra, 0.51258 + nda, 0.7078 + sra, 0.51258 + nda, QBColor(0)
MF1.Una_Linea 0.7078 + sra, 0.51258 + nda, 0.7078 + sra, 0.51258 - nda, QBColor(0)
MF1.Una_Linea 0.7078 + sra, 0.51258 - nda, 0.7078 - sra, 0.51258 - nda, QBColor(0)
MF1.Testo 0.7078 - sra, 0.51258 - nda, "EM-II", 0, 9


End If



' 206Pb204PbVs143Nd144Nd
If DiagramType(Indeks) = "206Pb204PbVs143Nd144Nd" Then
sra = 0.0003
pba = 0.15
nda = 0.00004

MF1.Una_Linea 18 - pba, 0.5133 - nda, 18 - pba, 0.5133 + nda, QBColor(0)
MF1.Una_Linea 18 - pba, 0.5133 + nda, 18 + pba, 0.5133 + nda, QBColor(0)
MF1.Una_Linea 18 + pba, 0.5133 + nda, 18 + pba, 0.5133 - nda, QBColor(0)
MF1.Una_Linea 18 + pba, 0.5133 - nda, 18 - pba, 0.5133 - nda, QBColor(0)
MF1.Testo 18 - pba, 0.5133 - nda, "DMM", 0, 9

MF1.Una_Linea 21.8 - pba, 0.51285 - nda, 21.8 - pba, 0.51285 + nda, QBColor(0)
MF1.Una_Linea 21.8 - pba, 0.51285 + nda, 21.8 + pba, 0.51285 + nda, QBColor(0)
MF1.Una_Linea 21.8 + pba, 0.51285 + nda, 21.8 + pba, 0.51285 - nda, QBColor(0)
MF1.Una_Linea 21.8 + pba, 0.51285 - nda, 21.8 - pba, 0.51285 - nda, QBColor(0)
MF1.Testo 21.8 - pba, 0.51285 - nda, "HIMU", 0, 9

MF1.Una_Linea 18 - pba, 0.51236 - nda, 18 - pba, 0.51236 + nda, QBColor(0)
MF1.Una_Linea 18 - pba, 0.51236 + nda, 18 + pba, 0.51236 + nda, QBColor(0)
MF1.Una_Linea 18 + pba, 0.51236 + nda, 18 + pba, 0.51236 - nda, QBColor(0)
MF1.Una_Linea 18 + pba, 0.51236 - nda, 18 - pba, 0.51236 - nda, QBColor(0)
MF1.Testo 18 - pba, 0.51236 - nda, "EM-I", 0, 9

MF1.Una_Linea 19 - pba, 0.51258 - nda, 19 - pba, 0.51258 + nda, QBColor(0)
MF1.Una_Linea 19 - pba, 0.51258 + nda, 19 + pba, 0.51258 + nda, QBColor(0)
MF1.Una_Linea 19 + pba, 0.51258 + nda, 19 + pba, 0.51258 - nda, QBColor(0)
MF1.Una_Linea 19 + pba, 0.51258 - nda, 19 - pba, 0.51258 - nda, QBColor(0)
MF1.Testo 19 - pba, 0.51258 - nda, "EM-II", 0, 9

End If

' 206Pb204PbVs87Sr86Sr

If DiagramType(Indeks) = "206Pb204PbVs87Sr86Sr" Then
sra = 0.0003
pba = 0.15
nda = 0.00004

MF1.Una_Linea 18 - pba, 0.7022 - sra, 18 - pba, 0.7022 + sra, QBColor(0)
MF1.Una_Linea 18 - pba, 0.7022 + sra, 18 + pba, 0.7022 + sra, QBColor(0)
MF1.Una_Linea 18 + pba, 0.7022 + sra, 18 + pba, 0.7022 - sra, QBColor(0)
MF1.Una_Linea 18 + pba, 0.7022 - sra, 18 - pba, 0.7022 - sra, QBColor(0)
MF1.Testo 18 - pba, 0.7022 - sra, "DMM", 0, 9

MF1.Una_Linea 21.8 - pba, 0.70285 - sra, 21.8 - pba, 0.70285 + sra, QBColor(0)
MF1.Una_Linea 21.8 - pba, 0.70285 + sra, 21.8 + pba, 0.70285 + sra, QBColor(0)
MF1.Una_Linea 21.8 + pba, 0.70285 + sra, 21.8 + pba, 0.70285 - sra, QBColor(0)
MF1.Una_Linea 21.8 + pba, 0.70285 - sra, 21.8 - pba, 0.70285 - sra, QBColor(0)
MF1.Testo 21.8 - pba, 0.70285 - sra, "HIMU", 0, 9

MF1.Una_Linea 18 - pba, 0.7053 - sra, 18 - pba, 0.7053 + sra, QBColor(0)
MF1.Una_Linea 18 - pba, 0.7053 + sra, 18 + pba, 0.7053 + sra, QBColor(0)
MF1.Una_Linea 18 + pba, 0.7053 + sra, 18 + pba, 0.7053 - sra, QBColor(0)
MF1.Una_Linea 18 + pba, 0.7053 - sra, 18 - pba, 0.7053 - sra, QBColor(0)
MF1.Testo 18 - pba, 0.7053 - sra, "EM-I", 0, 9

MF1.Una_Linea 19 - pba, 0.7078 - sra, 19 - pba, 0.7078 + sra, QBColor(0)
MF1.Una_Linea 19 - pba, 0.7078 + sra, 19 + pba, 0.7078 + sra, QBColor(0)
MF1.Una_Linea 19 + pba, 0.7078 + sra, 19 + pba, 0.7078 - sra, QBColor(0)
MF1.Una_Linea 19 + pba, 0.7078 - sra, 19 - pba, 0.7078 - sra, QBColor(0)
MF1.Testo 19 - pba, 0.7078 - sra, "EM-II", 0, 9

End If

' 206Pb204PbVs208Pb204Pb

If DiagramType(Indeks) = "206Pb204PbVs207Pb204Pb" Then
MF1.Una_Linea 15.5, 15.12, 15.5, 15.45, QBColor(0)
MF1.Una_Linea 15.5, 15.45, 17.8, 15.45, QBColor(0)
MF1.Una_Linea 17.8, 15.45, 17.8, 15.12, QBColor(0)
MF1.Una_Linea 17.8, 15.12, 15.5, 15.12, QBColor(0)
MF1.Testo 15.5, 15.12, "DMM", 0, 9

MF1.Una_Linea 21, 15.82, 21, 15.9, QBColor(0)
MF1.Una_Linea 21, 15.9, 22, 15.9, QBColor(0)
MF1.Una_Linea 22, 15.9, 22, 15.82, QBColor(0)
MF1.Una_Linea 22, 15.82, 21, 15.82, QBColor(0)
MF1.Testo 21, 15.82, "HIMU", 0, 9

MF1.Una_Linea 16.7, 15.36, 16.7, 15.52, QBColor(0)
MF1.Una_Linea 16.7, 15.52, 17.8, 15.52, QBColor(0)
MF1.Una_Linea 17.8, 15.52, 17.8, 15.36, QBColor(0)
MF1.Una_Linea 17.8, 15.36, 16.7, 15.36, QBColor(0)
MF1.Testo 16.7, 15.36, "EM-I", 0, 9

MF1.Una_Linea 18.5, 15.62, 18.5, 15.72, QBColor(0)
MF1.Una_Linea 18.5, 15.72, 19.6, 15.72, QBColor(0)
MF1.Una_Linea 19.6, 15.72, 19.6, 15.62, QBColor(0)
MF1.Una_Linea 19.6, 15.62, 18.5, 15.62, QBColor(0)
MF1.Testo 18.5, 15.62, "EM-II", 0, 9

MF1.Una_Linea 17.6, 15.55, 17.6, 15.7, QBColor(0)
MF1.Una_Linea 17.6, 15.7, 18, 15.7, QBColor(0)
MF1.Una_Linea 18, 15.7, 18, 15.55, QBColor(0)
MF1.Una_Linea 18, 15.55, 17.6, 15.55, QBColor(0)
MF1.Testo 17.6, 15.55, "BSE", 0, 9

End If
'-----------------------------------------------------

'-----------------------------------------------------


'binary


'----------------------------------------------------
If DiagramType(Indeks) = "TASvulcan" Or DiagramType(Indeks) = "TASpluto" Then
MF1.Una_Linea 41, 3, 44, 2, QBColor(0)
MF1.Una_Linea 44, 2, 52, 1.75, QBColor(0)
MF1.Una_Linea 52, 1.75, 52, 5.6, QBColor(0)
MF1.Una_Linea 52, 5.6, 44.5, 5.75, QBColor(0)
MF1.Una_Linea 44.5, 5.75, 41, 3, QBColor(0)
MF1.Una_Linea 52, 1.75, 55, 1.75, QBColor(0)
MF1.Una_Linea 55, 1.75, 54.75, 5.5, QBColor(0)
MF1.Una_Linea 54.75, 5.5, 52, 5.6, QBColor(0)
MF1.Una_Linea 52, 5.6, 52, 1.75, QBColor(0)
MF1.Una_Linea 55, 1.75, 57, 2, QBColor(0)
MF1.Una_Linea 57, 2, 63, 3.5, QBColor(0)
MF1.Una_Linea 63, 3.5, 62.5, 7, QBColor(0)
MF1.Una_Linea 62.5, 7, 54.75, 5.5, QBColor(0)
MF1.Una_Linea 54.75, 5.5, 55, 1.75, QBColor(0)
MF1.Una_Linea 63, 3.5, 70, 5.5, QBColor(0)

MF1.Una_Linea 70, 5.5, 75, 8, QBColor(0)
MF1.Una_Linea 75, 8, 75, 9, QBColor(0)
MF1.Una_Linea 75, 9, 69.3, 11.9, QBColor(0)
MF1.Una_Linea 69.3, 11.9, 65, 9, QBColor(0)
MF1.Una_Linea 65, 9, 70, 5.5, QBColor(0)

MF1.Una_Linea 44.5, 5.75, 52, 5.6, QBColor(0)
MF1.Una_Linea 52, 5.6, 53, 7.2, QBColor(0)
MF1.Una_Linea 53, 7.2, 46.4, 7, QBColor(0)
MF1.Una_Linea 46.4, 7, 44.5, 5.75, QBColor(0)

MF1.Una_Linea 52, 5.6, 54.75, 5.5, QBColor(0)
MF1.Una_Linea 54.75, 5.5, 62.5, 7, QBColor(0)
MF1.Una_Linea 62.5, 7, 65, 9, QBColor(0)
MF1.Una_Linea 65, 9, 62, 10, QBColor(0)
MF1.Una_Linea 62, 10, 57, 9, QBColor(0)
MF1.Una_Linea 57, 9, 53, 7.2, QBColor(0)
MF1.Una_Linea 53, 7.2, 52, 5.6, QBColor(0)

MF1.Una_Linea 39.5, 4, 41, 3, QBColor(0)
MF1.Una_Linea 41, 3, 44.5, 5.75, QBColor(0)
MF1.Una_Linea 44.5, 5.75, 46.4, 7, QBColor(0)
MF1.Una_Linea 46.4, 7, 48, 8.3, QBColor(0)
MF1.Una_Linea 48, 8.3, 45.35, 9.375, QBColor(0)
MF1.Una_Linea 45.35, 9.375, 43.5, 8.33, QBColor(0)
MF1.Una_Linea 43.5, 8.33, 39.5, 4, QBColor(0)

MF1.Una_Linea 57.75, 11.25, 62, 10, QBColor(0)
MF1.Una_Linea 62, 10, 65, 9, QBColor(0)
MF1.Una_Linea 65, 9, 69.3, 11.9, QBColor(0)
MF1.Una_Linea 69.3, 11.9, 62, 14, QBColor(0)
MF1.Una_Linea 62, 14, 57.75, 11.25, QBColor(0)

MF1.Una_Linea 36, 5.9, 39.5, 4, QBColor(0)
MF1.Una_Linea 39.5, 4, 43.5, 8.33, QBColor(0)
MF1.Una_Linea 43.5, 8.33, 40.5, 9.5, QBColor(0)
MF1.Una_Linea 40.5, 9.5, 36, 6.5, QBColor(0)
MF1.Una_Linea 36, 6.5, 36, 5.9, QBColor(0)

MF1.Una_Linea 40.5, 9.5, 43.5, 8.33, QBColor(0)
MF1.Una_Linea 43.5, 8.33, 45.35, 9.375, QBColor(0)
MF1.Una_Linea 45.35, 9.375, 51.5, 13.2, QBColor(0)
MF1.Una_Linea 51.5, 13.2, 49, 15, QBColor(0)
MF1.Una_Linea 49, 15, 40.5, 9.5, QBColor(0)

MF1.Una_Linea 45.35, 9.375, 48, 8.3, QBColor(0)
MF1.Una_Linea 48, 8.3, 50.25, 9.25, QBColor(0)
MF1.Una_Linea 50.25, 9.25, 54.5, 11, QBColor(0)
MF1.Una_Linea 54.5, 11, 51.5, 13.2, QBColor(0)
MF1.Una_Linea 51.5, 13.2, 45.35, 9.375, QBColor(0)

MF1.Una_Linea 49, 15, 51.5, 13.2, QBColor(0)
MF1.Una_Linea 51.5, 13.2, 54.5, 11, QBColor(0)
MF1.Una_Linea 54.5, 11, 57.75, 11.25, QBColor(0)
MF1.Una_Linea 57.75, 11.25, 62, 14, QBColor(0)
MF1.Una_Linea 62, 14, 52.2, 16.25, QBColor(0)
MF1.Una_Linea 52.2, 16.25, 51.5, 16.25, QBColor(0)
MF1.Una_Linea 51.5, 16.25, 49, 15, QBColor(0)



'MF1.Testo 60, 40, "Dacite", 0, 9
'MF1.Testo 35, 40, "Rhyo-Dacite", 0, 9
'MF1.Testo 75, 15, "Andesite", 0, 9
'MF1.Testo 82, 4, "Basalt", 0, 9
'MF1.Testo 7, 40, "Rhyolite", 0, 9
'MF1.Testo 3, 4, "Trachyte", 0, 9
'MF1.Testo 0, -15, "Phonolite", 0, 9
'MF1.Testo 15, -20, "TephriPhonolite", 0, 9
'MF1.Testo 45, -20, "Tephrite", 0, 9
'MF1.Testo 68, -20, "Basanite", 0, 9
'MF1.Testo 38, 4, "Latite", 0, 9
'MF1.Testo 72, -1, "Hawaite", 0, 9
'MF1.Testo 52, -1, "Mugearite", 0, 9

End If

'----------------------------------------------------
If DiagramType(Indeks) = "Strelemaitre" Then
MF1.Una_Linea 0, 20, 100, 20, QBColor(0)
MF1.Una_Linea 0, 0, 100, 0, QBColor(0)
MF1.Una_Linea 0, 5, 100, 5, QBColor(0)
MF1.Una_Linea 0, -10, 100, -10, QBColor(0)
MF1.Una_Linea 7.4, -40, 17.5, 0, QBColor(0)
MF1.Una_Linea 17.5, 0, 5.3, 50, QBColor(0)
MF1.Una_Linea 30, -10, 31.5, 0, QBColor(0)
MF1.Una_Linea 31.5, 0, 8.5, 50, QBColor(0)
MF1.Una_Linea 31.5, -40, 40, -10, QBColor(0)
MF1.Una_Linea 46, -10, 50, 0, QBColor(0)
MF1.Una_Linea 50, 0, 24.5, 50, QBColor(0)
MF1.Una_Linea 60, -40, 70, 0, QBColor(0)
MF1.Una_Linea 70, 0, 50, 50, QBColor(0)
MF1.Una_Linea 75.5, -40, 87, 0, QBColor(0)
MF1.Una_Linea 87, 0, 70.5, 50, QBColor(0)

MF1.Testo 60, 40, "Dacite", 0, 9
MF1.Testo 35, 40, "Rhyo-Dacite", 0, 9
MF1.Testo 75, 15, "Andesite", 0, 9
MF1.Testo 82, 4, "Basalt", 0, 9
MF1.Testo 7, 40, "Rhyolite", 0, 9
MF1.Testo 3, 4, "Trachyte", 0, 9
MF1.Testo 0, -15, "Phonolite", 0, 9
MF1.Testo 15, -20, "TephriPhonolite", 0, 9
MF1.Testo 45, -20, "Tephrite", 0, 9
MF1.Testo 68, -20, "Basanite", 0, 9
MF1.Testo 38, 4, "Latite", 0, 9
MF1.Testo 72, -1, "Hawaite", 0, 9
MF1.Testo 52, -1, "Mugearite", 0, 9

End If
'------------------------------------------------
If DiagramType(Indeks) = "PecceTay" Then
MF1.Una_Linea 50, 0.3, 70, 1.3, QBColor(0)
MF1.Una_Linea 50, 1.2, 70, 3.1, QBColor(0)
MF1.Una_Linea 50, 1.7, 56, 3.4, QBColor(0)
MF1.Una_Linea 56, 3.4, 70, 6, QBColor(0)
MF1.Una_Linea 52, 0, 52, 6, QBColor(0)
MF1.Una_Linea 56, 0, 56, 6, QBColor(0)
MF1.Una_Linea 63, 0, 63, 6, QBColor(0)
MF1.Testo 51, 5.5, "Shoshonitic series", 0, 9
MF1.Testo 54, 2.6, "High-K Calc-Alkaline series", 0, 9
MF1.Testo 57, 1.5, "Calc-Alkaline series", 0, 9
MF1.Testo 60, 0.4, "Tholeiitic series", 0, 9
End If

'------------------------------------------------
If DiagramType(Indeks) = "Middle" Then
MF1.Una_Linea 44, 0.66, 54, 1.91, QBColor(0)
MF1.Una_Linea 44, 0.1281, 54, 0.4951, QBColor(0)
MF1.Testo 46, 2.5, "Alkalic Rocks", 0, 9
MF1.Testo 48, 0.85, "Sub Alkalic Rocks", 0, 9
MF1.Testo 50, 0.2, "Low K - Sub Alkalic Rocks", 0, 9
End If
'---------------------------------------------------
If DiagramType(Indeks) = "LeBas" Then
MF1.Una_Linea 41, 0, 41, 3, QBColor(0)
MF1.Una_Linea 41, 3, 41, 7, QBColor(0)
MF1.Una_Linea 41, 7, 45, 9.4, QBColor(0)
MF1.Una_Linea 45, 9.4, 48.4, 11.5, QBColor(0)
MF1.Una_Linea 48.4, 11.5, 52.5, 14, QBColor(0)

MF1.Una_Linea 45, 0, 45, 3, QBColor(0)
MF1.Una_Linea 45, 3, 45, 5, QBColor(0)
MF1.Una_Linea 45, 5, 49.4, 7.3, QBColor(0)
MF1.Una_Linea 49.4, 7.3, 53, 9.3, QBColor(0)
MF1.Una_Linea 53, 9.3, 57.6, 11.7, QBColor(0)
MF1.Una_Linea 57.6, 11.7, 61, 13.5, QBColor(0)

MF1.Una_Linea 45, 5, 52, 5, QBColor(0)
MF1.Una_Linea 52, 5, 57, 5.9, QBColor(0)
MF1.Una_Linea 57, 5.9, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 69, 8, QBColor(0)

MF1.Una_Linea 73.5, 3, 69, 8, QBColor(0)
MF1.Una_Linea 69, 8, 69, 13, QBColor(0)

MF1.Una_Linea 63, 2, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 57.6, 11.7, QBColor(0)
MF1.Una_Linea 57.6, 11.7, 52.5, 14, QBColor(0)
MF1.Una_Linea 52.5, 14, 49, 15.5, QBColor(0)


MF1.Una_Linea 57, 1.5, 57, 5.9, QBColor(0)
MF1.Una_Linea 57, 5.9, 53, 9.3, QBColor(0)
MF1.Una_Linea 53, 9.3, 48.4, 11.5, QBColor(0)

MF1.Una_Linea 52, 0, 52, 5, QBColor(0)
MF1.Una_Linea 52, 5, 49.4, 7.3, QBColor(0)
MF1.Una_Linea 49.4, 7.3, 45, 9.4, QBColor(0)
MF1.Una_Linea 45, 3, 41, 3, QBColor(0)

MF1.Testo 65, 4.2, "Dacite", 0, 9
MF1.Testo 57.6, 4, "Andesite", 0, 9
MF1.Testo 52.4, 3.8, "Basaltic", 0, 9
MF1.Testo 52.3, 3.2, "Andesite", 0, 9
MF1.Testo 47, 3.25, "Basalt", 0, 9
MF1.Testo 41.5, 2.2, "Picro", 0, 9
MF1.Testo 41.4, 1.6, "Basalt", 0, 9
MF1.Testo 47.4, 6.25, "Trachy", 0, 9
MF1.Testo 47.4, 5.65, "Basalt", 0, 9
MF1.Testo 50.6, 7.9, "Basaltic", 0, 9
MF1.Testo 50.6, 7.3, "Trachy-", 0, 9
MF1.Testo 50.8, 6.7, "andesite", 0, 9
MF1.Testo 56, 9, "Trachy-", 0, 9
MF1.Testo 56, 8.4, "andesite", 0, 9
MF1.Testo 71, 8, "Rhyolite", 0, 9
MF1.Testo 63, 11, "Trachyte", 0, 9
MF1.Testo 62, 10, "Trachydacite", 0, 9
MF1.Testo 55, 14, "Phonolite", 0, 9
MF1.Testo 49.1, 12, "TephriPhonolite", 0, 9
MF1.Testo 40, 12.5, "Foidite", 0, 9
MF1.Testo 45.7, 9.7, "Phonotephrite", 0, 9
MF1.Testo 43, 8, "Tephrite", 0, 9
MF1.Testo 42, 7, "Basanite", 0, 9
End If

'----------------------------------------------------------

If DiagramType(Indeks) = "coxV" Then
MF1.Una_Linea 52, 1.7, 52, 5.7, QBColor(0)
MF1.Una_Linea 52, 5.7, 53, 7, QBColor(0)
MF1.Una_Linea 53, 7, 57, 9, QBColor(0)
MF1.Una_Linea 57, 9, 62, 10, QBColor(0)
MF1.Una_Linea 62, 10, 65, 9, QBColor(0)
MF1.Una_Linea 65, 9, 70, 5.5, QBColor(0)

MF1.Una_Linea 69, 11.8, 65, 9, QBColor(0)

MF1.Una_Linea 65, 9, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 63, 3.5, QBColor(0)
MF1.Una_Linea 63, 3.5, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 55, 5.7, QBColor(0)
MF1.Una_Linea 55, 5.7, 55, 1.7, QBColor(0)
MF1.Una_Linea 55, 1.7, 55, 5.7, QBColor(0)
MF1.Una_Linea 55, 5.7, 44.5, 5.7, QBColor(0)

MF1.Una_Linea 44.5, 5.7, 41, 3, QBColor(0)

MF1.Una_Linea 41, 3, 44.5, 5.7, QBColor(0)
MF1.Una_Linea 44.5, 5.7, 46, 7, QBColor(0)
MF1.Una_Linea 46, 7, 53, 7, QBColor(0)
MF1.Una_Linea 53, 7, 46, 7, QBColor(0)
MF1.Una_Linea 46, 7, 48, 8.5, QBColor(0)
MF1.Una_Linea 48, 8.5, 45.5, 9.5, QBColor(0)
MF1.Una_Linea 45.5, 9.5, 48, 8.5, QBColor(0)

MF1.Una_Linea 48, 8.5, 50, 9.3, QBColor(0)

MF1.Una_Linea 50, 9.3, 57, 9, QBColor(0)
MF1.Una_Linea 57, 9, 50, 9.3, QBColor(0)
MF1.Una_Linea 50, 9.3, 55, 11.3, QBColor(0)
MF1.Una_Linea 55, 11.3, 49, 15, QBColor(0)
MF1.Una_Linea 49, 15, 55, 11.3, QBColor(0)
MF1.Una_Linea 55, 11.3, 58, 11.3, QBColor(0)

MF1.Una_Linea 62, 14, 58, 11.3, QBColor(0)
MF1.Una_Linea 58, 11.3, 62, 10, QBColor(0)
'MF1.Una_Linea 62, 10, 39, 4, QBColor(0)
MF1.Una_Linea 39, 4, 44, 8.5, QBColor(0)
MF1.Una_Linea 44, 8.5, 41, 9.5, QBColor(0)
MF1.Una_Linea 41, 9.5, 44, 8.5, QBColor(0)
MF1.Una_Linea 44, 8.5, 45.5, 9.5, QBColor(0)
MF1.Una_Linea 45.5, 9.5, 51.5, 13.5, QBColor(0)

MF1.Testo 65, 6, "Dacite", 0, 9
MF1.Testo 57.6, 4, "Andesite", 0, 9
MF1.Testo 51.5, 3.8, "Basaltic", 0, 9
MF1.Testo 51.5, 3.2, "Andesite", 0, 9
MF1.Testo 45, 4.2, "Basalt", 0, 9
MF1.Testo 56, 8, "Trachy-", 0, 9
MF1.Testo 56, 7.4, "Andesite", 0, 9
MF1.Testo 67, 9, "Rhyolite", 0, 9
MF1.Testo 61, 12, "Trachyte", 0, 9
MF1.Testo 54.5, 14, "Phonolite", 0, 9
MF1.Testo 49, 11.8, "Phono-", 0, 9
MF1.Testo 49, 11.2, "tephrite", 0, 9
MF1.Testo 43, 8, "Tephrite", 0, 9
MF1.Testo 42, 7, "Basanite", 0, 9
MF1.Testo 53.5, 10.4, "Benmoreite", 0, 9
MF1.Testo 49, 8.5, "Mugearite", 0, 9
MF1.Testo 47, 6.8, "Hawaiite", 0, 9
MF1.Testo 41, 12, "Phonolitic", 0, 9
MF1.Testo 41, 11.4, "Nephelinite", 0, 9
MF1.Testo 35, 8.4, "Nephelinite", 0, 9
End If
'---------------------------------------------------

'----------------------------------------------------------

If DiagramType(Indeks) = "coxP" Then
MF1.Una_Linea 52, 1.7, 52, 5.7, QBColor(0)
MF1.Una_Linea 52, 5.7, 53, 7, QBColor(0)
MF1.Una_Linea 53, 7, 57, 9, QBColor(0)
MF1.Una_Linea 57, 9, 62, 10, QBColor(0)
MF1.Una_Linea 62, 10, 65, 9, QBColor(0)
MF1.Una_Linea 65, 9, 70, 5.5, QBColor(0)

MF1.Una_Linea 69, 11.8, 65, 9, QBColor(0)

MF1.Una_Linea 65, 9, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 63, 3.5, QBColor(0)
MF1.Una_Linea 63, 3.5, 63, 7, QBColor(0)
MF1.Una_Linea 63, 7, 55, 5.7, QBColor(0)
MF1.Una_Linea 55, 5.7, 55, 1.7, QBColor(0)
MF1.Una_Linea 55, 1.7, 55, 5.7, QBColor(0)
MF1.Una_Linea 55, 5.7, 44.5, 5.7, QBColor(0)

MF1.Una_Linea 44.5, 5.7, 41, 3, QBColor(0)

MF1.Una_Linea 41, 3, 44.5, 5.7, QBColor(0)
MF1.Una_Linea 44.5, 5.7, 46, 7, QBColor(0)
MF1.Una_Linea 46, 7, 53, 7, QBColor(0)
MF1.Una_Linea 53, 7, 46, 7, QBColor(0)
MF1.Una_Linea 46, 7, 48, 8.5, QBColor(0)
MF1.Una_Linea 48, 8.5, 45.5, 9.5, QBColor(0)
MF1.Una_Linea 45.5, 9.5, 48, 8.5, QBColor(0)

MF1.Una_Linea 48, 8.5, 50, 9.3, QBColor(0)

MF1.Una_Linea 50, 9.3, 57, 9, QBColor(0)
MF1.Una_Linea 57, 9, 50, 9.3, QBColor(0)
MF1.Una_Linea 50, 9.3, 55, 11.3, QBColor(0)
MF1.Una_Linea 55, 11.3, 49, 15, QBColor(0)
MF1.Una_Linea 49, 15, 55, 11.3, QBColor(0)
MF1.Una_Linea 55, 11.3, 58, 11.3, QBColor(0)

MF1.Una_Linea 62, 14, 58, 11.3, QBColor(0)
MF1.Una_Linea 58, 11.3, 62, 10, QBColor(0)
'MF1.Una_Linea 62, 10, 39, 4, QBColor(0)
MF1.Una_Linea 39, 4, 44, 8.5, QBColor(0)
MF1.Una_Linea 44, 8.5, 41, 9.5, QBColor(0)
MF1.Una_Linea 41, 9.5, 44, 8.5, QBColor(0)
MF1.Una_Linea 44, 8.5, 45.5, 9.5, QBColor(0)
MF1.Una_Linea 45.5, 9.5, 51.5, 13.5, QBColor(0)
MF1.Testo 64.5, 6.2, "Quarz", 0, 9
MF1.Testo 64.5, 5.6, "Diorite", 0, 9
MF1.Testo 57.6, 4, "Diorite", 0, 9
MF1.Testo 45, 4.2, "Gabbro", 0, 9
MF1.Testo 52.5, 8, "Syeno-Diorite", 0, 9
MF1.Testo 67, 9, "Granite", 0, 9
MF1.Testo 61, 12, "Syenite", 0, 9
MF1.Testo 53.9, 14.2, "Nepheline-", 0, 9
MF1.Testo 54.7, 13.6, "Syenite", 0, 9
MF1.Testo 53.5, 10.4, "Syenite", 0, 9
MF1.Testo 47, 6.8, "Gabbro", 0, 9
MF1.Testo 38.5, 8.4, "ijolite", 0, 9


End If
'---------------------------------------------------

If DiagramType(Indeks) = "gill" Then
MF1.Una_Linea 53, 0, 53, 2.55, QBColor(0)
MF1.Una_Linea 53, 2.55, 63, 4, QBColor(0)
MF1.Una_Linea 63, 4, 63, 0, QBColor(0)

MF1.Una_Linea 57, 0, 57, 3.13, QBColor(0)

MF1.Una_Linea 53, 1.58, 63, 2.4, QBColor(0)

MF1.Una_Linea 53, 0.54, 63, 1, QBColor(0)
End If
'------------------------------------------------------------

If DiagramType(Indeks) = "Myas" Then
MF1.Una_Linea 0.813, 48, 1.594, 53, QBColor(0)
MF1.Una_Linea 1.594, 53, 2.375, 58, QBColor(0)
MF1.Una_Linea 2.375, 58, 3.156, 63, QBColor(0)
MF1.Una_Linea 3.156, 63, 3.468, 65, QBColor(0)
MF1.Testo 3, 50, "Tholeiitic", 0, 9
MF1.Testo 0.5, 60, "Calc-Alkaline", 0, 9

End If
'--------------------------------------------------


If DiagramType(Indeks) = "TaYbThYb" Then
'VAB

MF1.LOG_Linea 10, 8.5, 0.96, 0.55, QBColor(12)
MF1.LOG_Linea 0.96, 0.55, 0.37, 0.18, QBColor(12)
MF1.LOG_Linea 0.37, 0.18, 0.21, 0.42, QBColor(12)
MF1.LOG_Linea 0.21, 0.42, 0.48, 1.1, QBColor(12)
MF1.LOG_Linea 0.48, 1.1, 7, 20, QBColor(12)

MF1.LOG_Linea 0.035, 0.013, 0.95, 0.6, QBColor(1)
MF1.LOG_Linea 0.95, 0.6, 2.4, 1.8, QBColor(1)
MF1.LOG_Linea 2.4, 1.8, 1.5, 3.5, QBColor(1)
MF1.LOG_Linea 1.5, 3.5, 0.49, 1, QBColor(1)
MF1.LOG_Linea 0.49, 1, 0.017, 0.02, QBColor(1)

MF1.LOG_Linea 0.9, 0.22, 0.32, 0.85, QBColor(0)

MF1.LOG_Linea 1.8, 0.63, 0.7, 2.1, QBColor(0)

MF1.LOG_Linea 0.6, 100, 0.021, 1.2, QBColor(3)
MF1.LOG_Linea 0.021, 1.2, 0.024, 0.019, QBColor(3)
MF1.LOG_Linea 0.024, 0.019, 0.13, 0.13, QBColor(3)
MF1.LOG_Linea 0.13, 0.13, 0.18, 0.19, QBColor(3)
MF1.LOG_Linea 0.18, 0.19, 0.18, 0.3, QBColor(3)
MF1.LOG_Linea 0.18, 0.3, 0.24, 0.78, QBColor(3)
MF1.LOG_Linea 0.24, 0.78, 0.95, 4, QBColor(3)

MF1.LOG_Linea 0.016, 0.32, 0.18, 0.3, QBColor(0)

MF1.LOG_Linea 0.017, 4, 0.77, 3, QBColor(0)

MF1.Log_Testo 0.018, 5.5, "SHO", 1, 6
MF1.Log_Testo 0.018, 3.7, "CA", 1, 6

MF1.Log_Testo 0.016, 0.45, "CA", 1, 6
MF1.Log_Testo 0.016, 0.29, "TH", 1, 6

MF1.Log_Testo 0.8, 0.2, "TH", 1, 6
MF1.Log_Testo 0.9, 0.3, "TR", 1, 6

MF1.Log_Testo 1.5, 0.6, "TR", 1, 6
MF1.Log_Testo 1.8, 0.9, "ALK", 1, 6

MF1.Log_Testo 0.11, 10, "VAB", 1, 6
MF1.Log_Testo 5, 8.5, "WPB", 1, 6
MF1.Log_Testo 0.05, 0.05, "MORB", 1, 6

End If


If DiagramType(Indeks) = "CrY" Then
'VAB
MF1.LOG_Linea 11, 10, 10, 68, QBColor(1)
MF1.LOG_Linea 10, 68, 10, 1400, QBColor(1)
MF1.LOG_Linea 10, 1400, 20, 1400, QBColor(1)
MF1.LOG_Linea 20, 1400, 30, 200, QBColor(1)
MF1.LOG_Linea 30, 200, 40, 10, QBColor(1)
MF1.Log_Testo 15, 100, "VAB", 1, 6
'WPB
MF1.LOG_Linea 27, 10, 27, 68, QBColor(12)
MF1.LOG_Linea 27, 68, 20, 1000, QBColor(12)
MF1.LOG_Linea 20, 1000, 30, 900, QBColor(12)
MF1.LOG_Linea 30, 900, 49, 100, QBColor(12)
MF1.LOG_Linea 49, 100, 49, 10, QBColor(12)
MF1.Log_Testo 40, 30, "WPB", 12, 6
'MORB
MF1.LOG_Linea 26, 68, 61, 68, QBColor(3)
MF1.LOG_Linea 61, 68, 55, 500, QBColor(3)
MF1.LOG_Linea 55, 500, 30, 950, QBColor(3)
MF1.LOG_Linea 30, 950, 19, 1050, QBColor(3)
MF1.LOG_Linea 19, 1050, 26, 68, QBColor(3)
MF1.Log_Testo 44, 250, "MORB", 3, 6


End If


If DiagramType(Indeks) = "TiZrPearce" Then
MF1.Una_Linea 12, 1700, 18, 4600, QBColor(0)
MF1.Una_Linea 18, 4600, 52, 8500, QBColor(0)
MF1.Una_Linea 52, 8500, 78, 6400, QBColor(0)
'MF1.Una_Linea 78, 6400, 39, 3100, QBColor(0)
MF1.Una_Linea 39, 3100, 31, 4100, QBColor(0)
MF1.Una_Linea 31, 4100, 84, 10400, QBColor(0)
MF1.Una_Linea 84, 10400, 131, 13000, QBColor(0)
MF1.Una_Linea 131, 13000, 167, 10900, QBColor(0)
MF1.Una_Linea 167, 10900, 131, 7100, QBColor(0)
MF1.Una_Linea 131, 7100, 192, 6600, QBColor(0)
MF1.Una_Linea 192, 6600, 190, 3400, QBColor(0)
MF1.Una_Linea 190, 3400, 113, 2400, QBColor(0)
MF1.Una_Linea 113, 2400, 65, 2400, QBColor(0)
MF1.Una_Linea 65, 2400, 12, 1700, QBColor(0)
MF1.Una_Linea 65, 2400, 65, 5400, QBColor(0)
MF1.Una_Linea 65, 5400, 89, 7400, QBColor(0)
MF1.Una_Linea 89, 7400, 113, 7400, QBColor(0)
MF1.Una_Linea 113, 7400, 135, 7100, QBColor(0)
MF1.Una_Linea 78, 6400, 39, 3100, QBColor(0)
MF1.Testo 18, 3100, "A", 0, 9
MF1.Testo 52, 6400, "B", 0, 9
MF1.Testo 113, 5400, "C", 0, 9
MF1.Testo 113, 10400, "D", 0, 9
MF1.Testo 0, 20000, "A: Island-Arc Tholeiites", 0, 9
MF1.Testo 0, 19000, "B: MORB, Calc-Alkali Basalts and Island-Arc Tholeiites", 0, 9
MF1.Testo 0, 18000, "C: Calc-Alkali Basalts", 0, 9
MF1.Testo 0, 17000, "D: MORB", 0, 9
End If

'--------------------------------------------------------

If DiagramType(Indeks) = "NbY" Then
MF1.LOG_Linea 1, 2000, 50, 10, QBColor(0)
MF1.LOG_Linea 40, 1, 50, 10, QBColor(0)
MF1.LOG_Linea 50, 10, 1000, 100, QBColor(0)
MF1.LOG_Linea 25, 25, 1000, 400, QBColor(0)
MF1.Log_Testo 2, 10, "VAG+syn-COLG", 0, 10
MF1.Log_Testo 150, 7, "ORG", 0, 10
MF1.Log_Testo 20, 250, "WPG", 0, 10
End If

'-------------------------------------------------------

If DiagramType(Indeks) = "TaYb" Then
MF1.LOG_Linea 0.55, 20, 3, 2, QBColor(0)
MF1.LOG_Linea 0.1, 0.35, 3, 2, QBColor(0)
MF1.LOG_Linea 3, 2, 5, 1, QBColor(0)
MF1.LOG_Linea 5, 0.05, 5, 1, QBColor(0)
MF1.LOG_Linea 5, 1, 100, 7, QBColor(0)
MF1.LOG_Linea 3, 2, 100, 20, QBColor(0)
MF1.Log_Testo 0.2, 3, "syn-COLG", 0, 10
MF1.Log_Testo 0.9, 0.5, "VAG", 0, 10
MF1.Log_Testo 5, 10, "WPG", 0, 10
MF1.Log_Testo 10, 0.5, "ORG", 0, 10
End If

'------------------------------------------------------

If DiagramType(Indeks) = "Rb(YNb)" Then
MF1.LOG_Linea 2, 80, 55, 300, QBColor(0)
MF1.LOG_Linea 55, 300, 400, 2000, QBColor(0)
MF1.LOG_Linea 55, 300, 51.5, 8, QBColor(0)
MF1.LOG_Linea 51.5, 8, 50, 1, QBColor(0)
MF1.LOG_Linea 51.5, 8, 2000, 400, QBColor(0)
MF1.Log_Testo 5, 1000, "syn-COLG", 0, 10
MF1.Log_Testo 7, 20, "VAG", 0, 10
MF1.Log_Testo 100, 120, "WPG", 0, 10
MF1.Log_Testo 130, 9, "ORG", 0, 10
End If

'--------------------------------------------------------

If DiagramType(Indeks) = "Rb(YbTa)" Then
MF1.LOG_Linea 0.5, 140, 6, 200, QBColor(0)
MF1.LOG_Linea 6, 200, 40, 2000, QBColor(0)
MF1.LOG_Linea 6, 200, 6, 1, QBColor(0)
'MF1.LOG_Linea 6, 8, 6, 1, QBColor(0)
MF1.LOG_Linea 6, 8, 200, 400, QBColor(0)
MF1.Log_Testo 1, 800, "syn-COLG", 0, 10
MF1.Log_Testo 1, 15, "VAG", 0, 10
MF1.Log_Testo 10, 110, "WPG", 0, 10
MF1.Log_Testo 20, 9, "ORG", 0, 10
End If

'triangular
'-----------------------------------------------------------
If DiagramType(Indeks) = "AFM-Kuno" Then
MF1.T_line 24, 72, 4, 39.5, 50, 10.5, QBColor(0)
MF1.T_line 39.5, 50, 10.5, 50, 34.5, 15.5, QBColor(0)
MF1.T_line 50, 34.5, 15.5, 57, 21.5, 21.5, QBColor(0)
MF1.T_line 57, 21.5, 21.5, 58, 16.5, 25.5, QBColor(0)
MF1.T_line 58, 16.5, 25.5, 55.5, 12.5, 32, QBColor(0)
MF1.T_line 55.5, 12.5, 32, 50.5, 9.5, 40, QBColor(0)
End If

'-----------------------------------------------------------

If DiagramType(Indeks) = "AFM-Irvine" Then
MF1.T_line 36.2, 58.8, 5, 42.4, 47.6, 10, QBColor(0)
MF1.T_line 42.4, 47.6, 10, 52.6, 29.6, 17.8, QBColor(0)
MF1.T_line 52.6, 29.6, 17.8, 54.6, 25.4, 20, QBColor(0)
MF1.T_line 54.6, 25.4, 20, 54.6, 21.4, 24, QBColor(0)
MF1.T_line 54.6, 21.4, 24, 52.8, 19.4, 27.8, QBColor(0)
MF1.T_line 52.8, 19.4, 27.8, 51.1, 18.9, 30, QBColor(0)
MF1.T_line 51.1, 18.9, 30, 43.4, 16.6, 40, QBColor(0)
MF1.T_line 43.4, 16.6, 40, 35, 15, 50, QBColor(0)
End If

'------------------------------------------------------------

If DiagramType(Indeks) = "TiZrY" Then
MF1.T_line 24, 55.5, 20.5, 28, 59, 13, QBColor(0)
MF1.T_line 28, 59, 13, 50, 38.5, 11.5, QBColor(0)
MF1.T_line 50, 38.5, 11.5, 48, 24, 28, QBColor(0)
MF1.T_line 48, 24, 28, 39, 20.5, 40.5, QBColor(0)
MF1.T_line 39, 20.5, 40.5, 30, 26, 44, QBColor(0)
MF1.T_line 30, 26, 44, 19, 40, 41, QBColor(0)
MF1.T_line 19, 40, 41, 10, 55, 35, QBColor(0)
MF1.T_line 10, 55, 35, 10, 62.5, 27.5, QBColor(0)
MF1.T_line 10, 62.5, 27.5, 16, 63, 21, QBColor(0)
MF1.T_line 16, 63, 21, 24, 55.5, 20.5, QBColor(0)
MF1.T_line 24, 55.5, 20.5, 29.5, 45, 25.5, QBColor(0)
MF1.T_line 29.5, 45, 25.5, 42.5, 30, 27.5, QBColor(0)
MF1.T_line 42.5, 30, 27.5, 48, 24, 28, QBColor(0)
MF1.T_line 42.5, 30, 27.5, 30, 26, 44, QBColor(0)
MF1.T_line 29.5, 45, 25.5, 19, 40, 41, QBColor(0)
MF1.T_Testo 44, 26, 30, "A", 0, 10
MF1.T_Testo 34, 33, 33, "B", 0, 10
MF1.T_Testo 20, 55, 25, "C", 0, 10
MF1.T_Testo 44, 46, 20, "D", 0, 10
MF1.T_Testo1 100, "A: Islan-Arc Tholeiites", 0, 10
MF1.T_Testo1 95, "B: MORB", 0, 10
MF1.T_Testo1 90, "C: Calc-Alkali Basalts", 0, 10
MF1.T_Testo1 85, "D: Within Plate Basalts", 0, 10
End If

'------------------------------------------------------------

If DiagramType(Indeks) = "TiZrSr" Then
MF1.T_line 31, 55, 14, 40, 45.5, 14.5, QBColor(0)
MF1.T_line 40, 45.5, 14.5, 45, 33, 22, QBColor(0)
MF1.T_line 45, 33, 22, 41, 27, 32, QBColor(0)
MF1.T_line 41, 27, 32, 34, 15.5, 50.5, QBColor(0)
MF1.T_line 34, 15.5, 50.5, 20.5, 11, 68.5, QBColor(0)
MF1.T_line 20.5, 11, 68.5, 5, 15, 80, QBColor(0)
MF1.T_line 5, 15, 80, 9.5, 53, 37.5, QBColor(0)
MF1.T_line 9.5, 53, 37.5, 24, 53.5, 22.5, QBColor(0)
MF1.T_line 24, 53.5, 22.5, 31, 55, 14, QBColor(0)
MF1.T_line 24, 53.5, 22.5, 24, 35, 41, QBColor(0)
MF1.T_line 24, 35, 41, 31, 28, 41, QBColor(0)
MF1.T_line 31, 28, 41, 41, 27, 32, QBColor(0)
MF1.T_line 24, 35, 41, 16, 20, 65, QBColor(0)
MF1.T_line 16, 20, 65, 5, 15, 80, QBColor(0)
MF1.T_Testo 25, 20, 55, "A", 0, 10
MF1.T_Testo 15, 44, 41, "B", 0, 10
MF1.T_Testo 31, 39, 30, "C", 0, 10
MF1.T_Testo1 100, "A: Islan-Arc Tholeiites", 0, 10
MF1.T_Testo1 95, "B: Calc-Alkali Basalts", 0, 10
MF1.T_Testo1 90, "C: MORB", 0, 10
End If

'-------------------------------------------------------------

If DiagramType(Indeks) = "NbZrY" Then
MF1.T_line 0, 50, 50, 3, 53, 44, QBColor(0)
MF1.T_line 3, 53, 44, 12, 60, 28, QBColor(0)
MF1.T_line 12, 60, 28, 34, 52.5, 13.5, QBColor(0)
MF1.T_line 34, 52.5, 13.5, 79, 14, 7, QBColor(0)
MF1.T_line 79, 14, 7, 56.5, 16.5, 27, QBColor(0)
MF1.T_line 56.5, 16.5, 27, 50, 17, 33, QBColor(0)
MF1.T_line 50, 17, 33, 22, 21, 57, QBColor(0)
MF1.T_line 22, 21, 57, 0, 23, 77, QBColor(0)
MF1.T_line 3, 53, 44, 22, 37, 41, QBColor(0)
MF1.T_line 22, 37, 41, 24, 33.5, 42.5, QBColor(0)
MF1.T_line 24, 33.5, 42.5, 22, 21, 57, QBColor(0)
MF1.T_line 12, 60, 28, 35, 37.5, 27.5, QBColor(0)
MF1.T_line 35, 37.5, 27.5, 50, 17, 33, QBColor(0)
MF1.T_line 12, 60, 28, 50, 33, 17, QBColor(0)
MF1.T_line 50, 33, 17, 56.5, 16.5, 27, QBColor(0)
MF1.T_line 22, 37, 41, 31, 36, 33, QBColor(0)
MF1.T_line 31, 36, 33, 35, 37.5, 27.5, QBColor(0)
MF1.T_Testo 60, 25, 15, "AI", 0, 10
MF1.T_Testo 45, 36, 19, "AII", 0, 10
MF1.T_Testo 31, 30, 39, "B", 0, 10
MF1.T_Testo 20, 50, 30, "C", 0, 10
MF1.T_Testo 10, 35, 55, "D", 0, 10
MF1.T_Testo1 100, "AI: Within Pl. Alk. Basalts", 0, 10
MF1.T_Testo1 95, "AII: Within Pl. Alk. Basalts", 0, 10
MF1.T_Testo1 90, "       Within Pl. Tholeiites", 0, 10
MF1.T_Testo1 85, "B: E-Type MORB", 0, 10
MF1.T_Testo1 80, "C: Within Pl. Tholeiites", 0, 10
MF1.T_Testo1 75, "     Volc. Arc Basalts", 0, 10
MF1.T_Testo1 70, "D: N-Type MORB", 0, 10
End If

'----------------------------------------------------------

If DiagramType(Indeks) = "ThHfTa" Then
MF1.T_line 85, 15, 0, 77, 15, 8, QBColor(0)
MF1.T_line 77, 15, 8, 69, 20, 11, QBColor(0)
MF1.T_line 69, 20, 11, 24.5, 56.5, 19, QBColor(0)
MF1.T_line 24.5, 56.5, 19, 0, 95, 5, QBColor(0)
MF1.T_line 69, 20, 11, 46, 35, 19, QBColor(0)
MF1.T_line 46, 35, 19, 24.5, 55.5, 20, QBColor(0)
MF1.T_line 24.5, 55.5, 20, 20, 57, 23, QBColor(0)
MF1.T_line 20, 57, 23, 8, 63, 29, QBColor(0)
MF1.T_line 8, 63, 29, 12, 40, 48, QBColor(0)
MF1.T_line 12, 40, 48, 20, 32, 48, QBColor(0)
MF1.T_line 20, 32, 48, 33, 27, 40, QBColor(0)
MF1.T_line 33, 27, 40, 42.5, 13.5, 44, QBColor(0)
MF1.T_line 42.5, 13.5, 44, 55, 5, 40, QBColor(0)
MF1.T_line 55, 5, 40, 65, 7, 28, QBColor(0)
MF1.T_line 65, 7, 28, 87.5, 3, 9.5, QBColor(0)
MF1.T_line 87.5, 3, 9.5, 77, 15, 8, QBColor(0)
MF1.T_line 20, 57, 23, 33, 27, 40, QBColor(0)
MF1.T_line 46, 35, 19, 65, 7, 28, QBColor(0)
MF1.T_Testo 77, 10, 13, "A", 0, 10
MF1.T_Testo 46, 27, 27, "B", 0, 10
MF1.T_Testo 20, 45, 35, "C", 0, 10
MF1.T_Testo 30, 65, 5, "D", 0, 10
MF1.T_Testo1 100, "A: N-Type MORB", 0, 10
MF1.T_Testo1 95, "B: E-Type MORB", 0, 10
MF1.T_Testo1 90, "     Within Pl. Tholeiites", 0, 10
MF1.T_Testo1 85, "C: Alk. Within Pl. Basalts", 0, 10
MF1.T_Testo1 80, "D: Volc. Arc Basalts", 0, 10
End If

End Sub

Public Sub T_line(a1 As Variant, b1 As Variant, C1 As Variant, a2 As Variant, b2 As Variant, C2 As Variant, col As Variant)

If LineSp(Indeks) = 1 Then
picforms(Indeks).Picture1.DrawWidth = 1
MF1.LineWidth = 1
End If
If LineSp(Indeks) = 2 Then
picforms(Indeks).Picture1.DrawWidth = 2
MF1.LineWidth = 15
End If


'immagine

A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100

picforms(Indeks).Picture1.FillStyle = 1
picforms(Indeks).Picture1.Line (x1, y1)-(x2, y2), col


'metafile
A1100 = (a1 / (a1 + b1 + C1)) * 100
B1100 = (b1 / (a1 + b1 + C1)) * 100
C1100 = (C1 / (a1 + b1 + C1)) * 100

A2100 = (a2 / (a2 + b2 + C2)) * 100
B2100 = (b2 / (a2 + b2 + C2)) * 100
C2100 = (C2 / (a2 + b2 + C2)) * 100

x1 = ((100 / (0.8660254038) - ((100 - (100 * (C1100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A1100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y1 = ((A1100 - 0) / (100 - 0)) * 100
x1 = (x1 / 75 * 5000) + 200
y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038)))

x2 = ((100 / (0.8660254038) - ((100 - (100 * (C2100 - 0) / (100 - 0))) / (0.8660254038) - ((100 * (A2100 - 0) / (100 - 0)) / 1.73205))) / 115.47) * (75.5 - 0)
y2 = ((A2100 - 0) / (100 - 0)) * 100
x2 = (x2 / 75 * 5000) + 200
y2 = ((200 + (5000 * 0.8660254038)) - (y2 / 100 * (5000 * 0.8660254038)))

MF1.LineWidth = LineSp(Indeks)

MF1.L_Line x1 / 10, y1 / 10, x2 / 10, y2 / 10, , col

End Sub
Public Sub disegnaMOD1()

Indeks = GraphSelect

picforms(Indeks).Picture1.Cls



Dim ModelSymbSp1 As Integer


For iii = 1 To NumModelli(Indeks)
Close #1
Open App.Path + "\data\modello" + Trim(iii) + ".txt" For Input As #1

Input #1, NumModelElem1, NumModDati1, ModelLineSp1, ModelLineCol1, ModelSymb1, ModelSymbSp1, ModelSymbCol1, ModelSymbWid1



For ii = 1 To NumModelElem1

Input #1, aa1
ModElementi(ii) = aa1

Next ii

'Input #1, aa2

For i = 1 To NumModDati1 ' - 1

For ii = 1 To NumModelElem1

Input #1, aa2
DatiModello(i, ii) = aa2

Next ii

Next i

Close #1



'If DatiModello(0, ModAsseX) > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
'aa = aa + 1
'GoTo qwqw
'End If

'If DatiModello(0, ModAsseX) < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
'aa = aa + 1
'GoTo qwqw
'End If

'If DatiModello(0, ModAssey(indeks) ) > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
'aa = aa + 1
'GoTo qwqw
'End If

'If DatiModello(0, ModAsseX) < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
'aa = aa + 1
'GoTo qwqw
'End If




'MF1.InsertPointMOD "", DatiModello(0, ModAsseX), DatiModello(0, ModAsseY), ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1

qwqw:

Dim xx1
Dim xx2
Dim yy1
Dim yy2

For i = 1 To NumModDati1

aa = 0


xx1 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.00000"))
yy1 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.00000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw22
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw22
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw22
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw22
End If


MF1.InsertPointMOD "", xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1

qwqw22:

Next i


For i = 2 To NumModDati1

aa = 0

xx2 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.00000"))
yy2 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.00000"))
xx1 = Val(Format$(DatiModello(i - 1, ModAsseX(Indeks)), "0.00000"))
yy1 = Val(Format$(DatiModello(i - 1, ModAssey(Indeks)), "0.00000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If


'MF1.InsertPointMOD "", xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1




a = 0

qwqw1:

If xx2 > MaxX(Indeks) Then
yy2 = ((yy2 - yy1) * (MaxX(Indeks) - xx1) / (xx2 - xx1)) + yy1
xx2 = MaxX(Indeks)
a = a + 1
GoTo qwqw1
End If



If xx2 < MinX(Indeks) Then
yy2 = -((yy2 - yy1) * (xx1 - MinX(Indeks)) / (xx2 - xx1)) + yy1
xx2 = MinX(Indeks)
a = a + 1
GoTo qwqw1
End If



If yy2 > MaxY(Indeks) Then
xx2 = ((xx2 - xx1) * (MaxY(Indeks) - yy1) / (yy2 - yy1)) + xx1
yy2 = MaxY(Indeks)
a = a + 1
GoTo qwqw1
End If



If yy2 < MinY(Indeks) Then
xx2 = -((xx2 - xx1) * (yy1 - MinY(Indeks)) / (yy2 - yy1)) + xx1
yy2 = MinY(Indeks)
a = a + 1
GoTo qwqw1
End If


picforms(Indeks).Picture1.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If

MF1.Una_Linea xx1, yy1, xx2, yy2, ModelLineCol1

If aa > 0 Then
GoTo qwqw2
End If




Next i

qwqw2:



Next iii


MF1.Finegraph

End Sub

Public Sub disegnaMOD()

'Indeks = GraphSelect

picforms(Indeks).Picture1.Cls
picforms(Indeks).Picture2.Cls

binary(Indeks) = True
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = False


Dim ModelSymbSp1 As Integer


For iii = 1 To NumModelli(Indeks)
Close #1
Open App.Path + "\data\" + Trim(Indeks) + "modello" + Trim(iii) + ".txt" For Input As #1

Input #1, NumModelElem1, NumModDati1, ModelLineSp1, ModelLineCol1, ModelSymb1, ModelSymbSp1, ModelSymbCol1, ModelSymbWid1


For ii = 1 To NumModelElem1

Input #1, aa1
ModElementi(ii) = aa1

Next ii

'Input #1, aa2

For i = 1 To NumModDati1 ' - 1

For ii = 1 To NumModelElem1

Input #1, aa2
DatiModello(i, ii) = aa2

Next ii

Next i

Close #1


qwqw:

Dim xx1
Dim xx2
Dim yy1
Dim yy2

''' DISEGNO I PUNTI

'------------------
' norm X norm y
'-------------------

If tipoGraph(Indeks) = "normx-normy" Then

For i = 1 To NumModDati1

aa = 0


xx1 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw221
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw221
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw221
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw221
End If


MF1.InsertPointMOD Str(iii), xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1


qwqw221:

Next i

End If

'------------------
' log X norm y
'-------------------

If tipoGraph(Indeks) = "logx-normy" Then

For i = 1 To NumModDati1

aa = 0


xx1 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))

If LOG10(xx1) > Int(LOG10(MaxX(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw222
End If

If LOG10(xx1) < Int(LOG10(MinX(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw222
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw222
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw222
End If


MF1.InsertPointMOD Str(iii), xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1


qwqw222:

Next i

End If

'------------------
' norm X log y
'-------------------

If tipoGraph(Indeks) = "normx-logy" Then

For i = 1 To NumModDati1

aa = 0


xx1 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw223
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw223
End If


If LOG10(yy1) > Int(LOG10(MaxY(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw223
End If

If LOG10(yy1) < Int(LOG10(MinY(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw223
End If


MF1.InsertPointMOD Str(iii), xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1


qwqw223:

Next i

End If

'------------------
' log X log y
'-------------------

If tipoGraph(Indeks) = "logx-logy" Then

For i = 1 To NumModDati1

aa = 0


xx1 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))

If LOG10(xx1) > Int(LOG10(MaxX(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw224
End If

If LOG10(xx1) < Int(LOG10(MinX(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw224
End If


If LOG10(yy1) > Int(LOG10(MaxY(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw224
End If

If LOG10(yy1) < Int(LOG10(MinY(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw224
End If


MF1.InsertPointMOD Str(iii), xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1



qwqw224:

Next i

End If


Iperbola = False

'----------------------------'
'DISEGNO LA LINEA TRA I PUNTI'
'----------------------------'


'------------------
' norm X norm y
'-------------------

If tipoGraph(Indeks) = "normx-normy" Then

For i = 2 To NumModDati1

aa = 0

xx2 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy2 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))
xx1 = Val(Format$(DatiModello(i - 1, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i - 1, ModAssey(Indeks)), "0.000000000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q1wqw2
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q1wqw2
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q1wqw2
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q1wqw2
End If


a = 0

q1wqw1:

If xx2 > MaxX(Indeks) Then
yy2 = ((yy2 - yy1) * (MaxX(Indeks) - xx1) / (xx2 - xx1)) + yy1
xx2 = MaxX(Indeks)
a = a + 1
GoTo q1wqw1
End If



If xx2 < MinX(Indeks) Then
yy2 = -((yy2 - yy1) * (xx1 - MinX(Indeks)) / (xx2 - xx1)) + yy1
xx2 = MinX(Indeks)
a = a + 1
GoTo q1wqw1
End If



If yy2 > MaxY(Indeks) Then
xx2 = ((xx2 - xx1) * (MaxY(Indeks) - yy1) / (yy2 - yy1)) + xx1
yy2 = MaxY(Indeks)
a = a + 1
GoTo q1wqw1
End If



If yy2 < MinY(Indeks) Then
xx2 = -((xx2 - xx1) * (yy1 - MinY(Indeks)) / (yy2 - yy1)) + xx1
yy2 = MinY(Indeks)
a = a + 1
GoTo q1wqw1
End If


picforms(Indeks).Picture1.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If


MF1.Una_Linea xx1, yy1, xx2, yy2, ModelLineCol1


If aa > 0 Then
GoTo q1wqw2
End If


q1wqw2:

Next i



End If

'------------------
' logX  norm y
'-------------------

If tipoGraph(Indeks) = "logx-normy" Then

logmaxX = EXP10(Int(LOG10(MaxX(Indeks))) + 1)
logminX = EXP10(Int(LOG10(MinX(Indeks))))

logmaxY = EXP10(Int(LOG10(MaxY(Indeks))) + 1)
logminY = EXP10(Int(LOG10(MinY(Indeks))))

For i = 2 To NumModDati1

aa = 0

xx2 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy2 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))
xx1 = Val(Format$(DatiModello(i - 1, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i - 1, ModAssey(Indeks)), "0.000000000"))

If LOG10(xx1) > Int(LOG10(MaxX(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q2wqw2
End If

If LOG10(xx1) < Int(LOG10(MinX(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q2wqw2
End If


If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q2wqw2
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q2wqw2
End If


a = 0

q2wqw1:

If xx2 > logmaxX Then
yy2 = ((yy2 - yy1) * (logmaxX - xx1) / (xx2 - xx1)) + yy1
xx2 = logmaxX
a = a + 1
GoTo q2wqw1
End If



If xx2 < logminX Then
yy2 = -((yy2 - yy1) * (xx1 - logminX) / (xx2 - xx1)) + yy1
xx2 = logminX
a = a + 1
GoTo q2wqw1
End If



If yy2 > MaxY(Indeks) Then
xx2 = ((xx2 - xx1) * (MaxY(Indeks) - yy1) / (yy2 - yy1)) + xx1
yy2 = MaxY(Indeks)
a = a + 1
GoTo q2wqw1
End If



If yy2 < MinY(Indeks) Then
xx2 = -((xx2 - xx1) * (yy1 - MinY(Indeks)) / (yy2 - yy1)) + xx1
yy2 = MinY(Indeks)
a = a + 1
GoTo q2wqw1
End If


picforms(Indeks).Picture2.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If

MF1.LOGX_Linea xx1, yy1, xx2, yy2, ModelLineCol1


If aa > 0 Then
GoTo q2wqw2
End If




Next i

q2wqw2:

End If

'------------------
' norm X log y
'-------------------

If tipoGraph(Indeks) = "normx-logy" Then

logmaxX = EXP10(Int(LOG10(MaxX(Indeks))) + 1)
logminX = EXP10(Int(LOG10(MinX(Indeks))))

logmaxY = EXP10(Int(LOG10(MaxY(Indeks))) + 1)
logminY = EXP10(Int(LOG10(MinY(Indeks))))

For i = 2 To NumModDati1

aa = 0

xx2 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy2 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))
xx1 = Val(Format$(DatiModello(i - 1, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i - 1, ModAssey(Indeks)), "0.000000000"))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q3wqw2
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q3wqw2
End If


If LOG10(yy1) > Int(LOG10(MaxY(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q3wqw2
End If

If LOG10(yy1) < Int(LOG10(MinY(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q3wqw2
End If


a = 0

q3wqw1:

If xx2 > MaxX(Indeks) Then
yy2 = ((yy2 - yy1) * (MaxX(Indeks) - xx1) / (xx2 - xx1)) + yy1
xx2 = MaxX(Indeks)
a = a + 1
GoTo q3wqw1
End If



If xx2 < MinX(Indeks) Then
yy2 = -((yy2 - yy1) * (xx1 - MinX(Indeks)) / (xx2 - xx1)) + yy1
xx2 = MinX(Indeks)
a = a + 1
GoTo q3wqw1
End If



If yy2 > logmaxY Then
xx2 = ((xx2 - xx1) * (logmaxY - yy1) / (yy2 - yy1)) + xx1
yy2 = logmaxY
a = a + 1
GoTo q3wqw1
End If



If yy2 < logminY Then
xx2 = -((xx2 - xx1) * (yy1 - logminY) / (yy2 - yy1)) + xx1
yy2 = logminY
a = a + 1
GoTo q3wqw1
End If


picforms(Indeks).Picture2.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If

MF1.LOGY_Linea xx1, yy1, xx2, yy2, ModelLineCol1


If aa > 0 Then
GoTo q3wqw2
End If




Next i

q3wqw2:

End If

'-----------------
' log X log y
'-----------------

If tipoGraph(Indeks) = "logx-logy" Then

logmaxX = EXP10(Int(LOG10(MaxX(Indeks))) + 1)
logminX = EXP10(Int(LOG10(MinX(Indeks))))

logmaxY = EXP10(Int(LOG10(MaxY(Indeks))) + 1)
logminY = EXP10(Int(LOG10(MinY(Indeks))))

For i = 2 To NumModDati1

aa = 0

xx2 = Val(Format$(DatiModello(i, ModAsseX(Indeks)), "0.000000000"))
yy2 = Val(Format$(DatiModello(i, ModAssey(Indeks)), "0.000000000"))
xx1 = Val(Format$(DatiModello(i - 1, ModAsseX(Indeks)), "0.000000000"))
yy1 = Val(Format$(DatiModello(i - 1, ModAssey(Indeks)), "0.000000000"))

If LOG10(xx1) > Int(LOG10(MaxX(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q4wqw2
End If

If LOG10(xx1) < Int(LOG10(MinX(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q4wqw2
End If


If LOG10(yy1) > Int(LOG10(MaxY(Indeks))) + 1 Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q4wqw2
End If

If LOG10(yy1) < Int(LOG10(MinY(Indeks))) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo q4wqw2
End If


a = 0

q4wqw1:

If xx2 > logmaxX Then
yy2 = ((yy2 - yy1) * (logmaxX - xx1) / (xx2 - xx1)) + yy1
xx2 = logmaxX
a = a + 1
GoTo q4wqw1
End If



If xx2 < logminX Then
yy2 = -((yy2 - yy1) * (xx1 - logminX) / (xx2 - xx1)) + yy1
xx2 = logminX
a = a + 1
GoTo q4wqw1
End If



If yy2 > logmaxY Then
xx2 = ((xx2 - xx1) * (logmaxY - yy1) / (yy2 - yy1)) + xx1
yy2 = logmaxY
a = a + 1
GoTo q4wqw1
End If



If yy2 < logminY Then
xx2 = -((xx2 - xx1) * (yy1 - logminY) / (yy2 - yy1)) + xx1
yy2 = logminY
a = a + 1
GoTo q4wqw1
End If


picforms(Indeks).Picture2.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If

MF1.LOG_Linea xx1, yy1, xx2, yy2, ModelLineCol1



If aa > 0 Then
GoTo q4wqw2
End If




Next i

q4wqw2:

End If



Next iii



End Sub


Public Sub RidisegnaMod()

Dim ModelSymbSp1 As Integer

For iii = 1 To NumModelli(Indeks)
Close #1
Open App.Path + "\data\modello" + Trim(iii) + ".txt" For Input As #1

Input #1, z1, z2, z3, z4, z5, z6, z7, z8

NumModelElem = z1
NumModDati1 = z2
ModelLineSp1 = z3
ModelLineCol1 = z4
ModelSymb1 = z5
ModelSymbSp1 = z6
ModelSymbCol1 = z7
ModelSymbWid1 = z8

For ii = 1 To NumModelElem

Input #1, aa1
ModElementi(ii) = aa1

Next ii

'Input #1, aa2

For i = 0 To NumModDati1 - 1

For ii = 1 To NumModelElem

Input #1, aa2
DatiModello(i, ii) = aa2

Next ii

Next i

Close #1



If DatiModello(0, ModAsseX(Indeks)) > MaxX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw
End If

If DatiModello(0, ModAsseX(Indeks)) < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw
End If

If DatiModello(0, ModAssey(Indeks)) > MaxY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw
End If

If DatiModello(0, ModAsseX(Indeks)) < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw
End If




MF1.InsertPointMOD "", DatiModello(0, ModAsseX(Indeks)), DatiModello(0, ModAssey(Indeks)), ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1

qwqw:

Dim xx1
Dim xx2
Dim yy1
Dim yy2


For i = 2 To NumModDati

aa = 0

xx2 = Val(DatiModello(i, ModAsseX(Indeks)))
yy2 = Val(DatiModello(i, ModAssey(Indeks)))
xx1 = Val(DatiModello(i - 1, ModAsseX(Indeks)))
yy1 = Val(DatiModello(i - 1, ModAssey(Indeks)))

If xx1 > MaxX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If

If xx1 < MinX(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If

If yy1 > MaxY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If

If yy1 < MinY(Indeks) Then
'Campione(i, Indeks) = ""
'NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo qwqw2
End If



MF1.InsertPointMOD "", xx1, yy1, ModelSymbSp1, ModelSymbCol1, ModelSymb1, ModelSymbWid1



a = 0

qwqw1:

If xx2 > MaxX(Indeks) Then
yy2 = ((yy2 - yy1) * (MaxX(Indeks) - xx1) / (xx2 - xx1)) + yy1
xx2 = MaxX(Indeks)
a = a + 1
GoTo qwqw1
End If



If xx2 < MinX(Indeks) Then
yy2 = -((yy2 - yy1) * (xx1 - MinX(Indeks)) / (xx2 - xx1)) + yy1
xx2 = MinX(Indeks)
a = a + 1
GoTo qwqw1
End If



If yy2 > MaxY(Indeks) Then
xx2 = ((xx2 - xx1) * (MaxY(Indeks) - yy1) / (yy2 - yy1)) + xx1
yy2 = MaxY(Indeks)
a = a + 1
GoTo qwqw1
End If



If yy2 < MinY(Indeks) Then
xx2 = -((xx2 - xx1) * (yy1 - MinY(Indeks)) / (yy2 - yy1)) + xx1
yy2 = MinY(Indeks)
a = a + 1
GoTo qwqw1
End If


picforms(Indeks).Picture1.DrawWidth = ModelLineSp1

If ModelLineSp1 = 1 Then
MF1.LineWidth = 1
End If
If ModelLineSp1 = 2 Then
MF1.LineWidth = 15
End If


MF1.Una_Linea xx1, yy1, xx2, yy2, ModelLineCol1

If aa > 0 Then
GoTo qwqw2
End If




Next i

qwqw2:



Next iii



End Sub

Public Sub AGG()

Indeks = GraphSelect

'----------------
' A-F-M
'---------------

If DiagramType(Indeks) = "AFM-Kuno" Or DiagramType(Indeks) = "AFM-Irvine" Then

'determino la colonna di FeOtot (A)

For i = 1 To Numelem
If Elementi(i) = "FeOtot" Then
numa = i
End If
Next i


If numa = 101 Then

'cerco ferro 2 e 3

INP.Feototale
Form2.Combo1.AddItem Elementi(Numelem)
Form2.Combo2.AddItem Elementi(Numelem)

Form3.Combo1.AddItem Elementi(Numelem)
Form3.Combo2.AddItem Elementi(Numelem)
Form3.Combo3.AddItem Elementi(Numelem)

Form6.Combo1.AddItem Elementi(Numelem)
Form6.Combo2.AddItem Elementi(Numelem)
numa = Numelem

End If

'determino la colonna di B

INP.Addizione "Na2O", "K2O"
numb = Numelem


'determino la colonna di c
For i = 1 To Numelem
If Elementi(i) = "MgO" Then
numc = i
End If
Next i

AxAa(Indeks) = "F"
AXB(Indeks) = "A"
AXC(Indeks) = "M"

binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = True

MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), TypeDim(Indeks)

MF1.Diagram

For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, numa), DatiOrigine(i, numb), DatiOrigine(i, numc), SimbDim(Indeks), col, tipo
Next i

MF1.TAssi (QBColor(1))
MF1.Finegraph

Exit Sub

End If

'------------------------------'
'       Ti-Zr-Y Pearce & Cann  '
'------------------------------'



If DiagramType(Indeks) = "TiZrY" Then


AxAa(Indeks) = "Ti/100"
AXB(Indeks) = "Zr"
AXC(Indeks) = "Y*3"

'determino la colonna di Ti (ppm) (A)
For i = 1 To Numelem
If Elementi(i) = "Ti" Then
numa = i
End If
Next i
If numa = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Ti", , "Error"
Exit Sub
End If

INP.AsuConst "Ti", 100
numa = Numelem



'determino la colonna di Zr (B)
For i = 1 To Numelem
If Elementi(i) = "Zr" Then
numb = i
End If
Next i
If numb = 101 Then
MsgBox "An Error Occurred: I'm not able to identify  Zr", , "Error"
Exit Sub
End If


'determino la colonna di Y (C)
For i = 1 To Numelem
If Elementi(i) = "Y" Then
numc = i
End If
Next i
If numc = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Y", , "Error"
Exit Sub
End If
INP.AxConst "Y", 3
numa = Numelem



binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = True

MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), TypeDim(Indeks)

MF1.Diagram

For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, numa), DatiOrigine(i, numb), DatiOrigine(i, numc), SimbDim(Indeks), col, tipo
Next i



MF1.TAssi (QBColor(1))
MF1.Finegraph
Exit Sub

End If


'------------------------------'
'       Ti-Zr-Sr Pearce & Cann  '
'------------------------------'



If DiagramType(Indeks) = "TiZrSr" Then

AxAa(Indeks) = "Ti/100"
AXB(Indeks) = "Zr"
AXC(Indeks) = "Sr/2"

'determino la colonna di Ti (ppm) (A)
For i = 1 To Numelem
If Elementi(i) = "Ti" Then
numa = i
End If
Next i
If numa = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Ti", , "Error"
Exit Sub
End If

INP.AsuConst Elementi(numa), 100
numa = Numelem



'determino la colonna di Zr (B)
For i = 1 To Numelem
If Elementi(i) = "Zr" Then
numb = i
End If
Next i
If numb = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Zr", , "Error"
Exit Sub
End If


'determino la colonna di Sr (C)
For i = 1 To Numelem
If Elementi(i) = "Sr" Then
numc = i
End If
Next i
If numc = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Sr", , "Error"
Exit Sub
End If
INP.AsuConst "Sr", 2
numc = Numelem


binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = True

MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), TypeDim(Indeks)

MF1.Diagram

For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, numa), DatiOrigine(i, numb), DatiOrigine(i, numc), SimbDim(Indeks), col, tipo
Next i

MF1.TAssi (QBColor(1))
MF1.Finegraph
Exit Sub

End If

'-------------------------'
'       Nb-Zr-Y Meschede  '
'-------------------------'



If DiagramType(Indeks) = "NbZrY" Then

AxAa(Indeks) = "Nb*2"
AXB(Indeks) = "Zr/4"
AXC(Indeks) = "Y"

'determino la colonna di Nb (ppm) (A)
For i = 1 To Numelem
If Elementi(i) = "Nb" Then
numa = i
End If
Next i
If numa = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Nb", , "Error"
Exit Sub
End If

INP.AxConst "Nb", 2
numa = Numelem



'determino la colonna di Zr (B)
For i = 1 To Numelem
If Elementi(i) = "Zr" Then
numb = i
End If
Next i
If numb = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Zr", , "Error"
Exit Sub
End If

INP.AsuConst "Zr", 4
numb = Numelem


'determino la colonna di Y (C)
For i = 1 To Numelem
If Elementi(i) = "Y" Then
numc = i
End If
Next i
If numc = 101 Then
MsgBox "An Error Occurred: I'm not able to identify  Y", , "Error"
Exit Sub
End If



binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = True
MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), TypeDim(Indeks)

MF1.Diagram

For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, numa), DatiOrigine(i, numb), DatiOrigine(i, numc), SimbDim(Indeks), col, tipo
Next i

MF1.TAssi (QBColor(1))
MF1.Finegraph
Exit Sub

End If

'-------------------'
'    Th-Hf-Ta Wood  '
'-------------------'


If DiagramType(Indeks) = "ThHfTa" Then

AxAa(Indeks) = "Hf/3"
AXB(Indeks) = "Th"
AXC(Indeks) = "Ta"

'determino la colonna di Hf (ppm) (A)
For i = 1 To Numelem
If Elementi(i) = "Hf" Then
numa = i
End If
Next i
If numa = 101 Then
MsgBox "An Error Occurred: I'm not able to identify  Hf", , "Error"
Exit Sub
End If

INP.AsuConst "Hf", 3
numa = Numelem



'determino la colonna di Th (B)
For i = 1 To Numelem
If Elementi(i) = "Th" Then
numb = i
End If
Next i
If numb = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Th", , "Error"
Exit Sub
End If


'determino la colonna di Ta (C)
For i = 1 To Numelem
If Elementi(i) = "Ta" Then
numc = i
End If
Next i
If numc = 101 Then
MsgBox "An Error Occurred: I'm not able to identify Y", , "Error"
Exit Sub
End If



binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = True

MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), TypeDim(Indeks)

MF1.Diagram

For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, numa), DatiOrigine(i, numb), DatiOrigine(i, numc), SimbDim(Indeks), col, tipo
Next i

MF1.TAssi (QBColor(1))
MF1.Finegraph
Exit Sub
End If




'strelematre
'--------------------------------------------------------------------------
If DiagramType(Indeks) = "Strelemaitre" Then
MaxX(Indeks) = 100
MinX(Indeks) = 0
MaxY(Indeks) = 50
MinY(Indeks) = -40
OMaxX(Indeks) = 100 'original value servono quando riscalo
OMinX(Indeks) = 0
OMaxY(Indeks) = 50
OMinY(Indeks) = -40
Intx(Indeks) = 10
Inty(Indeks) = 9
binary(Indeks) = True
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
Triangular(Indeks) = False
tipoGraph(Indeks) = "normx-normy"
MF1.NewRectGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)
MF1.assi

MF1.Diagram


Dim anor
Dim yt

For i = 1 To Numcamp1

If (DatiCIPW(i, 12) + DatiCIPW(i, 9)) <= 0 Then
GoTo wqwq13
End If

anor = 100 * DatiCIPW(i, 12) / (DatiCIPW(i, 12) + DatiCIPW(i, 9))
Q = 100 * DatiCIPW(i, 19) / (DatiCIPW(i, 19) + DatiCIPW(i, 12) + DatiCIPW(i, 9) + DatiCIPW(i, 10))
F = 100 * (DatiCIPW(i, 23) + DatiCIPW(i, 24) + DatiCIPW(i, 26)) / (DatiCIPW(i, 12) + DatiCIPW(i, 9) + DatiCIPW(i, 10) + DatiCIPW(i, 23) + DatiCIPW(i, 24) + DatiCIPW(i, 26))

If Q > F Then
yt = Q
End If

If F > Q Then
yt = -F
End If


If yt > MaxX(Indeks) Or yt < MinX(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq13
End If

If yt > MaxY(Indeks) Or yt < MinY(Indeks) Then
Campione(i, Indeks) = ""
NumCamp(Indeks) = NumCamp(Indeks) + 1
aa = aa + 1
GoTo wqwq13
End If

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
MF1.InsertPoint NomeCamp(i), anor, yt, SimbDim(Indeks), col, tipo

wqwq13:

Next i

If aa > 0 Then
MsgBox "Attention! Some samples are positioned out of graph area", , "Attention"
End If


MF1.asseXTitle "X = ANOR", 10
MF1.asseYTitle "Y= Q'-F'", 10
picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": QAPF (Right mouse click for option - Double click to change)"
MF1.Finegraph
MF1.MostraSpecifiche = True
MF1.Evidenzia = True
Exit Sub
End If

'binary
'--------------------------------------------------------------
If binary(Indeks) = True Then
On Error GoTo ee
Form2.Hide


picforms(Indeks).Picture1.Cls
picforms(Indeks).Picture2.Cls



binary(Indeks) = True
Triangular(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False


If tipoGraph(Indeks) = "normx-normy" Then
MF1.DisegnaNormXNormY
End If

If tipoGraph(Indeks) = "normx-logy" Then
MF1.DisegnaNormXLogY
End If

If tipoGraph(Indeks) = "logx-normy" Then
MF1.DisegnaLogXNormY
End If

If tipoGraph(Indeks) = "logx-logy" Then
MF1.DisegnaLogXLogY
End If


GoTo ee1
ee:
MsgBox "An Error Occurred", , "Error"
Exit Sub
ee1:

End If

'triangular
'--------------------------------------------------------------
If Triangular(Indeks) = True Then
On Error GoTo ee2
Triangular(Indeks) = True
binary(Indeks) = False
SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = False
DiagramType(Indeks) = "none"

MF1.NewTriplot (App.Path + "\data\g10" + Trim(Str(Indeks))), Tp1(Indeks)
For i = 1 To Numcamp1
BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = i
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
If DatiOrigine(i, AxAa(Indeks)) = -12345.67 Or DatiOrigine(i, AXB(Indeks)) = -12345.67 Or DatiOrigine(i, AXC(Indeks)) = -12345.67 Then GoTo qswe8
MF1.T_InsertPoint NomeCamp(i), DatiOrigine(i, AxAa(Indeks)), DatiOrigine(i, AXB(Indeks)), DatiOrigine(i, AXC(Indeks)), SimbDim(Indeks), col, tipo
qswe8:
Next i

MF1.TAssi (QBColor(1))
MF1.Finegraph

Form3.Hide

GoTo ee3
ee2:
MsgBox "An Error Occurred", , "Error"
Form3.Hide
Exit Sub
ee3:

End If

'REEspider
'-----------------------------------------------------------
If SPIDERREE(Indeks) = True Then
'Normalizzazione

For i = 1 To Numcamp1
For ii = 1 To 15
Spiy(Indeks, ii, i) = 0
Next ii
Next i

file$ = App.Path + NormSP(Indeks)
tt = 2
For i = 1 To NumCampSpi(Indeks)
For ii = tt To 100
aa = Mid(SpiPlotted(Indeks), ii, 1)
If aa = Chr$(124) Or aa = "" Then
REEcamp1(i) = Mid(SpiPlotted(Indeks), tt, ii - tt)
tt = ii + 1
GoTo rr34
End If
Next ii
rr34:
Next i

If NumCampSpi(Indeks) = 0 Then
Exit Sub
End If
Close #1
Open file$ For Input As #1

For i = 1 To 15

Input #1, aa

If aa = 1 Then
NormREE(i) = 0
'Label33(i - 1).Caption = "/"
GoTo rr
End If

NormREE(i) = aa
'Label33(i - 1).Caption = Str(aa)

rr:
Next i

Close #1


On Error GoTo wewe



picforms(Indeks).Hide
picforms(Indeks).Picture2.Cls
picforms(Indeks).Picture1.Cls
  


ind = NumCampSpi(Indeks)

SPIDERREE(Indeks) = True
SPIDEROTHER(Indeks) = False
binary(Indeks) = False
Triangular(Indeks) = False
DiagramType(Indeks) = "none"

SPI.DeterminaREEPresenti

'MF1.REENewSpiderREEGraph App.Path + "\xx.emf", 500, 300

'determino massimo e minimo

MaxREE1 = 0
MinREE1 = 1E+38

For i = 1 To ind

'cerco il campione

aaa$ = REEcamp1(i)
For ii = 1 To Numcamp1
If aaa$ = NomeCamp(ii) Then
n11 = ii
GoTo trt
End If
Next ii
trt:

CampioniSpi(Indeks, i) = n11

SPI.DeterminaValoriREE n11

For iii = 1 To 15
If valREEn(iii) <= 0 Then
GoTo www
End If

If valREEn(iii) > MaxREE1 Then
MaxREE1 = valREEn(iii)
End If

If valREEn(iii) < MinREE1 Then
MinREE1 = valREEn(iii)
End If

www:
Next iii

Next i



'plotto

miny1 = Int(LOG10(MinREE1)) - 1
maxy1 = Int(LOG10(MaxREE1)) + 1
Inty(Indeks) = maxy1 - miny1


MinY(Indeks) = EXP10(miny1)
MaxY(Indeks) = EXP10(maxy1)
MinX(Indeks) = 1
MaxX(Indeks) = 15

DiagramType(Indeks) = "none"
MF1.REENewSpiderREEGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)
MF1.REE_ASSI

For i = 1 To ind

'cerco il campione

aaa$ = REEcamp1(i)
SpiPlotted(Indeks) = SpiPlotted(Indeks) + Chr$(124) + aaa$
For ii = 1 To Numcamp1
If aaa$ = NomeCamp(ii) Then
n11 = ii
GoTo qqqq
End If
Next ii
qqqq:


SPI.DeterminaValoriREE n11
BackGrnd.FG1.Row = n11
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = n11
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
'MF1.REE_InsertPoint SimbDim(Indeks), col, SPIlineCol, tipo
If tipo > 0 And tipo1 > 0 And SimbFilter(i) <> 0 Then
MF1.REE_InsertPoint n11, SimbDim(Indeks), col, col, tipo  '04-06-2002
End If
Next i

MF1.Finegraph

Form8.Hide

GoTo wewe1

wewe:
MsgBox "An Error Occurred", , "Error"
wewe1:

End If



'otherSpider
'----------------------------------------------------------------------------------
If SPIDEROTHER(Indeks) = True Then

For i = 1 To Numcamp1
For ii = 1 To NumCampSpi(Indeks)
Spiy(Indeks, ii, i) = 0
Next ii
Next i

file$ = App.Path + NormSP(Indeks)
tt = 2
For i = 1 To NumCampSpi(Indeks)
For ii = tt To 100
aa = Mid(SpiPlotted(Indeks), ii, 1)
If aa = Chr$(124) Or aa = "" Then
REEcamp1(i) = Mid(SpiPlotted(Indeks), tt, ii - tt)
tt = ii + 1
GoTo rr341
End If
Next ii
rr341:
Next i

picforms(Indeks).Hide
picforms(Indeks).Picture2.Cls
picforms(Indeks).Picture1.Cls





If NumCampSpi(Indeks) = 0 Then
Exit Sub
End If

ind = NumCampSpi(Indeks)


SPIDERREE(Indeks) = False
SPIDEROTHER(Indeks) = True
binary(Indeks) = False
Triangular(Indeks) = False
DiagramType(Indeks) = "none"

SPI1.DeterminaSpiderPresenti

'MF1.REENewSpiderREEGraph App.Path + "\xx.emf", 500, 300

'determino massimo e minimo

MaxSpider1 = 0
MinSpider1 = 1E+38

For i = 1 To ind

'cerco il campione

aaa$ = REEcamp1(i)
For ii = 1 To Numcamp1
If aaa$ = NomeCamp(ii) Then
n11 = ii
GoTo trt4
End If
Next ii
trt4:
CampioniSpi(Indeks, i) = n11

SPI1.DeterminaValoriSpider n11

For iii = 1 To NumSpider

If ValSpiderNorm(iii) = 0 Then
GoTo www6
End If

If ValSpiderNorm(iii) > MaxSpider1 Then
MaxSpider1 = ValSpiderNorm(iii)
End If

If ValSpiderNorm(iii) < MinSpider1 Then
MinSpider1 = ValSpiderNorm(iii)
End If

www6:
Next iii

Next i



'plotto
'miny1 = Int(LOG10(MinSpider1)) - 1
'maxy1 = Int(LOG10(MaxSpider1)) + 1
'Inty(Indeks) = maxy1 - miny1


'MinY(Indeks) = EXP10(miny1) + (10 ^ -4)
'MaxY(Indeks) = EXP10(maxy1) - (10 ^ -4)
'MinX(Indeks) = 1
'MaxX(Indeks) = NumSpider

DiagramType(Indeks) = "none"
MF1.NewSpiderGraph (App.Path + "\data\g10" + Trim(Str(Indeks))), Xgraph(Indeks), Ygraph(Indeks)
MF1.SPIDER_ASSI


For i = 1 To ind

'cerco il campione

aaa$ = REEcamp1(i)
For ii = 1 To Numcamp1
If aaa$ = NomeCamp(ii) Then
n11 = ii
GoTo qqqq7
End If
Next ii
qqqq7:


SPI1.DeterminaValoriSpider n11

BackGrnd.FG1.Row = n11
BackGrnd.FG1.col = 1
tipo = Val(BackGrnd.FG1)

BackGrnd.FG1.Row = n11
BackGrnd.FG1.col = 3
tipo1 = Val(BackGrnd.FG1)

BackGrnd.FG1.col = 2
col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor
'MF1.Spider_InsertPoint SimbDim(Indeks), col, SPIlineCol, tipo
If tipo > 0 And tipo1 > 0 And SimbFilter(i) <> 0 Then
MF1.Spider_InsertPoint n11, SimbDim(rrrr1), col, col, tipo '04-06-2002
End If
Next i

MF1.Finegraph

Form16.Hide

GoTo wewe34

wewe44:
MsgBox "An Error Occurred", , "Error"

wewe34:
End If


End Sub

Private Function CreateMyBrush(ByVal col As Long) As Long
  If col = 0 Then col = myFillColor
  'If FillStyle = 7 Then
  '  nRop = SetROP2(hdcEM, 7)
  'End If
  If FillStyle > 5 Then
    nBrush = CreateSolidBrush(col)
  Else
    nBrush = CreateHatchBrush(FillStyle, col)
  End If
  oBrush = SelectObject(hdcEM, nBrush)
  CreateMyBrush = nBrush
End Function

Private Function RestoreBrush() As Long
  RestoreBrush = SelectObject(hdcEM, oBrush)
  ret = DeleteObject(nBrush)
  'oRop = SetROP2(hdcEM, 13)
End Function

Private Function CreateMyPen(pw As Variant, ps As Variant, pc As Variant) As Long '17-05 attenzione
'Private Function CreateMyPen(pw As Long, ps As Long, pc As Variant) As Long
  Dim mypen As Long
  If pw > 0 Or ps > 0 Or pc > 0 Then
    ' creëer eigen pen
    ' als penwidth > 1 dan enkel PS_NULL, PS_SOLID, PS_INSIDEFRAME
    mypen = CreatePen(ps, pw, pc)
  Else
    mypen = CreatePen(LineStyle, LineWidth, LineColor)
  End If
  olPen = SelectObject(hdcEM, mypen)
  CreateMyPen = mypen
End Function

Private Function RestorePen() As Long
  RestorePen = SelectObject(hdcEM, olPen)
  ret = DeleteObject(nPen)
End Function

Private Function GetRed(cv As Long) As Integer
  GetRed = cv Mod 256
End Function

Private Function GetGreen(cv As Long) As Integer
  GetGreen = ((cv And &HFF00FF00) / 256&)
End Function

Private Function GetBlue(cv As Long) As Integer
 GetBlue = (cv And &HFF0000) / (256& * 256&)
End Function

Private Sub Class_Initialize()
 ' MetaFile = ""
 ' closed = True
 ' report = False
 ' hdcEM = 0
 ' hemf = 0
 ' devX = GetDeviceCaps(Printer.hdc, LOGPIXELSX)       ' printer hor. device pixels/inch
 ' devY = GetDeviceCaps(Printer.hdc, LOGPIXELSY)       ' printer vert. device pixels/inch
 ' devW = GetDeviceCaps(Printer.hdc, PHYSICALWIDTH)    ' printer paperwidth in device pixels
 ' devH = GetDeviceCaps(Printer.hdc, PHYSICALHEIGHT)   ' printer paperheight in device pixels
 ' devXO = GetDeviceCaps(Printer.hdc, PHYSICALOFFSETX) ' hor. unprintable area
 ' devXY = GetDeviceCaps(Printer.hdc, PHYSICALOFFSETY) ' vert. unprintable area
  LineWidth = 1
  LineStyle = 0 'solid
  LineColor = 0 'black
  FillColor = RGB(255, 255, 255)
 FillStyle = 8 ' solid
 BeginColor = 0
 EndColor = RGB(255, 255, 255)
 GradientFill = False
  GradientAngle = 0
  GradientType = 0
End Sub



Private Sub Class_Terminate()
  If closed = False Then
      hemf = CloseEnhMetaFile(hdcEM)
      ret = DeleteDC(hdcEM)
      ret = DeleteEnhMetaFile(hemf) '
                               
  End If
  closed = True
'Set Form1.Image1.Picture = LoadPicture()
End Sub

