Forumi


Povratak   PC Ekspert Forum > Računala > Software > Web dizajn, programiranje i ostalo
Ime
Lozinka

Odgovori
 
Uređivanje
Staro 21.08.2012., 20:42   #31
mijol
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
mijol je offline   Reply With Quote
Staro 03.03.2015., 15:08   #32
mladendv
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
mladendv je offline   Reply With Quote
Odgovori



Pravila postanja
Vi ne možete otvarati nove teme
Vi ne možete pisati odgovore
Vi ne možete uploadati priloge
Vi ne možete uređivati svoje poruke

BB code je Uključeno
Smajlići su Uključeno
[IMG] kod je Uključeno
HTML je Isključeno

Idi na