Por fin me funciona gambas2 1.9.18. Va de maravilla y mi programa va de perlas. Pero tengo una duda, por que no veo la forma de hacerlo desde vb si claro. estoy haciendo una agenda pero quiero incluir un calendario interactivo. El caso es que he toma un proyecto de vb, osea el codigo y lo he estado adaptando a gambas2, casi tengo todo ya aceptado por gambas pero claro al llegar a la matriz dice que tu tia. Este es el codigo de mi agenda, solo la parte del control calendario. Si alguien supiera como puedo hacer para que cada label muestre su numero correspondiente al mes que indique el sistema, se lo agradeceria pues cuando este acabado el programa lo pondre en mi web para que lo bajen, tanto el programa como el codigo fuente, y estara bajo licencia GNU/GPL. Saludos. :-) 'Codigo del control calendario. PUBLIC SUB Form_Open() DIM x AS Integer 'Contador de años 'Inicializacion del cuadro combinado de los meses Meses.Add = "Enero" Meses.Add = "Febrero" Meses.Add = "Marzo" Meses.Add = "Abril" Meses.Add = "Mayo" Meses.Add = "Junio" Meses.Add = "Julio" Meses.Add = "Agosto" Meses.Add = "Septiembre" Meses.Add = "Octubre" Meses.Add = "Noviembre" Meses.Add = "Diciembre" 'Inicializacion del cuadro conbinado de los Años FOR x = 1900 TO 2100 Anys.Add = Str(x) NEXT 'Desactiva el boton calcular calcular.Enabled = FALSE END PUBLIC SUB Meses_Click() IF Meses.Text <> "" AND Anys.Text <> "" THEN calcular.Enabled = TRUE 'Activa el boton Calcular END IF END PUBLIC SUB Anys_Click() IF Meses.Text <> "" AND Anys.Text <> "" THEN calcular.Enabled = TRUE 'Activa el boton Calcular END IF END PUBLIC SUB calcular_Click() 'Calcula el mes y el año seleccionado DIM Numdias AS Integer DIM NumMes AS Integer DIM DiaSemana AS Integer DIM DiasMes AS Integer DIM Pos AS Integer DIM d AS Integer DIM Fecha AS Date 'Borra el calendario anterior e inicializa sus valores FOR d = 0 TO 36 Dia(d).Appearance = 1 Dia(d).Caption = "" Dia(d).Font = "Arial" Dia(d).FontBold = TRUE Dia(d).Fontsize = 8 Dia(d).Alignment = 1 NEXT DiasMes = 0 'Calcula el numero del mes y los dias de cada mes SELECT CASE Meses.Text CASE "Enero" NumDias = 31 NumMes = 1 CASE "Febrero" IF Val(Anys.Text) MOD 4 = 0 THEN NumDias = 29 ELSE NumDias = 28 END IF NumMes = 2 CASE "Marzo" NumDias = 31 NumMes = 3 CASE "Abril" NumDias = 30 NumMes = 4 CASE "Mayo" NumDias = 31 NumMes = 5 CASE "Junio" NumDias = 30 NumMes = 6 CASE "Julio" NumDias = 31 NumMes = 7 CASE "Agosto" NumDias = 31 NumMes = 8 CASE "Septiembre" NumDias = 30 NumMes = 9 CASE "Octubre" NumDias = 31 NumMes = 10 CASE "Noviembre" NumDias = 30 NumMes = 11 CASE "Diciembre" NumDias = 31 NumMes = 12 END SELECT 'Conversion de una cadena de caracteres en una fecha fecha = CDate("1/" + Str(NumMes) + "/" + Anys.Text) 'Calculo el dia de la semana del dia 1 de cada mes DiaSemana = WeekDay(fecha, 2) Pos = DiaSemana 'Posicion de los sabados y los domingos FOR d = DiaSemana TO (NumDias + DiaSemana) IF DiasMes < NumDias THEN Dia(d - 1).Appearence = 0 DiasMes = DiasMes + 1 IF Pos = 6 THEN 'Si es Sabado Dia(d - 1).ForeColor = RGb(0, 0, 255) ELSE IF Pos = 7 THEN 'Si es Domingo Dia(d - 1).ForeColor = RGB(255, 0, 0) Pos = 0 ELSE 'Si no es Festivo Dia(d - 1).ForeColor = RGB(0, 0, 0) END IF Dia(d - 1).Caption = DiasMes Pos = Pos + 1 END IF NEXT END -- -------GNU/Linux------- Jesús Antonio Martínez USUARIO Novell-SuSE 9.3 PRO -----------------------