Leer una base sin permiso

Leer una base sin permiso

Postby acuellar » Thu May 21, 2009 3:50 pm

Hola a todos

Tengo un programa que se ejecuta al iniciar sesion. El programa resisde el la carpeta NETLOGON, en el perfil del usuario se coloca el nombre del programa y lo ejecuta.

Existe una carpeta compartida donde se encuentra la base a leer y solo tiene permiso un usuario. La idea es darle permiso mediante el NET USE, la lee y luego desactiva.

Funciona, pero solo si hago un print Ej: ?BASE, no se con que reemplazarlo para que no se detenga

Aqui va el fuente
Code: Select all  Expand view

REQUEST DBFCDX

Function Main()
   
   RddSetDefault( "DBFCDX" )
   SET RESOURCES TO "CUMPLE.DLL"
 
   Store 0 To BdrCtos,vBdr,vBdr1
 
   Lin=50;  Col=150
   
   WinExec("Net use \\FOSERVER\RRHH clave /user:acuellar",0)
   
   ViaRRHH:="\\FOSERVER\RRHH\DATA\"
   
   vFecAyer:=Left(dtoc(date()-1),5)
   
   Base:=ViaRRHH+"
DATPER"
   ?Base  // SI NO COLOCO ESTA LINEA NO FUNCIONA

   Use (Base) Inde (Base) Alias EMPL NEW SHARED
   SET ORDER TO TAG DATPER2
   Set Filt to Left(dtoC(FechaNac),5)=Left(dtoC(date()),5)
   dbGoTop()
   
   Define window oWnd from 0,1 to 0,1 STYLE WS_POPUP
   Activate Window oWnd On Init Nota()
   
   WinExec("
Net use \\FOSERVER\RRHH /delete",0)
 
  EMPL->( dBCloseArea() )
 
 
Retu nil
*
Func Nota()
   nVen:=1
   Do while !Eof()
    mcual=Str(nVen,1)
    Public ownd&mcual
    Define Window ownd&mcual from Lin/16,Col/8 to Lin/16+8,Col/8+30 Color CLR_GREEN,CLR_YELLOW STYLE nOr(WS_POPUP,WS_BORDER) of oWnd
    ownd&mcual:cargo:=mcual
    Activate Window oWnd&mcual on init Botones(ownd&mcual,1)
    DbSkip()
    nVen++
    Lin=Lin+70
    Col=Col+70
    BdrCtos=BdrCtos+1
  Endd
   
Retu nil
*
Func Botones(Vent1,vNr)
   @ 0,0 BITMAP resource "
Esquina" NOBORDER OF Vent1 PIXEL SIZE 80,21
   @ 1.7,Vent1:nWidth()-20 BITMAP resource "
Quitar" NOBORDER OF Vent1 PIXEL SIZE 15,14 ON LEFT CLICK Cierra(Vent1)
   mTexto(Vent1,vNr)
Retu nil
*
Func Cierra(Vent2)
    mcual:=Vent2:cargo
     If BdrCtos=1
       oWnd:End()
       Set Resources to
       Close data
    Else
       ownd&mcual:End()
       BdrCtos=BdrCtos-1
    Endi
Retu nil

Func mTexto(Vent3,vNr)
    cNOM:=OemToAnsi(Alltrim(NOMBRE))+"
"+OemToAnsi(Alltrim(APELLIDOS))
     @ 1.7,.4 SAY oSay PROMPT "
Hoy es cumpleaños de:" OF Vent3 SIZE 173,14 COLOR CLR_HRED
     @ 3.2,.5 SAY  oSay PROMPT cNOM OF Vent3 SIZE 173,13 COLOR CLR_HBLUE
Retu nil


El programa muestra el cumpleañero del día en un Postit.
Quizas alquien tenga otra idea.

Gracias de antemano por sus aportes

Saludos

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Leer una base sin permiso

Postby jrestojeda » Thu May 21, 2009 4:07 pm

Hola amigo...
Prueba declarar la variable base como privada.

Code: Select all  Expand view

Private Base

...
...
...

Base:=ViaRRHH+"DATPER"

Use (&Base) Inde (&Base) Alias EMPL NEW SHARED
SET ORDER TO TAG DATPER2
Set Filt to Left(dtoC(FechaNac),5)=Left(dtoC(date()),5)
dbGoTop()
 


Espero te sirva.
Saludos,
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
jrestojeda
 
Posts: 583
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: Leer una base sin permiso

Postby acuellar » Thu May 21, 2009 4:21 pm

Gracias Distinguido, lo probe y no funciona.

Funciona sólo si se detiene, o dandole permiso al usuario para acceder a la carpeta, que es lo que no quiero porque cada vez que creamos un nuevo usuario hay que darle permiso, además que en la carpeta hay otras bases a las cuales no deberian acceder.

Saludos

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Leer una base sin permiso

Postby ADBLANCO » Tue May 26, 2009 6:22 pm

No creo que tenga nada que ver, pero el orden de las instrucciones no debiera ser:


EMPL->( dBCloseArea() )
WinExec("Net use \\FOSERVER\RRHH /delete",0)

en lugar de:


WinExec("Net use \\FOSERVER\RRHH /delete",0)

EMPL->( dBCloseArea() )
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
ADBLANCO
 
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Re: Leer una base sin permiso

Postby acuellar » Wed May 27, 2009 12:32 pm

Gracias Distinguido Angel.

Tiene razón, primero debo cerrar las bases, luego quitar la carpeta compartida.

Saludos

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1594
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 14 guests