DCBROWSE refresh
Posted: Tue Feb 17, 2015 3:08 am
by Victorio
Hi everybody,
Please, help me, tell me, how to refresh table in browse afrer edit in other dialog, or afrer simple append blank record.
In CA Clipper I have dbedit(...function), in function I have edit or Append blank, write fields to database and commands unlock, commit and when returned to table, records are updated.
In alaska , eXpress no, Why ?
I do not know, where and what I can use refresh ?.
part of my source :
FUNCTION TABLEDITOR
...
SELECT 1
use table index tag por
...
* open browse table
@1,1 DCBROWSE oBrowse ;
SIZE 90,20 ;
CURSORMODE XBPBRW_CURSOR_ROW ;
ITEMSELECTED {||DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList)}
* list fields
DCBROWSECOL FIELD 1->POR ;
HEADER hrku[1] PARENT oBrowse
DCBROWSECOL FIELD 1->K_KRAJ ;
HEADER hrku[2] PARENT oBrowse
etc...
* open toolbar
@ 1,95 DCTOOLBAR oBrowse SIZE 10,5 ;
ALIGN DCGUI_ALIGN_LEFT ;
BUTTONSIZE 10,1 ;
FIT ;
SPACE 5 ;
RESIZE DCGUI_RESIZE_REPOSONLY_X
* button New resp. Add record
DCADDBUTTON CAPTION 'Pridaj' PARENT oBrowse ;
TOOLTIP "Pridanie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(2)}
etc....
* button edit record
DCADDBUTTON CAPTION 'Oprav' PARENT oBrowse ;
TOOLTIP "Oprava záznamu" ;
ACTION {||tone(1000,1),frkuxxx(3)}
* button delete record
DCADDBUTTON CAPTION 'Vymaž' PARENT oBrowse ;
TOOLTIP "Vymazanie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(4)}
* OPTIONS GeoOptions asi nastavi predvolené parametre ako sú v DCGETOPTIONS
DCREAD GUI ;
OPTIONS GetOptions ;
TITLE "Register katastrálnych území - editácia" ;
FIT ;
MODAL ;
CLEAREVENTS
else
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)
endif
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)
* called function for view, edit, add, delete, filter, print...
* FUNCTION FRKUXXX *
******************************
FUNCTION frkuxxx
Local GetList := {}
Local GetOptions, oToolbar1
*
PARAMETERS stav,index
* backup field information
porm=por
k_krajm=k_kraj
n_krajm=n_kraj
k_okresm=k_okres
n_okresm=n_okres
k_obecm=k_obec
n_obecm=n_obec
k_katuzm=k_katuz
n_katuzm=n_katuz
v_obecm=v_obec
v_katuzm=v_katuz
* EDIT RECORD
elseif stav==3
if reclock() && control for share in LAN, lock record
@ 3, 2 dcsay 'Záznam '+alltrim(str(recno()))+"/"
@ 3, 34 dcsay 'Ostatná aktualizácia: '+lupdatex()
@ 5, 2 dcsay 'Poradov‚ číslo : '
@ 5, 21 dcget por
@ 7, 2 dcsay 'Kód kraja : '
@ 7, 21 dcget k_kraj
@ 7, 32 dcsay 'Názov kraja : '
@ 7, 51 dcget n_kraj
@ 9, 2 dcsay 'Kód okresu : '
@ 9, 21 dcget k_okres
@ 9, 32 dcsay 'Názov okresu : '
@ 9, 51 dcget n_okres
@ 11,2 dcsay 'Kód obce : '
@ 11,21 dcget k_obec
@ 11,32 dcsay 'Názov obce : '
@ 11,51 dcget n_obec
@ 13,2 dcsay 'Kód kat.územia : '
@ 13,21 dcget k_katuz
@ 13,32 dcsay 'Názov kat.územia : '
@ 13,51 dcget n_katuz
read
if (lastkey())=27
rep001() // reload backup fields if Escape
unlock
commit
return(2)
endif
unlock
commit
dbskip(0)
else
rpozor()
endif
return(2)
* pridanie zaznamu
* elseif lastkey()==22 && INSERT
elseif stav==2
append blank
@ 3, 2 dcsay 'Záznam '+alltrim(str(recno()))+"/"
@ 3, 34 dcsay 'Ostatná aktualizácia: '+lupdatex()
@ 5, 2 dcsay 'Poradov‚ číslo : '
@ 5, 21 dcget por
@ 7, 2 dcsay 'Kód kraja : '
@ 7, 21 dcget k_kraj
@ 7, 32 dcsay 'Názov kraja : '
@ 7, 51 dcget n_kraj
@ 9, 2 dcsay 'Kód okresu : '
@ 9, 21 dcget k_okres
@ 9, 32 dcsay 'Názov okresu : '
@ 9, 51 dcget n_okres
@ 11,2 dcsay 'Kód obce : '
@ 11,21 dcget k_obec
@ 11,32 dcsay 'Názov obce : '
@ 11,51 dcget n_obec
@ 13,2 dcsay 'Kód kat.územia : '
@ 13,21 dcget k_katuz
@ 13,32 dcsay 'Názov kat.územia : '
@ 13,51 dcget n_katuz
read
if (lastkey())=27
dbzmaz() // is delete record
commit
return(2)
endif
unlock
commit
dbskip(0)
return(2)
* zmazanie z znamu DELETE RECORD
* elseif lastkey()==7 && DEL
elseif stav==4
if reclock()
* zobrazenie upozornenia, ci naozaj zmazat
level3=2
*@12,28 dcSAY " Naozaj zmazať ? "
*@14,32 PROMPT " Ano "
*@14,37 PROMPT " Nie "
*MENU TO level3
* úprava na DC_ALERT
level3:=DC_ALERT(" Naozaj zmazať ? ",{"Áno", "Nie"})
if (level3=1)
dbzmaz() // is delete record
commit
return(2)
elseif (level3=2)
return(2)
endif
set color to &ft
return(2)
else
rpozor()
endif
return(1)
Re: DCBROWSE refresh
Posted: Tue Feb 17, 2015 6:00 am
by Victorio
i don´t understand, here is mysource code, on row 129 I have :refreshAll, and still runtime error :
please look at source, where I have "mishmash", thanks
ERROR LOG
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: O CLASS: DC_XbpToolBar
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: Y
oError:cargo : NIL
oError:description : Object has no method with this name
oError:filename :
oError:genCode : 23
oError:operation : refreshAll
oError:osCode : 0
oError:severity : 2
oError:subCode : 2220
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Called from (B)ERKU(129)
Called from DC_XBPPUSHBUTTON:ACTION(2464)
Called from (B)DC_XBPPUSHBUTTON:INIT(2006)
Called from XBPPUSHBUTTON:HANDLEEVENT(1530)
Called from DC_GETLIST:EVENTLOOP(4651)
Called from DC_GETLIST:READGUI(3832)
Called from DC_READGUI(111)
Called from ERKU(160)
Called from (B)APPMENU2(246)
Called from DC_GETLIST:EVENTLOOP(4651)
Called from DC_GETLIST:READGUI(3832)
Called from DC_READGUI(111)
Called from APPMENU2(374)
Called from MAIN(616)
SOURCE
*************************
* -> INFOKA13.PRG * && EDITACIA DATABAZ CISELNIKOV
**************************
* alaskalast modify 17.2.2015 - doplnenie tlačítok atď. ovládania editácie, vyradenie saveokn
* restokno, set cursor, toto musím všade
* alaska last modify 13.2.2015 vyradené saveokno, setokno, set color...
* last modify 27.06.2000
* Last modify 19.04.2000
* Obsahuje funkcie : ERKU (E-edit) - Register katastr lnych Łzemˇ
* ECIS (E-edit) - ¬ˇselnˇk druhov nebyt.priestorov
*****************
* FUNCTION ERKU * && Editacia Registra kat.uzemi
*****************
FUNCTION erku
LOCAL oldcol
*pre pokus s toolbarom aj browser ak tu to nedám, potom preberá Getoptions z inej funkcie
Local GetList := {}
*Local GetOptions, oTab1,oToolBar1, oToolBar2,adir,oBrowse
Local GetOptions,oToolBar1,oToolBar2,oBrowse
* deklaracia poli a hlaviciek pre ciselnik kat.uzemi
PUBLIC prku[9],hrku[9]
*DECLARE prku[9],hrku[9]
PARAMETERS n && n-savescreen
prku[1]="POR"
prku[2]="K_KRAJ"
prku[3]="N_KRAJ"
prku[4]="K_OKRES"
prku[5]="N_OKRES"
prku[6]="K_OBEC"
prku[7]="N_OBEC"
prku[8]="K_KATUZ"
prku[9]="N_KATUZ"
hrku[1]="Por.č."
hrku[2]="Kód kraja"
hrku[3]="Názov kraja"
hrku[4]="Kód okresu"
hrku[5]="Názov okresu"
hrku[6]="Kód obce"
hrku[7]="Názov obce"
hrku[8]="Kód katastra"
hrku[9]="Názov katastra"
*oldcol=setcolor() && zistenie povodneho nastavenia farieb
PUBLIC nf && n-savescreen pre volanie funkcie frkuxxx
nf=n+1 && uprava parametra pre dalej volanu funkciu z dbeditu
* otvorenie databazy pre prezeranie editaciu,...
subor=cestaciselnik+rku+".DBF"
suborcdx=cestaciselnik+rku+".CDX"
* alaska úprava doplenie ALIAS "subor", aby dobre fungoval browse edit
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 1
use &subor index &suborcdx
*dbedit(3,1,20,78,prku,"frkuxxx",,hrku) && volanie dbeditu
* BROWSE - upravene pre editáciu,
* DCGUI_BROWSE_EDITACROSS - pri tomto odklikávam všetky políčka v riadku
* DCGUI_BROWSE_EDITDOWN
* umiestnenie na pozíciu 1,1, tj. prvý riadok, prvý stĺpec ale polohu okna určí
* systém optimálne do stredu aplikačného okna, zrejme parameter FIT
* rozmer 60,20 šírka 50 stĺpcov/znakov, výška 20 riadkov
* zablokovaná možnosť editácie kliknutím priamo v browseri
* EDIT xbeBRW_ItemSelected MODE DCGUI_BROWSE_EDITACROSS ;
@1,1 DCBROWSE oBrowse ;
SIZE 90,20 ;
CURSORMODE XBPBRW_CURSOR_ROW ;
ITEMSELECTED {||DC_GetRefresh(GetList)} ;
ITEMMARKED {||DC_GetRefresh(GetList)} ;
EVAL {||DC_GetRefresh(GetList)}
* toto povodne ako fungovalo, nad tym experimenty ci nezaktualizuje
* ITEMSELECTED {||DC_ReadGuiEvent(DCGUI_EXIT_OK,GetList)}
* a toto som pridal na otestovanie, teda po kliknutí na záznam zaktualizovalo browser
* ITEMMARKED {||DC_GetRefresh(GetList)}
DCBROWSECOL FIELD 1->POR ;
HEADER hrku[1] PARENT oBrowse
DCBROWSECOL FIELD 1->K_KRAJ ;
HEADER hrku[2] PARENT oBrowse
DCBROWSECOL FIELD 1->N_KRAJ ;
HEADER hrku[3] PARENT oBrowse
DCBROWSECOL FIELD 1->K_OKRES ;
HEADER hrku[4] PARENT oBrowse
DCBROWSECOL FIELD 1->N_OKRES ;
HEADER hrku[5] PARENT oBrowse
DCBROWSECOL FIELD 1->K_OBEC ;
HEADER hrku[6] PARENT oBrowse
DCBROWSECOL FIELD 1->K_OBEC ;
HEADER hrku[7] PARENT oBrowse
DCBROWSECOL FIELD 1->K_KATUZ ;
HEADER hrku[8] PARENT oBrowse
DCBROWSECOL FIELD 1->N_KATUZ ;
HEADER hrku[9] PARENT oBrowse
* toto by malo čo robiť ? reaguje alebo nereaguje na TAB klavesu
*DCGETOPTIONS TABSTOP
* toto zabezpeci miesto na toolbary pridane nizsie
* poloha v okne 1 riadok, 55ty stĺpec
* rozmer SIZE 10 stĺpcov, 10riadkov, rozmer buttonu 10 stlpcov, 1 riadok
@ 1,95 DCTOOLBAR oBrowse SIZE 10,5 ;
ALIGN DCGUI_ALIGN_LEFT ;
BUTTONSIZE 10,1 ;
FIT ;
SPACE 5 ;
RESIZE DCGUI_RESIZE_REPOSONLY_X
DCADDBUTTON CAPTION 'Náhľad' PARENT oBrowse ;
TOOLTIP "Prezeranie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(1),oBrowse:refreshAll()}
DCADDBUTTON CAPTION 'Pridaj' PARENT oBrowse ;
TOOLTIP "Pridanie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(2)}
DCADDBUTTON CAPTION 'Oprav' PARENT oBrowse ;
TOOLTIP "Oprava záznamu" ;
ACTION {||tone(1000,1),frkuxxx(3)}
DCADDBUTTON CAPTION 'Vymaž' PARENT oBrowse ;
TOOLTIP "Vymazanie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(4)}
DCADDBUTTON CAPTION 'Hľadaj' PARENT oBrowse ;
TOOLTIP "Vyhľadanie záznamu" ;
ACTION {||tone(1000,1),frkuxxx(5)}
DCADDBUTTON CAPTION 'Tlač' PARENT oBrowse ;
TOOLTIP "Vytlačenie tabuľky" ;
ACTION {||tone(1000,1),frkuxxx(6)}
DCADDBUTTON CAPTION 'Návrat' PARENT oBrowse ;
TOOLTIP "Návrat do hlavného menu" ;
ACTION {||tone(1000,1),DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)}
* OPTIONS GeoOptions asi nastavi predvolené parametre ako sú v DCGETOPTIONS
DCREAD GUI ;
OPTIONS GetOptions ;
TITLE "Register katastrálnych území - editácia" ;
FIT ;
MODAL
* EVAL {||DC_DbGoTop(),oBrowse:RefreshAll()} -- toto neviem pre+co chyba
* CLEAREVENTS
else
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)
endif
close all
DC_GetDestroy(GetList)
DC_ClearEvents()
return(0)
******************************
* FUNCTION FRKUXXX *
******************************
FUNCTION frkuxxx
* pre pokusne tlacitko v nahlade
*pre pokus s toolbarom aj browser ak tu to nedám, potom preberá Getoptions z inej funkcie
Local GetList := {}
Local GetOptions, oToolbar1
*
PARAMETERS stav,index
* nahratie obsahu zaznamu do pamatovych premennych
porm=por
k_krajm=k_kraj
n_krajm=n_kraj
k_okresm=k_okres
n_okresm=n_okres
k_obecm=k_obec
n_obecm=n_obec
k_katuzm=k_katuz
n_katuzm=n_katuz
v_obecm=v_obec
v_katuzm=v_katuz
* ak stlacenie klavesy
*if stav=4
*if stav!=0
* Náhľad
*elseif lastkey()=13 && ENTER
if stav==1
* kontrola či tu ide
tone(800,1)
set color to &fo
* lastkey zablokovane lebo toto riadi DCREAD
* do while lastkey()!=27
@ 3, 2 dcsay 'Záznam '+alltrim(str(recno()))+"/"
@ 3, 34 dcsay 'Ostatná aktualizácia: '+lupdatex()
@ 5, 2 dcsay 'Poradové číslo : '
@ 5, 31 dcsay por
@ 7, 2 dcsay 'Kód kraja : '
@ 7, 31 dcsay k_kraj
@ 7, 42 dcsay 'Názov kraja : '
@ 7, 61 dcsay n_kraj
@ 9, 2 dcsay 'Kód okresu : '
@ 9, 31 dcsay k_okres
@ 9, 42 dcsay 'Názov okresu : '
@ 9, 61 dcsay n_okres
@ 11,2 dcsay 'Kód obce : '
@ 11,31 dcsay k_obec
@ 11,42 dcsay 'Názov obce : '
@ 11,61 dcsay n_obec
@ 13,2 dcsay 'Kód kat.územia : '
@ 13,31 dcsay k_katuz
@ 13,42 dcsay 'Názov kat.územia : '
@ 13,61 dcsay n_katuz
* doplnenie tlacitka na ukoncenie nahladu
@ 1,95 DCTOOLBAR oToolbar1 SIZE 10,5 ;
ALIGN DCGUI_ALIGN_LEFT ;
BUTTONSIZE 10,1 ;
FIT ;
SPACE 5 ;
RESIZE DCGUI_RESIZE_REPOSONLY_X
DCADDBUTTON CAPTION 'Návrat' PARENT oToolbar1 ;
TOOLTIP "Návrat do hlavného menu" ;
ACTION {||tone(1000,1),DC_ReadGuiEvent(DCGUI_EXIT_ABORT,GetList)}
* OPTIONS GeoOptions asi nastavi predvolené parametre ako sú v DCGETOPTIONS
DCREAD GUI ;
OPTIONS GetOptions ;
TITLE "Register katastrálnych území - editácia" ;
FIT ;
MODAL ;
CLEAREVENTS
*
rec=recno()
* zablokované posúvanie medzi záznamami v prezeracom detailnom okne,
* neskôr môžem odblokovať
* posun o 1 zaznam hore
* if lastkey()==5 && UP
* skip -1
* if bof()=.T.
* go rec
* endif
*
* * pozun o 1 zaznam dolu
* elseif lastkey()==24 && DOWN
* skip
* if eof()=.T.
* go rec
* endif
* endif
* enddo
set color to &ft
return(2)
* oprava zaznamu
* elseif lastkey()==10 && CTRL+ENTER
elseif stav==3
* kontrola či tu ide
tone(800,1)
set color to &fo
if reclock() && osetrenie na sietovu prevadzku
@ 3, 2 dcsay 'Záznam '+alltrim(str(recno()))+"/"
@ 3, 34 dcsay 'Ostatná aktualizácia: '+lupdatex()
@ 5, 2 dcsay 'Poradov‚ číslo : '
@ 5, 21 dcget por
@ 7, 2 dcsay 'Kód kraja : '
@ 7, 21 dcget k_kraj
@ 7, 32 dcsay 'Názov kraja : '
@ 7, 51 dcget n_kraj
@ 9, 2 dcsay 'Kód okresu : '
@ 9, 21 dcget k_okres
@ 9, 32 dcsay 'Názov okresu : '
@ 9, 51 dcget n_okres
@ 11,2 dcsay 'Kód obce : '
@ 11,21 dcget k_obec
@ 11,32 dcsay 'Názov obce : '
@ 11,51 dcget n_obec
@ 13,2 dcsay 'Kód kat.územia : '
@ 13,21 dcget k_katuz
@ 13,32 dcsay 'Názov kat.územia : '
@ 13,51 dcget n_katuz
read
if (lastkey())=27
rep001()
unlock
commit
return(2)
endif
unlock
commit
dbskip(0)
else
rpozor()
endif
return(2)
* pridanie zaznamu
* elseif lastkey()==22 && INSERT
elseif stav==2
append blank
@ 3, 2 dcsay 'Záznam '+alltrim(str(recno()))+"/"
@ 3, 34 dcsay 'Ostatná aktualizácia: '+lupdatex()
@ 5, 2 dcsay 'Poradov‚ číslo : '
@ 5, 21 dcget por
@ 7, 2 dcsay 'Kód kraja : '
@ 7, 21 dcget k_kraj
@ 7, 32 dcsay 'Názov kraja : '
@ 7, 51 dcget n_kraj
@ 9, 2 dcsay 'Kód okresu : '
@ 9, 21 dcget k_okres
@ 9, 32 dcsay 'Názov okresu : '
@ 9, 51 dcget n_okres
@ 11,2 dcsay 'Kód obce : '
@ 11,21 dcget k_obec
@ 11,32 dcsay 'Názov obce : '
@ 11,51 dcget n_obec
@ 13,2 dcsay 'Kód kat.územia : '
@ 13,21 dcget k_katuz
@ 13,32 dcsay 'Názov kat.územia : '
@ 13,51 dcget n_katuz
read
if (lastkey())=27
dbzmaz()
commit
return(2)
endif
unlock
commit
dbskip(0)
return(2)
* zmazanie z znamu
* elseif lastkey()==7 && DEL
elseif stav==4
if reclock()
* zobrazenie upozornenia, ci naozaj zmazat
level3=2
*@12,28 dcSAY " Naozaj zmazať ? "
*@14,32 PROMPT " Ano "
*@14,37 PROMPT " Nie "
*MENU TO level3
* úprava na DC_ALERT
level3:=DC_ALERT(" Naozaj zmazať ? ",{"Áno", "Nie"})
if (level3=1)
dbzmaz()
commit
return(2)
elseif (level3=2)
return(2)
endif
set color to &ft
return(2)
else
rpozor()
endif
* H E L P
* elseif (lastkey())=28 && F1
* elseif stav==6
* return(2)
* Najdi && F7
* elseif lastkey()=-6
elseif stav==5
* kontrola na existenciu indexoveho suboru
*if cdxok=1
set color to &fh
okno(9,21,18,56,fh)
* vyber sposobu hladania a triedenia
menufrkuxxx=1
@10,23 say "H–adaj a zotrieÔ podla : "
@11,23 say "-------------------------"
@12,23 prompt "K˘d obce "
@13,23 prompt "N zov obce "
@14,23 prompt "K˘d kat.Łzemia "
@15,23 prompt "N zov kat.Łzemia "
MENU to menufrkuxxx
if lastkey()!=27
* K˘d obce
if menufrkuxxx=1
set order to 1
pomcisob=space(6)
okno(11,22,15,56,fh)
@12,24 say "¬ˇslo obce:"
@14,24 get pomcisob
read
if lastkey()!=27
pomcisob=pomcisob
locate for k_obec=pomcisob
if k_obec=pomcisob
nasiel()
elseif k_obec!=pomcisob
nenasiel()
go top
endif
endif
* N zov obce
elseif menufrkuxxx=2
set order to 1
pomnazob=space(20)
okno(11,22,15,56,fh)
@12,24 say "N zov obce:"
@14,24 get pomnazob
read
if lastkey()!=27
pomnazob=pomnazob
locate for n_obec=pomnazob
if n_obec=pomnazob
nasiel()
elseif n_obec!=pomnazob
nenasiel()
go top
endif
endif
* ¬ˇslo kat.uzemia
elseif menufrkuxxx=3
if indexkey(1)="K_KATUZ"
set order to 1
pomcisku=space(6)
okno(11,22,15,56,fh)
@12,24 say "K˘d kat.Łzemia:"
@14,24 get pomcisku
read
if lastkey()!=27
pomcisku=pomcisku
SEEK pomcisku
if found()=.T.
nasiel()
elseif found()=.F.
nenasiel()
go top
endif
endif
endif
* Nazov kat.uzemia
elseif menufrkuxxx=4
if indexkey(2)="CS2(N_KATUZ)"
set order to 2
pomnazov=space(20)
okno(11,22,15,56,fh)
@12,24 say "N zov kat.Łzemia:"
@14,24 get pomnazov
read
if lastkey()!=27
pomnazov=pomnazov
SEEK rtrim(cs2(pomnazov))
if found()=.T.
nasiel()
elseif found()=.F.
nenasiel()
go top
endif
endif
endif
*chyba indexovy subor
*elseif cdxok!=1
* set color to &fh
* okno(11,22,15,56,fh)
* oznam=padc(rku+".CDX",20)
* @12,28 say " Nemo§no h–adaś "
* @13,28 say "Chěba indexově sŁbor"
* @14,28 say oznam
* tone(500,1)
* inkey(0)
* set color to &ft
* return(2)
endif
endif
set color to &ft
return(2)
*else
*set color to &fh
*okno(11,22,15,56,fh)
*@12,28 say " Nemo§no h–adaś "
*@13,28 say "Chěba indexově sŁbor"
*@14,28 say " LVxxxxxx.CDX "
*tone(500,1)
*inkey(0)
*set color to &ft
*return(2)
*endif
* esc
* elseif (lastkey())=27 && ESC
* elseif stav==0
* return(0)
endif
* ak stlacenie kurzorovych klaves-posun
*elseif stav=0
* @2,2 say padl(alltrim(str(recno())),8," ")+" "
* return(1)
*endif
return(1)
***************************
* FUNCTION REP001 * - pomocna funkcia pre vratenie povodnych hodnot poli - typ1
***************************
FUNCTION REP001
replace;
por with porm,k_kraj with k_krajm,n_kraj with n_krajm,k_okres with k_okresm,;
n_okres with n_okresm,k_obec with k_obecm,n_obec with n_obecm,;
k_katuz with k_katuzm,n_katuz with n_katuzm,;
v_obec with v_obecm,v_katuz with v_katuzm
return(0)
*qqq
*****************
* FUNCTION ECIS * && Editacia číselníkov - universal
*****************
FUNCTION ecis
PARAMETERS n,csel && n-savescreen,csel-cislo selectu
*LOCAL oldcol
* last modify 27.06.2000
* deklaracia poli a hlaviciek pre ciselnik kat.uzemi
PUBLIC pcis[2],hcis[2]
*DECLARE pcis[2],hcis[2]
if csel="10"
********************
nazovdbf10="REG_DRP"
********************
pcis[1]="DRP"
pcis[2]="POPIS"
hcis[1]="K˘d druhu pozemku"
hcis[2]="Popis druhu pozemku"
elseif csel="11"
********************
nazovdbf11="REG_DNP"
********************
pcis[1]="DNP"
pcis[2]="POPIS"
hcis[1]="K˘d druhu nebyt.priestoru"
hcis[2]="Popis druhu nebyt.priestoru"
elseif csel="12"
********************
nazovdbf12="REG_DON"
********************
pcis[1]="DON"
pcis[2]="POPIS"
hcis[1]="K˘d druhu chr nenej nehnute–nosti"
hcis[2]="Popis druhu chr nenej nehnute–nosti"
elseif csel="13"
********************
nazovdbf13="REG_DRS"
********************
pcis[1]="DRS"
pcis[2]="POPIS"
hcis[1]="K˘d druhu stavby"
hcis[2]="Popis druhu stavby"
elseif csel="14"
********************
nazovdbf14="REG_DRV"
********************
pcis[1]="DRV"
pcis[2]="POPIS"
hcis[1]="K˘d druhu vlastnˇctva"
hcis[2]="Popis druhu vlastnˇctva"
elseif csel="15"
********************
nazovdbf15="REG_SEK"
********************
pcis[1]="SEK"
pcis[2]="POPIS"
hcis[1]="K˘d sektora n jomcu"
hcis[2]="Popis sektora n jomcu"
endif
oldcol=setcolor() && zistenie povodneho nastavenia farieb
PUBLIC nf && n-savescreen pre volanie funkcie frkuxxx
nf=n+1 && uprava parametra pre dalej volanu funkciu z dbeditu
* zakladne okno prehliadacky, vytvorenie
okno(0,0,24,79,fm)
okno(2,0,21,79,fm)
set color to &fr
if csel="10"
@1,6 say " < ¬ÖSELNÖK DRUHOV POZEMKU > - [ "+nazovdbf10+".DBF ]"
elseif csel="11"
@1,6 say " < ¬ÖSELNÖK DRUHOV NEBYTOVíCH PRIESTOROV > - [ "+nazovdbf11+".DBF ]"
elseif csel="12"
@1,6 say " < ¬ÖSELNÖK DRUHOV CHRµNENEJ NEHNUTE‘NOSTI > - [ "+nazovdbf12+".DBF ]"
elseif csel="13"
@1,6 say " < ¬ÖSELNÖK DRUHOV STAVIEB > - [ "+nazovdbf13+".DBF ]"
elseif csel="14"
@1,6 say " < ¬ÖSELNÖK DRUHOV VLASTNÖCTVA > - [ "+nazovdbf14+".DBF ]"
elseif csel="15"
@1,6 say " < ¬ÖSELNÖK SEKTOROV NµJOMCOV > - [ "+nazovdbf15+".DBF ]"
endif
set color to &ft
@22,0 say space(80)
@23,0 say " Enter - Pozri, Ins - Pridaj, Ctrl+Enter - Oprava, Del - Zmaz, Esc - N vrat "
*vypis dolneho menu
set color to &fdmc
@24,0 say "F1"
@24,8 say "F2"
@24,16 say "F3"
@24,24say "F4"
@24,32 say "F5"
@24,40 say "F6"
@24,48 say "F7"
@24,56 say "F8"
@24,64 say "F9"
@24,72 say "F10"
set color to &fdmt
@24,2 say "Pomoc"
@24,10 say " "
@24,18 say " "
@24,26 say " "
@24,34 say " "
@24,42 say " "
@24,50 say "H–ad."
@24,58 say " "
@24,66 say " "
@24,75 say " "
set color to &ft
if csel="10"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf10+".DBF"
suborcdx=cestaciselnik+nazovdbf10+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 10
use &cestaciselnik.&nazovdbf10. index &cestaciselnik.&nazovdbf10.
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
elseif csel="11"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf11+".DBF"
suborcdx=cestaciselnik+nazovdbf11+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 11
use &cestaciselnik.&nazovdbf11 index &cestaciselnik.&nazovdbf11
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
elseif csel="12"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf12+".DBF"
suborcdx=cestaciselnik+nazovdbf12+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 12
use &cestaciselnik.&nazovdbf12 index &cestaciselnik.&nazovdbf12
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
elseif csel="13"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf13+".DBF"
suborcdx=cestaciselnik+nazovdbf13+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 13
use &cestaciselnik.&nazovdbf13 index &cestaciselnik.&nazovdbf13
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
elseif csel="14"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf14+".DBF"
suborcdx=cestaciselnik+nazovdbf14+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 14
use &cestaciselnik.&nazovdbf14 index &cestaciselnik.&nazovdbf14
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
elseif csel="15"
* otvorenie ciselnika
subor=cestaciselnik+nazovdbf15+".DBF"
suborcdx=cestaciselnik+nazovdbf15+".CDX"
if konfex(subor)=.T. .and. konfex(suborcdx)=.T.
SELECT 15
use &cestaciselnik.&nazovdbf15 index &cestaciselnik.&nazovdbf15
dbedit(3,1,20,78,pcis,"fcis",,hcis) && volanie dbeditu
else
set color to &ft
close all
setcolor(oldcol)
return(0)
endif
endif
close all
*setcolor(oldcol)
return(0)
*****************
* FUNCTION FCIS *
*****************
FUNCTION fcis
PARAMETERS stav,index
* nahratie obsahu zaznamu do pamatovych premennych
if csel="10"
drpm=drp
elseif csel="11"
dnpm=dnp
elseif csel="12"
donm=don
elseif csel="13"
drsm=drs
elseif csel="14"
drvm=drv
elseif csel="15"
sekm=sek
endif
popism=popis
* ak stlacenie klavesy
if stav=4
*qqq
* pozri
if (lastkey())=13 && ENTER
okno(2,0,22,79,fo)
@23,0 say " Enter - Pozri, Ins - Pridaj, Ctrl+Enter - Oprava, Del - Zmaz, Esc - N vrat "
set color to &fo
*
do while lastkey()!=27
@ 3, 1 clear to 21,78
@ 3, 2 say 'Zaznam '+alltrim(str(recno()))+"/"
@ 3, 34 say 'Ostatna aktualizacia: '+lupdatex()
@ 4, 1 to 4,78
@ 5, 2 say hcis[1]+' : '
if csel="10"
@ 5, 36 say DRP
elseif csel="11"
@ 5, 36 say DNP
elseif csel="12"
@ 5, 36 say DON
elseif csel="13"
@ 5, 36 say DRS
elseif csel="14"
@ 5, 36 say DRV
elseif csel="15"
@ 5, 36 say SEK
endif
@ 6, 1 to 6,78
@ 7, 2 say hcis[2]+' : '
@ 8, 2 say POPIS
@ 9,1 to 9,78
@ 18,1 to 18,78
inkey(0)
rec=recno()
* posun o 1 zaznam hore
if lastkey()==5 && UP
skip -1
if bof()=.T.
go rec
endif
* pozun o 1 zaznam dolu
elseif lastkey()==24 && DOWN
skip
if eof()=.T.
go rec
endif
endif
enddo
set color to &ft
return(2)
* oprava zaznamu
elseif lastkey()==10 && CTRL+ENTER
okno(2,0,22,79,ft)
@23,0 say " Enter - Pozri, Ins - Pridaj, Ctrl+Enter - Oprava, Del - Zmaz, Esc - N vrat "
set color to &fo
if reclock() && osetrenie na sietovu prevadzku
@ 3, 1 clear to 21,78
@ 3, 2 say 'Zaznam '+alltrim(str(recno()))+"/"
@ 3, 34 say 'Ostatna aktualizacia: '+lupdatex()
@ 4, 1 to 4,78
@ 5, 2 say hcis[1]+' : '
if csel="10"
@ 5, 36 get DRP
elseif csel="11"
@ 5, 36 get DNP
elseif csel="12"
@ 5, 36 get DON
elseif csel="13"
@ 5, 36 get DRS
elseif csel="14"
@ 5, 36 get DRV
elseif csel="15"
@ 5, 36 get SEK
endif
@ 6, 1 to 6,78
@ 7, 2 say hcis[2]+' : '
@ 8, 2 get POPIS
@ 9,1 to 9,78
@ 18,1 to 18,78
read
if (lastkey())=27
rep002(csel)
unlock
commit
set color to &ft
return(2)
endif
unlock
commit
else
rpozor()
endif
set color to &ft
return(2)
* pridanie zaznamu
elseif lastkey()==22 && INSERT
okno(2,0,22,79,ft)
@23,0 say " Enter - Pozri, Ins - Pridaj, Ctrl+Enter - Oprava, Del - Zmaz, Esc - N vrat "
set color to &fo
append blank
@ 3, 1 clear to 21,78
@ 3, 2 say 'Zaznam '+alltrim(str(recno()))+"/"
@ 3, 34 say 'Ostatna aktualizacia: '+lupdatex()
@ 4, 1 to 4,78
@ 5, 2 say hcis[1]+' : '
if csel="10"
@ 5, 36 get DRP
elseif csel="11"
@ 5, 36 get DNP
elseif csel="12"
@ 5, 36 get DON
elseif csel="13"
@ 5, 36 get DRS
elseif csel="14"
@ 5, 36 get DRV
elseif csel="15"
@ 5, 36 get SEK
endif
@ 6, 1 to 6,78
@ 7, 2 say hcis[2]+' : '
@ 8, 2 get POPIS
@ 9,1 to 9,78
@ 18,1 to 18,78
read
if (lastkey())=27
dbzmaz()
commit
set color to &ft
return(2)
endif
unlock
commit
set color to &ft
return(2)
* zmazanie z znamu
elseif lastkey()==7 && DEL
if reclock()
* zobrazenie upozornenia, ci naozaj zmazat
set color to &fc
okno(11,26,15,46,fc)
level3=2
@12,28 SAY " Naozaj zmazat ?"
@14,32 PROMPT "Ano"
@14,37 PROMPT "Nie"
MENU TO level3
if (level3=1)
dbzmaz()
commit
set color to &ft
return(2)
elseif (level3=2)
set color to &ft
return(2)
endif
set color to &ft
return(2)
else
rpozor()
endif
* H E L P
elseif (lastkey())=28 && F1
return(2)
* Najdi && F7
elseif lastkey()=-6
* kontrola na existenciu indexoveho suboru
*if cdxok=1
set color to &fh
okno(9,21,18,56,fh)
* vyber sposobu hladania a triedenia
menufdnp=1
@10,23 say "H–adaj a zotrieÔ podla : "
@11,23 say "-------------------------"
@12,23 prompt "K˘d druhu priestoru "
@13,23 prompt "Popis druhu priestoru "
MENU to menufdnp
if lastkey()!=27
* K˘d druhu prieotoru
if menufdnp=1
set order to 1
pomdnp=space(2)
okno(11,22,15,56,fh)
@12,24 say "K˘d druhu priestor:"
@14,24 get pomdnp
read
if lastkey()!=27
pomdrp=val(pomdrp)
seek pomdrp
if found()
nasiel()
else
nenasiel()
go top
endif
endif
* Popis druhu pozemku
elseif menufdrp=2
set order to 1
pompopis=space(30)
okno(11,22,15,56,fh)
@12,24 say "Popis druhu pozemku:"
@14,24 get pompopis
read
if lastkey()!=27
pompopis=alltrim(pompopis)
lenpopis=len(pompopis)
locate for substr(popis,1,lenpopis)=pompopis
if popis=pompopis
nasiel()
elseif popis!=pompopis
nenasiel()
go top
endif
endif
*chyba indexovy subor
*elseif cdxok!=1
* set color to &fh
* okno(11,22,15,56,fh)
* oznam=padc(nazovdbf10+".CDX",20)
* @12,28 say " Nemo§no h–adaś "
* @13,28 say "Chěba indexově sŁbor"
* @14,28 say oznam
* tone(500,1)
* inkey(0)
* set color to &ft
* return(2)
endif
endif
set color to &ft
return(2)
*else
*set color to &fh
*okno(11,22,15,56,fh)
*@12,28 say " Nemo§no h–adaś "
*@13,28 say "Chěba indexově sŁbor"
*@14,28 say " LVxxxxxx.CDX "
*tone(500,1)
*inkey(0)
*set color to &ft
*return(2)
*endif
* esc
elseif (lastkey())=27 && ESC
return(0)
endif
* ak stlacenie kurzorovych klaves-posun
elseif stav=0
@2,2 say padl(alltrim(str(recno())),8," ")+" "
return(1)
endif
return(1)
*******************
* FUNCTION REP002 * - pomocna funkcia pre vratenie povodnych hodnot poli - typ2
*******************
FUNCTION REP002
PARAMETERS csel
if csel="10"
replace drp with drpm,popis with popism
elseif csel="11"
replace dnp with dnpm,popis with popism
elseif csel="12"
replace don with donm,popis with popism
elseif csel="13"
replace drs with drsm,popis with popism
elseif csel="14"
replace drv with drvm,popis with popism
elseif csel="15"
replace sek with sekm,popis with popism
endif
return(0)