Search  
Friday, May 25, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Clase - VCX si PRG  Progressbar...
 Progressbar
 
 1/19/2009 7:00:06 PM
User is offlineocs
43 posts


Progressbar
 (N/A)
Revin cu o problema pe care nu am reusit sa o rezolv. Ca sa fiu mai explicit de aceasta data, postez toata procedura (test.prg). La rularea acestui program toate articolele adaugate intr-o tabela (miscari.dbf) sunt dublate si nu imi dau seama unde este greseala mea. Daca poate cineva sa ma ajute ii multumesc anticipat !
 1/19/2009 7:02:52 PM
User is offlineocs
43 posts


Re: Progressbar
 (N/A)

[QUOTE]ocs wrote
Revin cu o problema pe care nu am reusit sa o rezolv. Ca sa fiu mai explicit de aceasta data, postez toata procedura (test.prg). La rularea acestui program toate articolele adaugate intr-o tabela (miscari.dbf) sunt dublate si nu imi dau seama unde este greseala mea. Daca poate cineva sa ma ajute ii multumesc anticipat !

&& xnr si xnr3 sunt declarate anterior

PUBLIC k,grt,xf

PUBLIC eva

k=0

oPB = CREATEOBJECT("PROGRESSBAR","Asteapta..","Caption ",eva)

oPB.Counter = 0

oPB.Show

EVA=.F.

FOR xf = 1 TO 100 STEP +.01

IF TYPE('oPB.ButtonCancel')<>'U' THEN &&A fost apasat butonul Anulare?

oPB.counter = xf

ELSE

xf=101

ENDIF

ENDFOR

IF TYPE('oPB.ButtonCancel')<>'U' THEN && se testeaza existenta

oPB.Release

ENDIF

 

DEFINE CLASS "Progressbar" AS "FORM"

COUNTER = 0.5

BarCaption = ""

ButtonCancel =.F.

ALWAYSONTOP = .T.

AUTOCENTER = .T.

SHOWWINDOW = 2 && Formular Top Level

WINDOWTYPE = 1 && Modal

DRAWMODE = 9

TITLEBAR = 1

CONTROLBOX = .F.

HEIGHT = 183

WIDTH = 294+24

ADD OBJECT "oTxt" AS "TEXTBOX" WITH ;

HEIGHT = 25, LEFT =12, WIDTH = 294, ALIGNMENT = 2, ;

TOP = 96, BACKCOLOR = RGB(255,0,255), ; && albastru

DISABLEDBACKCOLOR = RGB(255,255,255), ; && alb

DISABLEDFORECOLOR = RGB(0,0,0) , ; && verde

ENABLED = .F., FONTBOLD = .T.

ADD OBJECT "olab" as "LABEL" WITH ;

HEIGHT = 25, LEFT =12, WIDTH = 294, ALIGNMENT = 2, ;

TOP = 46, CAPTION = 'Se preiau facturile de intrare', fontsize = 12, FONTBOLD = .T.

ADD OBJECT "oShp" AS "SHAPE" WITH ;

BORDERSTYLE = 0, DRAWMODE = 14, FILLSTYLE = 1, backcolor = RGB(0,0,255)

PROCEDURE INIT

PARAMETER cCaption, cBarCaption,eva

IF EMPTY(cCaption) THEN

cCaption = ""

ENDIF

IF EMPTY(cBarCaption) THEN

cBarCaption = ""

ENDIF

ThisForm.oshp.Left=ThisForm.oTxt.left+1

ThisForm.oshp.top=thisform.oTxt.top +1

ThisForm.oshp.height=thisform.oTxt.height-2

ThisForm.oshp.Visible = .T.

ThisForm.BorderStyle = 2

ThisForm.Caption = cCaption

ThisForm.BarCaption = cBarCaption

ENDPROC

PROCEDURE Counter_assign

LPARAMETERS vNewVal

IF vNewVal <> thisform.counter THEN

IF vNewVal > 100 THEN

vNewVal = 100

ENDIF

ThisForm.Counter = vNewVal

xf = thisform.counter

ThisForm.oShp.width = xf*thisform.oTxt.width/100

ThisForm.oTxt.value = ALLTRIM(STR(xf))+"% "

ThisForm.Refresh

DO WHILE EVA=.F.

EVENIMENT=1

sele ff_a

COUNT TO grt

SCAN

k=k+1

IF MOD(k,int(grt/100)+1)=0

thisform.counter=thisform.counter+EVENIMENT

xf=thisform.counter

ThisForm.oShp.width = (xf*thisform.oTxt.width/100)

ThisForm.oTxt.value = ALLTRIM(STR(xf))+"% "

ThisForm.Refresh

endif

XACTn=ALLT(ACT)+allt(cod)

xact=allt(act)

xnir=VAL(nir)

xpret_t=pret_t

xtva_t=tva_t

SELE ff_p

SCAN FOR ALLT(ACT)+allt(cod)=XACTn

xcontm=allt(cod)

xcod=allt(codm)

xcant=cantitate

xpreti=pret

xtva=val(proc_tva)

xpretv=pretv

xumc=umc

if xnir>=xnr and xnir<=xnr3

sele miscari

appe blank

repl codPROD with xcod

repl nrdoc with val(xact)

REPL CANTITATE WITH xcant

REPL TVA WITH XTVA

REPL NRNIR WITH XNIR

REPL PRETINTR WITH XPRETI

REPL UMC1 WITH XUMC

REPL CONTM WITH XCONTM

REPL PRETVANZ WITH XPRETV

REPL VALF WITH XPRET_T+XTVA_T

ENDIF

ENDSCAN

endscan

EVA=.T.

ENDDO

ENDIF

IF MDOWN() OR CHRSAW() THEN

DOEVENTS

ENDIF

ENDPROC

ENDDEFINE

 1/20/2009 10:46:25 AM
User is offlineDorin Vasilescu
1366 posts
1st




Re: Progressbar
 (N/A)
Din cate stiu eu, implementarea _access / _assign are bug serios, in sensul ca se vaexecuta _assign chiar si cand proprietatea e in dreapta expresiei Ex: ceva = thisform.counter && counter_assign posibil sa se execute Verifica cu debuggerul sa nu fie asta
  Visual FoxPro  Clase - VCX si PRG  Progressbar...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement