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(1000) 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 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 'X = (devX / 254 * X) 'Y = (devY / 254 * Y) ' fontsize 0 is printer fontsize gebruiken If fs = 0 Then fs = Printer.Font.size ' geen fontnaam is printer fontnaam If fnt = "" Then fnt = Printer.FontName 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, d ' 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 PrintMeta() If MetaFile <> "" And closed = False Then CloseMeta ElseIf MetaFile = "" Then Exit Sub End If Set prForm1.Image1.Picture = LoadPicture(MetaFile) Printer.Print ""; Printer.PaintPicture prForm1.Image1.Picture, 0, 0 Printer.EndDoc 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) MF1.L_Circle x1, y1, (R * 10), LineWidth, col End Sub Public Sub Un_CerVuotL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y MF1.L_Circle x1, y1, (R * 10), 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) MF1.LF_Circle x1, y1, (R * 10), , col, , col End Sub Public Sub Un_CerPienL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y MF1.LF_Circle x1, y1, (R * 10), , 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then MF1.LF_Circle x1, y1, (rm * 10), , 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.LF_Circle x1, y1, (rm * 10), , 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then MF1.LF_Circle x1, y1, (rm * 10), , 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, y1, (rm * 10), , 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) 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 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) 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 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.LF_Circle x1, y1, (rm * 10), , 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 - (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 + (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 + (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 - (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 + (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 - (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 + (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 - (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 + (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 - (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 + (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 + (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 - (10 * rm) pnta(1).x = x1 pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 - (10 * 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 For i = 1 To 15 If ValSpiderNorm(i) <= 0 Then Exit Sub End If Next i 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 - (10 * rm) pnta(1).x = x1 pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 - (10 * rm) pnta(1).x = x1 pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 - (10 * rm) pnta(1).x = x1 pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 - (10 * rm) pnta(1).x = x1 pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 + (10 * rm) pnta(3).y = y1 - (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then nBrush = CreateMyBrush(0) MF1.L_Circle x1, y1, (rm * 10), 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 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)) If SpiderAbsent(i) = False Then Spiy(Indeks, i, id) = Val(Format$(y1, "0.0")) 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(0) MF1.L_Circle x1, y1, (rm * 10), 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(0) MF1.L_Circle x1, y1, (rm * 10), 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(0) MF1.L_Circle x1, y1, (rm * 10), 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(0) MF1.L_Circle x1, y1, (rm * 10), 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then MF1.LF_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then MF1.LF_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.LF_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.LF_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.LF_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If Form8.Shape1(i - 1).FillColor = QBColor(2) And REEabsent(i) = False Then MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , LineWidth, col1 nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , LineWidth, col1 '------- nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (rm * 10)), (y1 - (rm * 10)), (x1 + (rm * 10)), (y1 + (rm * 10)), , 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * rm) pnta(6).y = y1 + (10 * rm) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * rm) pnta(8).y = y1 - (10 * rm) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * rm) pnta(10).y = y1 + (10 * rm) pnta(11).x = x1 + (10 * rm) pnta(11).y = y1 - (10 * 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) SPI.DeterminaValoriREE id MDIForm1.StatusBar1.Panels(1).Text = "Campione: " + NomeCamp(id) 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) SPI1.CaricaNormalizzazioneSpider App.Path + NormSP(Indeks) 'SPI1.DeterminaSpiderPresenti SPI1.DeterminaValoriSpider id MDIForm1.StatusBar1.Panels(1).Text = "Campione: " + NomeCamp(id) 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * rm) pnta(6).y = y1 + (10 * rm) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * rm) pnta(8).y = y1 - (10 * rm) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * rm) pnta(10).y = y1 + (10 * rm) pnta(11).x = x1 + (10 * rm) pnta(11).y = y1 - (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * rm) pnta(6).y = y1 + (10 * rm) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * rm) pnta(8).y = y1 - (10 * rm) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * rm) pnta(10).y = y1 + (10 * rm) pnta(11).x = x1 + (10 * rm) pnta(11).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * rm) pnta(6).y = y1 + (10 * rm) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * rm) pnta(8).y = y1 - (10 * rm) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * rm) pnta(10).y = y1 + (10 * rm) pnta(11).x = x1 + (10 * rm) pnta(11).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * rm) pnta(6).y = y1 + (10 * rm) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * rm) pnta(8).y = y1 - (10 * rm) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * rm) pnta(10).y = y1 + (10 * rm) pnta(11).x = x1 + (10 * rm) pnta(11).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * rm) pnta(2).y = y1 - (10 * rm) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * rm) pnta(4).y = y1 + (10 * rm) pnta(5).x = x1 + (10 * rm) pnta(5).y = y1 - (10 * 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 = 15 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 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 = 15 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 = 15 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 = 15 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * rm) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 + (10 * rm) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 - (10 * rm) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * rm) pnta(4).x = x1 - (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * rm) pnta(4).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * rm) pnta(4).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * rm) pnta(4).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * rm) pnta(4).x = x1 - (10 * 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 ss = 0 For i = 1 To 15 'finestra ss = ss + 1 x1 = i y1 = LOG10(valREEn(i)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 - (10 * rm / 2) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 + (10 * rm / 2) pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 + (10 * rm / 2) pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 - (10 * rm / 2) pnta(4).y = y1 - (10 * rm) pnta(5).x = x1 - (10 * rm) pnta(5).y = y1 pnta(6).x = x1 - (10 * rm / 2) pnta(6).y = y1 + (10 * 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 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)) Spiy(Indeks, i, id) = 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) If SpiderAbsent(i) = False Then nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm / 2) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 + (10 * rm / 2) pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 + (10 * rm / 2) pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 - (10 * rm / 2) pnta(4).y = y1 - (10 * rm) pnta(5).x = x1 - (10 * rm) pnta(5).y = y1 pnta(6).x = x1 - (10 * rm / 2) pnta(6).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm / 2) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 + (10 * rm / 2) pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 + (10 * rm / 2) pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 - (10 * rm / 2) pnta(4).y = y1 - (10 * rm) pnta(5).x = x1 - (10 * rm) pnta(5).y = y1 pnta(6).x = x1 - (10 * rm / 2) pnta(6).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((yyy - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm / 2) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 + (10 * rm / 2) pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 + (10 * rm / 2) pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 - (10 * rm / 2) pnta(4).y = y1 - (10 * rm) pnta(5).x = x1 - (10 * rm) pnta(5).y = y1 pnta(6).x = x1 - (10 * rm / 2) pnta(6).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) nBrush = CreateMyBrush(col1) nPen = CreateMyPen(LineWidth, 0, col1) pnta(0).x = x1 - (10 * rm / 2) pnta(0).y = y1 + (10 * rm) pnta(1).x = x1 + (10 * rm / 2) pnta(1).y = y1 + (10 * rm) pnta(2).x = x1 + (10 * rm) pnta(2).y = y1 pnta(3).x = x1 + (10 * rm / 2) pnta(3).y = y1 - (10 * rm) pnta(4).x = x1 - (10 * rm / 2) pnta(4).y = y1 - (10 * rm) pnta(5).x = x1 - (10 * rm) pnta(5).y = y1 pnta(6).x = x1 - (10 * rm / 2) pnta(6).y = y1 + (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) MF1.LF_Circle x1, y1, (R * 10), 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).Picture1.DrawWidth = 2 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, ((4000 * ratioXY) + 300), 5000, ((4000 * ratioXY) + 300), , QBColor(0) MF1.L_Line 800, ((4000 * ratioXY) + 100), 800, 100, , QBColor(0) ' trattini E testo asse X 'For i = 1000 To 5000 Step (4000 / Inty(Indeks)) 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, ((4000 * ratioXY) + 300), i, ((4000 * ratioXY) + 250), , QBColor(0) 'Attenzione 250=350 MF1.L_Line i, 1, i, 50, , QBColor(0) SetText Mid(Str(T1), 2, Len(Str(T1))), i - 50, (4000 * ratioXY) + 370, , 10 'attenzione 02/08/02 5 prima era 200 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, i, 850, i, , QBColor(0) 'attenzione 850=750 MF1.L_Line 4999 + 100, i, 4949 + 100, i, , QBColor(0) SetText T1, 300, i - 50, , 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, yy12, , size3 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, yy12, , size3 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, yy12, , size3 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, yy12, , size3 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, yy12, , size3 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, yy12, , size3 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) If tipo = 0 Or DatiOrigine(i, AXX(Indeks)) = -1 Or DatiOrigine(i, AXY(Indeks)) = -1 Or DatiOrigine(i, AXX(Indeks)) = 0 Or DatiOrigine(i, AXY(Indeks)) = 0 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) If tipo = 0 Or DatiOrigine(i, AXX(Indeks)) = -1 Or DatiOrigine(i, AXY(Indeks)) = -1 Or DatiOrigine(i, AXX(Indeks)) = 0 Or DatiOrigine(i, AXY(Indeks)) = 0 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) If tipo = 0 Or DatiOrigine(i, AXX(Indeks)) = -1 Or DatiOrigine(i, AXY(Indeks)) = -1 Or DatiOrigine(i, AXX(Indeks)) = 0 Or DatiOrigine(i, AXY(Indeks)) = 0 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) If tipo = 0 Or DatiOrigine(i, AXX(Indeks)) = -1 Or DatiOrigine(i, AXY(Indeks)) = -1 Or DatiOrigine(i, AXX(Indeks)) = 0 Or DatiOrigine(i, AXY(Indeks)) = 0 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)), 300, yyyy1 - 50, , 10 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, YYyy, 850, YYyy MF1.L_Line 5049, YYyy, 5099, YYyy Next ii Next i yyyy1 = 100 SetText Str(EXP10(Maxay)), 300, yyyy1 + 50, , 10 '-------- '------------ 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 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, ((4000 * ratioXY) + 300), i, ((4000 * ratioXY) + 250), , QBColor(0) 'Attenzione 250=350 MF1.L_Line i, 1, i, 50, , QBColor(0) SetText Mid(Str(T1), 2, Len(Str(T1))), i - 50, (4000 * ratioXY) + 370, , 10 '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, ((4000 * ratioXY) + 100), 800, 100, , 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, i, 850, i, , QBColor(0) 'attenzione 850=750 MF1.L_Line 4999 + 100, i, 4949 + 100, i, , QBColor(0) SetText Str(T1), 300, i - 50, , 10 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, (4000 * ratioXY) + 370, , 10 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, ((4000 * ratioXY) + 300), xxxx, ((4000 * ratioXY) + 250) MF1.L_Line xxxx, 1, xxxx, 50 Next ii Next i SetText Str(EXP10(MaxaX)), 4800, (4000 * ratioXY) + 370, , 10 '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, i, 850, i, , QBColor(0) 'attenzione 850=750 MF1.L_Line 4999 + 100, i, 4949 + 100, i, , QBColor(0) SetText Str(T1), 300, i - 50, , 10 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) + 100)) - (((i + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY))) SetText "10^" + Str(i), 450, yyyy1 - 50, , 10 '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) + 100)) - (((ss + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY))) MF1.L_Line 800, YYyy, 850, YYyy MF1.L_Line 5049, YYyy, 5099, YYyy Next ii Next i yyyy1 = (4000 * ratioXY) + 100 SetText "10^" + Str(minay - 1), 450, yyyy1 - 50, , 10 MF1.L_Line 5049, yyyy1, 5099, yyyy1 MF1.L_Line 800, yyyy1, 850, yyyy1 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 X ss = 0 For i = 1000 To 5000 Step 4000 / 14 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) + 300), i, ((4000 * ratioXY) + 350), , QBColor(0) 'If REEabsent(ss) = False Then SetText REE(ss), i - 20, (4000 * ratioXY) + 370, , 10 '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) + 100)) - (((i + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY))) SetText "10^" + Str(i), 450, yyyy1 - 50, , 10 '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) + 100)) - (((ss + 1 - minay) / (Maxay - minay + 1) * (4000 * ratioXY))) MF1.L_Line 800, YYyy, 850, YYyy MF1.L_Line 5049, YYyy, 5099, YYyy Next ii Next i yyyy1 = (4000 * ratioXY) + 100 SetText "10^" + Str(minay - 1), 450, yyyy1 - 50, , 10 MF1.L_Line 5049, yyyy1, 5099, yyyy1 MF1.L_Line 800, yyyy1, 850, yyyy1 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 X ss = 0 For i = 1000 To 5000 Step 4000 / (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) + 300), i, ((4000 * ratioXY) + 350), , QBColor(0) 'If SpiderAbsent(ss) = False Then SetText EleMSpider(ss), i - 20, (4000 * ratioXY) + 370, , 10 'End If ww1: Next i End Sub Public Sub LogAssi() 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) '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, (4000 * ratioXY) + 370, , 10 '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, ((4000 * ratioXY) + 300), xxxx, ((4000 * ratioXY) + 250) MF1.L_Line xxxx, 1, xxxx, 50 Next ii Next i SetText Str(EXP10(MaxaX)), 4800, (4000 * ratioXY) + 370, , 10 '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)), 300, yyyy1 - 50, , 10 '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, YYyy, 850, YYyy MF1.L_Line 5049, YYyy, 5099, YYyy Next ii Next i yyyy1 = 100 SetText Str(EXP10(Maxay)), 300, yyyy1 + 50, , 10 '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, (4000 * ratioXY) + 600, , 10 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, (4000 * ratioXY) - 500, 900, 10 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , LineWidth, col End Sub Public Sub Un_QuadVuotL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , 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 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * R) ret = Polyline(hdcEM, pnta(0), 6) ret = RestorePen() End Sub Public Sub Un_QuadVuotPerL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , LineWidth, col '------------ Dim pt As POINTAPI 'metafile nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) MF1.L_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , LineWidth, col '-------------- nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 - (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 + (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 + (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 - (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 + (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 + (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 - (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 + (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 + (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 - (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 + (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * R) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * R) pnta(6).y = y1 + (10 * R) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * R) pnta(8).y = y1 - (10 * R) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * R) pnta(10).y = y1 + (10 * R) pnta(11).x = x1 + (10 * R) pnta(11).y = y1 - (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * R) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * R) pnta(6).y = y1 + (10 * R) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * R) pnta(8).y = y1 - (10 * R) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * R) pnta(10).y = y1 + (10 * R) pnta(11).x = x1 + (10 * R) pnta(11).y = y1 - (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * R) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * R) pnta(6).y = y1 + (10 * R) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * R) pnta(8).y = y1 - (10 * R) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * R) pnta(10).y = y1 + (10 * R) pnta(11).x = x1 + (10 * R) pnta(11).y = y1 - (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 pnta(1).x = x1 - (10 * R) pnta(1).y = y1 pnta(2).x = x1 pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 pnta(4).y = y1 + (10 * R) pnta(5).x = x1 pnta(5).y = y1 pnta(6).x = x1 + (10 * R) pnta(6).y = y1 + (10 * R) pnta(7).x = x1 pnta(7).y = y1 pnta(8).x = x1 - (10 * R) pnta(8).y = y1 - (10 * R) pnta(9).x = x1 pnta(9).y = y1 pnta(10).x = x1 - (10 * R) pnta(10).y = y1 + (10 * R) pnta(11).x = x1 + (10 * R) pnta(11).y = y1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 pnta(1).y = y1 pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 pnta(3).y = y1 pnta(4).x = x1 - (10 * R) pnta(4).y = y1 + (10 * R) pnta(5).x = x1 + (10 * R) pnta(5).y = y1 - (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 - (10 * R) pnta(1).x = x1 pnta(1).y = y1 + (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 - (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 - (10 * R) pnta(1).x = x1 pnta(1).y = y1 + (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 - (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 - (10 * R) pnta(1).x = x1 pnta(1).y = y1 + (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 + (10 * R) pnta(0).y = y1 - (10 * R) pnta(1).x = x1 pnta(1).y = y1 + (10 * R) pnta(2).x = x1 - (10 * R) pnta(2).y = y1 - (10 * R) pnta(3).x = x1 + (10 * R) pnta(3).y = y1 - (10 * 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 + (((x1 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y11 = ((ratioXY * 4000) + 100) - (((y1 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) x22 = 1000 + (((x2 - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y22 = ((ratioXY * 4000) + 100) - (((y2 - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) '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 = 15 MF1.L_Line x11, y11, x22, y22, 20, 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) y112 = ((ratioXY * 4000) + 100) - (((y11 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) x222 = 1000 + (((x22 - MinXX) / (MAXXX - MinXX)) * 4000) y222 = ((ratioXY * 4000) + 100) - (((y22 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 = LOG10(MinX(Indeks)) MAXXX = LOG10(MaxX(Indeks)) 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y11 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) x22 = 1000 + (((x2 - MinXX) / (MAXXX - MinXX)) * 4000) y22 = ((ratioXY * 4000) + 100) - (((y2 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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 = LOG10(MinX(Indeks)) MAXXX = LOG10(MaxX(Indeks)) 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 + (((x1 - MinXX) / (MAXXX - MinXX)) * 4000) y11 = ((ratioXY * 4000) + 100) - (((y1 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) x22 = 1000 + (((x2 - MinXX) / (MAXXX - MinXX)) * 4000) y22 = ((ratioXY * 4000) + 100) - (((y2 - minyy) / (maxyy - minyy)) * (ratioXY * 4000)) 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 - (10 * R / 2) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 + (10 * R / 2) pnta(1).y = y1 + (10 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 + (10 * R / 2) pnta(3).y = y1 - (10 * R) pnta(4).x = x1 - (10 * R / 2) pnta(4).y = y1 - (10 * R) pnta(5).x = x1 - (10 * R) pnta(5).y = y1 pnta(6).x = x1 - (10 * R / 2) pnta(6).y = y1 + (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R / 2) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 + (10 * R / 2) pnta(1).y = y1 + (10 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 + (10 * R / 2) pnta(3).y = y1 - (10 * R) pnta(4).x = x1 - (10 * R / 2) pnta(4).y = y1 - (10 * R) pnta(5).x = x1 - (10 * R) pnta(5).y = y1 pnta(6).x = x1 - (10 * R / 2) pnta(6).y = y1 + (10 * R) ret = Polyline(hdcEM, pnta(0), 7) ret = RestorePen() End Sub Public Sub Un_EsagonoVuotoL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R / 2) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 + (10 * R / 2) pnta(1).y = y1 + (10 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 + (10 * R / 2) pnta(3).y = y1 - (10 * R) pnta(4).x = x1 - (10 * R / 2) pnta(4).y = y1 - (10 * R) pnta(5).x = x1 - (10 * R) pnta(5).y = y1 pnta(6).x = x1 - (10 * R / 2) pnta(6).y = y1 + (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R / 2) pnta(0).y = y1 + (10 * R) pnta(1).x = x1 + (10 * R / 2) pnta(1).y = y1 + (10 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 + (10 * R / 2) pnta(3).y = y1 - (10 * R) pnta(4).x = x1 - (10 * R / 2) pnta(4).y = y1 - (10 * R) pnta(5).x = x1 - (10 * R) pnta(5).y = y1 pnta(6).x = x1 - (10 * R / 2) pnta(6).y = y1 + (10 * 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) y1 = ((ratioXY * 4000) + 100) - (((y(i) - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(0, 0, col) pnta(0).x = x1 - (10 * R) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (10 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (10 * R) pnta(4).x = x1 - (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * R) pnta(4).x = x1 - (10 * 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 y1 = y nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * R) pnta(4).x = x1 - (10 * 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) nBrush = CreateMyBrush(col) nPen = CreateMyPen(LineWidth, 0, col) pnta(0).x = x1 - (10 * R) pnta(0).y = y1 pnta(1).x = x1 pnta(1).y = y1 + (20 * R) pnta(2).x = x1 + (10 * R) pnta(2).y = y1 pnta(3).x = x1 pnta(3).y = y1 - (20 * R) pnta(4).x = x1 - (10 * 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 + (((x - MinX(Indeks)) / (MaxX(Indeks) - MinX(Indeks))) * 4000) y1 = ((ratioXY * 4000) + 100) - (((y - MinY(Indeks)) / (MaxY(Indeks) - MinY(Indeks))) * (ratioXY * 4000)) MF1.LF_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , LineWidth, col, , col End Sub Public Sub Un_QuadPienL(nome As String, y, R, col) 'metafile x1 = 500 y1 = y MF1.LF_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) MF1.LF_Rectangle (x1 - (R * 10)), (y1 - (R * 10)), (x1 + (R * 10)), (y1 + (R * 10)), , 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)) 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(AXY(Indeks)) + " vs " + Elementi(AXX(Indeks)) picforms(Indeks).Tag = Indeks MF1.OpenMeta file, 0, 0, 23000, (1300 + (4000 * ratioXY)) * 3.8 MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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 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, (1300 + (4000 * ratioXY)) MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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 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, (1300 + (4000 * ratioXY)) * 3.8 MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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)) 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, (1300 + (4000 * ratioXY)) * 3.8 MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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)) + ")" 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, (1300 + (4000 * ratioXY)) MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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)) + ")" 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, (1300 + (4000 * ratioXY)) MF1.LineColor = QBColor(15) MF1.L_Rectangle 1, 1, 5099, ((1300 + (4000 * ratioXY)) - 1) MF1.LineColor = QBColor(0) MF1.L_Rectangle 800, 1, 5099, ((300 + (4000 * 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)) Else picforms(Indeks).Caption = "Fig." + Trim(Indeks) + ": " + AXB(Indeks) + " - " + AxAa(Indeks) + " - " + AXC(Indeks) End If picforms(Indeks).Tag = Indeks MF1.OpenMeta file, 0, 0, 5400 * 4.4, Int((5000 * 0.8660254038) + 400) * 4.4 'MF1.L_Rectangle 1, 1, 5399, ((5000 * 0.8660254038) + 400) - 1 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) 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 y1 = ((200 + (5000 * 0.8660254038)) - (y1 / 100 * (5000 * 0.8660254038))) MF1.L_Circle x1, y1, (R * 10), 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 = 15 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, yyw - 40, , 10 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 = 15 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 = 15 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 = 15 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 MF1.SetText AXB(Indeks), 150, ((5000 * 0.8660254038) + 210), , 10 MF1.SetText AXC(Indeks), 5150, ((5000 * 0.8660254038) + 210), , 10 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, , 20 MF1.SetText Elementi(AXB(Indeks)), 150, ((5000 * 0.8660254038) + 210), , 20 MF1.SetText Elementi(AXC(Indeks)), 5150 - Len(Elementi(AXC(Indeks))) * 20, ((5000 * 0.8660254038) + 210), , 20 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 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.L_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 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.L_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 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.L_Line x1, y1, x2, y2, , col Next i End Sub Public Sub Finegraph() MF1.CloseMeta End Sub Public Sub Diagram() 'binary '---------------------------------------------------- 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) = "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.15, 5, "syn-COLG", 0, 10 MF1.Log_Testo 0.9, 0.5, "VAG", 0, 10 MF1.Log_Testo 3, 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, y1, x2, y2, , 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.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.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.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.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.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.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" 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.col = 2 col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor If DatiOrigine(i, AxAa(Indeks)) = -1 Or DatiOrigine(i, AXB(Indeks)) = -1 Or DatiOrigine(i, AXC(Indeks)) = -1 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.col = 2 col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor 'MF1.REE_InsertPoint SimbDim(Indeks), col, SPIlineCol, tipo MF1.REE_InsertPoint n11, SimbDim(Indeks), col, col, tipo '04-06-2002 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.col = 2 col = BackGrnd.Picture1(BackGrnd.FG1 + 8).BackColor 'MF1.Spider_InsertPoint SimbDim(Indeks), col, SPIlineCol, tipo MF1.Spider_InsertPoint n11, SimbDim(Indeks), col, col, tipo '04-06-2002 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) ' geeft de hEmf met. handl vrij ' zonder het bestand te verwijderen op schijf End If closed = True 'Set Form1.Image1.Picture = LoadPicture() End Sub