• Nenhum resultado encontrado

Καλούνται οι συναρτήσεις από την module Rms

4.2.10 TimePlot

Συναρτήσεις και λειτουργία :

Private Sub BackBtn_Click() Επιστροφή στην PlotRMSFRM

Private Sub FileReturn_Click() Επιστροφή στην PlotRMSFRM

Private Sub Plot_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Εμφάνιση της τρέχουσας θέσης του ποντικιού σε φυσικές μονάδες Ορίσματα συνάρτησης :

Button As Integer : Αν πατηθεί κάποιο από τα τρία κουμπιά του ποντικιού Shift As Integer : Αν πατηθεί κάποιο από τα πλήκτρα Ctrl, Alt ή Shift

X As Single : Συντεταγμένη θέση του κέρσορα του ποντικιού στον άξονα των Χ Y As Single : Συντεταγμένη θέση του κέρσορα του ποντικιού στον άξονα των Υ

Private Sub Put_Y_AxisRms(YPos As Single)

Υπολογισμός και εμφάνιση της συντεταγμένης θέσης του ποντικιού στον άξονα Υ σε φυσικές μονάδες

Ορίσματα συνάρτησης :

YPos As Single : Συντεταγμένη θέση του ποντικιού στον άξονα των Υ

Private Sub Form_Load()

Αρχικοποίηση της φόρμας RmsPlotFRM

Private Sub Form_Resize()

Ρύθμιση της μορφής και των ελέγχων στην τρέχουσα ανάλυση της οθόνης

Private Sub Plot_KeyPress(KeyAscii As Integer)

Με την χρήση του Esc από το πληκτρολόγιο επιστροφή στην PlotRMSFRM Ορίσματα συνάρτησης :

KeyAscii As Integer : εισαγωγή πλήκτρου από το πληκτρολόγιο τύπου ακεραίου

Private Sub PrintBtn_Click()

Εκτύπωση του τρέχοντος παραθύρου της οθόνης στον εκτυπωτή

προεπιλογής των windows

Σχήμα 4.2.28: Το λογικό διάγραμμα της φόρμας TimePlot.

Καλείται από τη φόρμα - RepValFRM (Rp-rep.frm)

Καλεί τη φόρμα

- RepValFRM (Rp-rep.frm)

Περιγραφή:

Ο κώδικας της φόρμας TimePlot(TimePlot.frm) δημιουργεί την φόρμα σχεδίασης των σημείων πεδίου χρόνου των αρμονικών. Η φόρμα περιέχει ένα πλαίσιο PictureBox(Plot2) το οποίο αποτελεί την περιοχή σχεδίασης των σημείων πεδίου χρόνου.

Κάτω από το πλαίσιο σχεδίασης υπάρχει μια ετικέτα Label(PlotStatus) στην

οποία εμφανίζονται κάποια δεδομένα και δύο ΤextΒox στα οποία εμφανίζονται

οι τρέχον συντεταγμένες της γραφικής παράστασης στις οποίες βρίσκεται ο

κέρσορας του ποντικιού.

Σχήμα 4.2.29: Το σχέδιο της φόρμας TimePlot.

Σχήμα 4.2.30: Η μορφή της φόρμας TimePlot στο πρόγραμμα.

Συναρτήσεις και λειτουργία:

Private Sub BackBtn_Click() Επιστροφή στην φόρμα RepValFRM

Private Sub Plot_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Εμφάνιση της τρέχουσας θέσης του ποντικιού σε φυσικές μονάδες Ορίσματα συνάρτησης :

Button As Integer : Αν πατηθεί κάποιο από τα τρία κουμπιά του ποντικιού Shift As Integer : Αν πατηθεί κάποιο από τα πλήκτρα Ctrl, Alt ή Shift

X As Single : Συντεταγμένη θέση του κέρσορα του ποντικιού στον άξονα των Χ Y As Single : Συντεταγμένη θέση του κέρσορα του ποντικιού στον άξονα των Υ

Private Sub Put_Y_Axis(YPos As Single, NumVar As Integer)

Υπολογισμός και εμφάνιση της συντεταγμένης θέσης του ποντικιού στον άξονα Υ σε φυσικές μονάδες

Ορίσματα συνάρτησης :

YPos As Single : Συντεταγμένη θέση του ποντικιού στον άξονα των Υ NumVar As Integer : Αριθμός περιοχών ενός picturebox

Private Function Grafico_(vars_() As Integer, defmax_ As Integer, maxpos_ As Integer) As Integer

Με αυτή τη λειτουργία ψάχνουμε για το μεγαλύτερο Max μεταξύ των μεταβλητών της ίδιας γραφικής παράστασης

Ορίσματα συνάρτησης :

vars_() As Integer : Οι μεταβλητές τις γραφικής παράστασης defmax_ As Integer : Το καινούριο μέγιστο

maxpos_ As Integer : Η θέση του καινούριου μέγιστου

Private Function Graficomin_(vars_() As Integer, defmin_ As Integer, minpos_ As Integer) As Integer

Με αυτή τη λειτουργία ψάχνουμε για το μικρότερο Min μεταξύ των μεταβλητών της ίδιας γραφικής παράστασης

Ορίσματα συνάρτησης :

vars_() As Integer : Οι μεταβλητές τις γραφικής παράστασης defmax_ As Integer : Το καινούριο ελάχιστο

maxpos_ As Integer : Η θέση του καινούριου μέγιστου

Private Sub PrintBtn_Click()

Εκτύπωση του τρέχοντος παραθύρου της οθόνης στον εκτυπωτή

προεπιλογής των windows

Π Π Α Α Ρ Ρ Α Α Ρ Ρ Τ Τ Η Η Μ Μ Α Α

Εδώ υπάρχει ο κώδικας για όλο το τμήματα της επεξεργασίας αποτελεσμάτων μετά την εισαγωγή των σχόλιων στα αγγλικά και στα ελληνικά για κάθε συνάρτηση και ελεγκτήριο του τμήματος αυτού.

Ο κώδικας της module declare

Public LabVar() As String, PlotVarName() As String, PlotVarNameE() As String Public RmsVarName() As String, ExperResults()

Public TextDir$, NeaData$, NeaFile$, NeaPath$, StartDrive$, Neatext$

'

' --- System Data --- ' --- Δεδομένα συστήματος---- '

Public PlotVarHarm() As Integer Public Text$

'

Public MaxStep, Language$, MinStep, Part%

Public ProgramTitle$, ProgName$

Public Text1$

Public SelectXVar$, SelectYVar$

'

Public Ymaxclb%, Xmaxclb%

Public LetXw%, LetYw%, NLines%, NColumns%

Public AxesNum%, BestMode%

Public NumPeriodPoints%, StartStorePeriod%

Public MaxValueYTime!, MinValueYTime!, TimeVarNum%, FileTMP$

'

Public XIntervalRms! ', YIntervalRms!

Public PlotXMin, PlotXMax, YIntervalTime!, XIntervalTime Public StepYI, StepY%, StepXI, StepX%

Public Xmax, ContinueClick '

Public PlotVarNum%, RMSVarNum%, PageAreas%

Public StartFileName$, SystemData$, BStore%

Public MaxValueXRms, MinValueXRms

Public MaxValueYHarm, MinValueYHarm, MaxValueXHarm '

Type DataRecord

DatAr(1 To 20) As Single End Type

'

Public RecordData As DataRecord Public RecValueC As Single '

Type SelVarRecord

LabVarName As String * 3 Number As Integer Area As Integer

Min As Integer ' Lo he anyadido yo < --- >

Max As Integer ' Lo he anyadido yo < --- >

NextVar(4) As Integer End Type

Public SelVarList() As SelVarRecord '

Public DataVar$, NumSelectVar%, NumGraphics%

Public NumSegsY%, NumSegsX%, SubTicksX%, SubTicksY%, XOrigin%

Public YOrigin%, YYOrigin%, XAxisL%, YAxisL%

Public YText% ', MaxValueYRms, MinValueYRms

Public XTextArr() As String, YTextArr() As String, TextArr() As String '

Public Ctype%, Istart%, Npair%

Public Dtype%, HarLabel$, Lpower%

Public TimeStep As Double, MaxValue, SupFreq Public FormToShowCopyright As Integer

Public FormToBeShow As Integer Public HarmPeriod As Integer Public Real(), Imag()

'For working with the Text Matrix 'Δουλεύοντας με τον πίνακα κειμένου Public Mlanguage As Integer

Public Const greek = 1 Public Const english = 2 Public Const spanish = 3

Type TypeMatrix

Menu(1 To 4) As String Message(1 To 69) As String Harm(1 To 63) As String Re3(1 To 41) As String Sy3(1 To 63) As String Err(1 To 66) As String End Type

Public Matrix(1 To 3) As TypeMatrix '-Variables in Area

'-Μεταβλητές στην περιοχή

Public VecSelRMSList(0 To 3) As Integer Public NumVarSel As Integer

Public PamPamOrellut(0 To 3), Yo1%(0 To 3), Y11%(0 To 3) Public PosTextX, PosTextY

Public SelectYVar1$(0 To 3), YIntervalRms(0 To 3), StepYI1(0 To 3) Public MaxValueYRms(0 To 3), MinValueYRms(0 To 3)

Public YTextArr1$(0 To 3, 100) '

Option Explicit '

Ο κώδικας της module Draw

Sub AnnRXAxis(XOrigin%, YOrigin%, XAxisL%, StepX%, XTextArr() As String, Mid1, NLines%)

'-Annotate X-Axis

'-Σχολιασμός του άξονα των Χ RmsPlotForm.Show Const XOffset1 = -6 'gg Const XOffset2 = -6 If StepX% > 0 Then

Spacing! = (XAxisL% / StepX%) + 2 / StepX%

If Mid1 = 1 Then

NumToDo% = StepX%

Else

NumToDo% = StepX% + 1 End If

For J% = 1 To NumToDo%

TextLength% = Len(XTextArr(J%)) If TextLength% > 0 Then

StartX! = XOrigin% - (TextLength% - 1) RealXGraphic! = StartX! + (J% - 1) * Spacing!

If Mid1 = 1 Then RealXGraphic! = RealXGraphic! + Spacing! / 2!

XText% = Int(RealXGraphic!) + XOffset1 YText% = YOrigin%

RmsPlotForm.Plot.CurrentX = (XText%)

RmsPlotForm.Plot.CurrentY = (YText%) - 1.5 * LetYw%

RmsPlotForm.Plot.Print XTextArr(J%);

End If Next J%

End If

TextLegth% = Len(XTextArr$(0)) If TextLegth% > 0 Then

RealXGraphic! = (XOrigin% + XAxisL% / 2!) + (TextLegth% - 1) XText% = Int(RealXGraphic!) + XOffset2

YText% = YOrigin% + LetYw%

RmsPlotForm.Plot.CurrentX = XText% - 80 RmsPlotForm.Plot.CurrentY = YText%

RmsPlotForm.Plot.Font.Bold = True RmsPlotForm.Plot.Print XTextArr$(0);

RmsPlotForm.Plot.Font.Bold = False End If

End Sub

Sub AnnRYAxis(XOrigin%, YOrigin%, YAxisL%, StepY%, YTextArr$(), Mid1, LetYw%) '-Annotate Y-Axis

'-Σχολιασμός του άξονα των Y If StepY% > 0 Then

Spacing! = YAxisL% / StepY%

If Mid1 Then

NumToDo% = StepY% + 1 Else

NumToDo% = StepY%

End If

For I% = 1 To NumVarSel For J% = 1 To NumToDo%

TextLength% = Len(YTextArr1$(I% - 1, J%)) If TextLength% > 0 Then

RealXGraphic! = XOrigin% - TextLength% - (I% - 1) * 90 - 10 * LetXw%

XText% = Int(RealXGraphic!)

RealYGraphic! = YOrigin% - Spacing! * (J% - 1) + YOrigin% - YAxisL% '+ 12 'ggg If Mid1 = 1 Then RealYGraphic! = RealYGraphic! - Spacing!

YText% = Int(RealYGraphic!)

If J% = NumToDo% Then YText% = YText% + 1 'Position of values in the different Y Axis 'Η θέση των τιμών στο διαφορικό Y Axis RmsPlotForm.Plot.CurrentX = XText%

RmsPlotForm.Plot.CurrentY = YText%

RmsPlotForm.Plot.Print YTextArr1$(I% - 1, J%) End If

Next J%

Next I%

End If End Sub

Sub DoRXAxis(XOrigin%, YOrigin%, XAxisL%, NumSegsX%, SubTicksX%) '-Construct X-Axis with ticks and subticks

'-Δημιουργία του άξονα των Χ με διαιρέσεις και υποδιαιρέσεις Const BigTickSize = 10

Const SmallTickSize = 5

'- Draw X-Axis Line (Origin to X-Axis Length) '- Σχεδιασμός της γραμμής X-Axis

RmsPlotForm.Plot.DrawWidth = 2

RmsPlotForm.Plot.Line (XOrigin%, YOrigin%)-(XOrigin% + XAxisL%, YOrigin%) RmsPlotForm.Plot.DrawWidth = 1

'- Draw X-Axis Ticks and SubTicks

'- Σχεδιασμός του X-Axis Ticks και SubTicks If NumSegsX% > 0 Then

For J% = 0 To NumSegsX%

Temp! = (XAxisL% / NumSegsX%) * J%

X% = XOrigin% + CInt(Temp!) '- Draw Tick

'- Ó÷åäéáóìüò Tick

RmsPlotForm.Plot.Line (X%, YOrigin%)-(X%, YOrigin% + BigTickSize) If (SubTicksX% > 0) And (J% < NumSegsX%) Then

For k% = 1 To SubTicksX%

Temp! = XAxisL% / NumSegsX% / (SubTicksX% + 1) X% = X% + CInt(Temp!)

'- Draw SubTick '- Σχεδιασμός SubTick

RmsPlotForm.Plot.Line (X%, YOrigin%)-(X%, YOrigin% + SmallTickSize) Next k%

End If Next J%

End If End Sub

Sub DoRYAxis(XOrigin%, YOrigin%, YAxisL%, NumSegsY%, SubTicksY%) '- Construct Y-Axis with ticks and subticks

'- Δημιουργία του άξονα των Y με διαιρέσεις και υποδιαιρέσεις Const BigTickSize = 15

If NumSegsY% > 0 Then For J% = 0 To NumSegsY%

Temp! = (YAxisL% / NumSegsY%) * J%

Y% = YOrigin% - CInt(Temp!)

RmsPlotForm.Plot.Line (XOrigin%, Y%)-(XOrigin% - BigTickSize, Y%) If (SubTicksY% > 0) And (J% < NumSegsY%) Then

For k% = 1 To SubTicksY%

Temp! = YAxisL% / NumSegsY% / (SubTicksY% + 1) Y% = Y% - CInt(Temp!)

RmsPlotForm.Plot.Line (XOrigin%, Y%)-(XOrigin% - SmallTickSize, Y%) Next k%

End If Next J%

End If Next I%

End Sub

Sub DoXAxis(XOrigin As Integer, YOrigin As Integer, XAxisL As Integer, NumSegsX As Integer, SubTicksX%, AxisToPlot As Integer, AxesNum As Integer)

'- Draw X-Axis with ticks and subticks

'- Σχεδιασμός του άξονα των Χ με διαιρέσεις και υποδιαιρέσεις BigTickSize = 8

SmallTickSize = 3 If AxisToPlot = 3 Then If AxesNum% <> 3 Then BigTickSize = 4

SmallTickSize = 0 End If

ElseIf AxisToPlot% = 7 Then If AxesNum% <> 7 Then BigTickSize = 4

SmallTickSize = 0 End If

ElseIf AxisToPlot% = 15 Then If AxesNum% <> 15 Then BigTickSize = 4

SmallTickSize = 0 End If

End If

TimePlot.Plot.DrawWidth = 2

TimePlot.Plot.Line (XOrigin%, YOrigin%)-(XOrigin% + XAxisL%, YOrigin%) TimePlot.Plot.DrawWidth = 1

If NumSegsX% > 0 Then For J% = 0 To NumSegsX%

Temp! = (XAxisL% / NumSegsX%) * J%

X% = XOrigin% + CInt(Temp!)

TimePlot.Plot.Line (X%, YOrigin%)-(X%, YOrigin% + BigTickSize) If (SubTicksX% > 0) And (J% < NumSegsX%) Then

For k% = 1 To SubTicksX%

Temp! = XAxisL% / NumSegsX% / (SubTicksX% + 1) X% = X% + CInt(Temp!)

TimePlot.Plot.Line (X%, YOrigin%)-(X%, YOrigin% + SmallTickSize) Next k%

End If Next J%

End If End Sub

Sub DoYAxis(XOrigin%, YOrigin%, YAxisL%, NumSegsY%, SubTicksY%) '- Draw Y-axis with ticks and subticks

'- Σχεδιασμός του άξονα των Υ με διαιρέσεις και υποδιαιρέσεις BigTickSize = 8

SmallTickSize = 3

TimePlot.Plot.DrawWidth = 2

TimePlot.Plot.Line (XOrigin%, YOrigin%)-(XOrigin%, YOrigin% - YAxisL%) TimePlot.Plot.DrawWidth = 1

If NumSegsY% > 0 Then For J% = 0 To NumSegsY%

Temp! = (YAxisL% / NumSegsY%) * J%

Y% = YOrigin% - CInt(Temp!)

TimePlot.Plot.Line (XOrigin%, Y%)-(XOrigin% - BigTickSize, Y%) If (SubTicksY% > 0) And (J% < NumSegsY%) Then

For k% = 1 To SubTicksY%

Temp! = YAxisL% / NumSegsY% / (SubTicksY% + 1) Y% = Y% - CInt(Temp!)

TimePlot.Plot.Line (XOrigin%, Y%)-(XOrigin% - SmallTickSize, Y%) Next k%

End If Next J%

End If End Sub

Ο κώδικας της module Harmonics

'- Ηold Messages '- Κρατάει μηνύματα Dim ContMes$

'- Used Variables in the HARMONIC-MODULE

'- Μεταβλητές που χρησιμοποιούνται στο HARMONIC-MODULE Dim HarmPoints(), Real(), Imag()

Dim Xup%(), Yup%(), Ymax() Dim Ymin(), Yratio(), Xratio() Dim Yvratio(), Xvratio(), Yvmax() Dim Yvmin(), Xvup%(), Yvup%() '- Type of the Program-Parts

'- Τύποι των κομματιών του πργράμματος Const PlotRMSValue = 0

Const CalculateHarmonic = 1 Const ReplotSimulation = 2 Dim SaveListIndex As Integer

Sub DimUsedArrays(Index As Integer)

'-Store memory for the arrays used in the selected part

'-Αποθηκευμένη μνήμη για του πίνακες που χρησιμοποιούνται στο επιλεγμένο μέρος Select Case Index

Case ReplotSimulation:

Erase HarmPoints, Real, Imag, Xup%, Yup%, Ymax

ReDim HarmPoints(1024), Real(512), Imag(512) ReDim Xup%(12), Yup%(12), Ymax(12)

ReDim Ymin(12), Yratio(12), Xratio(12) ReDim Yvratio(20), Xvratio(20), Yvmax(20) ReDim Yvmin(20), Xvup%(20), Yvup%(20) Case PlotRMSValue

Erase HarmPoints, Real, Imag, Xup%, Yup%, Ymax Erase Ymin, Yratio, Xratio, Yvratio, Xvratio, Yvmax Erase Yvmin, Xvup%, Yvup%

Erase SelVarList, XTextArr, YTextArr ReDim XTextArr(40) As String ReDim YTextArr(40) As String ReDim ExperResults(25, 15) End Select

End Sub

Sub FilHarmonicsList()

'-Fill the list with the possible Variables

'-Συμπλήρωμα της λίστας με τις επιλεγμένες μεταβλητές For I% = 1 To PlotVarNum%

If PlotVarHarm%(I%) = 1 Then

CalcHarmFRM.HarmonicList.AddItem PlotVarName$(I%) End If

Next I%

'- init the Messages

ContMes$ = Matrix(Mlanguage).Sy3(2) End Sub

Sub HarmFftandift()

'- Calculation of Fast Fourier and Indverse Fast Fourier Transforms

'- Υπολογισμός του μετασχηματισμού Fourier και του αντίστροφου μετασχηματισμού 'Fourier If Ctype% = -1 Then GoTo IFT

' Fft: k% = 0

For J% = 1 To Npair% - 1 I% = 2

F2: If k% < Npair% / I% Then GoTo F1 k% = k% - Npair% / I%

I% = I% + I%

GoTo F2

F1: k% = k% + Npair% / I%

If k% <= J% Then GoTo F3

a = Real(J% + 1): Real(J% + 1) = Real(k% + 1) Real(k% + 1) = a: a = Imag(J% + 1)

Imag(J% + 1) = Imag(k% + 1): Imag(k% + 1) = a F3: Next J%

G = 0.5: P = 1

For I% = 1 To Lpower%

G = G + G: c = 1: E = 0 Q = Sqr((1 - P) / 2) * Ctype%

If I% = 1 Then P = -Sqr((1 + P) / 2) Else P = Sqr((1 + P) / 2) For R = 1 To G

For J% = R To Npair% Step G + G k% = J% + G

a = c * Real(k%) + E * Imag(k%):

b = E * Real(k%) - c * Imag(k%) Real(k%) = Real(J%) - a:

Imag(k%) = Imag(J%) + b Real(J%) = Real(J%) + a:

Imag(J%) = Imag(J%) - b

Next J%

a = E * P + c * Q:

c = c * P - E * Q:

E = a Next R Next I%

If Ctype% = -1 Then Dtype% = 10 Exit Sub End If

'- Calculation of Inverse Fourier Transform

'- Υπολογισμός του αντίστροφου μετασχηματισμού Fourier IFT: a = 4 * Atn(1) / Npair%

P = Cos(a):

Q = Ctype% * Sin(a):

a = Real(1)

Real(1) = a + Imag(1):

Imag(1) = a - Imag(1)

If Ctype% = -1 Then GoTo F5 Real(1) = Real(1) / 2:

Imag(1) = Imag(1) / 2 F5: c = Ctype%

E = 0

For J% = 2 To Npair% / 2 a = E * P + c * Q:

c = c * P - E * Q:

E = a

k% = Npair% - J% + 2 a = Real(J%) + Real(k%)

b = (Imag(J%) + Imag(k%)) * c - (Real(J%) - Real(k%)) * E U = Imag(J%) - Imag(k%)

v = (Imag(J%) + Imag(k%)) * E + (Real(J%) - Real(k%)) * c Real(J%) = (a + b) / 2: Imag(J%) = (U - v) / 2

Real(k%) = (a - b) / 2: Imag(k%) = -(U + v) / 2 Next J%

Imag(Npair% / 2 + 1) = -Imag(Npair% / 2 + 1) If Ctype% = -1 Then GoTo Fft

For J% = 1 To Npair%

Real(J%) = Real(J%) / Npair%:

Imag(J%) = Imag(J%) / Npair%

Next J%

Dtype% = 2 End Sub

Sub HarmFreqDomainScPrint() '-Print Frequency Domain on Screen '-Τύπωσε το πεδίο συχνότητας στην οθόνη HarmPrint.Show

HarmPrint.Label1.Caption = ProgramTitle$

HarmPrint.Label2.Caption = HarLabel$ + " (" + Matrix(Mlanguage).Harm(14) + ")"

HarmPrint.Label3.Caption = Matrix(Mlanguage).Harm(15) + Format(1 / (2 * TimeStep), "

##") + " [Hz]"

HarmPrint.ResultTable.ColWidth(2) = 1000 HarmPrint.ResultTable.ColWidth(3) = 1000 HarmPrint.ResultTable.ColWidth(4) = 1400 HarmPrint.ResultTable.ColWidth(5) = 1500 Call CaptionTitle

aux = 1

While Matrix(Mlanguage).Harm(aux) <> "*HarmPrint"

aux = aux + 1 Wend

HarmPrint.ResultTable.Row = 0 HarmPrint.ResultTable.Col = 0

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 4) HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 5) HarmPrint.ResultTable.Col = 2

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 6) HarmPrint.ResultTable.Col = 3

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 7) HarmPrint.ResultTable.Col = 4

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 8) HarmPrint.ResultTable.Col = 5

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 9) For I% = 2 To Npair%

LineP% = LineP% + 1

If (Abs(Real(I%)) > 0.00000001) And (Abs(Imag(I%)) > 0.00000001) Then GoTo Fps1 If (Abs(Imag(I%)) > 0.00000001) Then

Tenta = Sgn(Imag(I%)) * 90 Else

Tenta = 0 End If GoTo Fps2

Fps1: Tenta = Atn(Imag(I%) / Real(I%)) If ((Real(I%) < 0) And (Imag(I%) < 0)) Then Tenta = Tenta - 180

ElseIf (Real(I%) < 0) Then Tenta = Tenta + 180 End If

Fps2: Mg = Sqr(Real(I%) ^ 2 + Imag(I%) ^ 2) HarmPrint.ResultTable.Row = I% - 1

HarmPrint.ResultTable.Col = 0 HarmPrint.ResultTable.Text = I% - 1 HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Format((I% - 1) * (1 / (2 * Npair% * TimeStep)), "####") HarmPrint.ResultTable.Col = 2

HarmPrint.ResultTable.Text = Format(Real(I%), "#0.000") HarmPrint.ResultTable.Col = 3

HarmPrint.ResultTable.Text = Format(Imag(I%), "#0.000") HarmPrint.ResultTable.Col = 4

HarmPrint.ResultTable.Text = Format(Mg, "#0.000") HarmPrint.ResultTable.Col = 5

HarmPrint.ResultTable.Text = Format(Tenta, "###0.00") Next I%

End Sub

Sub HarmonicList_Process(SaveIndex As Integer) '-Load Time Domain Data Points of Selected Variable

'-Φόρτωσε τα σημεία του πεδίου του χρόνου της επιλεγμένης μεταβλητής Select Case Istart%

Case 1

Npair% = 2 * Npair%

Case Else Istart% = 1 End Select

HarLabel$ = CalcHarmFRM.HarmonicList.List(SaveIndex) For I% = 1 To Npair%

If Int(I% / 2) = I% / 2 Then

Call LoadHarmPoints("Imag", I%) Else

Call LoadHarmPoints("Real", I%) End If

Next I%

Dtype% = 1

Npair% = Npair% / 2:

Select Case Npair%

Case 32, 64, 128, 256, 512:

Case Else

MsgBox Matrix(Mlanguage).Harm(13), 0, Matrix(Mlanguage).Message(55) End Select

Npair1 = Npair%: I% = 0 H2: I% = I% + 1

Npair1 = Int(Npair1 / 2) If Npair1 <> 1 Then GoTo H2:

Lpower% = I%

End Sub

Sub HarmTHD()

'- Calculate THD (Total Harmonic Distortion)

'- Υπολογισμός της συνολικής αρμονικής παραμόρφωσης Yh0 = Sqr(Real(1) ^ 2 + Imag(1) ^ 2) / MaxValue

Yh1 = Sqr(Real(2) ^ 2 + Imag(2) ^ 2) / MaxValue If Yh0 < Yh1 Then

Yhd = Yh1 Else Yhd = Yh0 End If

Load HarmPrint

HarmPrint.Show NpairPlot% = Npair%

If Npair% > 64 Then NpairPlot% = 64 '- Print necessary Labels

'- Τύπωσε τις απαραίτητες ετικέτες

HarmPrint.Label1.Caption = ProgramTitle$

Text1$ = HarLabel$ + " (" + Matrix(Mlanguage).Harm(36) + ")"

HarmPrint.Label2.Caption = Text1$

b$ = Matrix(Mlanguage).Harm(21) c$ = Matrix(Mlanguage).Harm(22) d$ = Matrix(Mlanguage).Harm(23)

HarmPrint.Label3.Caption = b$ + Str(Format(TimeStep, "#.##########")) + "[sec] " + c$ + Str(Npair% * 2) + " " + d$ + Str(Format(MaxValue, "####"))

HarmPrint.Label4.Caption = Matrix(Mlanguage).Harm(24) ' --- Print the values of relatives Vn

' --- Τύπωσε τις τιμές των συγγενών Vn

HarmPrint.ResultTable.Rows = NpairPlot% + 4 HarmPrint.ResultTable.ColWidth(0) = 1300 HarmPrint.ResultTable.ColWidth(1) = 1400 HarmPrint.ResultTable.Row = 0

Call CaptionTitle aux = 1

While Matrix(Mlanguage).Harm(aux) <> "*HarmPrint"

aux = aux + 1 Wend

HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 11) HarmPrint.ResultTable.Col = 0

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 12) For I% = 1 To NpairPlot%

Yhi = Sqr(Real(I%) ^ 2 + Imag(I%) ^ 2) / MaxValue MagnVal = Yhi / Yhd

TotHD = TotHD + Yhi ^ 2 If I% > 1 Then

TotDF = TotDF + (Yhi ^ 2) / ((I% - 1) ^ 4) End If

If I% > 1 Then

HarmPrint.ResultTable.Row = I% - 1 HarmPrint.ResultTable.Col = 0 HarmPrint.ResultTable.Text = I% - 1 HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Str(Format(MagnVal * 100, "#00")) + " %"

End If

If I% > 2 And Yhi > 0.03 And LohVal = 0 Then LohVal = Yhi

LohPos = I% - 1 End If

fil = fil + 1 If fil > 20 Then fil = IniFil Col = Col + 20 End If

If Col > 70 Then Tex$ = ContMes$

Do

If INKEY$ <> "" Then Exit Do If lButton% Then Exit Do Loop

fil = IniFil Col = IniCol End If Next I%

TotHD = Sqr(TotHD - Yhd) / Yhd TotDF = Sqr(TotDF - Yh1 ^ 2) / Yhd

HarmPrint.ResultTable.Row = NpairPlot% + 1 HarmPrint.ResultTable.Col = 0

aux = 1

While Matrix(Mlanguage).Harm(aux) <> "*HarmPrint"

aux = aux + 1 Wend

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 13) HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Str(Format(TotHD, "#.######")) HarmPrint.ResultTable.Row = NpairPlot% + 2

HarmPrint.ResultTable.Col = 0

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 14)

HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Str(Format(TotDF, "#.#######")) HarmPrint.ResultTable.Row = NpairPlot% + 3

HarmPrint.ResultTable.Col = 0

HarmPrint.ResultTable.Text = Matrix(Mlanguage).Harm(aux + 15) HarmPrint.ResultTable.Col = 1

HarmPrint.ResultTable.Text = Str(Format(LohPos, "0.#")) End Sub

Sub HarmPlotMagni()

'-Plot Frequency Domain Points (Magnitudes) '-Σχεδιασμός τον πλάτους του πεδίου συχνότητας FormWidth = Screen.Width / Screen.TwipsPerPixelX Formheight = Screen.Height / Screen.TwipsPerPixelY LetYw% = 8

Dim Xup%, Yup%, Ymax, Ymin, Xratio, Yratio, Xo%, Yo%, X1%, Y1%, Iy%

Xup% = 7 + 50 Yup% = 7 + 50

XWinharT% = FormWidth - 8 * LetXw% - 14 - 50 YWinharT% = Formheight - 26 * LetYw% - 50 '- Plot Frequency Domain Points (Magnitudes) '- Σχεδιασμός τον πλάτους του πεδίου συχνότητας HarmPlot.Show

HarmPlot.Plot.Cls Ymax = 1: Ymin = 0 NpairPlot% = Npair%

If Npair% > 64 Then NpairPlot% = 64 Xratio = XWinharT% / NpairPlot%

Yratio = YWinharT% / (Ymax - Ymin)

XOrigin% = Xup%: YOrigin% = Yup% + YWinharT%

MinValueYHarm = 0: MaxValueYHarm = 1 MaxValueXHarm = NpairPlot%

XAxisL% = XWinharT%: YAxisL% = YWinharT%

SelectXVar$ = Matrix(Mlanguage).Harm(24) SelectYVar$ = HarLabel$

Xo% = Xup%

Yo% = Yup%

HarmPlot.Plot.CurrentX = Xo%

HarmPlot.Plot.CurrentY = Yo%

HarmPlot.Plot.DrawWidth = 2

HarmPlot.Plot.Line (Xo% + 4, Yo%)-(Xo% + 4, Yo% + YWinharT%) 'Drawing Y axis X1% = Xo% + 4

Y1% = Yo% + YWinharT%

HarmPlot.Plot.CurrentX = X1%

HarmPlot.Plot.CurrentY = Y1%

HarmPlot.Plot.Line (X1%, Y1%)-(X1% + XWinharT%, Y1%) 'Drawing X axis HarmPlot.Plot.DrawWidth = 1

'- Annotate Y-Axis

'- Σχολιασμός του άξονα Υ For Iy% = 0 To 20 Step 1 X% = Xup%

Y% = Yup% + ((Ymax - Ymin) / 20) * Iy% * Yratio

HarmPlot.Plot.Print Format(Yy, "#0.###") 'Y axis numbers Next Iy%

'- Annotate X-Axis

'- Σχολιασμός του άξονα Χ For Ix% = 0 To NpairPlot%

If Ix% / 4 = Int(Ix% / 4) Then Dy = 0.5

Else Dy = 0.25 End If

X% = Xup% + (XWinharT% / NpairPlot%) * Ix% + LetXw%

Y% = Yup% + Ymax * Yratio + Dy * LetYw%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y% - Dy * LetYw%) 'X axis marcs Next Ix%

Ixx% = 0

For Ix% = 0 To NpairPlot% Step 4 Ixx% = Ixx% + 1

HarmPlot.Plot.CurrentY = Yup% + YWinharT% + 2 * LetYw%

HarmPlot.Plot.CurrentX = Xup% - 2 * LetXw% + XWinharT% * (Ixx% - 1) / (NpairPlot% / 4)

HarmPlot.Plot.Print Ix%; 'X axis numbers Next Ix%

'- Draw Vertical Line for each Point

'- Σχεδιασμός κάθτετης γραμμής για κάθε σημείο X% = Xup% + LetXw%

Y% = Yup% + Ymax * Yratio HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

Y1% = Yup% + (Ymax - Real(1) / MaxValue) * Yratio HarmPlot.Plot.ForeColor = vbBlue

HarmPlot.Plot.DrawWidth = 3

HarmPlot.Plot.Line (X%, Y%)-(X%, Y1%) For I% = 2 To NpairPlot%

X% = (I% - 1) * Xratio + Xup% + LetXw%

Y% = Yratio * (Ymax - 0) + Yup%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

Y1% = Yratio * (Ymax - Sqr(Real(I%) ^ 2 + Imag(I%) ^ 2) / MaxValue) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y1%) Next I%

HarmPlot.Plot.DrawWidth = 1

X% = NpairPlot% * Xratio + Xup% + LetXw%

Y% = Yratio * Ymax + Yup%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

Y1% = Yratio * (Ymax - Imag(1) / MaxValue) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y1%) '- Print necessary Labels

'- Τύπωσε τις απαραίτητες ετικέτες b$ = Matrix(Mlanguage).Harm(21) c$ = Matrix(Mlanguage).Harm(22) d$ = Matrix(Mlanguage).Harm(23) HarmPlot.Plot.ForeColor = vbBlack

HarmPlot.Label1.Move Xup%, Yup% + YWinharT% + 8 * LetYw% 'Line under X axis HarmPlot.Plot.CurrentY = Yup% + YWinharT% + 6 * LetYw% ' Line data points

HarmPlot.Plot.CurrentX = Xup% + XWinharT% / 2

HarmPlot.Label1.Caption = b$ + Str(Format(TimeStep, "#.##########")) + "[sec] " + c$ + Str(Npair% * 2) + " " + d$ + Str(Format(MaxValue, "0,##"))

HarmPlot.Plot.Font.Bold = True

HarmPlot.Plot.Print Matrix(Mlanguage).Harm(24) HarmPlot.Plot.CurrentY = 2 * LetYw%

HarmPlot.Plot.CurrentX = Xup%

HarmPlot.Plot.Font.underline = True HarmPlot.Plot.ForeColor = vbBlue

HarmPlot.Plot.Print HarLabel$; " ("; Matrix(Mlanguage).Harm(25); ")";

HarmPlot.Plot.ForeColor = vbBlack HarmPlot.Plot.Font.underline = False HarmPlot.Plot.Font.Bold = False HarmPlot.BackBtn.Enabled = True End Sub

Sub HarmPlotPhase()

'-NOT USED in current version 6.0 -Δεν χρησιμοποιεί την τρέχουσα έκδοση 6.0 '-Plot Frequency Domain Points (Phase)

'-Σχεδιασμός των σημείων του πεδίου συχνότητας

'Τhere is no further reference in the whole project to this sub-Δεν υπάρχει καμία 'περεταίρω αναφορά σε ολόκληρο το πρόγραμμα

Dim Xup%, Yup%, Ymax, Ymin, Xratio, Yratio, Xo%, Yo%, X1%, Y1%

Load HarmPlot HarmPlot.Show HarmPlot.Plot.Cls Xup% = 8 * LetXw%

Yup% = 3 * LetYw%

XWinharT% = Xmaxclb% - 10 * LetXw%

YWinharT% = Ymaxclb% - 9 * LetYw%

Ymax = 180 Ymin = -180 NpairPlot% = Npair%

If Npair% > 64 Then NpairPlot% = 64 Xratio = XWinharT% / NpairPlot%

Yratio = YWinharT% / (Ymax - Ymin) Xo% = Xup%

Yo% = Yup%

HarmPlot.Plot.DrawWidth = 2 HarmPlot.Plot.CurrentX = Xo%

HarmPlot.Plot.Line (Xo%, Yo%)-(Xo%, Yo% + YWinharT%) X1% = Xo%

Y1% = Yup% + Ymax * Yratio HarmPlot.Plot.CurrentX = X1%

HarmPlot.Plot.CurrentY = Y1%

HarmPlot.Plot.Line (X1%, Y1%)-(X1% + XWinharT%, Y1%) HarmPlot.Plot.DrawWidth = 1

'- Annotate Y-Axis – Σχολιασμός του Y-Axis '- SubTicks on X-Axis - SubTicks στο X-Axis For Iy% = 1 To 20 Step 1

X% = Xup% - 0.5 * LetXw%

Y% = Yup% + ((Ymax - Ymin) / 20) * Iy% * Yratio HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

HarmPlot.Plot.Line (X%, Y%)-(X% + 0.5 * LetXw%, Y%)

'- Σχολιασμός του άξονα Χ X1% = Xo% + LetXw% / 2

Y1% = Yup% + (Ymax - Ymin) * Yratio + LetYw% / 3 HarmPlot.Plot.CurrentX = X1%

HarmPlot.Plot.CurrentY = Y1%

For Ix% = 0 To NpairPlot%

If Ix% / 4 = Int(Ix% / 4) Then Dy = 0.5

Else Dy = 0.25 End If

X% = Xup% + (XWinharT% / NpairPlot%) * Ix% + LetXw% / 3 Y% = Yup% + (Ymax - Ymin) * Yratio + Dy * LetYw% + LetYw% / 3 HarmPlot.Plot.CurrentX = (X%)

HarmPlot.Plot.CurrentY = (Y%)

HarmPlot.Plot.Line (X%, Y% - 10)-(X%, (Y% - Dy * LetYw%) - 10) Next Ix%

For Ix% = 0 To NpairPlot% Step 4

HarmPlot.Plot.CurrentX = ((7 + Int(64 * Ix% / NpairPlot%)) * LetXw%) + 9 HarmPlot.Plot.CurrentY = ((NLines% - 4) * LetYw%) - 25

HarmPlot.Plot.Print Ix%

Next Ix%

'- Draw Vertical Line for each Point

'- Σχεδιασμός τις κάθετης γραμμής για κάθε σημείο HarmPlot.Plot.ForeColor = vbBlue

HarmPlot.Plot.DrawWidth = 3 For I% = 2 To NpairPlot%

X% = (I% - 1) * Xratio + Xup% + LetXw% / 2 Y% = Yratio * Ymax + Yup%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

If ((Abs(Real(I%)) > 0.00000001) And (Abs(Imag(I%)) > 0.00000001)) Then Y1 = Atn(Imag(I%) / Real(I%))

If ((Real(I%) < 0) And (Imag(I%) < 0)) Then Y1 = Y1 - 3.1416

ElseIf (Real(I%) < 0) Then Y1 = Y1 + 3.1416 End If

Y1 = Y1 * 180 / 3.1416

Y2% = Yratio * (Ymax - Y1) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y2%) End If

If (Abs(Imag(I%)) > 0.00000001) Then Y1 = Sgn(Imag(I%)) * 90

Y2% = Yratio * (Ymax - Y1) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y2%) End If

Next I%

HarmPlot.Plot.ForeColor = vbBlack HarmPlot.Plot.DrawWidth = 1 '- Print necessary Labels

'- Τύπωσε τις απαραίτητες ετικέτες b$ = Matrix(Mlanguage).Harm(21) c$ = Matrix(Mlanguage).Harm(22) d$ = Matrix(Mlanguage).Harm(23) HarmPlot.Plot.CurrentX = 3 ' 2 * LetXw%

HarmPlot.Plot.CurrentY = 15 '(NLines% - 2) * LetYw%

HarmPlot.Plot.Print b$; TimeStep; c$; Npair% * 2; d$; MaxValue;

HarmPlot.Plot.CurrentX = 30 * LetXw%

HarmPlot.Plot.CurrentY = ((NLines% - 3) * LetYw%) - 25

HarmPlot.Plot.Print Matrix(Mlanguage).Harm(24);

HarmPlot.Plot.CurrentX = 35 * LetXw%

HarmPlot.Plot.CurrentY = 3 * LetYw%

HarmPlot.Plot.ForeColor = vbBlack

HarmPlot.Plot.Print Matrix(Mlanguage).Harm(27) HarmPlot.Plot.ForeColor = vbBlack

HarmPlot.BackBtn.Enabled = True End Sub

Sub HarmPlotTime() '-Plot Time Domain Points

'-Σχεδιασμός των σημείων του πεδίου χρόνου

FormWidth = Screen.Width / Screen.TwipsPerPixelX Formheight = Screen.Height / Screen.TwipsPerPixelY LetYw% = 8

Dim Xup%, Yup%, XWinhartT%, YWinhartT%, Xo%, Yo%, X1%, Y1%, X%, Y%

Dim Ymax, Ymin, Xratio, Yratio 'Dim Lin1$

HarmPlot.Show Xup% = 7 + 50 Yup% = 7 + 50

XWinharT% = FormWidth - 8 * LetXw% - 14 - 50 YWinharT% = Formheight - 26 * LetYw% - 50 Ymax = 1: Ymin = -1

XOrigin% = Xup%: YOrigin% = Yup% + YWinharT%

MinValueYHarm = Ymin: MaxValueYHarm = Ymax MaxValueXHarm = Npair% * 2

XAxisL% = XWinharT%: YAxisL% = YWinharT%

Xratio = XWinharT% / (Npair% * 2) Yratio = YWinharT% / (Ymax - Ymin) SelectXVar$ = Matrix(Mlanguage).Harm(28) SelectYVar$ = HarLabel$

Xo% = Xup%: Yo% = Yup%

HarmPlot.Plot.CurrentX = Xo%

HarmPlot.Plot.CurrentY = Yo%

HarmPlot.Plot.DrawWidth = 2

HarmPlot.Plot.Line (Xo%, Yo%)-(Xo%, Yo% + YWinharT%) 'Y axis X1% = Xo%

Y1% = Yo% + YWinharT%

HarmPlot.Plot.CurrentX = X1%

HarmPlot.Plot.CurrentY = Y1%

HarmPlot.Plot.Line (X1%, Y1%)-(X1% + XWinharT%, Y1%) 'X axis HarmPlot.Plot.DrawWidth = 1

'- Annotate Y-Axis

'- Σχολιασμός του άξονα Υ For Iy% = 0 To 20 Step 1 X% = Xup% - LetXw%

Y% = Yup% + ((Ymax - Ymin) / 20) * Iy% * Yratio HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

HarmPlot.Plot.Line (X%, Y%)-(X% + LetXw%, Y%) 'Y axis marcs Next Iy%

For Ix% = 0 To 2 * Npair% Step Npair% / 8 X% = Xup% + (XWinharT% / (2 * Npair%)) * Ix%

Y% = Yup% + (Ymax - Ymin) * Yratio + 0.5 * LetYw%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y% - 0.5 * LetYw%) 'Xaxis marcs Next Ix%

Ixx% = 0

For Ix% = 0 To 2 * Npair% Step Npair% / 8 Ixx% = Ixx% + 1

Npair2% = (Npair% / 2)

HarmPlot.Plot.CurrentY = Yup% + YWinharT% + 2 * LetYw%

HarmPlot.Plot.CurrentX = Xup% - LetXw% + XWinharT% * (Ixx% - 1) / 16 HarmPlot.Plot.Print Ix%; ' Xaxixs numbers

Next Ix%

HarmPlot.Plot.ForeColor = vbBlue '- Draw Vertical Line for each Point

'- Σχεδιασμός της κάθετης γραμμής για κάθε σημείο For I% = 1 To Npair%

X% = (2 * I% - 2) * Xratio + Xup%

Y% = Yratio * (Ymax - 0) + Yup%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

Y1% = Yratio * (Ymax - Real(I%) / MaxValue) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y1%) X% = (2 * I% - 1) * Xratio + Xup%

Y% = Yratio * (Ymax - 0) + Yup%

HarmPlot.Plot.CurrentX = X%

HarmPlot.Plot.CurrentY = Y%

Y1% = Yratio * (Ymax - Imag(I%) / MaxValue) + Yup%

HarmPlot.Plot.Line (X%, Y%)-(X%, Y1%) Next I%

'- Print necessary Labels

'- Τύπωσε τις απαραίτητες ετικέτες HarmPlot.Plot.ForeColor = vbBlack b$ = Matrix(Mlanguage).Harm(21) c$ = Matrix(Mlanguage).Harm(22) d$ = Matrix(Mlanguage).Harm(23)

HarmPlot.Label1.Move Xup%, Yup% + YWinharT% + 8 * LetYw% '15 'Line under X axis HarmPlot.Label1.Caption = b$ + Str(Format(TimeStep, "#.##########")) + "[sec] " + c$ + Str(Npair% * 2) + " " + d$ + Str(Format(MaxValue, "0,##"))

HarmPlot.Plot.Font.Bold = True ' Line data points

' Σημεία στοιχείων γραμμών

HarmPlot.Plot.CurrentY = Yup% + YWinharT% + 6 * LetYw%

HarmPlot.Plot.CurrentX = Xup% + XWinharT% / 2 HarmPlot.Plot.Print Matrix(Mlanguage).Harm(28) Select Case Dtype%

Case 1: '- Title plot Time Domain data

'- Σχεδιασμός των στοιχείων του πεδίου του χρόνου HarmPlot.Plot.CurrentY = 2 * LetYw%

HarmPlot.Plot.CurrentX = Xup%

HarmPlot.Plot.ForeColor = vbBlue HarmPlot.Plot.Font.underline = True

HarmPlot.Plot.Print HarLabel$; " ("; Matrix(Mlanguage).Harm(29); ")";

Case 10: '- Title plot Time Domain data from Inverse Fourier Transform

'- Σχεδιασμός των στοιχείων τoυ πεδίου του χρόνου από τον αντίστροφο 'μετασχηματισμό Fourier

b$ = Matrix(Mlanguage).Harm(29) c$ = Matrix(Mlanguage).Harm(30)

Documentos relacionados