Hola buenas tardes
Estoy definiendo el uso de un archivo ascii al inicio, segun lo muestra este codigo
function Main()
local oWnd, oGet1, oGet2 ,oGet3
LOCAL cVar1 := SPACE( 20 )
LOCAL nVar2 := 0.00
LOCAL nVar3 := 0.00
local hFile := FCreate( CurDir() + "\compra1.txt" )
Despues de la captura del registro se guarda con la instruccion definida en el evento "Nuevo", como puedo lograr que me pregunte el nombre del archivo?
@ 7, 2 BUTTON "Nuevo" SIZE 80, 20 ;
ACTION ( FWrite( hFile, AllTrim( cVar1 ) + "," + Str( nVar2, 8, 2 ) + "," + Str( nVar3, 8, 2 ) + CRLF ),;
cVar1 := Space( 20 ), nVar2 := 0.00, nVar3 := 0.00,;
oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh(), /* MiFuncionDeMedir(), */;
oGet1:SetFocus() )
El nombre de un archivo puede ser variable?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Lupita,
Aqui tienes un ejemplo:
Aqui tienes un ejemplo:
Code: Select all
#include "FWCE.ch"
//----------------------------------------------------------------------------//
function Main()
local oWnd, oGet1, oGet2
LOCAL cVar1 := SPACE( 20 )
LOCAL nVar2 := 0.00
local hFile
DEFINE WINDOW oWnd TITLE "Captura Inventarios"
// MiFuncionDeMedir()
@ 1, 1 SAY "Codigo:";
SIZE 70, 20
@ 1, 10 GET oGet1 VAR cVar1;
SIZE 140, 20
@ 5, 1 SAY "Cantidad:";
SIZE 70, 20
@ 5.7, 10 GET oGet2 VAR nVar2;
SIZE 140, 20 PICTURE "999.99"
@ 7, 2 BUTTON "Nuevo" SIZE 80, 20 ;
ACTION ( FWrite( hFile, AllTrim( cVar1 ) + CRLF + Str( nVar2, 6, 2 ) + CRLF ),;
cVar1 := Space( 20 ), nVar2 := 0.00,;
oGet1:Refresh(), oGet2:Refresh(), /* MiFuncionDeMedir(), */;
oGet1:SetFocus() )
@ 9, 2 BUTTON "Salir" SIZE 80, 20 ACTION oWnd:End()
ACTIVATE WINDOW oWnd ;
VALID MsgYesNo( "¿ Quiere terminar ?" ) ;
ON INIT hFile := PreguntaFichero( oWnd )
FClose( hFile )
return nil
function PreguntaFichero( oWnd )
local oDlg, cNombre := Space( 20 )
DEFINE DIALOG oDlg TITLE "Fichero a crear" SIZE 190, 100 OF oWnd
@ 0.2, 2 SAY "Nombre:" OF oDlg SIZE 80, 8
@ 1.2, 1.5 GET cNombre OF oDlg
@ 1.8, 3.3 BUTTON "Continuar" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
if ! Empty( cNombre )
return FCreate( CurDir() + "\" + AllTrim( cNombre ) )
endif
return 0
Hola Buenas tardes
Eso era lo que necesitaba hacer muchas gracias, le hice algunas modificaciones para q por default pusiera la extencion TXT al archivo y fuera creando un renglon por registo.
Solo tengo una duda que diferencia hay entre la instruccion RETURN NIL y RETURN 0.
@ 7, 2 BUTTON "Nvo Prod" SIZE 80, 20 ;
ACTION ( FWrite( hFile, AllTrim( cVar1 ) + "," + Str( nVar2, 8, 2 ) + "," + Str( nVar3, 8, 2 ) + CRLF ),;
cVar1 := Space( 20 ), nVar2 := 0.00, nVar3 := 0.00,;
oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh(), /* MiFuncionDeMedir(), */;
oGet1:SetFocus() )
@ 9, 2 BUTTON "Salir" SIZE 80, 20 ACTION oWnd:End()
ACTIVATE WINDOW oWnd ;
VALID MsgYesNo( "¿ Quiere terminar ?" ) ;
ON INIT hFile := PreguntaFichero( oWnd )
FClose( hFile )
return nil
function PreguntaFichero( oWnd )
local oDlg, cNombre := Space( 20 )
DEFINE DIALOG oDlg TITLE "Compra a" SIZE 190, 100 OF oWnd
@ 0.2, 2 SAY "Nombre:" OF oDlg SIZE 80, 8
@ 1.2, 1.5 GET cNombre OF oDlg
@ 1.8, 3.3 BUTTON "Continuar" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
if ! Empty( cNombre )
return FCreate( CurDir() + "\" + Alltrim( cNombre ) + ".txt")
endif
return 0
Eso era lo que necesitaba hacer muchas gracias, le hice algunas modificaciones para q por default pusiera la extencion TXT al archivo y fuera creando un renglon por registo.
Solo tengo una duda que diferencia hay entre la instruccion RETURN NIL y RETURN 0.
@ 7, 2 BUTTON "Nvo Prod" SIZE 80, 20 ;
ACTION ( FWrite( hFile, AllTrim( cVar1 ) + "," + Str( nVar2, 8, 2 ) + "," + Str( nVar3, 8, 2 ) + CRLF ),;
cVar1 := Space( 20 ), nVar2 := 0.00, nVar3 := 0.00,;
oGet1:Refresh(), oGet2:Refresh(), oGet3:Refresh(), /* MiFuncionDeMedir(), */;
oGet1:SetFocus() )
@ 9, 2 BUTTON "Salir" SIZE 80, 20 ACTION oWnd:End()
ACTIVATE WINDOW oWnd ;
VALID MsgYesNo( "¿ Quiere terminar ?" ) ;
ON INIT hFile := PreguntaFichero( oWnd )
FClose( hFile )
return nil
function PreguntaFichero( oWnd )
local oDlg, cNombre := Space( 20 )
DEFINE DIALOG oDlg TITLE "Compra a" SIZE 190, 100 OF oWnd
@ 0.2, 2 SAY "Nombre:" OF oDlg SIZE 80, 8
@ 1.2, 1.5 GET cNombre OF oDlg
@ 1.8, 3.3 BUTTON "Continuar" OF oDlg ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
if ! Empty( cNombre )
return FCreate( CurDir() + "\" + Alltrim( cNombre ) + ".txt")
endif
return 0
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: