Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Programa Simple: Crea Una Propiedad De Una Clase
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Programa Simple: Crea Una Propiedad De Una Clase 
 
Os traigo, una pequeña utilidad.

Es un programa que cuando le doy el nombre y el tipo de propiedad de una clase, genera el código fuente de la definición de esa propiedad.


definepropiedad.th

Uploaded with ImageShack.us


Este es el código fuente:
' gambas class file

PUBLIC SUB _new()

END

PUBLIC SUB Form_Open()
ME.caption = "Genera Definicion de Propiedad"
END

PUBLIC SUB ButtonSalir_Click()

  ME.close

END

PUBLIC SUB ButtonCrearCodigo_Click()
DIM codigo AS String
codigo = "PROPERTY nombre AS tipo \n"
codigo &= "PRIVATE hnombre AS NEW tipo \n\n"

codigo &= "PRIVATE FUNCTION nombre_read() AS tipo \n"
codigo &= "  RETURN hnombre \n"
codigo &= "END  \n\n"
 
codigo &= "PRIVATE SUB nombre_write(Valor AS tipo)\n"
codigo &= "  hnombre = Valor \n"
codigo &= "END\n"  

codigo = Replace(codigo, "nombre", TextBoxPropiedad.text)
codigo = Replace(codigo, "tipo", ComboBox1.text)

'Para distinguir en pone New en el tipo...
IF InStr(ComboBox1.text, "[]") = 0 THEN codigo = Replace(codigo, "NEW", "")

  TextArea1.text = codigo

END



PUBLIC SUB ButtonLimpia_Click()
TextBoxPropiedad.text = ""
TextArea1.text = ""
TextBoxPropiedad.setfocus
END

PUBLIC SUB ButtonCopia_Click()
Clipboard.Copy(TextArea1.text)
END
 

 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
última edición por jsbsan el Domingo, 15 Enero 2012, 11:02; editado 2 veces 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programa Simple: Crea Una Propiedad De Una Clase 
 
Julio:

Simple, pero interesante.
A veces con pequeños códigos se aprende mucho.

Cuando hago un programa. Acabo haciendo otro más simple para probar como funciona algo determinado del mismo.

La imagen es un poco pequeña.  B-)

Saludos.
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
última edición por Shell el Domingo, 15 Enero 2012, 10:35; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programa Simple: Crea Una Propiedad De Una Clase 
 
Con pequeños códigos pueden aprender los que comienzan.

 ejemplocadenas

Por muy simple que pueda parecernos un código puede interesar a los principiantes.
Esto es solo un ejemplo.

PUBLIC frase AS String

PUBLIC SUB Form_Open()

END

PUBLIC SUB btnFrase_Click()
  frase = InputBox("Introduce tu frase")
  txtPizarra.Text = frase
END

PUBLIC SUB BtnSustituir_Click()
  DIM letrasustituir AS String
  DIM letra AS String
  
  letrasustituir = InputBox("¿ Que letra quieres sustituir ?")
  letra = InputBox("¿ Con que letra ?")
  frase = Replace$(frase, letrasustituir, letra)
  txtPizarra.Text = frase  
  
END


PUBLIC SUB BtnLetraLetra_Click()  
  DIM posicion AS Integer  
  
  txtPizarra.Text = ""
  FOR posicion = 1 TO Len(frase)
    txtPizarra.Text = txtPizarra.Text & Mid$(frase, posicion, 1)
    WAIT 0.1
  NEXT
  
END


PUBLIC SUB BtnMayusculas_Click()
  txtPizarra.Text = UCase$(frase)
END

PUBLIC SUB BtnMinusculas_Click()
  txtPizarra.Text = LCase$(frase)
END

PUBLIC SUB BtnRepetir_Click()
  DIM repeticiones AS Integer
  DIM palabra AS String
  
  palabra = InputBox("¿ Qué palabra quieres que se repita?")
  repeticiones = InputBox("¿ Cuantas veces ?")  
  txtPizarra.Text = String$(repeticiones, palabra)  
  frase = txtPizarra.Text

END
 


Y asi, pues operaciones con archivos, componentes.Etc,etc.

Saludos.
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
última edición por Shell el Domingo, 15 Enero 2012, 10:47; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programa Simple: Crea Una Propiedad De Una Clase 
 
Shell:

Citar:
Por muy simple que pueda parecernos un código puede interesar a los principiantes.

Pues la verdad es que si, pequeñas funciones y procedimientos, te pueden facilitan mucho el dia a dia.

Citar:
La imagen es un poco pequeña. B-)


He cambiado el servidor donde estaba alojada la imagen, ahora se ve bien.


Saludos
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Programa Simple: Crea Una Propiedad De Una Clase 
 
Otro Ejemplo:

 operaarchivos

Ejemplos que por muy basicos que nos puedan parecer.En el momento que los hace
para practicar te olvidas de ellos y luego ayudan a mas miembros de la comunidad.

Formulario principal:
PUBLIC SUB Form_Open()
  ME.Center()
  ME.Caption = "Ejemplo de instrucciones para manejo de ficheros"
END

PUBLIC SUB restaurar()  
  txtaSalida.Text = ""
  Variables.contenido = ""    
END

PUBLIC SUB BtnAccess_Click()
  restaurar()
  PractAccess.miaccess()
  txtaSalida.Text = Variables.contenido
END

PUBLIC SUB BtnDir_Click()
  restaurar()
  PractDir.midir()
  txtaSalida.Text = Variables.contenido  
END

PUBLIC SUB BtnEof_Click()
  DIM archivo AS String
    
  archivo = User.Home &/ "pruebaarchivo.txt"
  restaurar()
  PractEof.mieof(archivo)
  txtaSalida.Text = Variables.contenido
END


PUBLIC SUB BtnExist_Click()
  DIM archivo AS String
  
  archivo = User.Home &/ "pruebaarchivo.txt" 'Este archivo existe,llamara al Procedimiento anidado PractEof
  'archivo =User.home &/ "noexisto.txt"
  restaurar()
  PractExist.miexist(archivo)
  txtaSalida.Text = Variables.contenido  
END

PUBLIC SUB BtnIsDir_Click()
  DIM nombreCarpeta AS String
  
  'nombreCarpeta = user.home &/ "noexisto" 'Este directorio no existe
  nombreCarpeta = User.Home &/ "Prueba"    'Este directorio existe
  restaurar()
  PractIsDir.miIsDir(nombreCarpeta)
  txtaSalida.Text = Variables.contenido  
  
END

PUBLIC SUB BtnStat_Click()
  DIM nombre AS String
  
  nombre = User.Home &/ "Prueba/JuegosDOS"
  restaurar()
  PractStat.miStat(nombre)
  txtaSalida.Text = Variables.contenido
END

PUBLIC SUB BtnTemp_Click()

  restaurar()
  PractTemp.mitemp()
  txtaSalida.Text = Variables.contenido
  
END


PUBLIC SUB BtnOpenClose_Click()
  DIM nombrearchivo AS String
  
  nombrearchivo = User.Home &/ "pruebaarchivo.txt"
  restaurar()
  PractOpenClose.miopenclose(nombrearchivo)
  txtaSalida.Text = Variables.contenido
END
 


Los diferentes modulo para ver que hace cada instrucción:

PUBLIC SUB miaccess()
   DIM archivo AS String
  
  'La instrucción acces determina si un fichero es accesible o no.
  'Parece similar a ¿Exist?
  
  archivo = User.Home &/ "pruebaarchivo.txt"  
  Variables.contenido = Variables.contenido & "El archivo " & archivo & " " & CompruebaSiNo(Access(archivo)) & "\n"
  
  archivo = User.Home &/ "dragon64.txt"
  Variables.contenido = Variables.contenido & "El archivo " & archivo & " " & CompruebaSiNo(Access(archivo)) & "\n"
    
END


PUBLIC FUNCTION CompruebaSiNo(sino AS Boolean) AS String
DIM probar AS String

  IF sino = TRUE THEN
    probar = "es accesible"
  ELSE IF sino = FALSE THEN
    probar = "no es accesible"
  ENDIF
  RETURN probar
  
END
-------------------
PUBLIC SUB midir()
DIM directorio AS String
DIM fichero AS String

directorio = User.Home
FOR EACH fichero IN Dir(directorio, "*.*").Sort()
  Variables.contenido = Variables.contenido & fichero & "\n"
NEXT

END
-------------------
PUBLIC SUB mieof(nomarchivo AS String) 'nombarchivo es el nombre del archivo
DIM hFile AS File         'Nombre del archivo
DIM linea AS String       'Cada linea

OPEN nomarchivo FOR READ AS #hFile  
WHILE NOT Eof(hFile)
  LINE INPUT #hFile, linea
  Variables.contenido = Variables.contenido & linea & "\n"
WEND
CLOSE #hFile
END
----------------------
PUBLIC SUB miexist(nombarchivo AS String)
  IF Exist(nombarchivo) THEN
    Variables.contenido = "El fichero: " & nombarchivo & "  existe." & "\n"
    Variables.contenido = Variables.contenido & "El contenido es: " & "\n"
    PractEof.mieof(nombarchivo)
  ELSE
    Variables.contenido = "El fichero: " & nombarchivo & " no existe."
  ENDIF
END
------------------------
PUBLIC SUB miIsDir(directorio AS String)
  DIM existedirectorio AS Boolean
    
  existedirectorio = IsDir(directorio)
  IF existedirectorio = TRUE
    Variables.contenido = "El directorio existe"
  ELSE
    Variables.contenido = "El directorio no existe"
  ENDIF  
  
END
---------------------------
PUBLIC SUB miopenclose(nomarchivo AS String)
  DIM longitudarchivo AS Integer
  DIM linea AS String
  DIM hFile AS File
  
  IF Exist(nomarchivo) THEN
    OPEN nomarchivo FOR READ AS #hFile
    longitudarchivo = Lof(hFile)
    WHILE NOT Eof(hFile)
      LINE INPUT #hFile, linea
      Variables.contenido = Variables.contenido & linea & "\n"
    WEND
    CLOSE #hFile
  ELSE
    Variables.contenido = Variables.contenido & "El archivo: " & nomarchivo & " no existe"
  ENDIF
END
-----------------------------
PUBLIC SUB miStat(informacion AS String)
    
    IF Exist(informacion) THEN
      Variables.contenido = "Tamaño: " & Round(Stat(informacion).Size / 1024) & "K" & "\n"
      Variables.contenido = Variables.contenido & "Grupo: " & Stat(informacion).Group & "\n"
      Variables.contenido = Variables.contenido & "Ultimo acceso: " & Format$(Stat(informacion).LastAccess, "dd/mm/yy") & "\n"
      Variables.contenido = Variables.contenido & "Ultimo cambio: " & Format$(Stat(informacion).LastChange, "dd/mm/yy") & "\n"
      Variables.contenido = Variables.contenido & "Ultima modficiación: " & Format$(Stat(informacion).LastModified, "dd/mm/yy") & "\n"
      Variables.contenido = Variables.contenido & "Ruta: " & Stat(informacion).Path & "\n"
      Variables.contenido = Variables.contenido & "Fecha y hora de creación " & Format$(Stat(informacion).Time, "dd/mm/yy hh:nn:ss") & "\n"
      Variables.contenido = Variables.contenido & "Usuario: " & Stat(informacion).User & "\n"
    ELSE
      Variables.contenido = "El archivo o carpeta no existe"
    ENDIF
END
---------------------------
PUBLIC SUB mitemp()
  
  Variables.contenido = 24
">Temp$()
  
END
--------------------------
PUBLIC contenido AS String

 


Podemos aprender con ejemplos simples.Como se va haciendo más grande el programa.
Por cierrto, el modulo para probar Temp$. No salio bien al convertirlo en código.

Saludos.
 




===================
Gambas Básico
“Si no puedes explicar algo de forma sencilla, entonces es que tú no lo entiendes bien.” Albert Einstein
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario