|
Página 1 de 1
|
Programa Simple: Crea Una Propiedad De Una Clase
Autor |
Mensaje |
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
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.
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
Descripción: |
|
Descargar |
Nombre del archivo: |
CreadorClases-0.0.1.tar.gz |
Tamaño: |
12.08 KB |
Descargado: |
53 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
CreadorClases-0.0.1.tar.gz |
Tamaño: |
12.08 KB |
Descargado: |
53 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
CreadorClases-0.0.1.tar.gz |
Tamaño: |
12.08 KB |
Descargado: |
53 veces |
última edición por jsbsan el Domingo, 15 Enero 2012, 11:02; editado 2 veces
|
#1 Sabado, 14 Enero 2012, 13:16 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
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
"No es un bug, es una característica no documentada"
última edición por Shell el Domingo, 15 Enero 2012, 10:35; editado 1 vez
|
#2 Domingo, 15 Enero 2012, 10:33 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Programa Simple: Crea Una Propiedad De Una Clase
Con pequeños códigos pueden aprender los que comienzan.
Por muy simple que pueda parecernos un código puede interesar a los principiantes.
Esto es solo un ejemplo.
Y asi, pues operaciones con archivos, componentes.Etc,etc.
Saludos.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Domingo, 15 Enero 2012, 10:47; editado 1 vez
|
#3 Domingo, 15 Enero 2012, 10:45 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
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
|
#4 Domingo, 15 Enero 2012, 11:05 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Programa Simple: Crea Una Propiedad De Una Clase
Otro Ejemplo:
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
"No es un bug, es una característica no documentada"
|
#5 Domingo, 15 Enero 2012, 11:08 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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 Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|