|
21.08.2012., 20:42 | #31 |
Registered User
Datum registracije: Apr 2012
Lokacija: Petrinja
Postovi: 2
|
Ja to radim ovako: #include "FiveWin.ch" #include "ord.ch" static oDlg, oLbx, oDel, oRed, oIndex, oKljuc, oButSee static cSearch, cAlias STATIC cPartner, cNazPar, cNaziv STATIC oNazPar, oPartner, oNaziv MEMVAR cKljuc, cIndex ******************************************************************************** function FunBan() local oButExi, oButNew, oButEdi, oButDel, oButRep, oButRac, oButTec, oButInd,; oSearch LOCAL cRed, cSearch LOCAL lDel local n, nKey, nFlags local hBorland := LoadLibrary("Dll\BWCC32.dll") private cIndex, cKljuc BWCCRegister(GetResources()) UlaUApl() DbfOpe('PoslPart') DbfOpe('Banke') SELECT banke SET ORDER TO 1 Relacija() cAlias := 'Banke' cIndex := '' cSearch := Space(4) PrvInfRec(@cIndex,@cKljuc, @cRed, cAlias, @lDel) SET 3DLOOK ON DEFINE DIALOG oDlg RESOURCE "#1001" TITLE 'Banke' REDEFINE LISTBOX oLbx; FIELDS; Banke->Sifra,; Banke->Partner,; Banke->naziv,; Banke->OsnRac,; Banke->ForIzv,; Banke->AdrTec,; dtoc(Banke->DatPro),; Banke->VriPro,; Banke->KorPro; HEADERS; 'ŠI',; 'Part',; 'Naziv',; 'Osn. rač',; 'I',; 'Adresa tečaja',; 'Dat. prom.',; 'Vr. prom.',; 'ŠK'; FIELDSIZES 24, 40, 260, 88, 12, 300, 84, 68, 32; ON CHANGE RecInf(cAlias, oDel, oRed); ID 110 OF oDlg REDEFINE GET oSearch var cSearch ID 111 OF oDlg ON CHANGE (::Assign(),; TraDat(HrvUpp(Trim(cSearch)), oLbx, {||RecInf(cAlias, oDel, oRed)})); COLOR 'W+/G+' oSearch:bLostFocus := {||cSearch := Space(4), oSearch:refresh()} oSearch:cToolTip :=; 'Pretraživanje - unesite šifru s vodećim nulama ili početna slova naziva' REDEFINE say oRed var cRed ID 101 OF oDlg REDEFINE CHECKBOX oDel var lDel ID 102 OF oDlg REDEFINE SAY oIndex var cIndex ID 103 OF oDlg REDEFINE SAY oKljuc var cKljuc ID 104 OF oDlg REDEFINE BUTTON oButExi ID 551 OF oDlg ACTION oDlg:End() REDEFINE BUTTON oButNew ID 553 OF oDlg ACTION EdiRec(.t.) REDEFINE BUTTON oButEdi ID 554 OF oDlg ACTION EdiRec(.f.) REDEFINE BUTTON oButDel ID 555 OF oDlg ACTION RecDel(cAlias, oDel, oLbx) REDEFINE BUTTON oButRep ID 560 OF oDlg ACTION Report() REDEFINE BUTTON oButRac ID 561 OF oDlg ACTION WinExec('Calc') REDEFINE BUTTON oButInd ID 562 OF oDlg; ACTION NewInd(cAlias, oLbx, oKljuc, oIndex, oDel, oRed) REDEFINE BUTTON oButTec ID 582 OF oDlg; ACTION FunTec(Banke->Sifra, Banke->Sifra + DToS(Date())) TooTip(oButExi,, oButNew, oButEdi, oButDel,,,,, oButRep, oButRac, oButInd) oButTec:cToolTip := 'Tečajna lista - Alt T' oLbx:bRClicked = {|nRow, nCol, nFlags|PopMen(oDlg, oLbx, nRow, nCol,,; {||EdiRec(.t.)}, {||EdiRec(.f.)}, cAlias, oDel, oRed,,, oKljuc, oIndex)} oLbx:bLDblClick := {||EdiRec(.f.)} oLbx:bKeyDown := {|nKey, nFlags|Tipka(nKey, nFlags, cAlias, oDel, oLbx,, oDlg,,; {||EdiRec(.t.)}, {||EdiRec(.f.)},,, oRed, oKljuc, oIndex)} ACTIVATE DIALOG oDlg CENTERED VALID (oDlg := nil, .t. ) DbCloseAll() set resources to Freelibrary(hBorland) return nil ******************************************************************************** static function EdiRec(lNew) local oDlg local nRed local lUpis LOCAL cTitle, cSifra, cOsnRac, cAdrTec LOCAL nForIzv LOCAL oSifra, oForIzv nred := recno() lUpis := .f. If lNew cTitle := 'Banke - novi red' cPartner := ' ' nForIzv := 1 cNazPar := space(35) cOsnRac := space(7) cNaziv := space(35) cAdrTec := Space(100) else cTitle := 'Banke - ' + Banke->Sifra + ' ' + Trim(Banke->Naziv) cSifra := Banke->Sifra cPartner := Banke->Partner cNazPar := PoslPart->Naziv cNaziv := Banke->Naziv cOsnRac := Banke->OsnRac cAdrTec := Banke->AdrTec nForIzv := iif(Banke->ForIzv = 'B', 1, 2) endif DEFINE DIALOG oDlg RESOURCE "#1002" TITLE cTitle REDEFINE get oPartner var cPartner ID 101 OF oDlg valid TraPar() REDEFINE say oNazPar VAR cNazPar ID 102 OF oDlg REDEFINE get oNaziv var cNaziv ID 103 OF oDlg REDEFINE get cOsnRac ID 104 OF oDlg REDEFINE RADIO oForIzv VAR nForIzv ID 105, 106 OF oDlg REDEFINE get cAdrTec ID 107 OF oDlg REDEFINE BUTTON ID 109 OF oDlg ACTION (lUpis := .t., oDlg:End()) REDEFINE BUTTON ID IDCANCEL OF oDlg ACTION oDlg:End() REDEFINE BUTTON ID 108 OF oDlg ACTION WinExec('PoslPart') ACTIVATE DIALOG oDlg CENTERED select Banke if lUpis If lNew GO BOTT cSifra := StrZero(val(Banke->Sifra) + 1, 2) addrec() Banke->Sifra := cSifra else recloc() EndIF Banke->Partner := cPartner Banke->Naziv := cNaziv Banke->OsnRac := cOsnRac Banke->ForIzv := iif(nForIzv = 1, 'B', 'F') Banke->AdrTec := cAdrTec ProPod('Banke') recunloc() IF ! lNew ProPodTa('Banke', Banke->Sifra, 'I') ENDIF endif Relacija() RecInf(cAlias, oDel, oRed) IF lNew oLbx:GoBottom() ENDIF oLbx:Refresh() oLbx:SetFocus() return nil ******************************************************************************** STATIC FUNCTION TraPar() LOCAL lRet := TraPosPar(, oPartner, @cPartner, oNazPar, @cNazPar) IF lRet .AND. cNazPar # ' ' cNaziv := cNazPar oNaziv:Refresh() ENDIF RETURN lRet ******************************************************************************** STATIC FUNCTION Relacija() SELECT Banke Set Relation To Banke->partner into PoslPart RETURN NIL ******************************************************************************** STATIC FUNCTION Internet() LOCAL cAdresa cAdresa := Trim(Banke->AdrTec) Shellexecute(,"open",cAdresa) RETURN NIL ******************************************************************************** STATIC FUNCTION Trazi(cTrazi) LOCAL nOrd := Ordnumber() IF nOrd == 0 MsgInfo('Za pretraživanje mora biti aktivan indeks', 'Pažnja') RETURN NIL ELSeIF nOrd >= 1 .and. nOrd <= 2 DbSeek(cTrazi, .t.) ELSE DbSeek(HrvUpp(cTrazi), .t.) ENDIF oLbx:Refresh() RETURN NIL DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL" Napomene: Sučelje rješavam u Peles-u. Svakom get polju moraš dati ime objekta, a onda u svojoj funkciji Upis(): cWin := space(12) oWin:Rerfresh() oWin:SetFocus() dobiti ćeš prazno prvo get polje i fokus na njemu. Naravno da varijable cWin i oWin moraju biti definirane kao static. Nadam se da sam ti pomogao. Pozdrav |
03.03.2015., 15:08 | #32 |
Registered User
Datum registracije: Mar 2015
Lokacija: Zagreb
Postovi: 1
|
Ako neko može da mi pomogne da rješim problem oko unosa u polja i kontrole prozora. Radi se o xbase++ npr... p1 char 20 p2 num 10.2 (maska za unos numeričkog polja "99,999.99" p3 datum (maska za unos datumskog polja "99.999.9999" poslije unosa u ova tri polja napravit kontrolu unosa klikom miša i dat neku poruku Ja sam inače radio to u Clipper-u a sad pokušavam u xbase++ pa nikako na zelenu granu. ha ha |
|
|
Oglas
|
|
|
|