frmDOG - 1 Option Explicit

frmDOG - 1 VERSION 5.00 Begin VB.Form frmDOG BorderStyle = 3 'Fixed Dialog ClientHeight = 375 ClientLeft = 5250 ClientTop = 4245 ClientWidth = 1095 ControlBox = 0 'False LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 375 ScaleWidth = 1095 ShowInTaskbar = 0 'False Begin VB.Label Label1 Alignment = 2 'Center BorderStyle = 1 'Fixed Single Caption = "D.O.G." BeginProperty Font Name = "Bookman Old Style" Size = 9.75 Charset = 0 Weight = 600 Underline = 0 'False Italic = -1 'True Strikethrough = 0 'False EndProperty Height = 375 Left = 0 TabIndex = 0 Top = 0 Width = 1095 End End

frmGrafica - 1 VERSION 5.00 Object = "{02B5E320-7292-11CF-93D5-0020AF99504A}#1.0#0"; "MSCHART.OCX" Begin VB.Form frmGrafica Caption = "Gráfica de ..." ClientHeight = 4905 ClientLeft = 315 ClientTop = 930 ClientWidth = 5745 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 4905 ScaleWidth = 5745 Begin MSChartLib.MSChart MSChart1 Height = 4695 Left = 120 TabIndex = 0 Top = 120 Width = 5535 End End

frmGridValida - 1 Dim fEntrada As String, fT As String Private Sub Anadir_Click() End Sub Private Sub Command1_Click() End Sub Private Sub Elimina_Click() On Error GoTo NoPuedo If MSFlexGrid1.Rows = 1 Then GoTo NoPuedo MSFlexGrid1.RemoveItem MSFlexGrid1.Rows Exit Sub NoPuedo: gMsg = "No se puede eliminar esta fila" gTitulo = "IMPOSIBLE" MsgBox gMsg, vbCritical + vbOKOnly, gTitulo End Sub Private Sub Form_Load() fT = Chr(9) With MSFlexGrid1 .Clear .FixedRows = 1 .FixedCols = 1 .Row = 1 .col = 1 .Rows = 1 .Cols = 3 .CellAlignment = flexAlignCenterCenter End With 'Cabecera fEntrada = " Punto " & fT & " x " & fT & " MSFlexGrid1.FormatString = fEntrada End Sub Private Sub Salir_Click() Unload frmGridValida End Sub Private Sub Text1_GotFocus() With Text1 .SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub Text2_GotFocus() With Text2 .SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub UnoMas_Click() If Text1.Text <> " " And Text2.Text <> " " Then fEntrada = Str(MSFlexGrid1.Rows) & fT & Text1.Text & _ fT & Text2.Text MSFlexGrid1.AddItem fEntrada

z

"

frmGridValida - 2 MSFlexGrid1.Refresh End If Text1.Text = " " Text2.Text = " " Text1.SetFocus End Sub

frmGridValida - 1 VERSION 5.00 Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX" Begin VB.Form frmGridValida Caption = "Form1" ClientHeight = 3225 ClientLeft = 4875 ClientTop = 930 ClientWidth = 6225 LinkTopic = "Form1" ScaleHeight = 3225 ScaleWidth = 6225 Begin VB.Frame Frame2 Caption = "Editar punto " Height = 975 Left = 3360 TabIndex = 9 Top = 1320 Width = 2775 Begin VB.TextBox Text4 Height = 285 Left = 360 TabIndex = 13 Text = "Text4" Top = 600 Width = 975 End Begin VB.TextBox Text3 Height = 285 Left = 360 TabIndex = 12 Text = "Text3" Top = 240 Width = 975 End Begin VB.Label Label4 AutoSize = -1 'True Caption = "y: " Height = 195 Left = 120 TabIndex = 11 Top = 600 Width = 165 End Begin VB.Label Label3 AutoSize = -1 'True Caption = "x: " Height = 195 Left = 120 TabIndex = 10 Top = 240 Width = 165 End End Begin VB.CommandButton Elimina Caption = "&Eliminar" Height = 255 Left = 3360 TabIndex = 8 ToolTipText = "Elimina el último punto" Top = 2400 Width = 1095 End Begin VB.Frame Frame1 Caption = "Añadir punto " Height = 1095 Left = 3360 TabIndex = 5 Top = 120 Width = 2775 Begin VB.CommandButton UnoMas Caption = "&Añadir" Height = 255 Left = 1560 TabIndex = 3

TextBox Text2 Height = Left = TabIndex = Top = Width = End Begin VB.CommandButton Salir Caption = "&Salir" Height = 375 Left = 3360 TabIndex = 4 Top = 2760 Width = 1095 End Begin MSFlexGridLib.TextBox Text1 Height = Left = TabIndex = Top = Width = End Begin VB.Label Label1 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin VB.2 ToolTipText Top Width = = = "Añade el punto indicado" 240 1095 285 360 1 600 975 285 360 0 240 975 -1 'True "z: " 195 120 7 600 165 -1 'True "x: " 195 120 6 240 165 End Begin VB.MSFlexGrid MSFlexGrid1 Height = 3015 Left = 120 TabIndex = 2 Top = 120 Width = 3135 _ExtentX = 5530 _ExtentY = 5318 _Version = 327680 Cols = 3 End End .frmGridValida .Label Label2 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.

998" & Chr(10) & _ "Beta 1. vbOKOnly + vbInformation.Enabled = True Unload frmInicial Screen.1 .1 Option Explicit Private Sub Picture1_Click() End Sub Private Sub Label5_Click() gMsg = "Beta 1.MousePointer = 0 End Sub .0 . gTitulo End Sub Private Sub Salir_Click() Screen.998" gTitulo = "VERSIONES" MsgBox gMsg.Diciembre 1.MousePointer = 11 frmMain.Verano 1.frmInicial .

Diciembre 1.1 VERSION 5.Form frmInicial ClientHeight = 2505 ClientLeft = 2265 ClientTop = 2955 ClientWidth = 7695 ControlBox = 0 'False LinkTopic = "Form1" ScaleHeight = 2505 ScaleWidth = 7695 Begin VB.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 120 TabIndex = 4 Top = 2160 Width = 765 End Begin VB.Label Label5 AutoSize = -1 'True Caption = "Beta 1.Label Label3 AutoSize = -1 'True Caption = "José María Medina Villaverde" BeginProperty Font Name = "Arial Narrow" Size = 8.CommandButton Salir Caption = "&Salir" Height = 375 Left = 6240 TabIndex = 6 Top = 1920 Visible = 0 'False Width = 1095 End Begin VB.00 Begin VB.Frame Frame1 Height = 2415 Left = 120 TabIndex = 0 Top = 0 Width = 7455 Begin VB.998" Height = 195 Left = 840 TabIndex = 5 Top = 2160 Width = 2145 End Begin VB.frmInicial .Label Label4 AutoSize = -1 'True Caption = "Versión: " BeginProperty Font Name = "MS Sans Serif" Size = 8.1/55 .25 Charset = 0 Weight = 700 Underline = 0 'False Italic = -1 'True Strikethrough = 0 'False EndProperty ForeColor = &H00008000& Height = 225 Left = 3120 TabIndex = 3 Top = 1920 Width = 1995 End Begin VB.Label Label2 Alignment = 2 'Center AutoSize = -1 'True .

Label Label1 Alignment = BorderStyle = Caption = BeginProperty Font Name Size Charset Weight Underline Italic Strikethrough EndProperty ForeColor = Height = Left = TabIndex = Top = Width = End Begin VB.frmInicial .978)" = = = = = = = "MS Sans Serif" 8.2 Caption = BeginProperty Font Name Size Charset Weight Underline Italic Strikethrough EndProperty ForeColor = Height = Left = TabIndex = Top = Width = WordWrap = End Begin VB.25 0 700 0 'False -1 'True 0 'False &H00800000& 390 3840 2 1440 2715 -1 'True 2 'Center 1 'Fixed Single "DINÁMICA DEL PERFIL DE PLAYA .Image Image1 BorderStyle = Height = Left = Picture = Stretch = Top = Width = End End End "Generalización del modelo de Battjes y Janssen (1.2" = = = = = = = "Bookman Old Style" 18 0 600 0 'False 0 'False 0 'False &H00800000& 975 3120 1 240 4215 1 'Fixed Single 1860 120 (Mapa de bits) -1 'True 240 2865 .

Enabled = True Screen.Filter = "Perfil GRAPHER (*.filename End With 'A ver si existe el archivo On Error GoTo NoExiste k = FileLen(file) Call Existe(file) If gResponse = 7 Then Exit Sub Seguir: Screen.MousePointer = 0 Exit Sub .*)|*.MousePointer = 11 f = FreeFile fila = Val(Label10. Str(gZ(fila.1) Print #f.". mDat() As Single Private Sub A_Grapher_Click() Dim f As Integer.Cls Select Case Fich. _ fila As Integer On Error GoTo Salgamos With CommonDialog1 .Enabled = True A_Grapher.dat)|*. k As Long.Caption On Error GoTo NoFile k = FileLen(file) 'Para ver si existe el archivo On Error GoTo 0 Call TipoGrd(file) Picture1.DialogTitle = "Crear archivo ASCI" .Columnas For j = 1 To Fich.CancelError = True .Clase Case Is = "DSAA" Call leeASCI(file) Case Is = "DSBB" Call LeeBinario(file) End Select Playa_Cilindrica.pro)|*. 3) = "pro" Then Print #f. X As Single.Caption) Open file For Output As #f If Right(file.frmMain .dat" .*" .dat|Archivos DPP (*.Columnas X = gDx * (j . " . j)) Next j Close #f GoTo Salgamos NoExiste: Resume Seguir Salgamos: Screen. file As String.filename = "perfil.MousePointer = 0 End Sub Private Sub Command1_Click() Dim f As Integer.1 Option Explicit Dim mTopNode As Node Private mThisControl As Control Dim mTopNodeResultados As Node Dim mCab As DatosGrd.MousePointer = 11 file = Label4.Action = 2 file = .pro|Todos los archivos (*. Str(X). _ file As String Screen. Fich.

_ X As Single .Value = gAntes End Sub Private Sub Check4_MouseDown(Button As Integer. Y As Single) Check4. X As Single. X As Single.Value End Sub Private Sub Check2_MouseUp(Button As Integer. Shift As Integer. Y As Single) gAntes = Check2. Shift As Integer. X As Single. X As Single. Y As Single) Check2. Shift As Integer.Enabled = True Call NameFile frmGridValida. Y As Single) gAntes = Check1.Value End Sub Private Sub Check3_MouseUp(Button As Integer. Shift As Integer. X As Single.Value End Sub Private Sub Check1_MouseUp(Button As Integer. Y As Single) gAntes = Check4. Shift As Integer. X As Single. Y As Single) Call Ayuda("Lee el archivo batimétrico para dibujo") End Sub Private Sub Command2_Click() Frame12.MousePointer = 0 Call NoHay End Sub Private Sub Command1_MouseMove(Button As Integer.Value = gAntes End Sub Private Sub Check3_MouseDown(Button As Integer. X As Single. Shift As Integer. Shift As Integer. Y As Single) gAntes = Check3.frmMain . Shift As Integer. Y As Single) Check3. fila As Integer.Show End Sub Private Sub Check1_MouseDown(Button As Integer. Y As Single) Check1. X As Single.Value End Sub Private Sub Check4_MouseUp(Button As Integer. Shift As Integer. X As Single.2 NoFile: Screen.Value = gAntes End Sub Private Sub Dibujo_Click() Dim f As Integer.Value = gAntes End Sub Private Sub Check2_MouseDown(Button As Integer.

Visible = True Frame9.Enabled = False Exit Sub End If f = FreeFile Picture1. " .Enabled = True End Sub Sub Disable_todo() mnuModel.Buttons(2).Enabled = False mnuResults.Buttons(1).Value = 0 Check2.Visible = False Frame6.min End Sub Private Sub Info() Select Case Check4. Y As Single) Call Ayuda("Dibuja el gráfico actual") End Sub Sub Enable_todo() mnuModel.Cls Open "dibujo.Visible = True Frame6. j)) Next j Close #f Call perfil(fila.1) Print #f.Enabled = True Toolbar2.". Str(gZ(fila.Visible = False Frame5.Visible = False End Select .Visible = True Case Else Frame10.Caption) If fila = 0 Then Dibujo.frmMain .tmp" For Output As #f For j = 1 To Fich. " ") Screen.Value = ProgressBar1.Columnas X = gDx * (j .Visible = True Frame8.Enabled = False Toolbar2. Str(X).Value = 0 ProgressBar1.Enabled = False Toolbar2.Visible = False Frame8.Enabled = False Check1.Value = 0 Check3.3 Screen.Enabled = False Toolbar3.Buttons(2).Enabled = True Toolbar2. X As Single.Visible = False Frame7. Shift As Integer.Buttons(1).Visible = False Frame9.Buttons(1).Visible = True Frame7.MousePointer = 11 Call Inicializa_Picture1 fila = Val(Label10. "frmMain".MousePointer = 0 End Sub Private Sub Dibujo_MouseMove(Button As Integer.Visible = True Frame5.Enabled = False Playa_Cilindrica.Value Case Is = 1 Frame10.

5.Add StatusBar1. . "Oleaje". 2) .Remove 1 Salir: End Sub Private Sub PopulateTreeViewResultados() Dim X As Integer.Show frmInicial. . tvwChild. "Resultados".Nodes.Add(mTopNode.Nodes.Nodes. tvwChild.Add(mTopNode.Nodes(1).Inicio Loop Call Descarga End Sub Private Sub PopulateTreeViewDatos() Dim X As Integer.Panels(4).AutoSize = sbrContents StatusBar1. tvwChild.Batimetria.4 End Sub Private Sub PillaFoco() frmMain. 1) Set Olas = TreeView2.Panels(3). 18.Add StatusBar1.Nodes.AutoSize = sbrContents StatusBar1. "proyecto". Cat As String Set mTopNode = TreeView2. 1. 5) TreeView2. 9) Set Bati = TreeView2. Cat As String Set mTopNodeResultados = TreeView1. "Calibración". 6) Set Calibra = TreeView2.Nodes.AutoSize = sbrContents StatusBar1.frmMain .ImageList = ImageList1 PopulateTreeViewDatos StatusBar1.Add(mTopNode. "Batimetría".Panels(2). . .Panels(2). 1. gProyectoNP. Final As Single. ." & Time Do Until Elapsed > 4 Final = Timer Elapsed = Final .Alignment = sbrCenter StatusBar1.Add(.Panels(1). "Perfil".Panels.Panels(1).Visible = False Text7. tvwChild.Add(mTopNodeResultados.Add(.Text = Date & " .Panels. 8. 6.Refresh End Sub Private Sub Form_GotFocus() Call PillaFoco End Sub Private Sub Form_Load() Dim Inicio As Single. .Nodes. 2) Set Perfil_R = TreeView1.Expanded = True End Sub Private Sub RemoveResultados() On Error GoTo Salir TreeView1. _ Elapsed As Single Dim clmX As ColumnHeader Inicio = Timer frmInicial.Add StatusBar1.Text = "No hay proyecto abierto" StatusBar1.Refresh TreeView2.Panels.Nodes. .

2) Set Ur = TreeView1. 9. 9. tvwChild. tvwChild. X As Single. tvwChild. 9.Nodes(6). 2) Set SU = TreeView1. tvwChild. X As Single. 2) Set D_R = TreeView1.Add(mTopNodeResultados. "Rx". "Londa. 8. "Sxy".Add(mTopNodeResultados.Add(D_R. .grd". 6.Add(E_R. 9. 2) Set SYY_R = TreeView1. "Ry".Add(mTopNodeResultados. tvwChild. 9.Nodes. tvwChild. "Db.Add(mTopNodeResultados.Nodes. Shift As Integer.Nodes.Nodes. 14.Add(R.Nodes. "E. X As Single. "Rx.grd".Nodes(1).grd". tvwChild. 4. tvwChild. 2) Set Ry_R = TreeView1.5 Set Hm_R = TreeView1.Add(D_R. 2) Set DF_R = TreeView1.Nodes. Shift As Integer.grd". 2) Set E_R = TreeView1. 5. Y As Single) Call NoXY Call Ayuda("Información sobre el proyecto") End Sub Private Sub Label4_Change() . "Fracción de olas r otas".grd". "Disipación de energía". 10. "Sxx". "Energía".Add(mTopNodeResultados. 2) Set Uorb_R = TreeView1.Nodes.Nodes(10). 2) Set Rx_R = TreeView1. "Parámetro de Ur sell". 15. "Por fricción con el fondo".grd". "CGrupo.grd".Add(mTopNodeResultados. X As Single.Expanded = False TreeView1.Nodes. tvwChild. "Fw. Y As Single) Call NoXY Call Ayuda(" ") End Sub Private Sub Frame1_MouseMove(Button As Integer. 2) Set Q_R = TreeView1. "Sxy. 13. 2) Set S_R = TreeView1. 9.Add(mTopNodeResultados. 9. tvwChild. "Longitud de ond a".Add(S_R. tvwChild. . "Qb. tvwChild.frmMain . 2) Set R = TreeView1. "Flujo transversal de energía". 2) Set SXY_R = TreeView1.Nodes. "Ry. 11.grd". tvwChild. tvwChild. "Ursell.Nodes. 9 . "Por rotura de oleaje". "Hrms.Nodes. 2 ) Set SXX_R = TreeView1. "Altura de ola máx ima". 17.Nodes. tvwChild. 2 ) Set Fw_R = TreeView1. "Tensor de radiación". "Uorb.Add(E_R. tvwChild. Shift As Integer. "Setup. "Df. tvwChild.grd".Add(DF_R.Nodes.Nodes. "Px.Add(mTopNodeResultados.Add(mTopNodeResultados.Add(mTopNodeResultados. 2) Set Px_R = TreeView1. "Velocidad orb ital". tvwChild.Nodes.Nodes. . tvwChild.grd". Shift As Integer. "Términos impulsores".grd".Add(S_R. 16.grd". "Sxx.Nodes. 9. "Celeridad de grupo". "Py. "Syy". 2) Set Py_R = TreeView1. "Flujo longitudinal de energía".Expanded = True TreeView1.Add(S_R. 2) Set L_R = TreeView1. 2) Set Cg_R = TreeView1.grd". 2) Set Hrms_R = TreeView1.grd". "Parámetro de fricción con el fo ndo". "Syy.grd".Nodes.Nodes.grd". "Altura de ola Hrms". 3.Add(R. Y As Single) Call NoXY End Sub Private Sub Frame1_MouseUp(Button As Integer.Nodes.Add(mTopNodeResultados.Add(mTopNodeResultados. "Hm.grd".grd". 2) TreeView1. tvwChild.Nodes. "Set-up". 9. Y As Single) If Button = vbRightButton Then Set mThisControl = Frame1 PopupMenu mnuHelp End If Set mThisControl = Nothing End Sub Private Sub Frame3_MouseMove(Button As Integer.grd".Nodes. tvwChild. 2) Set DR_R = TreeView1.Expanded = False End Sub Private Sub Form_MouseMove(Button As Integer. tvwChild.

Nodes. num As Integer.SelectedItem.Text = "proyecto" Call LimpiaTexto1 Call RemoveResultados Call NoProyectoStatus Call Disable_todo End Sub Private Sub mnuFileCrearCalibracion_Click() Screen.6 Command1.Key <> "" Then TreeView2. _ max As Integer 'Asegurar que se desea eliminar los archivos de resultados gMsg = "No podrá recuperarlos" & Chr(10) & "¿Está seguro?" gTitulo = "ELIMINAR RESULTADOS" gResponse = MsgBox(gMsg.Show frmMain.Enabled = False Screen.Caption ProgressBar2.Enabled = False Screen.MousePointer = 0 End Sub Private Sub mnuFileEliminarResutados_Click() Dim f As Integer.Value = ProgressBar2.Count To 1 Step -1 If TreeView2.SelectedItem." & Time End Sub Private Sub mnuEditEliminaActual_Click() Dim nodo As Integer On Error GoTo Salir nodo = TreeView2.Nodes(i).MousePointer = 0 End Sub Private Sub mnuFileCrearOleaje_Click() Screen.Nodes.MousePointer = 11 frmParametros. gTitulo) If gResponse = 7 Then Exit Sub LimpiaTexto1 RemoveResultados NoProyectoStatus Disable_todo .frmMain .Show frmMain.min End Sub Private Sub Label7_Click() Text7.Key <> "" Then TreeView2.Text = Date & " .Remove nodo TreeView2.Remove i End If Next i TreeView2. a As String.Index If TreeView2.Nodes.Text = "proyecto" End If Call Call Call Call Salir: End Sub Private Sub mnuEditEliminaTodos_Click() For i = TreeView2.Nodes(1).MousePointer = 11 frmOlas.Caption = "&Leer " & Label4.Nodes(1). vbQuestion + vbYesNo + vbDefaultButton1.

res)|*.res|Todos los archivos (*. canal) frmMain. Ficheros. 0) canal = FreeFile Open file For Binary As #canal f = FreeFile On Error GoTo NoFile frmMain.Filter = "Resultados (*.grd") Call WriteBin(file. vbInformation + vbOKOnly.Value = 2 k = FileLen("Cgrupo.Value = 3 k = FileLen("Hm.grd") Call WriteBin(file.Value = 4 k = FileLen("Hrms.7 max = 21 Call Inicializa_Picture1 Call LaSonda_Inicio("ELIMINANDO ARCHIVOS".dat".CancelError = True . max. canal) frmMain.Action = 1 file = .ProgressBar1. 0) f = FreeFile On Error GoTo NoLista Open "listaResult.frmMain .ProgressBar1.grd") Call LeerBin("Londa.ProgressBar1.DialogTitle = "Exportar archivo de resultados" .*" .ProgressBar1. max) Fin: Call LaSonda_Final Exit Sub NoLista: gMsg = "No hay lista de resultados" & Chr(10) & _ "No se pueden eliminar los archivos" gTitulo = "FALTAN DATOS" MsgBox gMsg.FileTitle End With On Error GoTo NoExiste k = FileLen(file) On Error GoTo 0 kk: If gResponse = 7 Then Exit Sub sigue: Kill (file) Call LaSonda_Inicio("GRABANDO ARCHIVO DE RESULTADOS". num) Loop Close #f Call Elimina("listaResult.grd") Call WriteBin(file.grd") Call LeerBin("Hrms.grd") Call WriteBin(file. _ f As Integer.Value = 1 k = FileLen("Londa. a Call Elimina(a. canal) frmMain. Ficheros As Integer.grd") Call LeerBin("Hm.*)|*. _ File1 As String Ficheros = 14 On Error GoTo Salida With CommonDialog1 .dat" For Input As #f Do While Not EOF(f) num = num + 1 Input #f.ProgressBar1. canal) frmMain. canal As Integer.grd") Call LeerBin("Cgrupo.filename File1 = . gTitulo Resume Fin End Sub Private Sub mnuFileExportarResultados_Click() Dim file As String.Value = 5 .

mCab.grd") Call WriteBin(file.MaxZ i = 1 To mCab.frmMain .grd") Call WriteBin(file.Value k = FileLen("Uorb. . canal) frmMain.ProgressBar1. canal) frmMain. j) Next j Next i . mCab.Value On Error GoTo 0 = 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 Call LaSonda_Final Unload frmSonda Exit Sub NoExiste: gTitulo = "¡¡ATENCIÓN!!" gMsg = "El archivo " & File1 & " existe" & Chr(10) & _ "¿Sobreescribo?" gResponse = MsgBox(gMsg. canal) frmMain.8 k = FileLen("Qb.ProgressBar1.ProgressBar1. . canal) frmMain.Value k = FileLen("Sxy. canal) frmMain.MinY #canal.grd") Call WriteBin(file.grd") Call WriteBin(file. mCab.grd") Call WriteBin(file. vbQuestion + vbYesNo + vbDefaultButton1. canal) frmMain.ProgressBar1.Value k = FileLen("Df. canal) frmMain.Value k = FileLen("Sxx.grd") Call LeerBin("E.grd") Call LeerBin("Db.Minz #canal. .grd") Call WriteBin(file.Value k = FileLen("Db. canal) frmMain.Columnas Put #canal.grd") Call LeerBin("Sxy.grd") Call LeerBin("Sxx.ProgressBar1. mCab. .ProgressBar1.filas For j = 1 To mCab.grd") Call LeerBin("Syy.Value k = FileLen("Syy. .ProgressBar1.Value k = FileLen("Ursell. mCab. mDat(i.MaxY #canal.grd") Call WriteBin(file. gTitulo Salida: End Sub Sub WriteBin(file As String. .MinX #canal.grd") Call LeerBin("Ursell.ProgressBar1. gTitulo) Resume kk NoFile: gTitulo = "ERROR DE LECTURA" gMsg = "No existe un archivo" MsgBox gMsg.MaxX #canal.grd") Call WriteBin(file. .ProgressBar1. canal As Integer) Put Put Put Put Put Put Put Put Put For #canal.grd") Call LeerBin("Qb.Columnas #canal. .grd") Call LeerBin("Uorb. .filas #canal.grd") Call LeerBin("Df. vbCritical + vbOKOnly.grd") Call WriteBin(file. "DSBB" #canal. canal) frmMain. mCab. .Value k = FileLen("E. mCab. mCab.

MinY mCab. .Calibracion. .Refresh 'Barra de estado StatusBar1. gProyecto. 7. mDat(i.i.MaxX mCab.Batimetria.Refresh f = FreeFile Open gProyecto.Oleaje Input #f. tvwChild. Get #f. . .Minz mCab. . "C".Panels(3). 7.Add Olas.Panels(3). gProyecto. Get #f.Nodes.filas For j = 1 To mCab.MaxZ ReDim mDat(1 To mCab.Nodes(i).MinX mCab.Refresh gProyecto. i . Get #f. a As String Call mnuEditEliminaTodos_Click On Error GoTo SalirOpen If gProyectoLista = "" Then With CommonDialog1 . tvwChild. Get #f.Calibracion Close #1 i = 0 Do While a <> "###BOT_TEXT###quot; a = Mid(gProyecto.Clase mCab. 1) i = i + 1 Loop gProyectoNP.filename gProyectoNP.Batimetria. Get #f.FileTitle End With End If frmMain. _ largo As Integer.filas mCab.1) TreeView2. lon As Integer.9 End Sub Sub LeerBin(file As String) Dim f As Integer f = FreeFile Open file Get #f.Batimetria) . Get #f.Batimetria Input #f. 7 TreeView2.Panels(2). 7 For i = 1 To 4 TreeView2.Text = "Proyecto abierto" StatusBar1. gProyecto. "B".Action = 1 frmMain. gProyecto.Add Calibra.Columnas) As Single For i = 1 To mCab.Nodes(1).dpp" .frmMain . Len(gProyecto.Nodes.Columnas Get #f. st As String.MaxY mCab. j) Next j Next i Close #f End Sub Private Sub mnuFileOpenAbrir_Click() Dim f As Integer. Get #f.Nodes.FileTitle Call mnuEditEliminaTodos_Click TreeView2.Batimetria.CancelError = True . filedat As String. . . gProyecto.Nombre = .Refresh TreeView2.Text = . 7. file As String.Nombre For Input As #f Input #f. tvwChild.filas.Columnas mCab.Oleaje. 1 To mCab. For Binary As #f mCab.Filter = "Proyecto (*.Visible = True StatusBar1.Batimetria = Right(gProyecto.dpp)|*. .Add Bati. "D". Get #f. . 7 TreeView2.AutoSize = sbrContents .Nombre = . .Expanded = True Next i TreeView2.DialogTitle = "Importar archivo de proyecto" . gProyecto.

Nombre Call Herramientas Call Enable_todo file = gProyecto. st Text5.Nombre largo = Len(file) .Text = st Close #f Exit Sub Text8.Enabled = False VScroll1. st Text7. _ FileNombre As String If TreeView2.min = 0 VScroll1.Text = "" Frame2.Text = st Input #f.Caption = "" Label6.Panels(3).Value = 1 End Sub Private Sub mnuFileOpenExportar_Click() Dim f As Integer.Caption = "" Label18.Nodes(1).Panels(3).Caption = "" Label15.Text = gProyectoNP.Enabled = False A_Grapher.Enabled = False MSChart1.Text = "" Text6.Visible = False Playa_Cilindrica.Text = "No hay proyecto abierto" StatusBar1.frmMain . st Text6.ProgressBar2.Text = st Input #f.Text = "Proyecto" Then gMsg = "No hay proyecto completo" & Chr(10) gMsg = gMsg & "Seleccione el componente que falta" & Chr(10) gMsg = gMsg & "y de nombre al proyecto" gTitulo = "PROYECTO INCOMPLETO" .SetFocus nodat: Close #f Frame2. file As String.Visible = False Picture1.Caption = "" Label17. st Text8.Caption = "Datos del proyecto" StatusBar1.max = 0 frmMain.Caption = "" Label16.txt" f = FreeFile On Error GoTo nodat Open filedat For Input As #f Input #f.Text = "" Text5.Panels(2).Cls Label4.3 filedat = Left(file.Caption = "" Label5.Caption = "" Label26.Text = st Input #f. filedat As String.Caption = "" Dibujo.Caption = "" Label10. largo) + ".10 StatusBar1.Text = "" Text7.Caption = "No hay datos" Exit Sub SalirOpen: End Sub Private Sub LimpiaTexto1() Text8.

Filter = "Proyecto (*.FileTitle If Right(file. Len(FileNombre) . (Len(file) .filename gProyectoNP.Oleaje.grd)|*.filename = TreeView2.Nodes(1).FileTitle TreeView2. 3) Case Is = "grd".Nodes. TreeView2.Filter = "Batimetría (*.DialogTitle = "Exportar archivo de proyecto" .dpp" .Batimetria.Nodes(i). 7.ola)|*.filename. 3) <> "dpp" And Right(file.Add Olas.txt" On Error GoTo NoExiste k = FileLen(file) Call Existe(file) If gResponse = 7 Then Exit Sub sigue: FileNombre = Left(FileNombre.Batimetria = CommonDialog1. vbInformation + vbOKOnly + vbDefaultButton1. 3) <> "DPP" Then file = file + ". Text6. 7 Case Is = "cal".ola|Calibración (*.dpp" filedat = Left(file.cal" . "CAL" gProyecto. gTitulo Exit Sub Else On Error GoTo sale With CommonDialog1 .Text Close #f End If GoTo sale NoExiste: Resume sigue sale: End Sub Private Sub mnuFileOpenImportar_Click() Dim codigo As Single On Error GoTo SalirImport With CommonDialog1 .cal)|*. gProyecto. Text8. 7 TreeView2.DialogTitle = "Importar archivo de datos" .Add Bati.Action = 1 End With On Error GoTo Captura2 gZonaError = "Importar dato" Select Case Right(CommonDialog1.Refresh Call Herramientas Case Is = "ola".CancelError = True . Text7. "C".Calibracion = CommonDialog1.Oleaje = CommonDialog1. "B".FileTitle TreeView2.filename FileNombre = CommonDialog1. Text5.Text = FileNombre TreeView2.frmMain . 7.CancelError = True .filename gProyectoNP.dpp)|*.Text Print #f.Text .Refresh Open file For Output As #f For i = 5 To 7 Print #f. tvwChild. tvwChild.11 MsgBox gMsg.Text Next i Close #f f = FreeFile Open filedat For Output As #f Print #f.3)) + ".Batimetria = CommonDialog1.Text Print #f.4) TreeView2. "OLA" gProyecto.filename .Nodes(1).Nodes.Action = 2 End With f = FreeFile file = CommonDialog1.Text Print #f.grd|Oleaje (*. gProyecto. "GRD" gProyecto.Oleaje = CommonDialog1.

Number gZonaError = "Importando dato" Call errores(codigo) SalirImport: Screen.MousePointer = 0 End Sub Private Sub mnuFileOpenNuevo_Click() Call mnuEditEliminaTodos_Click Call Disable_todo End Sub Sub NoProyectoStatus() StatusBar1.Panels(3).Panels(3).Show End Sub Private Sub mnuResults_Click() frmResultados.Calibracion.Visible = False StatusBar1.MousePointer = 0 frmMain.Panels(3). vbQuestion + vbYesNo + vbDefaultButton1.Expanded = True Next i GoTo SalirImport Captura2: codigo = Err.Text = "" End Sub Private Sub mnuFileOpenResultados_Click() Call NoImplementado End Sub Private Sub mnuFileOpenSalir_Click() Dim Inicio As Single.Inicio Loop Unload frmDOG End End Sub Private Sub mnuPerfilesUniformidad_Click() frmUniform. _ Elap As Single gMsg = "¿Desea salir del programa?" gTitulo = "SALIDA" gResponse = MsgBox(gMsg.Nodes(i). Final As Single.Add Calibra.Show frmDOG. 7 End Select On Error GoTo 0 For i = 1 To 4 TreeView2.Nodes. "D". 7.AutoSize = sbrContents StatusBar1.frmMain . tvwChild.5 Final = Timer Elap = Final .12 gProyectoNP.Show End Sub .FileTitle TreeView2.Text = "No hay proyecto" StatusBar1.Panels(2).Calibracion = CommonDialog1.Visible = False frmDOG.Refresh Inicio = Timer Do While Elap < 0. gTitulo) If gResponse = 7 Then Exit Sub Close Screen. gProyecto.

Caption = gFileVal End Sub Private Sub Text2_LostFocus() If Text2.val" Then gFileVal = gFileVal & ".Checked = False Check4. Cancel As Integer) frmGrafica.Show End Sub Private Sub MSChart3_ChartSelected(MouseFlags As Integer.MSChart1 = gChart2 frmGrafica. 4) <> ". vbCritical + vbOKOnly. Cancel As Integer) frmGrafica. gTitulo Text2.Caption = "Gráfica de Qb" frmGrafica.Caption = "Perfil (Fila 1)" frmGrafica.Checked = True Check4.Button) Select Case Button.SelLength = Len(.Value = 0 Else mnuVerInfo.Value = 1 End If Call Info End Sub Private Sub MSChart2_ChartSelected(MouseFlags As Integer.Text = " " Then gMsg = "No ha dado nombre al archivo de puntos" gTitulo = "ERROR" MsgBox gMsg.frmMain .Show End Sub Private Sub Text2_GotFocus() With Text2 .MSChart1 = gChart3 frmGrafica.13 Private Sub mnuVerInfo_Click() If mnuVerInfo.SetFocus Exit Sub End If Call NameFile End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.SelStart = 0 End With Call NameFile End Sub Private Sub NameFile() gFileVal = Text2.Checked = True Then mnuVerInfo.Show End Sub Private Sub MSChart4_ChartSelected(MouseFlags As Integer.val" frmGridValida.Caption = "Gráfica de Hrms" frmGrafica.MSChart1 = gChart4 frmGrafica.Text) .Text If Right(gFileVal.Key Case Is = "Abrir" Call mnuFileOpenAbrir_Click Case Is = "Oleaje" Call mnuFileCrearOleaje_Click . Cancel As Integer) frmGrafica.

3) <> "cal" And _ Right(gProyecto. _ fNo As Integer.ShowPrinter CommonDialog1.Visible = True frmMain.Caption = Button End Sub Private Sub mnuHelp1Acercade_Click() Screen.Caption = gProyectoNP.Calibracion & Chr(10) & _ "no es de calibración.Batimetria.Batimetria.Enabled = False Screen. 3) <> "CAL" Then gMsg = "El archivo" & Chr(10) & _ gProyecto. Final As Single.Oleaje & Chr(10) & _ "no es de oleaje. fileList As Integer. fLo As Integer. gTitulo Exit Sub End If If Right(gProyecto.Oleaje. vbCritical + vbOKOnly. vbCritical + vbOKOnly.MousePointer = 0 End Sub Private Sub mnuHelpQuees_Click() mThisControl. _ Elapsed As Single Dim file As String.Show frmInicial. 3) <> "GRD" Then gMsg = "El archivo" & Chr(10) & _ gProyecto. gTitulo Exit Sub End If 'Se procede a modelizar Frame8. _ .Oleaje.Action = 5 Case Is = "Salir" Call mnuFileOpenSalir_Click End Select Label1.Salir.Calibracion. " & Chr(10) & Chr(10) & _ "No se puede seguir adelante" MsgBox gMsg.ShowWhatsThis End Sub Private Sub mnuModel_Click() 'Rutina de control que utiliza las subrutinas contenidas en los _ módulos 3. " & Chr(10) & Chr(10) & _ "No se puede seguir adelante" MsgBox gMsg. 4 y 5 'Chequeo de los datos previo a la modelización gTitulo = "ERROR EN LOS DATOS" If Right(gProyecto. gTitulo Exit Sub End If If Right(gProyecto. 3) <> "grd" And _ Right(gProyecto.frmMain .14 Case Is = "Calibracion" Call mnuFileCrearCalibracion_Click Case Is = "Impresoras" 'CommonDialog1. 3) <> "ola" And _ Right(gProyecto. vbCritical + vbOKOnly.MousePointer = 11 frmInicial. 3) <> "OLA" Then gMsg = "El archivo" & Chr(10) & _ gProyecto. " & Chr(10) & Chr(10) & _ "No se puede seguir adelante" MsgBox gMsg.Calibracion.Caption = gProyectoNP.Nombre Frame10.Batimetria & Chr(10) & _ "no es batimétrico.Nombre Dim Inicio As Single.

MinHm As Double. _ MaxSxx As Double. _ MaxE As Double. fE As Integer. fRy As Integer. _ file_Rx As String.Refresh . file_SU As String. _ fSxy As Integer. MinFw As Double Dim f As Integer Inicio = Timer 'INICIALIZAR VALORES EXTREMOS MaxNO = -1E+32: MinNO = -MaxNO MaxL = MaxNO: MinL = MinNO MaxOB = MaxNO: MinOB = MinNO MaxHm = MaxNO: MinHm = MinNO MaxQb = MaxNO: MinQb = MinNO MaxUorb = MaxNO: MinUorb = MinNO MaxDb = MaxNO: MinDb = MinNO MaxDf = MaxNO: MinDf = MinNO MaxE = MaxNO: MinE = MinNO MaxPx = MaxNO: MinPx = MinNO MaxPy = MaxNO: MinPy = MinNO MaxHrms = MaxNO: MinHrms = MinNO MaxSxx = MaxNO: MinSxx = MinNO MaxSxy = MaxNO: MinSxy = MinNO MaxSyy = MaxNO: MinSyy = MinNO MaxUr = MaxNO: MinUr = MinNO MaxSU = MaxNO: MinSU = MinNO MaxRx = MaxNO: MinRx = MinNO MaxRy = MaxNO: MinRy = MinNO MaxFw = MaxNO: MinFw = MinNO Call Ayuda("Modelizando según Battjes y Janssen (1. _ fUr As Integer. _ MaxSxy As Double. MinSyy As Double. file_Sxx As String. MinRx As Double. FQb As Integer. _ MaxHrms As Double. _ file_Uorb As String. MinSU As Double. MinQb As Double. _ MaxUorb As Double. _ fHrms As Integer. file_Ry As String. _ MaxUr As Double. _ file_Hm As String. MinDb As Double. fPy As Integer. _ MaxSyy As Double. MinHrms As Double. _ MaxPy As Double. file_Py As String. fSU As Integer. MinUr As Double. MinPy As Double. _ MaxRy As Double. _ MaxHm As Double. MinSxy As Double. _ MaxCG As Double. MinNO As Double. _ file_Hrms As String. fSyy As Integer. file_Df As String. fDf As Integer. _ MaxSU As Double. _ MaxL As Double. _ MaxPx As Double. _ fFw As Integer Dim file_k As String. _ fDb As Integer. MinSxx As Double. file_Syy As String. _ file_CG As String. MinE As Double. MinPx As Double. MinCG As Double. fSxx As Integer. MinOB As Double. _ MaxQb As Double. file_Qb As String. MinDf As Double. _ MaxRx As Double. _ fHm As Integer.15 fCg As Integer. _ MaxFw As Double.978)") StatusBar1. file_OB As String. _ MaxOB As Double. _ file_Px As String. MinRy As Double. _ MaxDb As Double. fOb As Integer. _ file_Ur As String. MinUorb As Double. _ fRx As Integer. _ fPx As Integer. file_L As String. _ file_fw As String Dim MaxNO As Double. _ MaxDf As Double. _ fUorb As Integer. file_E As String.frmMain . _ file_Db As String. _ file_Sxy As String. MinL As Double.

" & Chr(10) & _ "De esta forma no se disipará energía" & Chr(10) & _ "por fricción con el fondo. 2) = gTpo On Error GoTo Captura 'CÁLCULO DE LA LONGITUD DE ONDA Y DEL NÚMERO DE ONDA gZonaError = "Ecuación de dispersión" Call LaSonda_Inicio("LONGITUD DE ONDA". Fich. j) = 0 gL(i.frmMain . 0) For i = 1 To Fich.Value = i For j = 1 To Fich.Clase = "DSAA" Then Call leeASCI(file) Else LeeBinario (file) Call Dimensionar(Fich.filas frmMain.7. 1) = "Lect" gChart(1.Nodes(5) file = gProyecto. j) If gL(i.Columnas) Call Datos_Iniciales Call LeeCalibra(gProyecto.16 ReDim gChart(1 To 6.ProgressBar1. " & Chr(10) & _ "De esta forma no se disipará energía" & Chr(10) & _ "por rotura de oleaje.3 gMsg = "El valor usual del coeficiente" & Chr(10) & _ "de rotura es 1. Usted ha tomado " & Str(gAlfa) & ".Visible = False MSChart4. Fich. j) = 0 ' . j) = 2 * pi / gL(i." & Chr(10) & Chr(10) & _ "¿Está de acuerdo?" GoSub MeMarcho End If 'Se continúa modelizando On Error GoTo 0 gChart(1." & Chr(10) & Chr(10) & _ "¿Está de acuerdo?" GoSub MeMarcho Case Is < 0. se da un aviso Select Case gAlfa Case Is = 0 gMsg = "El valor del coeficiente de rotura" & Chr(10) & _ "escogido es nulo.Visible = False MSChart3. Fich. .Clase Close #f If Fich.filas.Cls On Error GoTo Salida gProyecto. 0) Open file For Binary As #f Get #f. j) = 0 End If Else gNO(i. j) Else gNO(i.Batimetria = TreeView2." & Chr(10) & _ Chr(10) & "¿Está de acuerdo?" GoSub MeMarcho Case Else End Select If gKf = 0 Then gMsg = "El valor del coeficiente corrector" & Chr(10) & _ "de fricción escogido es nulo. Fich.filas. 1 To 2) As Variant MSChart2.Visible = False 'LECTURA DE DATOS gModela = 1 Call RemoveResultados Call Inicializa_Picture1 Picture1. j) <> 0 Then gNO(i.Batimetria f = FreeFile Call LaSonda_Inicio("LECTURA DE DATOS".Calibracion) Call LaSonda_Final 'Si los coeficientes tienen valores poco usuales.filas. j) < gDmin Then Call LOnda(i.Columnas If gZ(i. Is > 1.

j . 2) = gTpo 'CÁLCULO DE LA CELERIDAD DE GRUPO gZonaError = "Celeridad de grupo" Call LaSonda_Inicio("CELERIDAD DE GRUPO". j) < gDmin Then Call Alfa(i. MinNO) Call ValoresExtremos(gL(i. " & Str(j) & ")" Call Db(i. MaxCG.filas. MaxSxy. " & Str(j) & ")" Call Hm_Miche(i.ProgressBar1. 1). MinCG) Next j Next i Call LaSonda_Final gChart(3. MaxSxx. MaxNO. j) < gDmin Then Call Cg(i. MinSU) Call ValoresExtremos(gE(i. Fich. 1) = 0 Call TensorRadiacion(i.filas. MaxSU. 1) = "Ob" gChart(4. j). 1). j) = 0 End If Call ValoresExtremos(gOb(i.filas frmMain.1) gZonaError = "Pérdidas de energía por fricción en (" & Str(i) & ". j).Columnas If gZ(i. j) gOb(i. 1) Call ValoresExtremos(gSU(i. j . 1). j . 0) Call SnellInicial For i = 1 To Fich. MaxE.filas. j).Columnas If gZ(i.17 End If Call ValoresExtremos(gNO(i. " & Str(j) & ")" Call U_orb(i.Value = i gSU(i. MinOB) Next j Next i Call LaSonda_Final gChart(4. j). 1).ProgressBar1. MinHrms) Call ValoresExtremos(gSxx(i.filas frmMain. j .filas frmMain.1) gZonaError = "Fracción de olas rotas en (" & Str(i) & ". 0) For i = 1 To Fich.1) . 1) = "Cg" gChart(3.Value = i For j = 2 To Fich. 1). 2) = gTpo 'TRANSFORMACIÓN DE OLEAJE gZonaError = "Transformación de oleaje" Call LaSonda_Inicio("TRANSFORMACIÓN DE OLEAJE". 0) For i = 1 To Fich. MinSyy) For j = 2 To Fich. j) Else gCg(i. MaxSyy. 2) = gTpo 'CÁLCULO DE LA OBLICUIDAD gZonaError = "Oblicuidad" Call LaSonda_Inicio("OBLICUIDAD". MaxL.1) gZonaError = "Pérdidas de energía por rotura en (" & Str(i) & ". MinSxx) Call ValoresExtremos(gSxy(i. MaxOB. " & Str(j) & ")" Call Df(i. MaxHrms. Fich. j . j) < gDmin Then gZonaError = "Altura de ola de Miche en (" & Str(i) & ".frmMain . " & Str(j) & ")" Call Qb(i. 1).Value = i For j = 1 To Fich.ProgressBar1. MinL) Next j Next i Call LaSonda_Final gChart(2. j) * 180 / pi Else gOb(i.Columnas If gZ(i. j) = 0 End If Call ValoresExtremos(gCg(i.1) gZonaError = "Velocidad orbital en (" & Str(i) & ". Fich. MinE) Call ValoresExtremos(gHrms(i. MinSxy) Call ValoresExtremos(gSyy(i. j) = gOb(i. 1) = "L" gChart(2.

grd" file_Hm = "Hm. MinSU) Call ValoresExtremos(gPx(i.1). j .1) = gQb(i. MaxDf.1). j).grd" file_L = "LOnda. MinFw) Call ValoresExtremos(gDf(i.1). j . j) Else gHm(i. MaxSxx.1). MaxSxy. MaxSU.2) gDb(i.O. j . MaxRx. MinRx) Call ValoresExtremos(gRy(i. j) = 0 gSyy(i. MinHm) Call ValoresExtremos(gUorb(i. j . 1) = "T.1) = gDf(i. MinSyy) Call ValoresExtremos(gUr(i. 2) = gTpo 'ESCRITURA DE LOS ARCHIVOS DE RESULTADOS gZonaError = "Escritura de resultados" file_k = "NOnda. j). j) = 0 gRy(i. j .Columnas Then gQb(i.grd" file_Df = "Df.1). j). j) = 0 gHrms(i.grd" file_Db = "Db. j .grd" file_fw = "fw. j) = 0 gUr(i. j) gZonaError = "Set-Up en (" & Str(i) & ".grd" file_Px = "Px.1). j).grd" file_Syy = "Syy. MaxPy. MaxFw." gChart(5. MaxUorb. j). MaxQb. MinSxx) Call ValoresExtremos(gSxy(i. " & Str(j) & ")" Call Corrientes(i. j) gZonaError = "Parámetro de Ursell en (" & Str(i) & ". MinDb) Call ValoresExtremos(gE(i. MaxSyy. j) gZonaError = "Circulación en (" & Str(i) & ". j) gZonaError = "Altura de ola Hrms en (" & Str(i) & ". j . MinSxy) Call ValoresExtremos(gSyy(i. j . MinDf) Call ValoresExtremos(gDb(i. j .grd" file_Sxy = "Sxy. MinUr) Call ValoresExtremos(gSU(i.grd" . j) gZonaError = "Tensor de radiación en (" & Str(i) & ". j . " & Str(j) & ")" Call Ursell(i. j . j) = gSU(i. j . j). " & Str(j) & ")" Call SetUp(i. MinQb) Call ValoresExtremos(gFw(i. MaxRy. j . MinHrms) Call ValoresExtremos(gSxx(i. " & Str(j) & ")" Call Hrms(i. j) = gQb(i. MinPx) Call ValoresExtremos(gPy(i.grd" file_Sxx = "Sxx. j) = 0 gSxx(i. MinUorb) Call ValoresExtremos(gQb(i.2) gE(i. MaxE.grd" file_Ur = "Ursell.18 gZonaError = "Energía del oleaje en (" & Str(i) & ". j). j). j) = 0 gSxy(i. j .1).1) = gDb(i.grd" file_Py = "Py.2) gDf(i. j) = 0 End If If j = Fich.grd" file_Uorb = "Uorb. MaxHm.grd" file_Qb = "Qb.1) = 0 gQb(i. MaxHrms. MaxDb.grd" file_E = "E.1) gRx(i. MinRy) Next j Next i Call LaSonda_Final gChart(5.grd" file_Hrms = "Hrms.1) End If Call ValoresExtremos(gHm(i.frmMain . j). j) = 0 gSU(i. j .1). MinPy) Call ValoresExtremos(gRx(i.grd" file_CG = "CGrupo. " & Str(j) & ")" Call TensorRadiacion(i. j . " & Str(j) & ")" Call Energia(i.grd" file_OB = "Oblic. j . j . MinE) Call ValoresExtremos(gHrms(i. MaxPx.1) = 0 gUorb(i. MaxUr.

grd" file_Ry = "Ry. MaxDb) fE = FreeFile Call Escribe_Cabecera_ASCI(file_E. MinOB. file_Uorb Print #fileList. MaxFw) fDf = FreeFile Call Escribe_Cabecera_ASCI(file_Df. MaxUr) fSU = FreeFile . MinDf. fUorb. file_Hrms Print #fileList. file_OB Print #fileList. file_Df Print #fileList. MaxSxx) fSxy = FreeFile Call Escribe_Cabecera_ASCI(file_Sxy.MousePointer = 11 'Impresión de la lista de archivos de resultados fileList = FreeFile Open "ListaResult. MinUorb. fE. MinFw.filas. 0) fNo = FreeFile Call Escribe_Cabecera_ASCI(file_k.grd" Screen. MinUr. MaxNO) fLo = FreeFile Call Escribe_Cabecera_ASCI(file_L. file_k Print #fileList. MaxOB) fHm = FreeFile Call Escribe_Cabecera_ASCI(file_Hm. MaxDf) fDb = FreeFile Call Escribe_Cabecera_ASCI(file_Db. fPy. fOb. MinHm. fHrms. MinSyy. MinSxx. file_CG Print #fileList. MinHrms. fSxy. file_Qb Print #fileList. MaxPx) fPy = FreeFile Call Escribe_Cabecera_ASCI(file_Py. fSxx. file_Ry Close fileList Select Case gTipo Case Is = "DSAA" 'Escribe ficheros ASCI Call LaSonda_Inicio("ESCRITURA . file_Px Print #fileList. MinSxy. file_Sxx Print #fileList. MaxSyy) fUr = FreeFile Call Escribe_Cabecera_ASCI(file_Ur.Formato ASCI". MinPy. file_E Print #fileList. MaxPy) fHrms = FreeFile Call Escribe_Cabecera_ASCI(file_Hrms. MaxHm) FQb = FreeFile Call Escribe_Cabecera_ASCI(file_Qb. FQb. MaxHrms) fSxx = FreeFile Call Escribe_Cabecera_ASCI(file_Sxx. file_Ur Print #fileList. fUr. MaxSxy) fSyy = FreeFile Call Escribe_Cabecera_ASCI(file_Syy. MinCG. fFw. fLo. file_fw Print #fileList. fNo. MinE. fPx. MinQb. MaxL) fCg = FreeFile Call Escribe_Cabecera_ASCI(file_CG. Fich. file_Rx Print #fileList. fDf. MaxUorb) fFw = FreeFile Call Escribe_Cabecera_ASCI(file_fw. file_Hm Print #fileList. MaxE) fPx = FreeFile Call Escribe_Cabecera_ASCI(file_Px.frmMain . fDb. MaxCG) fOb = FreeFile Call Escribe_Cabecera_ASCI(file_OB. fCg. file_SU Print #fileList. file_L Print #fileList. MinDb. file_Sxy Print #fileList.19 file_SU = "SetUp. file_Py Print #fileList. fSyy. MaxQb) fUorb = FreeFile Call Escribe_Cabecera_ASCI(file_Uorb. MinPx.grd" file_Rx = "Rx. file_Db Print #fileList. file_Syy Print #fileList.dat" For Output As #fileList Print #fileList. MinNO. MinL. fHm.

j))) Call Add_ASCI_fin(file_Hm. Str(gRy(i. fDb. fSxy. fPy. Str(gCg(i. Fich. Str(gL(i. Fich. j))) Call Add_ASCI_fin(file_Ry. fNo. j))) Call Add_ASCI_fin(file_SU. Fich. j))) Call Add_ASCI_fin(file_Qb. Fich. fHm.Null) Call Add_ASCI_fin(file_Sxy. Fich. fDb. Str(gE(i. fDb.Null) Call Add_ASCI_fin(file_L. Str(gSxy(i. j))) Call Add_ASCI_linea(file_Px. j))) Call Add_ASCI_fin(file_L. Str(gSyy(i. Str(gPy(i. MinRy. j))) Call Add_ASCI_fin(file_Db. fDf. fRx. fPy. fFw. fSyy. j))) Call Add_ASCI_fin(file_CG. j))) Call Add_ASCI_fin(file_Df.Null) Call Add_ASCI_fin(file_Py. j))) Call Add_ASCI_linea(file_Syy.Null) . j))) Call Add_ASCI_linea(file_Rx. MaxSU) fRx = FreeFile Call Escribe_Cabecera_ASCI(file_Rx. fSxy. j))) Call Add_ASCI_fin(file_Ur. j))) Call Add_ASCI_fin(file_OB. FQb. fRy.Null) Call Add_ASCI_fin(file_Syy. fPx. Fich. fCg. j))) Call Add_ASCI_linea(file_Hm. Str(gHm(i. fSyy. FQb. Str(gDb(i. Str(gHrms(i. fCg. Str(gCg(i. j))) k = 0 Else Call Add_ASCI_linea(file_k. fPx. Str(gSxy(i.Columnas k = k + 1 If k = 9 Then Call Add_ASCI_fin(file_k. Str(gRy(i.Null) Call Add_ASCI_fin(file_Df. FQb. Str(gSyy(i. j))) Call Add_ASCI_linea(file_Ur. Fich. j))) Call Add_ASCI_fin(file_Py. Str(gUr(i. fSxx. j))) Call Add_ASCI_linea(file_Df. Fich. Str(gNO(i. fDf. fFw. j))) Call Add_ASCI_linea(file_L. fHrms. fSxx. Fich. Str(gQb(i. Fich. Fich. Str(gRx(i.Null) Call Add_ASCI_fin(file_Qb. fFw. Str(gHm(i.ProgressBar1. Str(gNO(i. fRx. Str(gDb(i. fUr. Str(gSU(i. j))) Call Add_ASCI_fin(file_Hrms.Null) Call Add_ASCI_fin(file_CG. fSxx. MaxRx) fRy = FreeFile Call Escribe_Cabecera_ASCI(file_Ry. Str(gUorb(i. Fich. fE. fSU.Null) Call Add_ASCI_fin(file_Px. j))) Call Add_ASCI_fin(file_Sxx. fOb. fRy. Fich.Null) Call Add_ASCI_fin(file_Uorb. fNo.filas frmMain. Fich.Value = i For j = 1 To Fich. Str(gSU(i. j))) Call Add_ASCI_fin(file_fw. fSU. j))) Call Add_ASCI_linea(file_fw. j))) Call Add_ASCI_linea(file_Ry. Str(gPy(i.20 Call Escribe_Cabecera_ASCI(file_SU. MinRx. j))) Call Add_ASCI_linea(file_Sxx. fOb. fLo. fE. Str(gSxx(i. j))) Call Add_ASCI_linea(file_CG. j))) Call Add_ASCI_linea(file_SU. j))) Call Add_ASCI_fin(file_Syy. fE. Str(gRx(i. fUorb. fPy. fHm. Str(gUr(i. fSU. Str(gL(i.Null) Call Add_ASCI_fin(file_Hrms. j))) Call Add_ASCI_linea(file_Qb. Str(gOb(i. Str(gPx(i. fUorb.Null) Call Add_ASCI_fin(file_Sxx. Str(gPx(i. fRx. j))) Call Add_ASCI_linea(file_Py. fLo. j))) Call Add_ASCI_linea(file_Db. Fich. Str(gFw(i. Str(gDf(i. fSxy. j))) Call Add_ASCI_linea(file_E. fHm. j))) End If Next j Call Add_ASCI_fin(file_k. Str(gHrms(i.frmMain . MinSU. fLo. j))) Call Add_ASCI_linea(file_Uorb. fDf. fUr.Null) Call Add_ASCI_fin(file_E. j))) Call Add_ASCI_fin(file_Sxy. j))) Call Add_ASCI_linea(file_Hrms. j))) Call Add_ASCI_linea(file_OB.Null) Call Add_ASCI_fin(file_Hm. j))) Call Add_ASCI_fin(file_E. fHrms.Null) Call Add_ASCI_fin(file_fw. fOb. fSyy. Str(gOb(i. Str(gE(i. Str(gDf(i. Str(gSxx(i. fCg. Str(gQb(i.Null) Call Add_ASCI_fin(file_Db. MaxRy) k = 0 For i = 1 To Fich. fPx. fUorb. Str(gFw(i. j))) Call Add_ASCI_fin(file_Px. j))) Call Add_ASCI_linea(file_Sxy. j))) Call Add_ASCI_fin(file_Uorb. j))) Call Add_ASCI_fin(file_Rx.Null) Call Add_ASCI_fin(file_OB. Fich. fHrms. fRy. Str(gUorb(i. Fich. fNo.

"Qb") frmMain.ProgressBar1. "Fw") frmMain.Value = 8 fDb = FreeFile Call Escribe_Binario(file_Db. MinSU. fE. "Py") frmMain.ProgressBar1.Value = 18 fRx = FreeFile Call Escribe_Binario(file_Rx.Value = 5 FQb = FreeFile Call Escribe_Binario(file_Qb.ProgressBar1. "Ur") frmMain.Value = 10 fPx = FreeFile Call Escribe_Binario(file_Px. MaxDf.Value = 20 fFw = FreeFile Call Escribe_Binario(file_fw. MaxE. fFw. Add_ASCI_fin(file_Ry. fUorb.Value = 1 fLo = FreeFile Call Escribe_Binario(file_L. fDf. MinUorb.Value = 12 fHrms = FreeFile Call Escribe_Binario(file_Hrms. MinPx.Value = 2 fCg = FreeFile Call Escribe_Binario(file_CG. MaxSxx. MinDb. MaxQb.frmMain .ProgressBar1.ProgressBar1. "Hm") frmMain. "Rx") frmMain.ProgressBar1. MaxUorb. MinFw. "E") frmMain.Value = 16 fUr = FreeFile Call Escribe_Binario(file_Ur. MaxPx. MaxNO. 0) fNo = FreeFile Call Escribe_Binario(file_k. fDb. MinCG. MinDf. fSyy. "Sxx") frmMain.ProgressBar1. "Hrms") frmMain. fPx. fUr. Add_ASCI_fin(file_SU.ProgressBar1. fCg.ProgressBar1. MinUr. "Df") frmMain. fRx. "Syy") frmMain. fLo. MinQb. MinHm. "Ry") frmMain. "Uorb") frmMain. "Px") frmMain." & Chr(10) & _ . fRy. MinSyy.ProgressBar1. "O") frmMain. fRx.ProgressBar1. "Sxy") frmMain. Add_ASCI_fin(file_Rx. fNo. MinOB. fSU. MinPy.Value = 3 fOb = FreeFile Call Escribe_Binario(file_OB.ProgressBar1. fSxy.Value = 14 fSxy = FreeFile Call Escribe_Binario(file_Sxy. MinE. MaxL.Value = 9 fE = FreeFile Call Escribe_Binario(file_E.ProgressBar1.ProgressBar1. fHm. MaxRy. "k") frmMain. Fich. FQb. MinL.ProgressBar1. "L") frmMain.Value = 17 fSU = FreeFile Call Escribe_Binario(file_SU. MaxFw. 21. MaxHrms.21 Call Call Call Call Next i Add_ASCI_fin(file_Ur. MaxPy. MaxSyy.ProgressBar1.Value = 7 fDf = FreeFile Call Escribe_Binario(file_Df.Formato Binario". MinSxx.ProgressBar1. MaxSU. MinHrms. MaxCG.Value = 21 Case Else gTitulo = "ERROR EN LOS DATOS" gMsg = "El formato no coincide. MaxRx.Value = 6 fUorb = FreeFile Call Escribe_Binario(file_Uorb. "Db") frmMain. MaxDb. MaxUr.Value = 19 fRy = FreeFile Call Escribe_Binario(file_Ry.Null) Fich. MaxSxy. MinNO.ProgressBar1.ProgressBar1. MinSxy. fPy. MaxOB.Value = 11 fPy = FreeFile Call Escribe_Binario(file_Py.ProgressBar1. MinRx.Null) Fich.Null) Fich.Value = 13 fSxx = FreeFile Call Escribe_Binario(file_Sxx. fSxx. "Cg") frmMain. "SU") frmMain. fRy. MinRy. fOb.Value = 4 fHm = FreeFile Call Escribe_Binario(file_Hm. fUr.Value = 15 fSyy = FreeFile Call Escribe_Binario(file_Syy. fSU. MaxHm.Null) Case Is = "DSBB" Call LaSonda_Inicio("ESCRITURA . fHrms.ProgressBar1.

MSChart3 = gChart3 frmMain. vbExclamation + vbOKOnly.chartType = VtChChartType2dLine frmMain.min Screen. gTitulo End Sub Private Sub MSChart1_MouseMove(Button As Integer.Enabled = True Toolbar3. "###0. Y As Single) Call Ayuda("Gráfico comparativo de uso de tiempo en tareas") End Sub Private Sub Picture1_MouseMove(Button As Integer. Shift As Integer.Caption & " (Qb)" ProgressBar2. 1) = "Esc. "###0.Print Call TiempoTranscurrido(Elapsed. Shift As Integer.MSChart2.Caption = Str(Format(X. 2) mnuResults.MSChart1 = gChart frmMain.MSChart4.Visible = True frmMain. gTitulo End Select gZonaError = "Añadiendo resultados a ventana" Call PopulateTreeViewResultados gZonaError = "" Call LaSonda_Final gChart(6.MousePointer = 0 gMsg = "Faltan datos" & Chr(10) _ & "Compruebe el árbol de proyecto" gTitulo = "PROCESO ABORTADO" MsgBox gMsg.MSChart2 = gChart2 frmMain.min gModela = 0 Call Ayuda("Modelización finalizada") Final = Timer Elapsed = Final .00")) Label20.Visible = True frmMain.Visible = True Frame8.MousePointer = 0 Exit Sub Captura: Call errores(Err) Exit Sub MeMarcho: gTitulo = "VALOR INUSUAL" gResponse = MsgBox(gMsg." gChart(6. X As Single.frmMain .Enabled = True List1.22 "El tipo " & gTipo & "es desconocido" MsgBox gMsg.Caption = Frame10.Caption = Str(Format(Y. vbOKOnly + vbDefaultButton1 + vbCritical.Nombre) ProgressBar1.Value = ProgressBar2.00")) Call Ayuda("Pantalla multifunción") End Sub .MSChart1. X As Single. gTitulo) If gResponse = 7 Then Exit Sub Else Return Salida: gModela = 0 Close Screen.AddItem (gProyectoNP.Buttons(1).Value = ProgressBar1.Inicio Picture1.Caption & " (Hrms)" Frame10.MSChart4 = gChart4 frmMain. 2) = gTpo frmMain.Caption = Frame8. vbQuestion + vbYesNo + vbDefaultButton1. Y As Single) Label19.MSChart2.

Null Next i Close #f Screen. Minz. j) If gZ(fila. j)).Action = 1 file = . Fich.Filter = "Batimetría (*.CancelError = True . j) < Minz Then Minz = gZ(fila.Text . MaxZ) f = FreeFile Open file For Append As #f k = 0 For i = 1 To Fich. f As Integer fila = Val(Text1.grd" . X As Single.grd)|*. X As Single. j)) k = 0 Else Print #f.DialogTitle = "Crear playa cilíndrica con perfil " & Text1. FreeFile.23 Private Sub Picture1_MouseUp(Button As Integer.Text Call Ayuda(Texto) End Sub Private Sub SSTab1_MouseMove(Button As Integer. Str(gZ(fila. End If Next j Print #f. Shift As Integer. Y As Single) If Button = vbRightButton Then Set mThisControl = Picture1 PopupMenu mnuHelp End If Set mThisControl = Nothing End Sub Private Sub Playa_Cilindrica_Click() Dim file As String. Shift As Integer.Text) MaxZ = -1E+32 Minz = -MaxZ On Error GoTo salteya With CommonDialog1 .Columnas If gZ(fila.frmMain . Y As Single) Dim gMsg As String gMsg = "Haga click en las pestañas para acceder a los procesos correspondientes" Call NoXY Call Ayuda(gMsg) . _ MaxZ As Double.filas For j = 1 To Fich.Columnas k = k + 1 If k = 9 Then Print #f.MousePointer = 0 Exit Sub salteya: End Sub Private Sub Playa_Cilindrica_MouseMove(Button As Integer. j) Next j Call Escribe_Cabecera_ASCI(file.filename End With Screen. fila As Integer. " ". Str(gZ(fila. X As Single. Minz As Double.MousePointer = 11 For j = 1 To Fich. Y As Single) Dim Texto As String Texto = "Crea una playa cilíndrica con la fila " & Text1. j) > MaxZ Then MaxZ = gZ(fila. Shift As Integer.

SelLength = Len(.SelStart = 0 . Shift As Integer. Y As Single) Call Ayuda("Otros datos de utilidad") End Sub Private Sub Text6_GotFocus() With Text6 .frmMain . Y As Single) Call Ayuda("Fecha de último proceso del proyecto") End Sub Private Sub Text8_GotFocus() With Text8 .SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub Text6_MouseMove(Button As Integer. Shift As Integer.Text) End With End Sub Private Sub Text7_MouseMove(Button As Integer. X As Single. Shift As Integer. Shift As Integer. Y As Single) Call Ayuda("Localización del proyecto") End Sub Private Sub Descarga() Unload frmInicial frmMain. X As Single.Visible = True End Sub Private Sub Timer1_Timer() StatusBar1.SelLength = Len(.SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub Text8_MouseMove(Button As Integer. X As Single.Panels(1).Text) End With End Sub Private Sub Text5_MouseMove(Button As Integer. X As Single.SelStart = 0 .Text = Time . Y As Single) Call Ayuda("Literatura concerniente al proyecto") End Sub Private Sub Text7_GotFocus() With Text7 .24 End Sub Private Sub Text5_GotFocus() With Text5 .

Batimetria On Error GoTo NoFile k = FileLen(gProyecto. k As Long Call Inicializa_Picture1 Select Case TreeView2.frmMain .AutoRedraw = True .Cls Picture1.SelectedItem.Print gProyecto.SelectedItem. Y As Single ) Call Ayuda("Estructura de resultados.FontBold = True Picture1.Batimetria) . Shift As Integer.Key Case Is = "B" 'Batimetría With frmMain.Print "Archivo de datos: ".Key If TreeView1.Caption = TreeView1.Button) Select Case Button.Enabled = False A_Grapher.Caption = gProyecto.Enabled = False Exit Sub Cachis: Resume Next End Sub Private Sub TreeView1_MouseMove(Button As Integer.Picture1 .Caption Label4.SelectedItem.Key Dibujo. Haga click para visualizar") End Sub Private Sub TreeView2_Click() Dim f As Integer.Print Label26.SelectedItem.Enabled = False Playa_Cilindrica.Text End If Picture1.25 End Sub Private Sub Toolbar2_ButtonClick(ByVal Button As ComctlLib.Button) Select Case Button.SelectedItem.FontItalic = False .Print "DATOS BATIMÉTRICOS" Picture1.Print Picture1.Caption = TreeView1.Print TreeView1.Key = gProyectoNP. X As Single.Batimetria Else Label26. Picture1.FontBold = False End With Picture1.Key Case Is = "Resultados" Call mnuResults_Click End Select End Sub Private Sub TreeView1_Click() On Error GoTo Cachis Call Inicializa_Picture1 Picture1.Cls .Key Case Is = "Modelizar" Call mnuModel_Click Case Is = "Perfiles" Call mnuPerfilesUniformidad_Click End Select End Sub Private Sub Toolbar3_ButtonClick(ByVal Button As ComctlLib.Batimetria Then Label26.

Print "BINARIO" Call LeeCabBinario(gProyecto.Oleaje) On Error GoTo 0 Call LeeOlas(gProyecto.Print Picture1.FontBold = False Picture1.Cls Exit Sub End Sub Private Sub TreeView2_MouseMove(Button As Integer. Picture1.FontBold = True Picture1.Oleaje On Error GoTo NoFile k = FileLen(gProyecto. " bytes" Picture1.Print "DESCONOCIDO" Exit Sub End If Picture1. Picture1.Print "DATOS DE CALIBRACIÓN" Picture1. vbExclamation + vbOKOnly + vbDefaultButton1. Fich.FontBold = True Picture1.MousePointer = 0 gTitulo = "ERROR" gMsg = "El archivo no existe" MsgBox gMsg.26 On Error GoTo 0 f = FreeFile Open gProyecto.Oleaje) Call ImprimeOleaje Case Is = "D" 'Parámetros Picture1.FontBold = True If Fich.Calibracion) Call ImprimeCalibra Case Else Picture1.Print "Archivo de datos: ". Picture1.FontBold = False Picture1.Cls End Select Exit Sub NoFile: Screen.Print gProyecto.FontBold = False Picture1. . gTitulo Picture1.Print gProyecto.Clase Close #f Picture1. Y As Single ) Call Ayuda("Estructura del proyecto.Clase = "DSAA" Then Picture1.Clase = "DSBB" Then Picture1.Print k.Print "Tamaño: ". Picture1. X As Single.Batimetria For Binary As #f Get #f. Shift As Integer. Haga click para obtener información") .Print "DATOS DE OLEAJE" Picture1.FontBold = True Picture1.Print "Tipo: ".Print Picture1.Print "ASCI" Call LeeCabASCI(gProyecto.Cls Picture1.Print Call ImprimeCabBati Case Is = "C" 'Oleaje Picture1.Calibracion On Error GoTo NoFile k = FileLen(gProyecto.Batimetria) ElseIf Fich.Cls Picture1.frmMain .Oleaje) Call LeeCalibra(gProyecto.FontBold = False Picture1.Print "Archivo de datos: ".Batimetria) Else Picture1.

Caption = -VScroll1.frmMain .Caption = -VScroll1.Value Text1.Value End Sub .27 End Sub Private Sub TreeView2_MouseUp(Button As Integer.Caption End Sub Private Sub VScroll1_GotFocus() Call Ayuda("Cambia la fila a dibujar") End Sub Private Sub VScroll1_Scroll() Label10. X As Single. Y As Single) If Button = vbRightButton Then Set mThisControl = TreeView2 PopupMenu mnuHelp End If Set mThisControl = Nothing End Sub Private Sub VScroll1_Change() Label10.Text = Label10. Shift As Integer.

Form frmMain Caption = "DINÁMICA DEL PERFIL DE PLAYA .OCX" Begin VB.frmMain .OCX" Object = "{02B5E320-7292-11CF-93D5-0020AF99504A}#1.Tag = "" ImageIndex = 2 EndProperty BeginProperty Button3 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Calibracion" Object.1#0".ToolTipText = "Salir del programa" Object.ToolTipText = "Crear / Editar archivo de datos de oleaje" Object.OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.1#0".1 VERSION 5. "MSCHART. "COMDLG32. "COMCTL32.OCX" Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.0#0".00 Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.Tag = "" ImageIndex = 5 EndProperty EndProperty MouseIcon = {Binary} Begin ComctlLib.Toolbar Toolbar2 Height = 390 Left = 1560 TabIndex = 49 Top = 0 Width = 735 _ExtentX = 1296 _ExtentY = 688 ButtonWidth = 635 ButtonHeight = 582 ImageList = "ImageList3" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 2 .ToolTipText = "Abrir archivo de proyecto" Object.Tag = "" ImageIndex = 3 EndProperty BeginProperty Button4 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Salir" Object.Tag = "" ImageIndex = 1 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Oleaje" Object.Toolbar Toolbar1 Align = 1 'Align Top Height = 420 Left = 0 TabIndex = 48 Top = 0 Width = 11880 _ExtentX = 20955 _ExtentY = 741 ButtonWidth = 635 ButtonHeight = 582 Appearance = 1 ImageList = "ImageList3" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 4 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Abrir" Object.1#0".ToolTipText = "Crear / Editar parámetros de calibración" Object. "TABCTL32.DPP2" ClientHeight = 8115 ClientLeft = -30 ClientTop = 540 ClientWidth = 11880 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 8115 ScaleWidth = 11880 Visible = 0 'False WhatsThisHelp = -1 'True WindowState = 2 'Maximized Begin ComctlLib.

Frame Datos_Contenedor Caption = "INFORMACIÓN" BeginProperty Font Name = "Arial Narrow" Size = 9.Toolbar Toolbar3 Height = 390 Left = 2400 TabIndex = 50 Top = 0 Width = 375 _ExtentX = 661 _ExtentY = 688 ImageList = "ImageList3" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 1 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Enabled = 0 'False Key = "Resultados" Object.75 Charset = 0 Weight = 700 Underline = -1 'True Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00C00000& Height = 2415 Left = 120 TabIndex = 51 Top = 5400 Width = 10095 Begin VB.Frame Frame10 Caption = "Última modelización" ForeColor = &H00C00000& Height = 1695 Left = 7920 TabIndex = 65 Top = 240 Width = 2055 Begin MSChartLib.Tag = "" ImageIndex = 8 EndProperty EndProperty MouseIcon = {Binary} End End Begin VB.ToolTipText = "Evaluar la uniformidad de la playa" Object.frmMain .MSChart MSChart4 Height = 1335 Left = 120 TabIndex = 66 ToolTipText = "Muestra la fracción de olas rotas" Top = 240 Visible = 0 'False Width = 1815 End .ToolTipText = "Visualización de tabla de resultados numéricos" Object.ToolTipText = "Iniciar la modelización" Object.2 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Enabled = 0 'False Key = "Modelizar" Object.Tag = "" ImageIndex = 6 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Enabled = 0 'False Key = "Perfiles" Object.Tag = "" ImageIndex = 7 EndProperty EndProperty MouseIcon = {Binary} End Begin ComctlLib.

MSChart MSChart3 Height = 1335 Left = 120 TabIndex = 64 ToolTipText = "Primer perfil transversal" Top = 240 Visible = 0 'False Width = 1875 End End Begin ComctlLib.ProgressBar ProgressBar1 Height = 255 Left = 120 TabIndex = 58 ToolTipText = "Muestra la progresión de la tarea en ejecución" Top = 2040 Width = 9855 _ExtentX = 17383 _ExtentY = 450 _Version = 327680 BorderStyle = 1 Appearance = 1 MouseIcon = {Binary} Min = 1e-4 End Begin VB.Frame Frame9 Caption = "Última modelización" ForeColor = &H00C00000& Height = 1695 Left = 3600 TabIndex = 63 Top = 240 Width = 2055 Begin MSChartLib.CheckBox Check4 Caption = "Ver detalles" Height = 255 Left = 120 TabIndex = 60 Top = 240 Value = 1 'Checked Width = 1215 End End Begin VB.frmMain .3 End Begin VB.MSChart MSChart2 Height = 1335 Left = 120 TabIndex = 62 ToolTipText = "Altura de ola significante en el primer perfil" Top = 240 Visible = 0 'False Width = 1815 End End Begin VB.Frame Frame7 Height = 615 Left = 120 TabIndex = 59 ToolTipText = "Indica si se ha seleccionado la opción de mostrar información" Top = 1320 Width = 1455 Begin VB.Frame Frame8 Caption = "Última modelización " ForeColor = &H00C00000& Height = 1695 Left = 5760 TabIndex = 61 Top = 240 Width = 2055 Begin MSChartLib.Frame Frame6 Caption = "Modelizaciones" ForeColor = &H00C00000& Height = 1695 Left = 1680 .

CheckBox Check3 Caption = "Calibración" Height = 255 Left = 120 TabIndex = 55 Top = 720 Width = 1095 End Begin VB.ListBox List1 Height = 1230 Left = 120 TabIndex = 57 ToolTipText = "Muestra las modelizaciones realizadas en el último arranque del Top = 360 Width = 1575 End End Begin VB.CheckBox Check2 Caption = "Oleaje" Height = 255 Left = 120 TabIndex = 54 Top = 480 Width = 855 End Begin VB.Frame Frame5 Caption = "Edición" ForeColor = &H00C00000& Height = 1095 Left = 120 TabIndex = 52 ToolTipText = "Indica si se ha editado algún dato" Top = 240 Width = 1455 Begin VB.Timer Timer1 Interval = 1000 Left = 10680 Top = 5280 End Begin ComctlLib.frmMain .4 TabIndex = 56 Top = 240 Width = 1815 Begin VB.CheckBox Check1 Caption = "Batimetría" Height = 255 Left = 120 TabIndex = 53 Top = 240 Width = 1095 End End End Begin VB.Tag = "" EndProperty EndProperty MouseIcon = {Binary} .StatusBar StatusBar1 Align = 2 'Align Bottom Height = 255 Left = 0 TabIndex = 13 Top = 7860 Width = 11880 _ExtentX = 20955 _ExtentY = 450 SimpleText = "" _Version = 327680 BeginProperty Panels {0713E89E-850A-101B-AFC0-4210102A8DA7} NumPanels = 1 BeginProperty Panel1 {0713E89F-850A-101B-AFC0-4210102A8DA7} Alignment = 1 AutoSize = 2 TextSave = "" Key = "" Object.

Enabled= 0 'False Tab(2).ControlCount= 1 Tab(4).Control(0).Control(1)= "Frame2" Tab(0).ControlEnabled= 0 'False Tab(3).Control(0)= "TreeView1" Tab(1).Control(0).ControlCount= 2 Tab(0).Enabled= 0 'False TabCaption(2) = "Dibujo" TabPicture(2) = {Binary} Tab(2).Control(0).Enabled= 0 'False TabCaption(4) = "Validar" TabPicture(4) = {Binary} Tab(4).ControlEnabled= 0 'False Tab(4).Control(0)= "MSChart1" Tab(3).ControlCount= 1 Tab(1).Frame Frame12 Caption = "Nombre de archivo" Enabled = 0 'False Height = 855 Left = 2280 TabIndex = 72 Top = 840 Width = 2055 Begin VB.ControlCount= 2 Tab(2).TextBox Text2 Height = 285 Left = 120 TabIndex = 73 Text = " " ToolTipText = "Introduczca aquí el nombre del archivo de puntos" .Control(0).Control(0)= "Frame11" Tab(4).Frame Frame11 Caption = "Validación" ForeColor = &H00C00000& Height = 4215 Left = -74880 TabIndex = 67 Top = 120 Width = 4455 Begin VB.ControlEnabled= 0 'False Tab(2).SSTab SSTab1 Height = 4815 Left = 120 TabIndex = 5 Top = 480 Width = 4725 _ExtentX = 8334 _ExtentY = 8493 _Version = 327680 TabOrientation = 1 Tabs = 5 TabsPerRow = 5 TabHeight = 520 BackColor = 12632256 ForeColor = 12582912 TabCaption(0) = "Datos" TabPicture(0) = {Binary} Tab(0).Control(1).Control(0)= "TreeView2" Tab(0).Control(1)= "Frame1" Tab(2).Enabled= 0 'False TabCaption(1) = "Resultado" TabPicture(1) = {Binary} Tab(1).Control(1)= "Label27" Tab(3).Control(0)= "Frame3" Tab(2).Enabled= 0 'False TabCaption(3) = "Tiempos" TabPicture(3) = {Binary} Tab(3).ControlCount= 2 Tab(3).5 End Begin TabDlg.frmMain .ControlEnabled= 0 'False Tab(1).Enabled= 0 'False Tab(3).Control(0).ControlEnabled= -1 'True Tab(0).Enabled= 0 'False Tab(0).Control(1).Enabled= 0 'False Begin VB.Control(1).

CommandButton Mostrar Caption = "&Mostrar" Height = 255 Left = 120 TabIndex = 70 Top = 2400 Width = 1815 End Begin VB.6 Top Width = = 360 1815 End End Begin VB.MSChart MSChart1 Height = 4215 Left = -74880 TabIndex = 46 ToolTipText = "Gráfica comparativa de tiempos consumidos en el proceso" Top = 120 Visible = 0 'False Width = 4455 End Begin VB.val" TabIndex = 69 Top = 240 Width = 1815 End End End Begin MSChartLib.frmMain .Frame Frame3 Caption = "Datos del dibujo" BeginProperty Font Name = "MS Sans Serif" Size = 8.CommandButton Command2 Caption = "&Añadir archivo" Height = 255 Left = 2400 TabIndex = 71 Top = 480 Width = 1215 End Begin VB.FileListBox File1 Height = 2040 Left = 120 MultiSelect = 2 'Extended Pattern = "*.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00C00000& Height = 1815 Left = -74880 TabIndex = 25 Top = 2520 Width = 4455 Begin VB.Frame Frame13 Caption = "Puntos" Height = 2775 Left = 120 TabIndex = 68 Top = 360 Width = 2055 Begin VB.Label Label26 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Height = 255 Left = 960 TabIndex = 45 Top = 1320 Width = 3375 End .

Label Label25 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.Line Line2 X1 = X2 = Y1 = Y2 = End Begin VB.Label Label24 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.Line Line1 X1 = X2 = Y1 = Y2 = End Begin VB.Label Label19 Alignment = BackColor = BorderStyle = Height = Left = TabIndex = Top = Width = End Begin VB.Label Label22 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.7 Begin VB.Label Label21 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.frmMain .Label Label20 Alignment = BackColor = BorderStyle = Height = Left = TabIndex = Top = Width = End Begin VB.Label Label18 Alignment = BackColor = BorderStyle = Height = Left = -1 'True "Resultado: " 195 120 44 1320 810 120 4320 1200 1200 -1 'True "Coordenadas" 195 3240 42 240 945 -1 'True "Y:" 195 2640 37 840 150 -1 'True "X: " 195 2640 36 480 195 2 'Center &H00FFFF80& 1 'Fixed Single 255 3120 35 840 1215 2 'Center &H00FFFF80& 1 'Fixed Single 255 3120 34 480 1215 2520 2520 240 1200 2 'Center &H8000000E& 1 'Fixed Single 255 1680 .

Label Alignment BackColor BorderStyle Height Left TabIndex Top Width End Begin VB.frmMain .Label Alignment Caption Height Left TabIndex Top Width End Begin VB.8 TabIndex Top Width End Begin VB.Label Alignment BackColor BorderStyle Height Left TabIndex Top Width End Begin VB.Label Alignment Caption Height Left TabIndex Top Width End Begin VB.Label Alignment BackColor BorderStyle Height Left TabIndex Top Width End Begin VB.Frame Frame1 Caption = BeginProperty Font "Dibujo de archivo" .Label AutoSize Caption Height Left TabIndex Top Width End = = = Label17 = = = = = = = = Label16 = = = = = = = = Label15 = = = = = = = = Label14 = = = = = = = Label13 = = = = = = = Label12 = = = = = = = Label11 = = = = = = = 33 840 735 2 'Center &H8000000E& 1 'Fixed Single 255 1680 32 480 735 2 'Center &H8000000E& 1 'Fixed Single 255 840 31 840 735 2 'Center &H8000000E& 1 'Fixed Single 255 840 30 480 735 2 'Center "Y" 255 1680 29 240 615 2 'Center "X" 255 960 28 240 495 -1 'True "Mínimo: " 195 120 27 840 615 -1 'True "Máximo: " 195 120 26 480 630 End Begin VB.Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.

25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00C00000& Height = 2295 Left = -74880 TabIndex = 14 Top = 120 Width = 4455 Begin VB.TextBox Text1 BackColor = &H0080FF80& ForeColor = &H00C00000& Height = 285 Left = 480 TabIndex = 40 Top = 240 Width = 375 End Begin VB.CommandButton Command1 Caption = "&Leer batimetría" Height = 255 Left = 240 TabIndex = 24 Top = 720 Width = 1815 End Begin ComctlLib.CommandButton A_Grapher Caption = "&ASCI" Enabled = 0 'False Height = 255 Left = 3240 TabIndex = 43 Top = 1800 Width = 975 End Begin VB.Label Label23 AutoSize = -1 'True Caption = "Fila:" Height = 195 Left = 120 TabIndex = 41 Top = 240 Width = 285 End End Begin VB.Frame Frame4 Caption = "Playa cilíndrica" Height = 615 Left = 120 TabIndex = 38 Top = 1560 Width = 2055 Begin VB.9 Name = "MS Sans Serif" Size = 8.frmMain .CommandButton Playa_Cilindrica Caption = "&Crear" Enabled = 0 'False Height = 255 Left = 960 TabIndex = 39 Top = 240 Width = 975 End Begin VB.ProgressBar ProgressBar2 Height = 255 Left = 240 TabIndex = 23 Top = 1080 Width = 1815 _ExtentX = 3201 _ExtentY = 450 .

Label Label10 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Height = 255 Left = 3240 TabIndex = 21 Top = 960 Width = 855 End Begin VB.Label Label6 Height = 255 Left = 2400 TabIndex = 19 Top = 1800 Width = 375 End Begin VB.Label Label9 AutoSize = -1 'True Caption = "Perfil:" Height = 195 Left = 3360 TabIndex = 20 Top = 720 Width = 480 WordWrap = -1 'True End Begin VB.Label Label4 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Height = 255 Left = 960 TabIndex = 16 .10 _Version Appearance MouseIcon = = = 327680 1 {Binary} End Begin VB.frmMain .Shape Shape1 Height = 1575 Left = 2280 Top = 600 Width = 2055 End Begin VB.CommandButton Dibujo Caption = "&Dibujo" Enabled = 0 'False Height = 255 Left = 3240 TabIndex = 22 Top = 1440 Width = 975 End Begin VB.Shape Shape2 Height = 855 Left = 120 Top = 600 Width = 2055 End Begin VB.VScrollBar VScroll1 Height = 1335 Left = 2880 Max = 0 TabIndex = 17 Top = 720 Width = 255 End Begin VB.Label Label5 Height = 255 Left = 2400 TabIndex = 18 Top = 720 Width = 375 End Begin VB.

Frame Frame2 Caption = "Datos del proyecto" BeginProperty Font Name = "MS Sans Serif" Size = 8.Label Label3 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin ComctlLib.11 Top Width = = 240 3375 -1 'True "Archivo: " 195 120 15 240 630 End Begin VB.TextBox Text7 Height = 285 Left = 1320 TabIndex = 1 Top = 600 Width = 3015 End Begin VB.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00FF0000& Height = 1695 Left = 120 TabIndex = 7 Top = 2640 Width = 4455 Begin VB.TreeView TreeView1 Height = 4215 Left = -74880 TabIndex = 12 Top = 120 Width = 4455 _ExtentX = 7858 _ExtentY = 7435 _Version = 327680 Style = 7 ImageList = "ImageList2" Appearance = 1 MouseIcon = {Binary} End Begin VB.TextBox Text6 Height = 285 Left = 1320 TabIndex = 2 Top = 960 Width = 3015 End Begin VB.frmMain .Label Label8 AutoSize = -1 'True .TextBox Text5 Height = 285 Left = 1320 TabIndex = 3 Top = 1320 Width = 3015 End Begin VB.TextBox Text8 Height = 285 Left = 1320 TabIndex = 0 Top = 240 Width = 3015 End Begin VB.

TreeView TreeView2 Height = 2415 Left = 120 TabIndex = 6 Top = 120 Width = 4455 _ExtentX = 7858 _ExtentY = 4260 _Version = 327680 Indentation = 353 LineStyle = 1 Style = 7 ImageList = "ImageList1" BorderStyle = 1 Appearance = 1 MouseIcon = {Binary} End Begin VB.12 Caption Height Left TabIndex Top Width = = = = = = "Localización: " 195 120 11 240 975 -1 'True "Último uso: " 195 120 10 600 825 -1 'True "Informe: " 195 120 9 960 615 -1 'True "Observaciones: " 195 120 8 1320 1155 End Begin VB.Label Label1 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin ComctlLib.Label Label7 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.Label Label2 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.75 Charset = 0 Weight = 600 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 375 Left = -74520 TabIndex = 47 Top = 1380 Width = 3855 End End Begin VB.PictureBox Picture1 .Label Label27 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = "No existe el gráfico" BeginProperty Font Name = "Bookman Old Style" Size = 9.frmMain .

13 AutoRedraw = BackColor = FillStyle = BeginProperty Font Name Size Charset Weight Underline Italic Strikethrough EndProperty Height = Left = MousePointer = ScaleHeight = ScaleWidth = TabIndex = Top = Width = -1 'True &H8000000E& 0 'Solid = = = = = = = "MS Sans Serif" 8.25 0 700 0 'False 0 'False 0 'False 4695 4920 2 'Cross 4635 6795 4 480 6855 End Begin MSComDlg.CommonDialog CommonDialog1 Left = 10560 Top = 5760 _ExtentX = 847 _ExtentY = 847 _Version = 327680 End Begin ComctlLib.ImageList ImageList3 Left = 11160 Top = 6480 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 327680 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 8 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Abrir" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Oleaje" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Calibracion" EndProperty BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Impresoras" EndProperty BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Salir" EndProperty BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Mdelizar" EndProperty BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Perfiles" EndProperty BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Resultados" EndProperty EndProperty End .frmMain .

ImageList ImageList2 Left = 11160 Top = 5880 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 327680 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 18 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage9 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage10 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage11 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage12 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage13 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage14 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage15 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage16 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} .14 Begin ComctlLib.frmMain .

Menu mnuFileOpenAbrir Caption = "Abrir &proyecto" Shortcut = ^P End .Menu mnuFileOpenNuevo Caption = "&Nuevo" Shortcut = ^N End Begin VB.ImageList ImageList1 Left = 11160 Top = 5280 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 327680 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 9 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" Object.Tag = "Oleaje" EndProperty BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" Object.15 Key = "" EndProperty BeginProperty ListImage17 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage18 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty EndProperty End Begin ComctlLib.Menu mnuFileOpen Caption = "&Archivo" Begin VB.frmMain .Tag = "Calibracion" EndProperty BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage9 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty EndProperty End Begin VB.

Menu mnuFileExportarResultados Caption = "E&xportar resultados" Shortcut = ^X End Begin VB.Menu mnuVer Caption = "&Ver" Begin VB.Menu mnuEditEliminaActual Caption = "Archivo &actual" End Begin VB.Menu mnuPerfilesUniformidad Caption = "&Uniformidad" Enabled = 0 'False End End Begin VB.Menu mnuVerInfo Caption = "&Información" Checked = -1 'True End End Begin VB.Menu mnuEditElimina Caption = "&Eliminar" Begin VB.16 Begin VB.Menu mnuPerfiles Caption = "&Herramientas" Begin VB.Menu mnuFileCrearOleaje Caption = "&Oleaje" End Begin VB.Menu mnuFileOpenResultados Caption = "Abrir &resultados" Shortcut = ^R End Begin VB.Menu mnuFileOpenImportar Caption = "&Importar dato" Shortcut = ^I End Begin VB.Menu mnuFileOpenSalir Caption = "&Salir" Shortcut = ^S End End Begin VB.Menu mnuFileOpenSep1 Caption = "-" End Begin VB.frmMain .Menu mnuFileCrear Caption = "&Crear / Editar" Begin VB.Menu mnuFileOpenExportar Caption = "&Exportar proyecto" Shortcut = ^E End Begin VB.Menu mnuFileCrearCalibracion Caption = "&Calibración" End End Begin VB.Menu mnuResults .Menu mnuEditEliminaTodos Caption = "&Todos los archivos" End End End Begin VB.Menu mnuFileEliminarResutados Caption = "E&liminar resultados" Shortcut = ^L End Begin VB.Menu mnuFileOpenSep3 Caption = "-" End Begin VB.Menu mnuEdit Caption = "&Editar" Begin VB.Menu mnuModel Caption = "&Modelizar" Enabled = 0 'False End Begin VB.Menu mnuFileOpenSep2 Caption = "-" End Begin VB.

Menu mnuHelpQuees Caption = "¿&Qué es esto?" End End End .17 Caption Enabled = = "&Resultados" 0 'False End Begin VB.Menu mnuHelp Caption = "" Begin VB.frmMain .Menu mnuHelp1Acercade Caption = "&Acerca de" End End Begin VB.Menu mnuHelp1 Caption = "A&yuda" Begin VB.

FileTitle End With f = FreeFile Open file For Input As #f Input #f. T Text2.ola" .CancelError = True .Text Close #f Call Salir_Click Exit Sub NoExiste: Resume sigue SalirOlas: End Sub Private Sub Salir_Click() . Text2.Text = Str(T) Input #f. file As String On Error GoTo SalirOlas With CommonDialog1 .ola)|*.Filter = "Oleaje (*. T As Single.1 Option Explicit Private Sub Command2_Click() End Sub Private Sub Command1_Click() End Sub Private Sub Abrir_Click() Dim f As Integer.Text Print #f.Action = 2 file = . Text3. H Text1.FileTitle End With f = FreeFile On Error GoTo NoExiste k = FileLen(file) Call Existe(file) If gResponse = 7 Then Exit Sub sigue: Open file For Output As #f Print #f.ola" .DialogTitle = "Grabar archivo de oleaje" .frmOlas .Filter = "Oleaje (*. Text1.Text = Str(ob) Close #f SalirOlas: End Sub Private Sub Grabar_Click() Dim f As Integer.DialogTitle = "Abrir archivo de oleaje" . file As String Dim H As Single.Text Print #f. ob Text3.CancelError = True . ob As Single On Error GoTo SalirOlas With CommonDialog1 .Action = 1 file = .Text = Str(H) Input #f.Caption = .Caption = .filename Label2.ola)|*.filename Label2.

Value = 1 Screen.Check2.Text) End With End Sub Private Sub Text2_GotFocus() With Text2 .SelStart = 0 .MousePointer = 11 frmMain.MousePointer = 0 End Sub Private Sub Text1_GotFocus() With Text1 .SelLength = Len(.frmOlas .SelLength = Len(.SelLength = Len(.SelStart = 0 .2 Screen.Text) End With End Sub .Text) End With End Sub Private Sub Text3_GotFocus() With Text3 .SelStart = 0 .Enabled = True Unload frmOlas frmMain.

frmOlas .TextBox Text3 Height = 285 Left = 1320 TabIndex = 2 Top = 1080 Width = 855 End .CommandButton Abrir Caption = "&Abrir" Height = 255 Left = 120 TabIndex = 12 Top = 240 Width = 1335 End Begin MSComDlg. "COMDLG32.CommandButton Salir Caption = "&Salir" Height = 255 Left = 120 TabIndex = 11 Top = 960 Width = 1335 End Begin VB.1 VERSION 5.Frame Frame1 Caption = "Datos:" BeginProperty Font Name = "MS Sans Serif" Size = 8.Frame Frame2 Height = 1695 Left = 2880 TabIndex = 9 Top = 480 Width = 1575 Begin VB.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00FF0000& Height = 1695 Left = 120 TabIndex = 5 Top = 480 Width = 2655 Begin VB.Form frmOlas Caption = "DATOS DE OLEAJE" ClientHeight = 2280 ClientLeft = 5040 ClientTop = 1350 ClientWidth = 4680 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 2280 ScaleWidth = 4680 Begin VB.1#0".CommonDialog CommonDialog1 Left = 480 Top = 1200 _ExtentX = 847 _ExtentY = 847 _Version = 327680 End Begin VB.CommandButton Grabar Caption = "&Grabar" Height = 255 Left = 120 TabIndex = 10 Top = 600 Width = 1335 End End Begin VB.OCX" Begin VB.

Label Label2 Alignment = BackColor = BorderStyle = Height = Left = TabIndex = Top = Width = End Begin VB.Label Label4 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.Label Label5 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.TextBox Text1 Height = Left = TabIndex = Top = Width = End Begin VB.Label Label3 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin VB.TextBox Text2 Height = Left = TabIndex = Top = Width = End Begin VB.frmOlas .Label Label1 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End 285 1320 1 720 855 285 1320 0 360 855 -1 'True "Periodo [s]: " 195 120 8 720 840 -1 'True "Dirección [º]: " 195 120 7 1080 960 -1 'True "Hrms [m]: " 195 120 6 360 705 2 'Center &H8000000E& 1 'Fixed Single 255 960 4 120 3615 -1 'True "Archivo: " 195 120 3 120 630 .2 Begin VB.

gKf Text8. _ dmin As Single.frmParametros . _ dl As Single. tipo If tipo = "DSBB" Then Option1. gTitulo Exit Sub .Text = Str(Alfa) Input #f.Caption = . gUL Check2.Value = True End If Input #f.Text = Str(dl) Input #f. k Text1.Filter = "Parámetros (*.cal" . dl Text4.Value = True Else Option2. inter Check1.Text = gKf Input #f.Oleaje Case Is = "" gMsg = "No se ha definido el dato de oleaje " & Chr(10) & _ "para el proyecto en estudio" gTitulo = "FALTAN DATOS" MsgBox gMsg.cal)|*.DialogTitle = "Abrir archivo de parámetros" .1 Option Explicit Private Sub Command1_Click() End Sub Private Sub Abrir_Click() Dim f As Integer. Alfa As Single. Alfa Text5.Text = Str(fw) Input #f. tipo As String On Error GoTo SalirCalibra With CommonDialog1 . gG Text3.Text = Str(gp) Input #f.CancelError = True . _ k As Single.Value = inter Input #f. gp Text2. fw As Single. fw Text6.Text = Str(gG) Input #f. file As String.Value = gUL Close #f Exit Sub SalirCalibra: Close #f End Sub Private Sub Ayuda_a_parametros_Click() 'Ayuda para escoger parámetros en función de los datos de oleaje End Sub Sub BatStive_Click() Dim Peralte As Single. gp As Single. inter As Integer.Text = Str(k) Input #f.FileTitle End With f = FreeFile Open file For Input As #f Input #f. gG As Single. arg As Single Select Case gProyecto. dmin Text7.Action = 1 file = . vbInformation + vbOKOnly.filename Label2.Text = Str(dmin) Input #f.

Text2. "DSBB" Else Print #f. Text1. d As String d = InputBox("Introduzca D50 [mm]".Text Print #f.filename End With On Error GoTo NoExiste k = FileLen(file) Call Existe(file) If gResponse = 7 Then Exit Sub sigue: Open file For Output As #f Print #f.Value) Close #f Call Salir_Click Exit Sub NoExiste: Resume sigue SalirGuardar: End Sub Private Sub Nikuradse_Click() Dim D50 As Single.Text Print #f. Text8. Str(Check2.Text Print #f.Text Print #f.SetFocus Unload frmParametros .MousePointer = 11 frmMain. Text6. "DSAA" End If Print #f. "P.Text = Str(Format(gG1.Oleaje) Peralte = gHo / gLo arg = 33 * Peralte Call Tanh(arg) gG1 = 0. "###0. Text5.4 * gTh Text2. Text7.DialogTitle = "Guardar archivo de parámetros" .frmParametros .Text Print #f.2 Case Else Call LeeOlas(gProyecto.Text = Str(gr) End Sub Private Sub Salir_Click() Screen. Str(Check1.00")) End Select End Sub Private Sub Grabar_Click() Dim f As Integer. "0.cal" . Text3.CancelError = True .Value = True Then Print #f.Value) If Option1.cal)|*. de NIKURADSE".Text Print #f.5 * D50 Text6.Enabled = True frmMain.Action = 2 file = .Filter = "Parámetros (*.5 + 0.05") D50 = Val(d) gr = 2.Text Print #f. Text4.Text Print #f. file As String f = FreeFile On Error GoTo SalirGuardar With CommonDialog1 .

SelLength = Len(.Text) End With End Sub Private Sub Text4_GotFocus() With Text4 .MousePointer = 0 End Sub Private Sub Text1_GotFocus() With Text1 .SelLength = Len(.SelLength = Len(.Text) End With End Sub Private Sub Text7_GotFocus() With Text7 .Text) End With End Sub Private Sub Text8_GotFocus() With Text8 .frmParametros .SelLength = Len(.SelLength = Len(.Text) End With End Sub Private Sub Text6_GotFocus() With Text6 .SelStart = 0 .SelLength = Len(.Text) End With End Sub Private Sub Text5_GotFocus() With Text5 .SelStart = 0 .SelStart = 0 .Text) End With End Sub Private Sub Text2_GotFocus() With Text2 .SelStart = 0 .3 frmMain.Check3.SelLength = Len(.SelStart = 0 .SelStart = 0 .Text) End With End Sub Private Sub Text3_GotFocus() With Text3 .Value = 1 Screen.Text) .SelLength = Len(.SelStart = 0 .SelStart = 0 .

frmParametros .4 End With End Sub .

CommandButton Salir Caption = "&Salir" Height = 375 Left = 5880 TabIndex = 23 Top = 3840 Width = 1095 End Begin VB.1#0".CommandButton Abrir Caption = "&Abrir" Height = 315 Left = 120 TabIndex = 26 Top = 240 Width = 855 End Begin VB.frmParametros . "COMDLG32.00 Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.CommandButton Ayuda_a_parametros Caption = "&Ayuda" Height = 255 Left = 120 TabIndex = 30 Top = 960 Width = 855 End Begin VB.CommandButton Grabar Caption = "&Grabar" Height = 255 Left = 120 TabIndex = 25 Top = 600 Width = 855 End End Begin VB.Frame Frame1 Caption = "Parámetros de calibración del modelo" BeginProperty Font Name = "MS Sans Serif" Size = 8.CommonDialog CommonDialog1 Left = 6120 Top = 1560 _ExtentX = 847 _ExtentY = 847 _Version = 327680 End Begin VB.Frame Frame2 Height = 1335 Left = 5880 TabIndex = 24 Top = 0 Width = 1095 Begin VB.OCX" Begin VB.Form frmParametros Caption = "Parámetros de calibración" ClientHeight = 4305 ClientLeft = 3840 ClientTop = 4050 ClientWidth = 7020 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 4305 ScaleWidth = 7020 Begin MSComDlg.1 VERSION 5.25 Charset = 0 Weight = 700 Underline = -1 'True Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00FF0000& Height = 4215 Left = 0 TabIndex = 0 Top = 0 .

CommandButton BatStive Caption = "E&valuar" Height = 255 Left = 3120 TabIndex = 32 Top = 720 Width = 735 End Begin VB.OptionButton Option2 Caption = "ASCI" Height = 255 Left = 120 TabIndex = 29 Top = 480 Width = 735 End Begin VB.OptionButton Option1 Caption = "Binarios" Height = 255 Left = 120 TabIndex = 28 Top = 240 Value = -1 'True Width = 855 End End Begin VB.CommandButton Nikuradse Caption = "&Evaluar" Height = 255 Left = 3000 TabIndex = 31 Top = 2160 Width = 855 End Begin VB.Frame Frame3 Caption = "Resultados" BeginProperty Font Name = "MS Sans Serif" Size = 8.TextBox Text7 Height = 285 Left = 4800 TabIndex = 22 Text = "-0.CheckBox Check2 Caption = "Uniformidad longitudinal" Height = 255 Left = 120 TabIndex = 36 Top = 3240 Width = 2175 End Begin VB.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty ForeColor = &H00C00000& Height = 855 Left = 4320 TabIndex = 27 Top = 3240 Width = 1215 Begin VB.frmParametros .2 Width = 5775 Begin VB.TextBox Text8 Height = 285 Left = 4800 TabIndex = 35 Text = "1.00" ToolTipText = "Multiplica Df por este factor" Top = 2880 Width = 735 End Begin VB.01" .

80" Top = 720 Width = 735 End Begin VB.TextBox Text4 Height = 285 Left = 4800 TabIndex = 19 Text = "0.frmParametros .25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 255 .40" Top = 1440 Width = 735 End Begin VB.125" ToolTipText = "Utilizado para fricción con el fondo" Top = 2160 Width = 735 End Begin VB.TextBox Text6 Height = 285 Left = 4800 TabIndex = 21 Text = "0.CheckBox Check1 Caption = "Interacción oleaje -corrientes" Height = 255 Left = 120 TabIndex = 8 Top = 3600 Width = 2415 End Begin VB.40" Top = 1080 Width = 735 End Begin VB.TextBox Text2 Height = 285 Left = 4800 TabIndex = 17 Text = "0.3 ToolTipText Top Width = = = "Punto en que se detiene el cálculo" 2520 735 End Begin VB.00" ToolTipText = "Multiplicador de Db" Top = 1800 Width = 735 End Begin VB.TextBox Text1 Height = 285 Left = 4800 TabIndex = 16 Text = "0.Label Label16 Caption = "Kf =" BeginProperty Font Name = "MS Sans Serif" Size = 8.TextBox Text3 Height = 285 Left = 4800 TabIndex = 18 Text = "0.15" Top = 360 Width = 735 End Begin VB.TextBox Text5 Height = 285 Left = 4800 TabIndex = 20 Text = "1.

4 Left TabIndex Top Width = = = = 4080 34 2880 495 End Begin VB.frmParametros .Label Label11 AutoSize = -1 'True Caption = "d/L = " BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 2 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 13 Top = 1800 Width = 315 End Begin VB.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 14 Top = 2160 Width = 240 End Begin VB.25 .Label Label12 AutoSize = -1 'True Caption = "a = " BeginProperty Font Name = "Symbol" Size = 8.Label Label14 AutoSize = -1 'True Caption = "dmin = " BeginProperty Font Name = "MS Sans Serif" Size = 8.25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 15 Top = 2520 Width = 630 End Begin VB.Label Label13 AutoSize = -1 'True Caption = "r =" BeginProperty Font Name = "MS Sans Serif" Size = 8.Label Label15 AutoSize = -1 'True Caption = "Parámetro modificador de pérdidas por fricción: " Height = 195 Left = 120 TabIndex = 33 Top = 2880 Width = 3360 End Begin VB.

25 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 9 Top = 360 Width = 360 End Begin VB.25 Charset = 2 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 10 Top = 720 Width = 315 End Begin VB.25 Charset = 2 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Height = 195 Left = 4080 TabIndex = 11 Top = 1080 Width = 315 End Begin VB.5 Charset Weight Underline Italic Strikethrough EndProperty Height = Left = TabIndex = Top = Width = = = = = = 0 700 0 'False 0 'False 0 'False 195 4080 12 1440 540 End Begin VB.Label Label7 AutoSize = -1 'True Caption = "Profundidad mínima de cálculo: " Height = 195 Left = 120 TabIndex = 7 Top = 2520 Width = 2280 .Label Label10 AutoSize = -1 'True Caption = "G = " BeginProperty Font Name = "Symbol" Size = 8.Label Label8 AutoSize = -1 'True Caption = "K = " BeginProperty Font Name = "MS Sans Serif" Size = 8.frmParametros .Label Label9 AutoSize = -1 'True Caption = "g = " BeginProperty Font Name = "Symbol" Size = 8.

35 .3): " 195 120 1 360 2145 .0.1 .Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.Label AutoSize Caption Height Left TabIndex Top Width End End End Label6 = = = = = = = Label5 = = = = = = = Label4 = = = = = = = Label3 = = = = = = = Label2 = = = = = = = Label1 = = = = = = = -1 'True "Parámetro de Nikuradse: " 195 120 6 2160 1800 -1 'True "Coeficiente de disipación por rotura: " 195 120 5 1800 2580 -1 'True "Límite de profundidades reducidas: " 195 120 4 1440 2535 -1 'True "Relación H/d para máxima ola estable (0.0.Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.frmParametros .50): " 195 120 3 1080 3690 -1 'True "Parámetro de Battjes y Stive: " 195 120 2 720 2085 -1 'True "Parámetro de Dally (0.6 End Begin VB.Label AutoSize Caption Height Left TabIndex Top Width End Begin VB.

i).00") & fT & _ Format(gL(fila.00") & fT & Format(gCg(fila. i) > 0 Then rH = gHrms(fila.Row = 1 . "#0. i).Value = 1 .Value End With frmResultados. Ursell " & fT & " Fw " & fT & _ " Rx " & fT & " Ry " MSFlexGrid1. fEntrada As String Sub LlenaGrid(fila As Integer) Dim rH As Single With MSFlexGrid1 . "#0.max + 1 Exit Sub NoModel: gMsg = "No ha procesado el proyecto" gTitulo = "NO HAY RESULTADOS" MsgBox gMsg.FormatString = fEntrada On Error GoTo NoModel For i = 1 To Fich. size As Integer " & gProyecto.Columnas . i). i). i). "#0. "#0.00") & fT & _ Format(gHm(fila.AddItem fEntrada.00") & fT & _ Format(gDb(fila. i). i).1) * gDx) & fT & _ Format(gZ(fila. i). "#0.Rows = 1 .Caption = . "#0. "#0.Nombre d " " " " & & & & fT fT fT fT " & fT & _ & _ & _ & _ & _ . i). i). "#0. "#0. "#0. gTitulo Resume sigue End Sub Private Sub Form_Load() fT = Chr(9) With HScroll1 .1 Option Explicit Dim fFila As Integer.00") & fT & _ Format(gUr(fila.FixedCols = 1 .00") & fT & Format(gHrms(fila.00") & fT & Format(gFw(fila.SmallChange = 1 Label2.00") & fT & _ Format(gQb(fila.Columnas If gHm(fila. "#0.Clear . i).00") & fT & Format(gDf(fila.Rows = HScroll1.00") & fT & _ Format(gRx(fila.00") & fT & Format(gSyy(fila. fT As String.00") & fT & Format(rH.00") & fT & Format(gSU(fila.min = 1 .Caption = frmResultados. "#0.00") & fT & Format(gRy(fila.Caption & " End Sub Private Sub Fuente() Dim Fuente As String. i). i) / gHm(fila.frmResultados . i Next i sigue: MSFlexGrid1. Onda " & fT & " Hrms " & fT & " Hmax " Rh " & fT & " Qb " & fT & " Set-up " Sxx " & fT & " Syy " & fT & " Sxy " Cg " & fT & " Db " & fT & " Df " P.00") MSFlexGrid1.CellAlignment = flexAlignCenterCenter End With 'Cabecera fEntrada = " Perfil " & fT & " x " & fT & " " L. "#0.FixedRows = 1 . i). i).00") & fT & _ Format(gSxy(fila. i) fEntrada = Str(i) & fT & Str((i . "#0. "#0.max = Fich. vbInformation + vbOKOnly.col = 1 . "#0. "#0. i). i).00") & fT & _ Format(gSxx(fila.Cols = 1 .

FontName size = .Caption = HScroll1.ShowPrinter Case Is = "Salir" Unload frmResultados End Select Salir: End Sub .FontSize End With MSFlexGrid1.frmResultados .Button) Select Case Button.FontSize = size MSFlexGrid1.MousePointer = 11 Label2.2 With CommonDialog1 .MousePointer = 0 End Sub Private Sub Salir_Click() Unload frmResultados End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Value) Screen.Refresh End Sub Private Sub HScroll1_Change() Screen.ShowFont Fuente = .FontName = "Arial Narrow" .Key Case Is = "Fuente" Call Fuente Case Is = "Impresora" On Error GoTo Salir CommonDialog1.Font = Fuente MSFlexGrid1.Flags = cdlCFBoth .Value Call LlenaGrid(HScroll1.

Toolbar Toolbar1 Height = 390 Left = 10080 TabIndex = 5 Top = 120 Width = 1095 _ExtentX = 1931 _ExtentY = 688 Appearance = 1 ImageList = "ImageList1" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 3 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Fuente" Description = "Fuente" Object.1#0".Frame Frame1 Caption = "Control" Height = 615 Left = 0 TabIndex = 1 Top = 6840 Width = 11295 Begin ComctlLib.Tag = "" ImageIndex = 2 EndProperty BeginProperty Button3 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Salir" Description = "Salir" Object.Form frmResultados Caption = "Resultados" ClientHeight = 7530 ClientLeft = 360 ClientTop = 450 ClientWidth = 11340 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 7530 ScaleWidth = 11340 Begin MSComDlg. "MSFLXGRD.Tag = "" ImageIndex = 1 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Impresora" Description = "Impresora" Object.0#0".ToolTipText = "Tipo de fuente a utilizar" Object.1 VERSION 5.00 Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1. "COMCTL32.Label Label2 Alignment = 2 'Center BackColor = &H8000000E& .CommonDialog CommonDialog1 Left = 8160 Top = 3840 _ExtentX = 847 _ExtentY = 847 _Version = 327680 End Begin VB.ToolTipText = "Propiedades de la impresora" Object.OCX" Begin VB. "COMDLG32.OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.HScrollBar HScroll1 Height = 255 Left = 120 TabIndex = 2 Top = 240 Width = 4575 End Begin VB.Tag = "" ImageIndex = 3 EndProperty EndProperty End Begin VB.frmResultados .1#0".OCX" Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.ToolTipText = "Cerrar ventana" Object.

2 BorderStyle Caption Height Left TabIndex Top Width = = = = = = = 1 'Fixed Single "Label2" 255 5280 4 240 1215 -1 'True "Fila: " 195 4920 3 240 330 End Begin VB.MSFlexGrid MSFlexGrid1 Height = 6615 Left = 0 TabIndex = 0 Top = 120 Width = 11295 _ExtentX = 19923 _ExtentY = 11668 _Version = 327680 Cols = 10 BackColor = 16777215 WordWrap = -1 'True FillStyle = 1 AllowUserResizing= 3 MousePointer = 3 End Begin ComctlLib.frmResultados .Label Label1 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin MSFlexGridLib.ImageList ImageList1 Left = 9600 Top = 6720 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 327680 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 3 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty EndProperty End End .

1 Option Explicit .frmSonda .

"COMCTL32.1#0".OCX" Begin VB.00 Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.frmSonda .ProgressBar ProgressBar1 Height = 255 Left = 0 TabIndex = 0 Top = 0 Width = 9735 _ExtentX = 17171 _ExtentY = 450 _Version = 327680 BorderStyle = 1 Appearance = 1 End End .1 VERSION 5.Form frmSonda BackColor = &H00C00000& ClientHeight = 255 ClientLeft = 1155 ClientTop = 7755 ClientWidth = 9735 ClipControls = 0 'False ControlBox = 0 'False LinkTopic = "Form1" ScaleHeight = 255 ScaleWidth = 9735 Begin ComctlLib.

0000")) Next col Close #f.Caption = Fich.frmUniform . Str(col).filas.Caption = Fich.1 Option Explicit Dim fX() As Variant Private Sub Calcular_Click() Dim file As String.Columnas Label6.Visible = True Toolbar1.filas media = media + gZ(i. col As Integer.media) ^ 2 Next i std = Sqr(std / Fich. Str(Format(media.Value = col 'Media media = 0 For i = 1 To Fich.Columnas ProgressBar1." & gProyectoNP.Batimetria) End Select f = FreeFile Open file For Output As #f f1 = FreeFile Open File1 For Output As #f1 For col = 1 To Fich.Batimetria Label4.Caption = "[" & Str(gDx) & "." & Str(gDy) & "]" With ProgressBar1 .Value = 0 End With End Sub .Columnas . "##0. col) .filas std = std + (gZ(i.prf" File1 = "Media.Caption & " . gTitulo 'Lee el archivo batimétrico Select Case Fich.filas) Print #f. _ media As Single.MousePointer = 11 file = "Sigma.Clase Case Is = "DSAA" Call leeASCI(gProyecto. f1 As Integer Screen. _ f As Integer. std As Single.filas Label5. #f1 Toolbar1.Refresh Screen.0000")) 'Desviación std = 0 For i = 1 To Fich. col) Next i media = media / Fich. "##0. Str(col).Caption = frmUniform. File1 As String. 1 To 2) As Variant frmUniform.max = Fich. Str(Format(std. vbInformation + vbOKOnly.prf" gMsg = "El resultado se guardará" & Chr(10) & _ "en los archivos " & file & " y" & Chr(10) & _ File1 gTitulo = "RESULTADOS" MsgBox gMsg.filas Print #f1.MousePointer = 0 End Sub Private Sub Form_Load() ReDim fX(1 To Fich.min = 0 .Batimetria) Case Is = "DSBB" Call LeeBinario(gProyecto.

"###0.Button) Dim file f As Xmin a As As String. YMax As Double. Shift As Integer.Caption = Format(X. X As Single.Caption = Format(Y.Key Case Is = "Media" file = "Media. b As Single Picture1. X As Single. _ Integer. _ As Double. Shift As Integer. X As Single. X As Single. Shift As Integer. X As Variant. _ Single. " & Str(b) Call ValoresExtremos(b. Y As Single) Call Caption_a_cero End Sub Private Sub Frame1_MouseMove(Button As Integer. X As Single. orden As String. Y As Single) Call Caption_a_cero End Sub Private Sub Frame2_MouseMove(Button As Integer. vbNormalFocus) f = FreeFile Open file For Input As #f f1 = FreeFile Open "dibujo.Cls Select Case Button.prf" MSChart1.TitleText = "PERFIL MEDIO" . 2) = b Next i Close #f. Shift As Integer.exe " & file If Ver. Ymin As Double. a. 1) = Str(a) fX(i.000") End Sub Private Sub Salir_Click() Unload frmUniform End Sub Private Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib. Y As Single) Label9. filas As Integer. Shift As Integer.frmUniform .tmp" For Output As #f1 For i = 1 To Fich. Ymin) 'Datos del Chart fX(i.filas Input #f. Y As Single) Call Caption_a_cero End Sub Private Sub Frame3_MouseMove(Button As Integer. #f1 Select Case file Case Is = "Media. YMax. XMax As Double.prf" Case Is = "Desviacion" file = "Sigma. Y As Single) Call Caption_a_cero End Sub Private Sub Picture1_MouseMove(Button As Integer. f1 As Integer. b Print #f1. Str(a) & ".prf" End Select orden = "Notepad.Value = 1 Then X = Shell(orden.2 Private Sub Form_MouseMove(Button As Integer. "###0") Label10.

ChartData = fX 'Dibujo If -(YMax .chartType = VtChChartType2dBar End Select MSChart1.Caption = " " End Sub Private Sub Toolbar2_ButtonClick(ByVal Button As ComctlLib.3 MSChart1. 255.Ymin) = 0 Then gMsg = "El valor de la función" & Chr(10) & _ "es nulo en todo el dominio.Visible = True End Select End Sub ." If file = "Sigma.Line (0. 255) Picture1.Visible = False Else MSChart1. "frmUniform". vbInformation + vbOKOnly.chartType = VtChChartType2dLine Case Else MSChart1. gTitulo Exit Sub End If Call perfil(1.frmUniform . i)-(filas.Enabled = True End Sub Private Sub Caption_a_cero() Label9.Button) Select Case Button.Caption = " " Label10. i) Next i Toolbar2.Visible = True Then MSChart1.Buttons(1).Key Case Is = "Grafico" If MSChart1.ForeColor = RGB(255.TitleText = "DESVIACIÓN" MSChart1.prf" Then gMsg = gMsg & Chr(10) & _ "La batimetría es uniforme" gTitulo = "UNIFORMIDAD" MsgBox gMsg. file) 'Ejes For i = Ymin To YMax Picture1.

00 Object = "{02B5E320-7292-11CF-93D5-0020AF99504A}#1.ToolTipText = "Visualizar gráfico" Object.1#0".OCX" Begin VB. "MSCHART.Frame Frame3 Caption = "Coordenadas" ForeColor = &H00C00000& Height = 975 Left = 120 TabIndex = 13 Top = 2880 Width = 2535 Begin VB.frmUniform .OCX" Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1. "COMCTL32.Label Label10 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = "Label10" Height = 255 Left = 360 TabIndex = 17 Top = 600 Width = 1095 End Begin VB.Toolbar Toolbar2 Height = 390 Left = 120 TabIndex = 21 Top = 120 Width = 375 _ExtentX = 661 _ExtentY = 688 ImageList = "ImageList1" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 1 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Enabled = 0 'False Key = "Grafico" Object.0#0".Tag = "" ImageIndex = 3 EndProperty EndProperty End End Begin VB.Form frmUniform Caption = "UNIFORMIDAD" ClientHeight = 4545 ClientLeft = 165 ClientTop = 1245 ClientWidth = 11595 Icon = (Icono) LinkTopic = "Form1" ScaleHeight = 4545 ScaleWidth = 11595 Begin VB.Label Label9 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = "Label9" Height = 255 Left = 360 TabIndex = 16 Top = 240 Width = 1095 End Begin VB.1 VERSION 5.Label Label8 AutoSize = -1 'True .Frame Frame4 BorderStyle = 0 'None Height = 495 Left = 2040 TabIndex = 20 Top = 3960 Width = 615 Begin ComctlLib.

2 Caption Height Left TabIndex Top Width = = = = = = "Y: " 195 120 15 600 195 -1 'True "X: " 195 120 14 240 195 End Begin VB.Frame Frame2 Caption = "Uniformidad transversal" ForeColor = &H00C00000& Height = 1335 Left = 120 TabIndex = 9 Top = 1440 Width = 2535 Begin ComctlLib.Label Label7 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin VB.ToolTipText = "Ver archivo de desviación típica" Object.ProgressBar ProgressBar1 Height = 255 Left = 120 TabIndex = 11 Top = 720 Width = 2295 _ExtentX = 4048 _ExtentY = 450 _Version = 327680 Appearance = 1 End Begin VB.Tag = "" ImageIndex = 2 EndProperty EndProperty End Begin VB.Tag = "" ImageIndex = 1 EndProperty BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Desviacion" Description = "Desviación" Object.CommandButton Calcular .ToolTipText = "Ver archivo de media aritmética" Object.CheckBox Ver Caption = "Ver resultado numérico" Height = 195 Left = 120 TabIndex = 18 Top = 1080 Width = 2295 End Begin ComctlLib.frmUniform .Toolbar Toolbar1 Height = 390 Left = 1680 TabIndex = 12 Top = 240 Visible = 0 'False Width = 735 _ExtentX = 1296 _ExtentY = 688 ImageList = "ImageList1" _Version = 327680 BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7} NumButtons = 2 BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7} Key = "Media" Description = "Media" Object.

Label Label4 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = " " Height = 255 Left = 1440 TabIndex = 4 .Label Label5 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = " " Height = 255 Left = 1440 TabIndex = 5 Top = 600 Width = 975 End Begin VB.PictureBox Picture1 AutoRedraw = -1 'True BackColor = &H8000000E& Height = 4335 Left = 2760 MousePointer = 2 'Cross ScaleHeight = 4275 ScaleWidth = 8715 TabIndex = 8 Top = 120 Width = 8775 Begin MSChartLib.CommandButton Salir Caption = "&Salir" Height = 255 Left = 120 TabIndex = 7 Top = 4200 Width = 975 End Begin VB.Label Label6 Alignment = 2 'Center BackColor = &H8000000E& BorderStyle = 1 'Fixed Single Caption = " " Height = 255 Left = 1440 TabIndex = 6 Top = 960 Width = 975 End Begin VB.3 Caption Height Left TabIndex Top Width = = = = = = "&Calcular" 255 120 10 240 735 End End Begin VB.frmUniform .MSChart MSChart1 Height = 4335 Left = 0 TabIndex = 19 Top = 0 Visible = 0 'False Width = 8775 End End Begin VB.Frame Frame1 Caption = "Batimetría" ForeColor = &H00C00000& Height = 1335 Left = 120 TabIndex = 0 Top = 0 Width = 2535 Begin VB.

Label Label2 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.4 Top Width = = 240 975 -1 'True "Resolución [x.frmUniform .ImageList ImageList1 Left = 1200 Top = 3960 _ExtentX = 1005 _ExtentY = 1005 BackColor = -2147483643 ImageWidth = 16 ImageHeight = 16 MaskColor = 12632256 _Version = 327680 BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7} NumListImages = 3 BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "" EndProperty BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7} Picture = {Binary} Key = "Grafico" EndProperty EndProperty End End . y]: " 195 120 3 960 1260 -1 'True "Columnas: " 195 120 2 600 780 -1 'True "Filas: " 195 120 1 240 405 End Begin VB.Label Label1 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End End Begin ComctlLib.Label Label3 AutoSize = Caption = Height = Left = TabIndex = Top = Width = End Begin VB.

Module1 - 1 Option Explicit 'Variables de uso general Global i As Integer, j As Integer, k As Integer Global gMsg As String, gTitulo As String Global gResponse As Integer, gTh As Single, _ gSh As Single, gModela As Integer Global gZonaError As String Global gInicEvento As Single, gFinEvento As Single, _ gElapsEvento As Single, gTpo As Single Global gProyectoLista As String Global gAntes As Integer, gFileVal As String Type Tipo_gProyecto Nombre As String Batimetria As String Oleaje As String Calibracion As String End Type Type Tipo_gProyecto_NP Nombre As String Batimetria As String Oleaje As String Calibracion As String End Type Global gProyecto As Tipo_gProyecto, gProyectoNP As Tipo_gProyecto_NP Global Bati As Node, Calibra As Node, Olas As Node Global Perfil_R As Node, Hm_R As Node, Hrms_R As Node, Cg_R As Node, L_R As Node, _ Q_R As Node, S_R As Node, SXX_R As Node, SXY_R As Node, _ SYY_R As Node, E_R As Node, D_R As Node, DR_R As Node, DF_R As Node, _ Ur As Node, SU As Node, Uorb_R As Node, R As Node, _ Rx_R As Node, Ry_R As Node, Fw_R As Node, _ Px_R As Node, Py_R As Node Global PBati As Node, POlas As Node, PCalibra As Node 'DATOS BATIMÉTRICOS Type DatosGrd Clase As String * 4 Columnas As Integer filas As Integer MinX As Double MaxX As Double MinY As Double MaxY As Double Minz As Double MaxZ As Double Null As String * 4 End Type Global Fich As DatosGrd Global gZ() As Single Global gDx As Single, gDy As Single

'Separación entre nodos

'Datos iniciales de oleaje Global gHo As Single, gTo As Single, gObo As Single, _ gLo As Single, gFrec As Single 'Datos de calibración Global gK As Single, gG1 As Single, gG2 As Single, gDL As Single, gAlfa As Single, _ gr As Single, gDmin As Single, gInter As Integer, gTipo As String, _ gPrecQb As Single, gPrecLonda As Single, gKf As Single, gUL As Integer 'Parámetros físicos del oleaje Global gNO() As Single, gL() As Single Global gCg() As Single Global gOb() As Single Global gHrms() As Single 'Nº de onda, longitud de onda 'Celeridad de grupo 'Oblicuidad 'Altura de ola media cuadrática

Module1 - 2 Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global Global gCteOb() As Single gHm() As Single gQb() As Single gE() As Single gPx() As Single gPy() As Single gUorb() As Single gDf() As Single gDb() As Single gSxx() As Single gSxy() As Single gSyy() As Single gUr() As Single gHal() As Single gSU() As Single gU() As Single gV() As Single gRx() As Single gRy() As Single gFw() As Single 'Constante de Snell [= sen(a)/c] 'Altura de ola máxima, según Miche 'Fracción de olas rotas 'Energía del oleaje 'Proyección X del flujo de energía 'Proyección Y del flujo de energía 'Velocidad orbital de las partículas 'Disipac. de energía por fricción con el fondo 'Disipac. de energía por rotura de oleaje 'Componente Sxx del tensor de radiación 'Componente Sxy del tensor de radiación 'Componente Syy del tensor de radiación 'Parámetro de Ursell 'Parámetro de Hallermeier 'Set-up 'Componente normal de la corriente 'Componente tangencial de la corriente 'Componente x del término impulsor 'Componente y del término impulsor 'Parámetro de fricción con el fondo 'Datos 'Datos 'Datos 'Datos del del del del gráfico gráfico de altura de ola gráfico de perfil gráfico de Qb

'Gráfico de utilización Global gChart() As Variant Global gChart2() As Variant Global gChart3() As Variant Global gChart4() As Variant 'Constantes Global Const Global Const Global Const Global Const Global gVer g = 9.8182 pi = 3.14159265358979 rho = 1.026 rhoS = 2.5

'Aceleración de la gravedad 'Constante circular 'Densidad media del agua del mar 'Densidad media del sedimento

Sub ValoresExtremos(Dato As Single, Maximo As Double, Minimo As Double) If Dato > Maximo Then Maximo = Dato If Dato < Minimo Then Minimo = Dato End Sub Sub errores(codigo) 'Rutina de captura de errores Dim msg1 As String, msg2 As String gTitulo = "SE HA PRODUCIDO UN ERROR: Código " & Err Select Case codigo Case Is = 5 msg1 = "Llamada a argumento o procedimiento no válido" & Chr(10) & _ " Posiblemente ha intentado calcular la raíz" & Chr(10) & _ " cuadrada de un número negativo" msg2 = "Pruebe a definir una profundidad límite de cálculo " & Chr(10) & _ " mayor que la actual (" & gDmin & " m.)" Case Is = 6 msg1 = "Desbordamiento" msg2 = "Alguna magnitud se ha hecho demasiado grande " & Chr(10) & _ "y el sistema no puede manejarla. " & Chr(10) & _ "Confirme que no hay error de datos. Si son correctos" & Chr(10) & _ "posiblemente el modelo no es capaz de procesarlos" & Chr(10) & _ "según sus hipótesis de cálculo" Case Is = 9 msg1 = "Subíndice fuera de intervalo" msg2 = "Lo más probable es que se trate de un problema" & Chr(10) & _ "de codificación. Si no ha ocurrido en otros" & Chr(10) & _ "casos, revise sus datos. En caso contrario" & Chr(10) & _ "póngase en contacto con el programador" Case Is = 11 msg1 = "División por cero" msg2 = "Defina una profundidad límite de cálculo " & Chr(10) & _ " mayor que la actual (" & gDmin & " m.)" Case Is = 53 msg1 = "Archivo no encontrado"

Module1 - 3 msg2 = "El sistema ha intentado abrir " & Chr(10) & _ "un archivo inexistente" Case Is = 380 msg1 = "Valor de propiedad inválido" msg2 = "Algún archivo ha dado errores y no se puede " & Chr(10) & _ "procesar. Por ejemplo, si los datos de dibujo " & Chr(10) & _ "de un archivo de resultados son todos nulos" & Chr(10) & _ "la escala del gráfico no se puede establecer." & Chr(10) & _ "En este caso, el gráfico no puede ser representado" Case Is = 35602 msg1 = "Intentó cargar dos datos del mismo tipo" msg2 = "Los tres datos deben ser de tipos diferentes: " & Chr(10) & _ "batimétricos: *.grd" & Chr(10) & _ "oleaje : *.ola" & Chr(10) & _ "calibración : *.cal" & Chr(10) & Chr(10) & _ "Si desea sustituir algún dato, elimínelo antes" & Chr(10) & _ "utilizando el menú 'Editar'" Case Else msg1 = "Desconocido" msg2 = "Consulte el código de errores de Visual Basic 5.00" End Select gMsg = "Calculando: " & gZonaError & Chr(10) & Chr(10) & _ "Tipo de error: " & msg1 & Chr(10) & Chr(10) & _ "Posible solución: " & msg2 Close Screen.MousePointer = 0 MsgBox gMsg, vbInformation + vbOKOnly, gTitulo Unload frmSonda End Sub Sub Dimensionar(i, j) ReDim gNO(1 To i, 1 To j) As Single, gL(1 To i, 1 To j) As Single, _ gCg(1 To i, 1 To j) As Single, gOb(1 To i, 1 To j) As Single, _ gHrms(1 To i, 1 To j) As Single, gCteOb(1 To i) As Single, _ gHm(1 To i, 1 To j) As Single, gQb(i, j) As Single, _ gE(1 To i, 1 To j) As Single, gPx(1 To i, 1 To j) As Single, _ gPy(1 To i, 1 To j) As Single, gUorb(1 To i, 1 To j) As Single, _ gDf(1 To i, 1 To j) As Single, gDb(1 To i, 1 To j) As Single, _ gSxx(1 To i, 1 To j) As Single, gSxy(1 To i, 1 To j) As Single, _ gSyy(1 To i, 1 To j) As Single, gUr(1 To i, 1 To j) As Single, _ gHal(1 To i, 1 To j) As Single, gSU(1 To i, 1 To j) As Single, _ gU(1 To i, 1 To j) As Single, gV(1 To i, 1 To j) As Single, _ gRx(1 To i, 1 To j) As Single, gRy(1 To i, 1 To j) As Single, _ gFw(1 To i, 1 To j) As Single, gChart2(1 To j, 1 To 2) As Variant, _ gChart3(1 To j, 1 To 2) As Variant, gChart4(1 To j, 1 To 2) As Variant Call DibujaPerfilChart End Sub Sub DibujaPerfilChart() Screen.MousePointer = 11 For j = 1 To Fich.Columnas gChart3(j, 1) = Str(j) gChart3(j, 2) = gZ(1, j) Next j frmMain.MSChart3 = gChart3 frmMain.Frame9.Caption = gProyectoNP.Nombre & " (perfil)" frmMain.MSChart3.Visible = True Screen.MousePointer = 0 End Sub Sub HSeno(X As Single) gSh = 0.5 * (Exp(X) - Exp(-X)) End Sub Sub Ayuda(Texto As String) frmMain.StatusBar1.Panels(4).Text = Texto End Sub Sub NoImplementado()

4 gMsg = "Esta función " & Chr(10) _ & "aún no ha sido implementada" gTitulo = "SOFTWARE EN DESARROLLO" MsgBox gMsg.Print mensaje & ": " frmMain.Picture1.Picture1.max = Maximo frmMain. vbInformation + vbOKOnly + vbDefaultButton1.min = Minimo End Sub Sub Inicializa_Picture1() frmMain.gInicEvento Call TiempoTranscurrido(gElapsEvento.00")) _ & " segundos)" Else frmMain.Refresh Unload frmSonda End Sub Sub TiempoTranscurrido(tiempo As Single.ScaleWidth = 6675 frmMain.00")) _ & " segundos en total" End If End Sub Sub Elimina(file As String.Print "Se emplearon " & _ Str(Format(tiempo.Picture1.Print " Final: ".Picture1.Exp(-X)) / (Exp(X) + Exp(-X)) End Sub Sub LaSonda_Inicio(mensaje As String.Text = Time frmMain.Print " Inicio: ". gFinEvento = Timer gElapsEvento = gFinEvento .StatusBar1. frmMain. Time.Picture1.Picture1. 1) gTpo = gElapsEvento frmMain.ScaleLeft = 0 frmMain.Picture1. " (".ScaleHeight = 4635 frmMain.Picture1." & Chr(10) & "¿Sobreescribo?" gResponse = MsgBox(gMsg.Picture1.Module1 .ProgressBar1. Time.FontBold = False frmMain. "##0.Refresh frmMain.FontBold = False frmMain. gTitulo End Sub Sub Existe(file As String) gTitulo = "¡ATENCIÓN!" gMsg = "El archivo " & file & _ " existe.Panels(1).Cls frmMain.Picture1.FontBold = True frmMain.Picture1.Picture1. "##0. formato As Integer) If formato = 1 Then frmMain.Picture1. sonda As Integer) frmMain.Value = sonda On Error GoTo Salir .ScaleTop = 0 frmMain. gTitulo) End Sub Public Sub Tanh(X As Single) gTh = (Exp(X) . Maximo As Integer.ProgressBar1.Picture1.ProgressBar1.Picture1. " -> ".CurrentX = 0 frmMain.Print Str(Format(tiempo.Picture1.CurrentY = 0 End Sub Sub LaSonda_Final() frmMain. vbCritical + vbYesNo + vbDefaultButton1. Minimo As Integer) If gModela = 0 Then Call Inicializa_Picture1 gInicEvento = Timer frmMain.

5 Kill file On Error GoTo 0 Exit Sub Salir: frmMain.Print "Archivo " & file & " no encontrado" End Sub .Picture1.Module1 .

Fich.MousePointer = 0 End Sub Sub LeeCabASCI(file As String) Dim f As Integer Screen.Fich.Columnas Get #f.MousePointer = 0 End Sub Sub LeeCabBinario(file As String) Dim f As Integer Screen.Caption = gProyectoNP. . Fich. compruebe que el nombre" & Chr(10) _ & "y la ruta son correctos" gTitulo = "ERROR DE LECTURA" .filas frmMain.Columnas .filas frmMain.MaxX Input #f. Fich. .Clase Case Is = "DSAA" Call LeeCabASCI(gProyecto. .Null Close #f gDy = (Fich. .VScroll1.MaxZ Close #f gDy = (Fich. .Label6. Fich.Batimetria) Case Is = "DSBB" Call LeeCabBinario(gProyecto.MaxX . Fich. .MaxX .max Screen.MousePointer = 0 gMsg = "No existe el archivo especificado" & Chr(10) _ & "Por favor.Label5.Fich.Columnas .MinY Get #f.MinX) / (Fich. Fich.MousePointer = 11 f = FreeFile Open file For Input As #f Input #f.MaxY Input #f.Fich.Module2 .1) gDx = (Fich.MaxY .MinX) / (Fich.1) Screen.Minz Get #f.MinX Input #f.MousePointer = 0 End Sub Sub NoHay() Screen.1) Screen. Fich.MinY) / (Fich.1) gDx = (Fich.Batimetria) Select Case Fich.filas .MaxY Get #f.MousePointer = 11 f = FreeFile Open file For Binary As #f Get #f.Clase Input #f.Clase Get #f.MinX Get #f. Fich.filas Input #f.Batimetria) End Select frmMain. Fich.Caption = Fich.Label4.filas Get #f. Fich.Columnas Input #f.MousePointer = 11 frmMain. .Caption = 1 frmMain.filas . Fich. .min = -Fich.VScroll1. Fich. Fich. Fich. Fich. Fich.max = -1 frmMain.Value = frmMain.MaxY .VScroll1.MinY) / (Fich.1 Option Explicit Sub Herramientas() 'Actualiza la ficha de herramientas Screen.VScroll1.Minz Input #f. .MaxZ 'Input #f.Fich. Fich.Batimetria Call TipoGrd(gProyecto. Fich.MaxX Get #f. Fich.MinY Input #f.

Minz Get #f. Fich. j) Next j Input #f. j) Next j Next i .2 MsgBox gMsg.max = Fich.Playa_Cilindrica.ProgressBar1.min = 0 frmMain. Fich. k As Single Screen. Fich.ProgressBar1. vbCritical + vbOKOnly. Fich.Value = i For j = 1 To Fich.ProgressBar2.filas. Fich. .MinY Get #f.Enabled = True frmMain.MaxY Get #f. Fich. .Value = i For j = 1 To Fich. Fich.MaxY Input #f.Picture1.min = 1 frmMain.Columnas Get #f.MinX Input #f.Columnas Get #f. . Fich.filas frmMain.Enabled = True frmMain.MaxZ ReDim gZ(1 To Fich. cont As Integer.Clase Get #f. .MousePointer = 0 End Sub Sub LeeBinario(file As String) Dim f As Integer.Null Next i Close #f frmMain.ProgressBar1.Columnas Input #f. cont As Integer. . 1 To Fich. Fich.filas Input #f.filas frmMain.Dibujo.ProgressBar2.MinY Input #f. Fich.Columnas Input #f. . Fich. gZ(i. k As Single Screen. Fich.filas For i = 1 To Fich.filas.max = Fich.MaxX Input #f. gZ(i.Columnas) As Single frmMain.min = 1 frmMain.Minz Input #f. gTitulo End Sub Sub leeASCI(file As String) Dim f As Integer.filas Get #f.ProgressBar2.Clase Input #f.ProgressBar2. Fich. .Columnas) As Single frmMain.ProgressBar2.Enabled = True Screen.A_Grapher.MousePointer = 11 f = FreeFile Open file For Binary As #f Get #f.Module2 .MaxX Get #f.max = Fich.ProgressBar2.Value = i frmMain.MousePointer = 11 f = FreeFile Open file For Input As #f Input #f.Value = i frmMain. Fich. Fich. 1 To Fich. Fich. Fich. .MinX Get #f. .filas For i = 1 To Fich.filas frmMain.MaxZ ReDim gZ(1 To Fich. Fich.ProgressBar1. . Fich.FontBold = True frmMain.FontBold = True frmMain.Picture1.

Picture1.Picture1.Print Fich.Picture1.FontBold = False frmMain. frmMain.Picture1.filas.FontBold = True frmMain.Enabled = True frmMain.FontBold = False frmMain.Picture1.FontBold = False frmMain.Dibujo. frmMain.FontBold = True frmMain.Picture1. "#####0. .Print Fich.Picture1. frmMain.Picture1.Picture1.MinY. "#####0.Print Fich. Fich.FontBold = True frmMain.Picture1.MousePointer = 0 End Sub Sub TipoGrd(file As String) Dim f As Integer f = FreeFile Open file For Binary As #f Get #f. frmMain.Picture1. frmMain.Picture1.FontBold = True frmMain.Picture1.Print Fich.MousePointer = 11 frmMain.Picture1.Picture1.Module2 .Picture1.FontBold = False frmMain.FontBold = False frmMain. frmMain.MaxX frmMain.FontBold = False frmMain.Picture1.Print Fich.Picture1. frmMain.Picture1.FontBold = True frmMain.Picture1.Playa_Cilindrica.Print frmMain.Picture1.Picture1.FontBold = True frmMain.Print " y ".Picture1.Minz.Print Format(gDy. frmMain.FontBold = False frmMain.Picture1.Picture1.Picture1.Picture1.00") frmMain.Print "Filas: ".Print Fich.00") Screen.Print frmMain.Enabled = True Screen.Print "Coordenada X: Entre ".Print frmMain.Picture1. frmMain.Enabled = True frmMain.Picture1.Picture1.Print Format(gDx.Picture1.Picture1.FontBold = True frmMain.Picture1.MousePointer = 0 End Sub Sub LeeOlas(file As String) Dim f As Integer Screen.Print "Columnas: ". frmMain. frmMain.Print Fich.Columnas frmMain.FontBold = False frmMain. frmMain.Picture1.A_Grapher.Print "Distancia entre columnas: ".Picture1.Print " y ".Picture1.Print "Coordenada Z: Entre ".Picture1.Picture1.FontBold = False frmMain.Print "Distancia entre filas: ".MousePointer = 11 .MaxY frmMain.Picture1.Picture1.Picture1.FontBold = True frmMain.FontBold = False frmMain.Print " y ".Picture1.Print Fich.Clase Close #f End Sub Sub ImprimeCabBati() Screen.Picture1.Print frmMain. frmMain.3 Close #f frmMain.MaxZ frmMain.FontBold = True frmMain.FontBold = True frmMain. frmMain.MinX.Picture1.Print "Coordenada Y: Entre ".

MousePointer = 0 Exit Sub Incompleto: Resume Next End Sub Sub ImprimeCalibra() .Picture1. gK Input #f.Print "Longitud de onda Lo [m]: ".Picture1.Picture1.Picture1.FontBold = False frmMain.Print Format(gHo.Picture1.FontBold = True frmMain.MousePointer = 11 On Error GoTo Incompleto f = FreeFile Open file For Input As #f Input #f.Picture1.Picture1.4 f = FreeFile Open file Input #f. gUL Close #f Screen.Print Format(gObo. gTipo Input #f. Input #f. "###0. "###0.Module2 . gInter Input #f.Picture1.FontBold = False Screen.Print Format(gLo.00") frmMain.Picture1.00") frmMain. frmMain. frmMain.Picture1.MousePointer = 0 End Sub Sub ImprimeOleaje() Screen.00") frmMain. "###0.Print "Oblicuidad [º]: ".00") frmMain. Close #f gLo = g * gFrec = 2 For Input As #f gHo gTo gObo gTo * gTo / (2 * pi) * pi / gTo Screen.MousePointer = 11 frmMain.FontBold = False frmMain.FontBold = False frmMain.Picture1. gAlfa Input #f.MousePointer = 0 End Sub Sub LeeCalibra(file As String) Dim f As Integer Screen.Print frmMain.FontBold = True frmMain. gKf Input #f.Picture1. gG2 Input #f. Input #f.Picture1. gG1 Input #f. frmMain.Print "Periodo [s]: ".Print frmMain.FontBold = False frmMain.Picture1.Picture1. "###0.Picture1.Picture1.Picture1.Picture1.Print "Altura de ola media cuadrática [m]: ". gDL Input #f.FontBold = True frmMain.Print Format(gTo.Picture1.Print frmMain.Picture1. gr Input #f.Print frmMain. frmMain. gDmin Input #f.FontBold = True frmMain.

FontBold = True frmMain.Print "Parámetro de Battjes y Stive: ".FontBold = False frmMain. frmMain.Print frmMain. Else frmMain.Picture1.FontBold = True frmMain.Picture1.Print "Binario" gTipo = "DSBB" End If Screen.Picture1.FontBold = True If gTipo = "DSBB" Then frmMain.Picture1.Print "Binario" ElseIf gTipo = "DSAA" Then frmMain.Picture1.Print frmMain.Print "Coeficiente de disipación de energía por rotura de oleaje: ".FontBold = True frmMain.00")) frmMain.Picture1.Picture1. "####0.Picture1.Print "Límite de profundidades reducidas: ".Picture1.Picture1.Print " Playa cilíndrica".Picture1.Picture1.Print Str(Format(gG2.Picture1.Print Str(Format(gK. "####0.00")) frmMain.FontBold = False frmMain.FontBold = False frmMain. frmMain.Print Str(Format(gAlfa.Picture1.FontBold = False frmMain.FontBold = False frmMain.00")) frmMain.Picture1.FontBold = True frmMain.Picture1. frmMain.Picture1. "####0.Picture1.Picture1. "####0.Picture1.Picture1.Print frmMain.Picture1.Print "Parámetro de Nikuradse: ".Print frmMain.Print "Parámetro de Dally: ".corriente /".Picture1.Picture1. "####0.FontBold = False frmMain.Picture1.Picture1.Picture1.00")) frmMain.00")) frmMain.Print frmMain. End If frmMain.Picture1.5 Screen.Picture1.Picture1.Print "Interacción oleaje .Picture1.FontBold = True frmMain.MousePointer = 0 .Picture1.Picture1. "####0. frmMain.Picture1.Picture1.FontBold = True frmMain.Print Str(Format(gG1.Print "Profundidad mínima de cálculo: ".Picture1.Picture1.Picture1.FontItalic = True frmMain.corriente /".Print "ASCI" Else frmMain.Picture1.FontBold = False frmMain.Picture1.00")) frmMain.Picture1.Print frmMain.Print frmMain.Picture1.ForeColor = vbBlack frmMain.FontUnderline = False frmMain.Print frmMain.Picture1.Picture1.Picture1.FontUnderline = True frmMain. "####0.Picture1. End If frmMain.Print " Playa no uniforme".Print Str(Format(gKf.Print frmMain.FontBold = True frmMain.Picture1. frmMain.Module2 .Print "Relación H/d para máxima ola estable: ". frmMain.Picture1.Print Str(Format(gDL.Print Str(Format(gDmin.MousePointer = 11 frmMain.FontBold = True frmMain.FontBold = False frmMain. frmMain.Print "Sin interacción oleaje .Print "Parámetro modificador de la fricción con el fondo: ". frmMain.Print frmMain.Picture1.00")) frmMain.Print Str(Format(gr.Print frmMain.Picture1.Picture1. Else frmMain.Picture1.Picture1.Picture1. frmMain.Picture1.Picture1.Picture1.FontItalic = False frmMain. "0.FontBold = True If gInter = 1 Then frmMain.Picture1.FontBold = False frmMain.ForeColor = vbRed If gUL = 1 Then frmMain.Picture1.Print "Tipo de archivos de resultados: ".00")) frmMain.Picture1.

Module2 .6 End Sub .

ForeColor = QBColor(8) . file As String) 'Rutina de dibujo del perfil_dato Screen.Picture1.tmp") Escala(ventana) ejes(ventana) Grafico(ventana.FontSize = 7 . Ancho As Single .DrawMode = 13 .Picture1.Caption = "" End Sub Sub perfil(fila As Integer. Xmin As Single.Picture1. ventana As String.Label19.CurrentX = 1 .Picture1. "#0.Module3 .Picture1. Ymin As Single Dim X() As Single 'Coordenada X del dibujo Dim d() As Single 'Coordenada Y del dibujo Sub NoXY() frmMain.FontName = "Arial Narrow" .Label20.1 Option Explicit Dim XMax As Single.Picture1.FontSize = 4 . i) .Line (0. file) Rotulos(ventana) Grid(ventana) Screen.00") Next i End With End Select End Sub Sub Escala(ventana As String) Dim Alto As Single. _ X(1 To Fich.ForeColor = QBColor(0) .Picture1.1 Else st = 1 For i = Ymin To YMax Step st .DrawStyle = 2 .Picture1.CurrentY = 0 .Ymin < 1 Then st = 0.DrawStyle = 0 .CurrentX = 0 .Picture1.Print Format(i.Picture1.Picture1.Print "NMM" End With Case "frmUniform" End Select End Sub Sub Grid(ventana As String) Dim i As Double.Picture1.Columnas) As Single.Caption = "" frmMain. st As Double Select Case ventana Case "frmMain" With frmMain End With Case "frmUniform" With frmUniform If YMax . i)-(Fich.Picture1.CurrentY = i .MousePointer = 11 ReDim d(1 To Fich.Columnas) As Single Call Call Call Call Call Call Extremos("Dibujo. _ YMax As Single.Picture1.Picture1.Columnas.MousePointer = 0 End Sub Sub Rotulos(ventana As String) Select Case ventana Case "frmMain" With frmMain .

RGB(255. vbCritical + vbOKOnly.Ymin Ancho = XMax .ScaleLeft = Xmin .Caption = Str(Format(Xmin.00")) "###0. 0).ScaleWidth = Ancho End With Case Is = "frmUniform" With frmUniform.ScaleWidth = Ancho End With End Select Exit Sub aiaiai: gZonaError = "Dibujo de perfiles" Call errores(Err.Caption = Str(Format(XMax.Xmin On Error GoTo aiaiai Select Case ventana Case Is = "frmMain" With frmMain.ScaleTop = YMax .ScaleHeight = -Alto . . .2 Alto = YMax .Caption = Str(Format(Ymin. 0.Label15.Label17.Label18.Picture1. d(i) If X(i) > XMax Then XMax = X(i) If X(i) < Xmin Then Xmin = X(i) If d(i) > YMax Then YMax = d(i) If d(i) < Ymin Then Ymin = d(i) Loop Close #f With frmMain . 0) End With . gTitulo Exit Sub End Sub Sub ejes(ventana As String) Select Case ventana Case Is = "frmMain" With frmMain . X(i).00")) "###0.MousePointer = 0 gMsg = "No se ha generado el archivo temporal" gTitulo = "ERROR DE DIBUJO" MsgBox gMsg.Label16.Number) End Sub Sub Extremos(file As String) 'Rutina de cálculo de extremos de los datos contenidos en el archivo "file" Dim f As Integer f = FreeFile XMax Xmin YMax Ymin = = = = -1E+32 -XMax XMax Xmin On Error GoTo NoTmp i = 0 Open file For Input As #f Do While Not EOF(f) i = i + 1 Input #f. 0)-(XMax.ScaleLeft = Xmin . .Caption = Str(Format(YMax.Module3 .00")) "###0.00")) NoTmp: Screen.Line (Xmin.Picture1 .ScaleTop = YMax . End With Exit Sub "###0.Picture1 .ScaleHeight = -Alto .

1). RGB(0.Columnas X1 = gDx * (i . file As String) Dim X1 As Single.Picture1.FillColor = Color . 0) Case Is > 0.Module3 .Columnas X1 = gDx * (i .FillStyle = 0 .3 Color = RGB(0. 1.Circle (X(i).Cls For i = 2 To Fich.6 Color = RGB(255. d(i .3 Case Is = "frmUnifrom" With frmUniform . d(i)). 255) End If Next i End With End Select End Sub . 255) Next i End With Case Is = "frmUniform" With frmUniform . d(i . 0)-(XMax.1))-(X(i).Picture1.1) X2 = gDx * i If file = "Sigma. Color Else . RGB(255. 0.1) X2 = gDx * i .Line (X(i . X2 As Single.Picture1. 0) End Select .1). 0). 0. 255. 255.6 Color = RGB(255.1))-(X(i).Picture1. RGB(0.Line (X(i .Picture1.3 To 0. 0.Picture1. 0) Case 0. 0) End With End Select End Sub Sub Grafico(ventana As String. Color As String Select Case ventana Case Is = "frmMain" With frmMain For i = 2 To Fich. 0. d(i)).Line (Xmin.prf" Then Select Case d(i) Case Is < 0.Picture1. d(i)).

j . j .bas) 'El contorno inicial debe encontrarse lo suficientemente alejado del _ inicio de la zona de surf como para poder suponer.1) . j . j) = (gSxy(i. j .IncSu * gDx End Sub Sub TensorRadiacion(i As Integer.1)) / gDx Case Else S = (gSxx(i. j) = gSU(i. j) + gSU(i. j) = Deno * gRx(i.978).gSxx(i. conser _ vando todas las simplificaciones excepto la de uniformidad _ longitudinal 'Las variables globales se han definido en el módulo 1(global. j) . j) = (gSxy(i.Module4 . que _ el set-up allí es nulo Sub Corrientes(i As Integer.gSyy(i . j . j)) / gDy j) gRy(i. j) gRy(i. IncSu As Single.1. j)) / gDy End Select IncSu = S / (rho * g * (-gZ(i.1)) / gDx j) gSxx(i. j))) Select Case i Case Is = 1 gRx(i. j) = Deno * gRx(i. j) = (gSxx(i. j) + gSU(i.1. j) .1.978)eliminando la hipótesis * '* de uniformidad longitudinal * '************************************************************** 'En el presente módulo se incluyen todos los cálculos necesarios _ para la modelización según Battjes y Janssen (1. j) = Deno * gRy(i. j .1 '************************************************************** '* MODULO "Modelo_BJG" * '* ---------------------------------------------------------.gSxy(i . sin error. Dim Deno As Single '1º: Evaluación de los términos impulsores Rx y Ry (función del _ tensor de radiación) Deno = 1 / (rho * (-gZ(i. delta As Single Select Case i Case Is = 1 S = (gSxx(i. j . j) .1)) / gDx + _ (gSyy(i. j) (gSxy(i. ob As Single ob = gOb(i.1))) gSU(i. j) * (-1) * gZ(i. j)) / gDy gRy(i.1)) / gDx + _ gSxy(i .gSxx(i. j) = (gSxx(i. j) = Deno * gRy(i. j) End Select End Sub Sub SetUp(i As Integer. j) * pi / 180 g = 2 * gNO(i. j As Integer) 'Evalúa las componentes de la circulación próxima a la orilla _ No toma en consideración las pérdidas por fricción con el fondo _ y mezcla lateral.gSxy(i. j) gRy(i. j .1)) / gDx + _ (gSxy(i. j As Integer) Dim S As Single. Case Else gRx(i.* '* Modelo de Battjes & Janssen (1. j As Integer) 'Calcula las componentes del tensor de radiación Dim g As Single. j) .1)) / gDx gRx(i. j) . j) . j) gRx(i. j) Call HSeno(g) .gSxx(i. gSxy(i.

1. j) = del 0. j) = gE(i. j) * pi / 180 'Paso a radianes gPx(i. j .1) * Cos(ObAntJ) gE(i. j) = Sqr(8 * gE(i. j) / ((-1) * gZ(i.1)) * Cos(ObAntJ) ob = gOb(i. j) = gSyy(i. j .1) * pi / 180 PerdAntJ = (gDf(i. ObAntI As Double.1. j)) ^ 3 End Sub Sub Energia(i As Integer.gDx * PerdAntJ) / (gCg(i. PerdAntJ As Single.5 tensor de radiación * gE(i._ gDx * gDy * (PerdAntJ + PerdAntI) gE(i.1) = gE(i. j) / (rho * g)) Else gHrms(i. j) * Cos(Alfa) gPy(i.1. j) = gE(i.1) = gE(i. j) = gE(i . así como el _ parámetro de intensidad de flujo de Hallermeier (1. j) + gDb(i . j .1) * Cos(ObAntJ) gE(i. j) * ((1 + g) * Cos(ob) * Sin(ob)) * gE(i.1.1) * gCg(i. j . j As Integer) 'Cálculo de los flujos de energía en ambas direcciones. j . j) 'Cálculo de la altura de ola media cuadrática en función de la energía _ del oleaje If gE(i.1) * gDy .1) * gCg(i.gDx * PerdAntJ) / (gCg(i. j) = (gPx(i. j) * gL(i. con el _ fin de simplificar el cálculo de Hrms Dim Alfa As Single Alfa = gOb(i. j . j) * gL(i. j) >= 0 Then gHrms(i.1. j As Integer) 'Calcula el parámetro de Ursell en cada punto. j . j) * pi / 180 Select Case gUL Case Is = 1 'Uniformidad longitudinal gPx(i.1.1) + gDx * gPy(i . j) * gCg(i. j . j) . PerdAntI As Single. j) * Cos(ob) * gDy) Case Else ObAntI = gOb(i . ob As Single. M As Single ObAntJ = gOb(i.5 0.2 g = g / gSh 'Componentes gSxx(i.1. j) * (gDy * Cos(ob) + gDx * Sin(ob))) End Select End Select End Sub Sub Flujos(i As Integer. j) * pi / 180 PerdAntI = (gDf(i . j) * ((1 + g) * Cos(ob) * Cos(ob) + g) * gE(i. j) * Sin(ObAntI) M = gDy * gPx(i. j) = gHrms(i. j .5 0. j) = M / (gCg(i. j . j) * ((1 + g) * Sin(ob) * Sin(ob) + g) End Sub Sub Ursell(i As Integer. _ ObAntJ As Double.1) * gCg(i.1) + gDb(i.982) gUr(i. j) * Sin(Alfa) End Sub Sub Hrms(i. j . j As Integer) 'Integración de la ecuación del flujo convectivo _ de energía. j) * Cos(ob) * gDy) Case Is = 0 Select Case i Case Is = 1 gPx(i. para la obtención de la altura de _ ola media cuadrática a partir de ella Dim EFilAnt As Single. j) * gCg(i . j) = gSxy(i.1) * gDy . j . j) = (gPx(i.Module4 . j . j) * gCg(i.1) = gE(i. j)) * Sin(ObAntI) gPx(i.1) * Cos(ObAntJ) gPy(i . j . j . j) = 0 End If .

j) Do While delta > 0. j) * Sqr(pi) * (gFrec * gHrms(i. j As Integer) Dim rH As Single.5 * k ^ 0. j) < 0 Then gQb(i. j) = Exp(-(1 . j))) gDb(i.638 gFw(i.993). j As Integer) Call HSeno(gNO(i. j) * gHrms(i. j) * (-Log(gQb(i.3 End Sub Sub Qb(i As Integer. j As Integer) 'Calcula la disipación de energía por rotura de oleaje. j) / gSh) ^ 3 Else gDf(i. en la celda anterior _ de la misma fila. j) > 1 Then gQb(i. j) = Exp(5. j) Case Is < gHm(i.3) End Select 'gDf(i. j) Loop Case Else gQb(i. delta As Single delta = 10000 mi = 0. j) <> 0 Then 'Cálculo de fw k = gFrec * gr / gUorb(i.mi) mi = gQb(i.2 .6. j) * (-1) * gZ(i. j) = gKf * (1 / 8) * rho * gFw(i. j) ^ 2 . j)) / (1 . j) = (2 * rho * gfw(i.992) Dim k As Single If gUorb(i. j) = 0.5) 'gDb(i.mi) / rH) delta = Abs(gQb(i. j) / (2 * gSh) End Sub Sub Df(i As Integer. j) Select Case factor Case Is >= 0. j) ^ 3 * FQb / _ (8 * pi * Sqr((-1) * gZ(i. que él achaca a BJ (1. j) = gFrec * gHrms(i. j)) gUorb(i. mi As Single.j) * gUorb(i.3 Case Else gFw(i.gQb(i. _ k As Integer. j) = 0 End If End Sub Sub Db(i As Integer. j))) ^ (1. j) ^ 3) / (3 * pi) Call HSeno(gNO(i. Se utiliza la formulación proporcionada por _ Southgate (1.978). j) = rH End Select If gQb(i. j) = gAlfa * rho * g ^ (1. j As Integer) 'Calcula la disipación de energía por fricción con el fondo _ según Tolman (1. j)) ^ 2 Select Case gHrms(i. j) = 0 If gQb(i. j) = 0. aunque no la he localizado _ en ese paper Dim FQb As Single 'FQb = gQb(i. j))) gDf(i. j) / gHm(i.25 * gAlfa * rho * g * (gFrec / (2 * pi)) * _ gQb(i. j) * (-1) * (gZ(i.5) * gNO(i. j) . j) * gHrms(i. j) = 1 End Sub Sub U_orb(i As Integer.Module4 .0001 gQb(i.00001 rH = (gHrms(i.

1) * pi / 180 'gCteOb(i) = Sin(ob) / gCg(i. 1) = rho * g * gHo * gHo / 8 gSU(i. j As Integer) Dim num1 As Single.Oleaje) For i = 1 To Fich. Lm As Single.4 End Sub Sub Cg(i As Integer. j .Lant) > 0. j)) * gTh) * num2 End Sub Sub Senh(arg As Single) gSh = (Exp(arg) .5 * Sqr((g / gNO(i.MousePointer = 11 frmMain. j) = 0.Exp(-1 * arg)) / 2 End Sub Sub Datos_Iniciales() 'Lee los datos del archivo de oleaje y los asigna a la ' columna inicial Dim f As Integer Screen. 1) Next i End Sub Sub Alfa(i As Integer.1) k = 0 Do While Abs(gL(i. j)) Call Tanh(num1) Call Senh(2 * num1) num2 = 1 + 2 * num1 / gSh gCg(i. num1 As Single If j = 1 Then Lant = gLo Else Lant = gL(i. 1) = gObo gE(i. j) k = k + 1 Loop End Sub Sub SnellInicial() Dim ob As Single For i = 1 To Fich.filas gHrms(i.num1) / (1 + num1) Lm = gL(i.filas ob = gOb(i. 1) gCteOb(i) = Sin(ob) * gNO(i.1 If k > 0 Then Lant = Lm num1 = Exp(-4 * pi * Abs(gZ(i. 1) = gHo gOb(i.MousePointer = 0 End Sub Sub LOnda(i As Integer.Picture1. 1) = 0 Next i Screen. j As Integer) 'Evalúa la constante en radianes 'Evalúa la constante en radianes .FontBold = True Call LeeOlas(gProyecto. j) * Abs(gZ(i. num2 As Single num1 = gNO(i.Module4 . j) . j As Integer) 'Esta rutina calcula la longitud de onda en cada punto iterando 'a partir de la ecuación de dispersión en teoría lineal 'El valor base para la iteración es el obtenido en el nodo anterior 'y en el caso de la primera columna. es el valor de Lo Dim Lant As Single. j)) / Lant) gL(i. j) = gLo * (1 .

j As Integer) 'Calcula la altura de ola máxima en cada punto de acuerdo don _ el criterio de Battjes y Stive (1. j) * (-1) * gZ(i.arg * arg)) End Sub Sub Hm_Miche(i As Integer.985) Dim arg1 As Single 'gS = 8. j) gOb(i. j) * gCteOb(i) arg = gCteOb(i) / gNO(i. j) End Sub 'En radianes .88 / gNO(i.80148 * (gHrms(i.5 'Esta rutina calcula el valor de la oblicuidad en cada punto de la malla.88 arg1 = 33 * gHo / gLo Call Tanh(arg1) 'gHm(i. j)) * gTh gHm(i.Module4 .5 + 0. j) / gL(i. j) = (0. j) = (0. j) / 0. j) = Atn(arg / Sqr(1 .4 * gTh) * (-1) * gZ(i. j)) + 0. 'Se basa en la constancia del valor sen(a)/c Dim arg As Single 'arg = gCg(i.527953 'arg1 = gG1 * gNO(i.

1) = Str(j) gChart4(j. gSyy(i. Fich.Columnas. j) Case Is = "Qb" Put #canal. Str(Fich. Print #canal. gNO(i.MinX). j) Case Is = "L" Put #canal. . "DSBB" Put #canal. j) Case Is = "Px" Put #canal. Str(max) End Sub Sub Escribe_Binario(file As String. 2) = gHrms(i. gOb(i. .MinY). canal As Integer. . gDb(i. gQb(i. Print #canal.Clase Fich. max As Double) Open file For Print #canal. Print #canal. j) Case Is = "Db" Put #canal. . .Module5 . . . j) If i = 1 Then gChart3(j. j) Case Is = "Sxy" Put #canal. . . . _ min As Double. 2) = gQb(i. Str(Fich. j) Case Is = "Py" Put #canal. Fich. . gUorb(i. . . j) Case Is = "Cg" Put #canal. Print #canal. . . Print #canal.MinY Put #canal. Print #canal. Fich.MaxX Put #canal.MaxY) Str(min).MaxY Put #canal. gL(i.filas Str(Fich. max As Double. Fich. min Put #canal. j) Case Is = "O" Put #canal. j) Case Is = "Df" Put #canal. Close #canal Output As #canal Fich. gPx(i. . . j) Case Is = "Hm" Put #canal.MinX Put #canal. j) .1 Option Explicit Sub Escribe_Cabecera_ASCI(file As String. gSxx(i. . j) If i = 1 Then gChart4(j. Fich. Print #canal. gHrms(i.filas For j = 1 To Fich. j) Case Is = "Syy" Put #canal.Columnas Put #canal. . gDf(i. Fich. gPy(i. j) Case Is = "E" Put #canal. . gCg(i. Fich. 1) = Str(j) gChart2(j.filas Put #canal.MaxX) Str(Fich. gE(i. . j) Case Is = "Hrms" Put #canal. variable As String) Open file For Binary As #canal Put #canal. canal As Integer. gSxy(i. .Columnas Select Case variable Case Is = "k" Put #canal. j) End If Case Is = "Sxx" Put #canal. . j) End If Case Is = "Uorb" Put #canal. _ min As Double. gHm(i. . . max For i = 1 To Fich. Print #canal.

Module5 ." & Chr(10) & _ "Hay un fallo de codificación" MsgBox gMsg. gUr(i. j) Case Else gTitulo = "FALTA ALGO" gMsg = "El archivo con referencia " & variable & Chr(10) & _ "no se ha grabado satisfactoriamente. j) Case Is = "Ry" Put #canal. cadena As String) Open file For Append As #canal Print #canal. gRy(i. . . . vbInformation + vbOKOnly. . gRx(i. Close #canal End Sub Sub Add_ASCI_fin(file As String. gTitulo Close #canal Exit Sub End Select Next j Next i Close #canal End Sub Sub Add_ASCI_linea(file As String. j) Case Is = "Fw" Put #canal.2 Case Is = "Ur" Put #canal. canal As Integer. cadena Close #canal End Sub . cadena As String) Open file For Append As #canal Print #canal. . j) Case Is = "Rx" Put #canal. j) Case Is = "SU" Put #canal. gSU(i. canal As Integer. gFw(i. cadena.