
|
Foreistas comunidad cristiana juvenil
|
| El Administrador ha desactivado el envío de mensajes al foro temporalmente.
|
|
| Autor |
Mensaje |
AnDreW
Completo Vag@


Registrado: 04 Jun 2007 Mensajes: 5034 Promedio por Día: 2.31
Karma: -1
Ubicación: GUATE

3543.66 
Items
|
Publicado: 25 Feb 2008 11:45 am Título del mensaje: Tomar fotos con WebCam
|
|
|
Aqui les tengo tremendo codigo. Nada mas y nada menos que para tomar fotos desde un formulario usando una Web Cam pero tengo dos problemitas:
1. No se como hacer para que me grabe el archivo de la foto usando el nombre de la persona.
2. Me genera un error en una linea del codigo que dice lo siguiente"Falta algun operando", les marque la linea en cuestion.
¡Espero que me ayuden a solucionar esto!
LOCAL oForm
oForm = CREATEOBJECT("Tform")
oForm.Show(1)
* end of main
DEFINE CLASS Tform As Form
#DEFINE WM_CAP_START 0x0400
#DEFINE WM_CAP_DRIVER_CONNECT (WM_CAP_START+10)
#DEFINE WM_CAP_DRIVER_DISCONNECT (WM_CAP_START+11)
#DEFINE WM_CAP_DRIVER_GET_CAPS (WM_CAP_START+14)
#DEFINE WM_CAP_SET_PREVIEW (WM_CAP_START+50)
#DEFINE WM_CAP_SET_OVERLAY (WM_CAP_START+51)
#DEFINE WM_CAP_SET_PREVIEWRATE (WM_CAP_START+52)
#DEFINE WM_CAP_GET_STATUS (WM_CAP_START+54)
#DEFINE WM_CAP_GRAB_FRAME (WM_CAP_START+60)
Width=340
Height=310
Autocenter=.T.
Caption="Using Video Capture"
MinButton=.F.
MaxButton=.F.
hWindow=0
hCapture=0
capWidth=0
capHeight=0
capOverlay=0
ADD OBJECT cmdGetFrame As CommandButton WITH Default=.T.,;
Left=15, Top=264, Height=27, Width=90, Caption="Capturar",;
Enabled=.F.
ADD OBJECT cmdPreview As CommandButton WITH Default=.T.,;
Left=106, Top=264, Height=27, Width=100, Caption="Vista Previa",;
Enabled=.F.
ADD OBJECT cmdClose As CommandButton WITH Cancel=.T.,;
Left=250, Top=264, Height=27, Width=70, Caption="Cerrar"
PROCEDURE Activate
IF THIS.hWindow = 0
DECLARE INTEGER GetFocus IN user32
THIS.hWindow = GetFocus()
THIS.CreateCaptureWindow
THIS.DriverConnect
ENDIF
PROCEDURE Destroy
THIS.ReleaseCaptureWindow
PROCEDURE cmdClose.Click
ThisForm.Release
PROCEDURE cmdGetFrame.Click
ThisForm.GetFrame
PROCEDURE cmdPreview.Click
ThisForm.StartPreview
PROCEDURE GetFrame
#DEFINE WM_CAP_FILE_SAVEDIB (WM_CAP_START + 25)
lcFile = "" && File name to create
lcFile = "c:tmpSAMPLES.JPG"
THIS.msg(WM_CAP_GRAB_FRAME, 0,0)
THIS.msg(WM_CAP_FILE_SAVEDIB, 0, lcFile,1)
PROCEDURE CreateCaptureWindow
#DEFINE WS_CHILD 0x40000000
#DEFINE WS_VISIBLE 0x10000000
DECLARE INTEGER capCreateCaptureWindow IN avicap32;
STRING lpszWindowName, LONG dwStyle,;
INTEGER x, INTEGER y,;
INTEGER nWidth, INTEGER nHeight,;
INTEGER hParent, INTEGER nID
THIS.hCapture = capCreateCaptureWindow("",;
WS_CHILD+WS_VISIBLE,;
10,8,320,240, THIS.hWindow, 1)
PROCEDURE DriverConnect
THIS.msg(WM_CAP_DRIVER_CONNECT, 0,0)
IF THIS.IsCaptureConnected()
THIS.GetCaptureDimensions
STORE .T. TO THIS.cmdGetFrame.Enabled,;
THIS.cmdPreview.Enabled
THIS.Caption = THIS.Caption + ": connected, " +;
LTRIM(STR(THIS.capWidth)) + "x" +;
LTRIM(STR(THIS.capHeight))
ELSE
THIS.Caption = THIS.Caption + ": failed to connect"
ENDIF
PROCEDURE DriverDisconnect
THIS.msg(WM_CAP_DRIVER_DISCONNECT, 0,0)
PROCEDURE ReleaseCaptureWindow
IF THIS.hCapture <> 0
THIS.DriverDisconnect
DECLARE INTEGER DestroyWindow IN user32 INTEGER hWnd
= DestroyWindow(THIS.hCapture)
THIS.hCapture = 0
ENDIF
PROCEDURE msg(msg, wParam, lParam, nMode)
IF THIS.hCapture = 0
RETURN
ENDIF
IF VARTYPE(nMode) <> "N" Or nMode=0
DECLARE INTEGER SendMessage IN user32;
INTEGER hWnd, INTEGER Msg,;
INTEGER wParam, INTEGER lParam
= SendMessage(THIS.hCapture, msg, wParam, lParam)
ELSE
DECLARE INTEGER SendMessage IN user32;
INTEGER hWnd, INTEGER Msg,;
INTEGER wParam, STRING @lParam
= SendMessage(THIS.hCapture, msg, wParam, @lParam)
ENDIF
FUNCTION IsCaptureConnected
* analyzing fCaptureInitialized member of the CAPDRIVERCAPS structure
#DEFINE CAPDRIVERCAPS_SIZE 44
LOCAL cBuffer, nResult, gt0
cBuffer = Repli(Chr(0),CAPDRIVERCAPS_SIZE)
THIS.msg(WM_CAP_DRIVER_GET_CAPS, Len(cBuffer), @cBuffer, 1)
THIS.capOverlay = buf2dword(SUBSTR(cBuffer,5,4))
nResult = Asc(SUBSTR(cBuffer, 21,1))
RETURN (nResult<>0)<<Aqu>>
PROCEDURE GetCaptureDimensions
* reading uiImageWidth and uiImageHeight members
* of the CAPSTATUS structure
#DEFINE CAPSTATUS_SIZE 76
LOCAL cBuffer
cBuffer = Repli(Chr(0), CAPSTATUS_SIZE)
THIS.msg(WM_CAP_GET_STATUS, Len(cBuffer), @cBuffer, 1)
THIS.capWidth = buf2dword(SUBSTR(cBuffer,1,4))
THIS.capHeight = buf2dword(SUBSTR(cBuffer,5,4))
PROCEDURE StartPreview
THIS.msg(WM_CAP_SET_PREVIEWRATE, 30,0)
THIS.msg(WM_CAP_SET_PREVIEW, 1,0)
IF THIS.capOverlay <> 0
THIS.msg(WM_CAP_SET_OVERLAY, 1,0)
ENDIF
PROCEDURE StopPreview
THIS.msg(WM_CAP_SET_PREVIEW, 0,0)
ENDDEFINE
FUNCTION buf2dword(lcBuffer)
RETURN Asc(SUBSTR(lcBuffer, 1,1)) + ;
BitLShift(Asc(SUBSTR(lcBuffer, 2,1)), +;
BitLShift(Asc(SUBSTR(lcBuffer, 3,1)), 16) +;
BitLShift(Asc(SUBSTR(lcBuffer, 4,1)), 24) _________________
“¡Un día yo tuve hambre, y me alimentaste.Un día yo estaba sin esperanzas y me diste un camino. Un día me desperté solo, y me diste la paz, y eso no tiene precio. ¡Qué la paz habite en tu corazón y alimente tu alma! ¡Y que te sobre el pan de la misericordia para extender a quien lo necesita!”
La vida es una larga pregunta a la que nadie sabe contestar.
|
|
|
Volver arriba
|
|
|
Matu
Administrador


Registrado: 03 Nov 2006 Mensajes: 5698 Promedio por Día: 2.39
Karma: -4
Ubicación: aki


8254.49 
Items
|
Publicado: 25 Feb 2008 12:12 pm
|
|
|
RETURN (nResult<>0)<<Aqu>>
nunca habia visto que se hicieran evaluaciones bolenas en un return, seguro que eso está bien? _________________ http://smash-city.net
"Nada resiste tanto como lo Provisional"
"hay dos cosas infinitas, el universo y la estupidez humana. Y no estoy seguro del universo.(Albert Einstein)"
http://www.fotolog.com/matusher
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 25 Feb 2008 12:21 pm
|
|
|
cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResult != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  _________________

Ultima edición por n.A.u.T.a el 25 Feb 2008 4:43 pm; editado 2 veces
|
|
|
Volver arriba
|
|
|
Matu
Administrador


Registrado: 03 Nov 2006 Mensajes: 5698 Promedio por Día: 2.39
Karma: -4
Ubicación: aki


8254.49 
Items
|
Publicado: 25 Feb 2008 12:28 pm
|
|
|
| n.A.u.T.a escribió: | cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResul != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  |
cabañas, solo que esa tu sintaxis revuelve pascal y c .. _________________ http://smash-city.net
"Nada resiste tanto como lo Provisional"
"hay dos cosas infinitas, el universo y la estupidez humana. Y no estoy seguro del universo.(Albert Einstein)"
http://www.fotolog.com/matusher
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 25 Feb 2008 1:10 pm
|
|
|
| Matu escribió: | | n.A.u.T.a escribió: | cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResul != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  |
cabañas, solo que esa tu sintaxis revuelve pascal y c .. |
es lo q pasa cuando te acostumbras a q los IDE's t corrijan jajajajajaa;sldjfa;sldjkf
pero el if es bien estandar... q io recuerde en pascal usabas el begin en vez de las llaves . era lo unico q cambiava  _________________
|
|
|
Volver arriba
|
|
|
AnDreW
Completo Vag@


Registrado: 04 Jun 2007 Mensajes: 5034 Promedio por Día: 2.31
Karma: -1
Ubicación: GUATE

3543.66 
Items
|
Publicado: 25 Feb 2008 1:18 pm
|
|
|
| Matu escribió: | | n.A.u.T.a escribió: | cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResul != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  |
cabañas, solo que esa tu sintaxis revuelve pascal y c .. |
ps podria ser pero lo q ace ese return es q regresa al procesimiento (procedure) y cuando c cumple continua
Referencia del lenguaje de Microsoft Visual FoxPro
PROCEDURE (Comando)
Identifica el principio de un procedimiento en un archivo de programa.
PROCEDURE ProcedureName
[LPARAMETERS parameter1[,parameter2},...]
Commands
[RETURN [eExpression]]
ENDFUNC
o
PROCEDURE ProcedureName([parameter1[,parameter2},...])
Commands
[RETURN [eExpression]]
ENDFUNC
Parámetros
ProcedureName
Especifica el nombre del procedimiento que se va a crear.
Observaciones
PROCEDURE es una instrucción dentro de un archivo de programa. Especifica el principio de cada procedimiento en un archivo de programa y define el nombre del procedimiento. Debe comenzar por una letra o un subrayado, y puede contener cualquier combinación de letras, números y subrayados.
En Visual FoxPro, los nombres de procedimiento pueden tener una longitud máxima de 254 caracteres.
Los comentarios se pueden colocar en la misma línea después de PROCEDURE y ENDPROC. Estos comentarios se pasarán por alto durante la compilación y la ejecución del programa.
La línea de comando PROCEDURE va seguida de un conjunto de comandos que componen el procedimiento. Puede incluir opcionalmente RETURN en cualquier parte del procedimiento para devolver el control al programa al que se llama o a otro programa, y para definir un valor devuelto por el procedimiento. Si no incluye un comando RETURN, se ejecutará un RETURN implícito cuando salga de la función. Si el comando RETURN no incluye el valor devuelto (o si se ejecuta un RETURN implícito), Visual FoxPro asigna .T. (Verdadero) como el valor devuelto.
El procedimiento termina con el comando ENDPROC. Este comando es opcional; el procedimiento termina cuando se encuentra otro comando PROCEDURE, un comando FUNCTION o el final del archivo de programa.
Nota No puede incluir código de programa ejecutable normal en un archivo de programa después de procedimientos; sólo los procedimientos, las funciones definidas por el usuario y las definiciones de clase pueden ir a continuación del comando PROCEDURE o FUNCTION en el archivo.
Cuando ejecuta un procedimiento con DO ProcedureName, Visual FoxPro buscará el procedimiento en un orden específico. Visual FoxPro busca:
1. El archivo que contiene DO ProcedureName.
2. La base de datos actual.
3. Los archivos de procedimientos abiertos con SET PROCEDURE.
4. Los programas en la cadena de ejecución. Los archivos de programa se buscan a partir del programa ejecutado más recientemente y hacia atrás, hasta el primer programa ejecutado.
5. Un archivo de programa independiente. Si se encuentra un archivo de programa con el mismo nombre que el nombre de archivo especificado con DO, se ejecutará. Si no se encuentra ningún nombre de archivo de programa coincidente, se mostrará un mensaje de error.
Incluya la cláusula IN en DO para ejecutar un procedimiento en un archivo específico.
De forma predeterminada, los parámetros se pasan a procedimientos por valor. Para obtener información sobre cómo puede pasar parámetros a procedimientos por referencia, vea SET UDFPARMS. A un procedimiento se puede pasar un máximo de 27 parámetros. Los parámetros se pueden pasar a un procedimiento al incluir una instrucción PARAMETERS o LPARAMETERS en el procedimiento o al colocar una lista de parámetros inmediatamente después de PROCEDURE ProcedureName. Ponga la lista de parámetros entre paréntesis y separe los parámetros con comas.
Para obtener más información acerca del uso del comando PROCEDURE para crear clases, vea DEFINE CLASS y Uso estricto de tipos en código de clases, objetos y variables en la Ayuda.
Ejemplo
El siguiente ejemplo ilustra cómo se puede llamar a un procedimiento para realizar una tarea discreta como, por ejemplo, realizar una entrada en un archivo de registro. El procedimiento abre el archivo de registro (que se presupone que existe en el ejemplo), construye una entrada basada en información pasada en parámetros, escribe la entrada y cierra el archivo. El procedimiento se llama con un comando DO similar al de la parte superior del programa.
DO MakeLogEntry WITH "Logged in", "jsmith"
PROCEDURE MakeLogEntry
PARAMETERS message, username
pnHandle = FOPEN("LOG2.TXT",2) && Assume the file exists
pnSize = FSEEK(pnHandle,0,2) && Move to end of file
logEntry = dtoc(date())+","+time()+","+username+","+message
=FPUTS(pnHandle, logEntry)
=FCLOSE(pnHandle) && Close file
ENDPROC
En el siguiente ejemplo se muestra cómo se puede llamar un procedimiento para devolver un valor.
SET CENTURY ON
? longdate(({^1998-02-16})) && Displays Monday, February 16, 1998
PROCEDURE longdate
PARAMETER mdate
RETURN CDOW(mdate) + ", " + MDY(mdate)
ENDPROC
Referencia del lenguaje de Microsoft Visual FoxPro
RETURN (Comando)
Devuelve el control del programa al programa que llama.
RETURN [eExpression | TO MASTER | TO ProcedureName]
Parámetros
eExpression
Especifica una expresión devuelta al programa que llama. Si omite RETURN o la expresión de retorno, se devolverá automáticamente el valor verdadero (.T.).
TO MASTER
Devuelve el control al programa que llama de mayor nivel.
TO ProcedureName
Especifica el procedimiento al que se devuelve el control.
Observaciones
RETURN termina la ejecución de un programa, procedimiento o función. El control se devuelve al programa que llama, al programa que llama de mayor nivel, a otro programa o a la ventana Comandos.
Cuando se ejecuta RETURN, Visual FoxPro libera las variables PRIVATE.
RETURN se coloca generalmente al final de un programa, procedimiento o función para devolver el control a un programa de nivel superior. No obstante, se ejecutará un RETURN implícito si se omite RETURN.
Ejemplo
En el ejemplo siguiente la función longdate devuelve una cadena de caracteres que se puede imprimir a partir de una fecha.
SET CENTURY ON
? longdate({^1998-02-16}) && Displays Monday, February 16, 1998
FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate) _________________
“¡Un día yo tuve hambre, y me alimentaste.Un día yo estaba sin esperanzas y me diste un camino. Un día me desperté solo, y me diste la paz, y eso no tiene precio. ¡Qué la paz habite en tu corazón y alimente tu alma! ¡Y que te sobre el pan de la misericordia para extender a quien lo necesita!”
La vida es una larga pregunta a la que nadie sabe contestar.
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 25 Feb 2008 1:25 pm
|
|
|
tons proba quitarle la comparacion
de
return (nResult <> 0)
y dejalo
return nResult _________________
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 25 Feb 2008 1:35 pm
|
|
|
| AnDreW escribió: | | Matu escribió: | | n.A.u.T.a escribió: | cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResul != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  |
cabañas, solo que esa tu sintaxis revuelve pascal y c .. |
ps podria ser pero lo q ace ese return es q regresa al procesimiento (procedure) y cuando c cumple continua
Referencia del lenguaje de Microsoft Visual FoxPro
PROCEDURE (Comando)
Identifica el principio de un procedimiento en un archivo de programa.
PROCEDURE ProcedureName
[LPARAMETERS parameter1[,parameter2},...]
Commands
[RETURN [eExpression]]
ENDFUNC
o
PROCEDURE ProcedureName([parameter1[,parameter2},...])
Commands
[RETURN [eExpression]]
ENDFUNC
Parámetros
ProcedureName
Especifica el nombre del procedimiento que se va a crear.
Observaciones
PROCEDURE es una instrucción dentro de un archivo de programa. Especifica el principio de cada procedimiento en un archivo de programa y define el nombre del procedimiento. Debe comenzar por una letra o un subrayado, y puede contener cualquier combinación de letras, números y subrayados.
En Visual FoxPro, los nombres de procedimiento pueden tener una longitud máxima de 254 caracteres.
Los comentarios se pueden colocar en la misma línea después de PROCEDURE y ENDPROC. Estos comentarios se pasarán por alto durante la compilación y la ejecución del programa.
La línea de comando PROCEDURE va seguida de un conjunto de comandos que componen el procedimiento. Puede incluir opcionalmente RETURN en cualquier parte del procedimiento para devolver el control al programa al que se llama o a otro programa, y para definir un valor devuelto por el procedimiento. Si no incluye un comando RETURN, se ejecutará un RETURN implícito cuando salga de la función. Si el comando RETURN no incluye el valor devuelto (o si se ejecuta un RETURN implícito), Visual FoxPro asigna .T. (Verdadero) como el valor devuelto.
El procedimiento termina con el comando ENDPROC. Este comando es opcional; el procedimiento termina cuando se encuentra otro comando PROCEDURE, un comando FUNCTION o el final del archivo de programa.
Nota No puede incluir código de programa ejecutable normal en un archivo de programa después de procedimientos; sólo los procedimientos, las funciones definidas por el usuario y las definiciones de clase pueden ir a continuación del comando PROCEDURE o FUNCTION en el archivo.
Cuando ejecuta un procedimiento con DO ProcedureName, Visual FoxPro buscará el procedimiento en un orden específico. Visual FoxPro busca:
1. El archivo que contiene DO ProcedureName.
2. La base de datos actual.
3. Los archivos de procedimientos abiertos con SET PROCEDURE.
4. Los programas en la cadena de ejecución. Los archivos de programa se buscan a partir del programa ejecutado más recientemente y hacia atrás, hasta el primer programa ejecutado.
5. Un archivo de programa independiente. Si se encuentra un archivo de programa con el mismo nombre que el nombre de archivo especificado con DO, se ejecutará. Si no se encuentra ningún nombre de archivo de programa coincidente, se mostrará un mensaje de error.
Incluya la cláusula IN en DO para ejecutar un procedimiento en un archivo específico.
De forma predeterminada, los parámetros se pasan a procedimientos por valor. Para obtener información sobre cómo puede pasar parámetros a procedimientos por referencia, vea SET UDFPARMS. A un procedimiento se puede pasar un máximo de 27 parámetros. Los parámetros se pueden pasar a un procedimiento al incluir una instrucción PARAMETERS o LPARAMETERS en el procedimiento o al colocar una lista de parámetros inmediatamente después de PROCEDURE ProcedureName. Ponga la lista de parámetros entre paréntesis y separe los parámetros con comas.
Para obtener más información acerca del uso del comando PROCEDURE para crear clases, vea DEFINE CLASS y Uso estricto de tipos en código de clases, objetos y variables en la Ayuda.
Ejemplo
El siguiente ejemplo ilustra cómo se puede llamar a un procedimiento para realizar una tarea discreta como, por ejemplo, realizar una entrada en un archivo de registro. El procedimiento abre el archivo de registro (que se presupone que existe en el ejemplo), construye una entrada basada en información pasada en parámetros, escribe la entrada y cierra el archivo. El procedimiento se llama con un comando DO similar al de la parte superior del programa.
DO MakeLogEntry WITH "Logged in", "jsmith"
PROCEDURE MakeLogEntry
PARAMETERS message, username
pnHandle = FOPEN("LOG2.TXT",2) && Assume the file exists
pnSize = FSEEK(pnHandle,0,2) && Move to end of file
logEntry = dtoc(date())+","+time()+","+username+","+message
=FPUTS(pnHandle, logEntry)
=FCLOSE(pnHandle) && Close file
ENDPROC
En el siguiente ejemplo se muestra cómo se puede llamar un procedimiento para devolver un valor.
SET CENTURY ON
? longdate(({^1998-02-16})) && Displays Monday, February 16, 1998
PROCEDURE longdate
PARAMETER mdate
RETURN CDOW(mdate) + ", " + MDY(mdate)
ENDPROC
Referencia del lenguaje de Microsoft Visual FoxPro
RETURN (Comando)
Devuelve el control del programa al programa que llama.
RETURN [eExpression | TO MASTER | TO ProcedureName]
Parámetros
eExpression
Especifica una expresión devuelta al programa que llama. Si omite RETURN o la expresión de retorno, se devolverá automáticamente el valor verdadero (.T.).
TO MASTER
Devuelve el control al programa que llama de mayor nivel.
TO ProcedureName
Especifica el procedimiento al que se devuelve el control.
Observaciones
RETURN termina la ejecución de un programa, procedimiento o función. El control se devuelve al programa que llama, al programa que llama de mayor nivel, a otro programa o a la ventana Comandos.
Cuando se ejecuta RETURN, Visual FoxPro libera las variables PRIVATE.
RETURN se coloca generalmente al final de un programa, procedimiento o función para devolver el control a un programa de nivel superior. No obstante, se ejecutará un RETURN implícito si se omite RETURN.
Ejemplo
En el ejemplo siguiente la función longdate devuelve una cadena de caracteres que se puede imprimir a partir de una fecha.
SET CENTURY ON
? longdate({^1998-02-16}) && Displays Monday, February 16, 1998
FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate) |
se lo q es un procedimiento -_-! _________________
|
|
|
Volver arriba
|
|
|
AVS
Administrador


Registrado: 01 Nov 2006 Mensajes: 18302 Promedio por Día: 7.66
Karma: -1
Ubicación: Guate, Guate, Guate, Guate
9945.92 
Items
|
Publicado: 25 Feb 2008 1:37 pm
|
|
|
| Código: |
- pones el programa de la web cam a pantalla completa
- Ctrl + Impr Pant |
|
|
|
Volver arriba
|
|
|
AnDreW
Completo Vag@


Registrado: 04 Jun 2007 Mensajes: 5034 Promedio por Día: 2.31
Karma: -1
Ubicación: GUATE

3543.66 
Items
|
Publicado: 25 Feb 2008 1:39 pm
|
|
|
nauta
ps por si no sabia pero como varian los ternimos en la programacion por eso lo puse y voy a probar asi return nResult _________________
“¡Un día yo tuve hambre, y me alimentaste.Un día yo estaba sin esperanzas y me diste un camino. Un día me desperté solo, y me diste la paz, y eso no tiene precio. ¡Qué la paz habite en tu corazón y alimente tu alma! ¡Y que te sobre el pan de la misericordia para extender a quien lo necesita!”
La vida es una larga pregunta a la que nadie sabe contestar.
|
|
|
Volver arriba
|
|
|
AnDreW
Completo Vag@


Registrado: 04 Jun 2007 Mensajes: 5034 Promedio por Día: 2.31
Karma: -1
Ubicación: GUATE

3543.66 
Items
|
Publicado: 25 Feb 2008 1:41 pm
|
|
|
| AVS escribió: | | Código: |
- pones el programa de la web cam a pantalla completa
- Ctrl + Impr Pant |
 |
¬¬ nada qver toy hablando de fox como llamar al programa de la web cam para q funcione dentro de mi programa _________________
“¡Un día yo tuve hambre, y me alimentaste.Un día yo estaba sin esperanzas y me diste un camino. Un día me desperté solo, y me diste la paz, y eso no tiene precio. ¡Qué la paz habite en tu corazón y alimente tu alma! ¡Y que te sobre el pan de la misericordia para extender a quien lo necesita!”
La vida es una larga pregunta a la que nadie sabe contestar.
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 25 Feb 2008 2:05 pm
|
|
|
| AnDreW escribió: | nauta
ps por si no sabia pero como varian los ternimos en la programacion por eso lo puse y voy a probar asi return nResult |
en los lenguajes lo q varia es la sintaxis, no el concepto
un ciclo va a ser un ciclo en pascal, c++, fox, java, etc
lo mismo pasa con los procedimientos y funciones
la q es funcion, donde quiera devuelve valor... a no va, es el q es perico... la idea es esa jajajaj;alskdjf _________________
|
|
|
Volver arriba
|
|
|
Matu
Administrador


Registrado: 03 Nov 2006 Mensajes: 5698 Promedio por Día: 2.39
Karma: -4
Ubicación: aki


8254.49 
Items
|
Publicado: 25 Feb 2008 2:08 pm
|
|
|
| n.A.u.T.a escribió: | | AnDreW escribió: | | Matu escribió: | | n.A.u.T.a escribió: | cabal lo q dijo el matu, el return se usa para devolver un valor especifico. otra cosa, no se como va el codigo de fox, pero normalmente para especificar una diferencia usas != en lugar de <> este ultimo creo q solo aplica para pascal
proba hacer la comparacion antes del return algo asi
| Código: | if (nResul != 0) then
{
x = <valor>;
} else {
x = null;
}
return x; |
p.d: no se si el codigo este bien asi, xq io no en fox, tons no se si la sintaxis este bien, pero la idea seria esa..  |
cabañas, solo que esa tu sintaxis revuelve pascal y c .. |
ps podria ser pero lo q ace ese return es q regresa al procesimiento (procedure) y cuando c cumple continua
Referencia del lenguaje de Microsoft Visual FoxPro
PROCEDURE (Comando)
Identifica el principio de un procedimiento en un archivo de programa.
PROCEDURE ProcedureName
[LPARAMETERS parameter1[,parameter2},...]
Commands
[RETURN [eExpression]]
ENDFUNC
o
PROCEDURE ProcedureName([parameter1[,parameter2},...])
Commands
[RETURN [eExpression]]
ENDFUNC
Parámetros
ProcedureName
Especifica el nombre del procedimiento que se va a crear.
Observaciones
PROCEDURE es una instrucción dentro de un archivo de programa. Especifica el principio de cada procedimiento en un archivo de programa y define el nombre del procedimiento. Debe comenzar por una letra o un subrayado, y puede contener cualquier combinación de letras, números y subrayados.
En Visual FoxPro, los nombres de procedimiento pueden tener una longitud máxima de 254 caracteres.
Los comentarios se pueden colocar en la misma línea después de PROCEDURE y ENDPROC. Estos comentarios se pasarán por alto durante la compilación y la ejecución del programa.
La línea de comando PROCEDURE va seguida de un conjunto de comandos que componen el procedimiento. Puede incluir opcionalmente RETURN en cualquier parte del procedimiento para devolver el control al programa al que se llama o a otro programa, y para definir un valor devuelto por el procedimiento. Si no incluye un comando RETURN, se ejecutará un RETURN implícito cuando salga de la función. Si el comando RETURN no incluye el valor devuelto (o si se ejecuta un RETURN implícito), Visual FoxPro asigna .T. (Verdadero) como el valor devuelto.
El procedimiento termina con el comando ENDPROC. Este comando es opcional; el procedimiento termina cuando se encuentra otro comando PROCEDURE, un comando FUNCTION o el final del archivo de programa.
Nota No puede incluir código de programa ejecutable normal en un archivo de programa después de procedimientos; sólo los procedimientos, las funciones definidas por el usuario y las definiciones de clase pueden ir a continuación del comando PROCEDURE o FUNCTION en el archivo.
Cuando ejecuta un procedimiento con DO ProcedureName, Visual FoxPro buscará el procedimiento en un orden específico. Visual FoxPro busca:
1. El archivo que contiene DO ProcedureName.
2. La base de datos actual.
3. Los archivos de procedimientos abiertos con SET PROCEDURE.
4. Los programas en la cadena de ejecución. Los archivos de programa se buscan a partir del programa ejecutado más recientemente y hacia atrás, hasta el primer programa ejecutado.
5. Un archivo de programa independiente. Si se encuentra un archivo de programa con el mismo nombre que el nombre de archivo especificado con DO, se ejecutará. Si no se encuentra ningún nombre de archivo de programa coincidente, se mostrará un mensaje de error.
Incluya la cláusula IN en DO para ejecutar un procedimiento en un archivo específico.
De forma predeterminada, los parámetros se pasan a procedimientos por valor. Para obtener información sobre cómo puede pasar parámetros a procedimientos por referencia, vea SET UDFPARMS. A un procedimiento se puede pasar un máximo de 27 parámetros. Los parámetros se pueden pasar a un procedimiento al incluir una instrucción PARAMETERS o LPARAMETERS en el procedimiento o al colocar una lista de parámetros inmediatamente después de PROCEDURE ProcedureName. Ponga la lista de parámetros entre paréntesis y separe los parámetros con comas.
Para obtener más información acerca del uso del comando PROCEDURE para crear clases, vea DEFINE CLASS y Uso estricto de tipos en código de clases, objetos y variables en la Ayuda.
Ejemplo
El siguiente ejemplo ilustra cómo se puede llamar a un procedimiento para realizar una tarea discreta como, por ejemplo, realizar una entrada en un archivo de registro. El procedimiento abre el archivo de registro (que se presupone que existe en el ejemplo), construye una entrada basada en información pasada en parámetros, escribe la entrada y cierra el archivo. El procedimiento se llama con un comando DO similar al de la parte superior del programa.
DO MakeLogEntry WITH "Logged in", "jsmith"
PROCEDURE MakeLogEntry
PARAMETERS message, username
pnHandle = FOPEN("LOG2.TXT",2) && Assume the file exists
pnSize = FSEEK(pnHandle,0,2) && Move to end of file
logEntry = dtoc(date())+","+time()+","+username+","+message
=FPUTS(pnHandle, logEntry)
=FCLOSE(pnHandle) && Close file
ENDPROC
En el siguiente ejemplo se muestra cómo se puede llamar un procedimiento para devolver un valor.
SET CENTURY ON
? longdate(({^1998-02-16})) && Displays Monday, February 16, 1998
PROCEDURE longdate
PARAMETER mdate
RETURN CDOW(mdate) + ", " + MDY(mdate)
ENDPROC
Referencia del lenguaje de Microsoft Visual FoxPro
RETURN (Comando)
Devuelve el control del programa al programa que llama.
RETURN [eExpression | TO MASTER | TO ProcedureName]
Parámetros
eExpression
Especifica una expresión devuelta al programa que llama. Si omite RETURN o la expresión de retorno, se devolverá automáticamente el valor verdadero (.T.).
TO MASTER
Devuelve el control al programa que llama de mayor nivel.
TO ProcedureName
Especifica el procedimiento al que se devuelve el control.
Observaciones
RETURN termina la ejecución de un programa, procedimiento o función. El control se devuelve al programa que llama, al programa que llama de mayor nivel, a otro programa o a la ventana Comandos.
Cuando se ejecuta RETURN, Visual FoxPro libera las variables PRIVATE.
RETURN se coloca generalmente al final de un programa, procedimiento o función para devolver el control a un programa de nivel superior. No obstante, se ejecutará un RETURN implícito si se omite RETURN.
Ejemplo
En el ejemplo siguiente la función longdate devuelve una cadena de caracteres que se puede imprimir a partir de una fecha.
SET CENTURY ON
? longdate({^1998-02-16}) && Displays Monday, February 16, 1998
FUNCTION longdate
PARAMETER mdate
RETURN CDOW(mdate) + ', ' + MDY(mdate) |
se lo q es un procedimiento -_-! |
JAJA XD _________________ http://smash-city.net
"Nada resiste tanto como lo Provisional"
"hay dos cosas infinitas, el universo y la estupidez humana. Y no estoy seguro del universo.(Albert Einstein)"
http://www.fotolog.com/matusher
|
|
|
Volver arriba
|
|
|
n.A.u.T.a
Administrador


Registrado: 02 Nov 2006 Mensajes: 8618 Promedio por Día: 3.61
Karma: -1


566.67 
Items
|
Publicado: 28 Feb 2008 9:41 am
|
|
|
alfin lo pudiste resolver ??? _________________
|
|
|
Volver arriba
|
|
|
AnDreW
Completo Vag@


Registrado: 04 Jun 2007 Mensajes: 5034 Promedio por Día: 2.31
Karma: -1
Ubicación: GUATE

3543.66 
Items
|
Publicado: 01 Mar 2008 9:31 am
|
|
|
| n.A.u.T.a escribió: | | alfin lo pudiste resolver ??? |
ps gracias a Dios logre contactar a mi profesor y el me esta ayudando en eso gracias de todas maneras ay les paso el tip otro dia  _________________
“¡Un día yo tuve hambre, y me alimentaste.Un día yo estaba sin esperanzas y me diste un camino. Un día me desperté solo, y me diste la paz, y eso no tiene precio. ¡Qué la paz habite en tu corazón y alimente tu alma! ¡Y que te sobre el pan de la misericordia para extender a quien lo necesita!”
La vida es una larga pregunta a la que nadie sabe contestar.
|
|
|
Volver arriba
|
|
|
|
|
Sindicar titulares de este foro
Todas las horas están en GMT - 6 Horas
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas
|
|
|
Página 1 de 1
|
|
|