FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como retornar un valor en Delphi
Veran soy muy nuevo en esto y programo en otros lenguajes los cuales me permiten devolver el valor de una funcion por medio de un Return valor, pero veo que en delphi esto no es asi, agradecería si alguna persona me puede indicar como hacer para llamar una funcion o procedimiento y que este devuelva un valor
|
#2
|
|||
|
|||
Cita:
Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#3
|
||||
|
||||
Hola Stanley,
La otra opción es con un procedimiento que tenga una variable "por valor":
Se que el ejemplo es tonto... pero bueno. El lenguaje permite hacer que un procedimiento o función regrese un resultado "por valor". En ocasiones es necesario implementar así, pero en otras no tiene sentido. Como la del ejemplo. Lo correcto sería convertirlo en función:
Saludos, |
#4
|
||||
|
||||
Hola Stanley,
Te agradezco que te pusieras en contacto conmigo por MP (Mensaje Privado) para agradecerme que te fui de ayuda. Lo que creo conveniente hacerte notar es que aqui preferimos que tus dudas estén a disposición de todos. Tratamos de ofrecer ayuda en forma desinteresada y para el bien de toda la comunidad y no por mensajes privados o "en linea". Ya que de esa manera el conocimiento queda en poder de pocos. No es una reprimenda, sino una aclaración. Con respecto a tu duda, básicamente la estructura de una unit es como sigue: Ahora para hacer uso de UEjemplo sólo basta con ir a la unidad correspondiente (no necesariamente dicha unit debe corresponder a algún form) y declararla en la parte uses:
Como podrás observar... UEjemplo no tiene o no le pertenece a ningún form. En el ejemplo que te expuse están expuesto los temas más comunes con respecto a tus dudas. Viendo que recién te inicias en Delphi te sugiero una buena lectura: La Cara Oculta de Delphi 4. Al pdf lo vas a ubicar muy fácil con sólo buscarlo en San Google (o el buscador de tu predilección). Concretamente te sugiero empezar a leer: Capitulo 3. Unidades, proyectos y paquetes. Allí está bien explicado como está estructurada una unit. Capítulo 6 y 7. Programación Orientada a Objetos. Allí se trata lo referente a clases. Bueno creo que con eso ya tienes para empezar. Ya sabes, ante problemas: 1. Buscar en los foros. 2. Si la búsqueda no fue satisfactoria: 2.1. Si existe un hilo en que se trate el tema ya sea en forma superficial o algo similar, postear tus dudas allí. 2.2. Si no hay hilo con dicha temática. Iniciar uno. Recuerda que cuanto mayores detalles puedas aportarnos con respecto a tus inconvenientes más te podremos ser de ayuda. Saludos, |
#5
|
|||
|
|||
Ayuda con funciones
Cita:
public function selemes(varMes: integer): integer; y luego coloco el codigo en la parte de implementacion function selemes(varMes: integer): integer begin //aqui va el codigo end el borland developer me dice que la declaración de la funcion no es correcta me indica que le falta algo. Es cierto que soy un completo novato en delphi, ya que lo que yo deseo hacer siempre lo he hecho facilmente en fox o en VB.net que es crear un metodo o una clase que contenga todas las funciones y en el codigo simplemente me refiero a esa funcion como x = selemes(1) o x = myfunciones.selemes(1) me seria de mucha ayuda un ejemplo, es cierto que lo que Delphius me indica funciona para los procedimientos que uso pero lo que me mata es que coloco el uses en el formulario y aunque le haya agregado procedimientos publicos y variables publicas en el codigo del form coloco edit1.text := Proceds.Tclass. pero despues de este punto no me aparece nada aun con el ejemplo que Delphius hizo, ya que lo copie tal y como esta y no pude ver la tArreglo solo pude ver la TCLass, pero no vi los procedimientos que coloque despues de tipo publico |
#6
|
||||
|
||||
Hola,
Cita:
El compilador se quejará, puesto que la palabra reservada "public" está demás en la declaración de la función, y también en su implementación. Lo mismo es válido para los procedimientos. Sin embargo, los métodos de un objeto sí que pueden contar con dicha palabra clave para indicar su visibilidad.
No sé si al menos con esta cuestión te he podido ayudar en algo. Última edición por dec fecha: 28-10-2007 a las 23:11:04. |
#7
|
||||
|
||||
Cita:
Ya dec te explicó que un procedimiento o función ajeno a una clase no debe ir precedido de alguna directiva public o private. Lo que debes hacer es: 1. Si la función o procedimiento debe ser y puede ser usada desde afuera (global, como dice dec) debe incorporarse la declaración en la sección interface:
2. Si la función o procedimiento debe ser local, por tanto no puede ser vista y usada desde afuera. NO debe contar con la declaración en la sección interface:
En el ejemplo que te envié ProcedimientoOculto y Aviso están declarados en forma local. Me extraña que digas que no puedes ver el tipo TArreglo. Está en la sección interface. Con respecto a la situación de las clases creo que dec dió una idea de como se procede. Allí si es necesario indicar la visibilidad (ojo: solo en la sección de interface) Como ya lo ha explicado dec, en implementation no se indica la visibilidad. Por si la dudas, explico aprovechando la Foo de dec como es la estructura:
Creería que se entiende ahora. ¿Por casualidad leíste lo que te recomendé? Allí se explica detalladamente todas estas cuestiones. Saludos, Última edición por Delphius fecha: 29-10-2007 a las 04:05:24. |
#8
|
||||
|
||||
Hola,
Cita:
|
#9
|
||||
|
||||
Gracias por el aviso Dec. No me había percatado de ello. Si Stanley se hubiera aparecido y probado con ello ya me mandaba al diablo
Saludos, |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Delphi-For-PHP: Modificar el valor de un tEdit | maro | PHP | 4 | 29-09-2007 20:25:21 |
Como se inserta el valor de un checkbox? | Ivan_25 | C++ Builder | 4 | 04-11-2005 11:02:51 |
Como paso el valor? | jam888 | Varios | 4 | 08-10-2004 16:23:29 |
Cómo cambiar, desde Delphi, el próximo valor que tiene que dar un autogenerador | Giniromero | Conexión con bases de datos | 4 | 20-09-2004 10:49:38 |
¿Cómo guardar el Valor de TColor como un String? | nesetru | Gráficos | 3 | 27-02-2004 20:21:32 |
|