Advertisement
jsbsan

compuesto

Nov 5th, 2013
4,018
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GAMBAS 1.50 KB | None | 0 0
  1. ' Gambas class file
  2.  
  3. Inherits Componente
  4.  
  5. Private ListaDeComponentes As New Componente[] 'pueden ser Empleados como Departamentos (Hoja o Compuesto)
  6. Private hNombreDepartamento As String
  7.  
  8. Public Sub _new(nombre As String)
  9.  
  10.   hNombreDepartamento = nombre
  11.  
  12. End
  13.  
  14. Public Function getNombre() As String
  15.  
  16.   Return hNombreDepartamento
  17.  
  18. End
  19.  
  20. Public Function getSueldo() As Single
  21.  
  22.   Dim sumador As Single = 0
  23.   Dim i As Integer
  24.  
  25.   For i = 0 To ListaDeComponentes.Max
  26.     sumador += ListaDeComponentes[i].getSueldo()
  27.   Next
  28.   Return sumador
  29.  
  30. End
  31.  
  32. Public Sub agrega(p As Componente) ' puedo agregar tanto Departamentos como Empleados
  33.  
  34.   ListaDeComponentes.Add(p)
  35.  
  36. End
  37.  
  38. Public Sub borrar(nombre As String)
  39.  
  40.   Dim i As Integer
  41.  
  42.   For i = 0 To ListaDeComponentes.Max
  43.    
  44.     If ListaDeComponentes[i].getNombre() = nombre Then
  45.       ListaDeComponentes.Delete(i)
  46.       Return 'retorno porque ya lo he borrado
  47.      
  48.     Endif
  49.    
  50.   Next
  51.  
  52. End
  53.  
  54. Public Function getEstructuraDepartamento() As String
  55.  
  56.   Return hNombreDepartamento
  57.  
  58. End
  59.  
  60. Public Sub setNombreDepartamento(NombreDepartamento As String)
  61.  
  62.   hNombreDepartamento = NombreDepartamento
  63.  
  64. End
  65.  
  66. Public Function getEstructura(cadenainicial As String) As String
  67.  
  68.   Dim cadena As String
  69.   Dim i As Integer
  70.  
  71.   For i = 0 To ListaDeComponentes.Max
  72.    
  73.     cadena &= ListaDeComponentes[i].getEstructura(cadenainicial & getEstructuraDepartamento() & "-> ") & "\n"
  74.   Next
  75.  
  76.   Return cadena
  77.  
  78. End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement