Página 1 de 1

DbfBrowser event order

Publicado: Mar May 15, 2007 4:13 pm
por Gejza Horvath
Hi,
which events and in which order are triggered in DbfBrowser, when I want to reach the last
visible record and press Ctrl-PgDn? In the debugger I see the next story:
First the OnGoBottom event is triggered, this function sets the correct record position.
When the DbfBrowse1GoBottom() method is finished, immediatly follows the DbfBrowse1Skip()
method, where the record pointer is on the last logical record in the file and not there,
where it was in the previous method. What happens between OnGoBottom and OnSkip events?
Skipping thrue the visible records works fine, the browser always stops on the last
visible record.
The OnSkip and OnGoBottom events are defined:
********************************************
METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
LOCAL nRecno
Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
// the Fakvydr->(Recno()) is here 1520, which is the desired last visible record :-)
RETURN Nil
*****************************************
METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
LOCAL nRealSkip
// Here is the Fakvydr->(Recno()) is 680, which contains the last logical record in the
index order :-(,
nRealSkip := Fakvydr->(Pozicia(nSkip))
RETURN nRealSkip
*****************************************
FUNCTION BlockBottom(xPar)
// this function sends the record pointer beyond the last visible record generating the
// next index key, and skips 1 record back to display the last desired record
LOCAL xUtolso
IF VALTYPE(xPar) == 'C'
xPar := ALLTRIM(xPar)
xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
ELSE
xUtolso := xPar + 1
ENDIF
DBSEEK(xUtolso,.T.)
IIF(!Eof(),DbSkip(-1),Nil)
RETURN NIL
*****************************************
Gejza Horvath

DbfBrowser event order

Publicado: Mar May 15, 2007 5:19 pm
por ignacio
Gezja,
TBrowse:OnGoBottom()
TBrowse:Skip(-1) (nLines times)
TBrowse:OnBookMark()
TBrowse:OnChange()
The method TBrowse:Skip(-1) is evaluated to show as may records as possible
on the browse.
>>What happens between OnGoBottom and OnSkip events?
Nothing
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
> Hi,
> which events and in which order are triggered in DbfBrowser, when I want
> to reach the last visible record and press Ctrl-PgDn? In the debugger I
> see the next story:
>
> First the OnGoBottom event is triggered, this function sets the correct
> record position. When the DbfBrowse1GoBottom() method is finished,
> immediatly follows the DbfBrowse1Skip() method, where the record pointer
> is on the last logical record in the file and not there, where it was in
> the previous method. What happens between OnGoBottom and OnSkip events?
>
> Skipping thrue the visible records works fine, the browser always stops on
> the last visible record.
>
> The OnSkip and OnGoBottom events are defined:
>
> ********************************************
> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
> LOCAL nRecno
> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
> // the Fakvydr->(Recno()) is here 1520, which is the desired last visible
> record :-)
> RETURN Nil
> *****************************************
> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
> LOCAL nRealSkip
> // Here is the Fakvydr->(Recno()) is 680, which contains the last logical
> record in the index order :-(,
> nRealSkip := Fakvydr->(Pozicia(nSkip))
>
> RETURN nRealSkip
> *****************************************
>
> FUNCTION BlockBottom(xPar)
>
> // this function sends the record pointer beyond the last visible record
> generating the
> // next index key, and skips 1 record back to display the last desired
> record
>
> LOCAL xUtolso
>
> IF VALTYPE(xPar) == 'C'
> xPar := ALLTRIM(xPar)
> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>
> ELSE
> xUtolso := xPar + 1
> ENDIF
>
> DBSEEK(xUtolso,.T.)
> IIF(!Eof(),DbSkip(-1),Nil)
>
> RETURN NIL
> *****************************************
>
> Gejza Horvath
>

DbfBrowser event order

Publicado: Mar May 15, 2007 6:35 pm
por Gejza Horvath
Ignazio,
what can I do in this case? It seems, the line
> TBrowse:Skip(-1) (nLines times)
is out of my control. I set the record, which may be the last in browser, but the browser
moves the record pointer.
How to change the BlockBottom() function or the DbfBrowse1GoBottom() method?
Please advise.
Gejza
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
news:4649cf7a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Gezja,
>
> TBrowse:OnGoBottom()
> TBrowse:Skip(-1) (nLines times)
> TBrowse:OnBookMark()
> TBrowse:OnChange()
>
> The method TBrowse:Skip(-1) is evaluated to show as may records as possible on the
> browse.
>
>>>What happens between OnGoBottom and OnSkip events?
>
> Nothing
>
> Regards,
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
> news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
>> Hi,
>> which events and in which order are triggered in DbfBrowser, when I want to reach the
>> last visible record and press Ctrl-PgDn? In the debugger I see the next story:
>>
>> First the OnGoBottom event is triggered, this function sets the correct record
>> position. When the DbfBrowse1GoBottom() method is finished, immediatly follows the
>> DbfBrowse1Skip() method, where the record pointer is on the last logical record in the
>> file and not there, where it was in the previous method. What happens between
>> OnGoBottom and OnSkip events?
>>
>> Skipping thrue the visible records works fine, the browser always stops on the last
>> visible record.
>>
>> The OnSkip and OnGoBottom events are defined:
>>
>> ********************************************
>> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
>> LOCAL nRecno
>> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
>> // the Fakvydr->(Recno()) is here 1520, which is the desired last visible record :-)
>> RETURN Nil
>> *****************************************
>> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
>> LOCAL nRealSkip
>> // Here is the Fakvydr->(Recno()) is 680, which contains the last logical record in the
>> index order :-(,
>> nRealSkip := Fakvydr->(Pozicia(nSkip))
>>
>> RETURN nRealSkip
>> *****************************************
>>
>> FUNCTION BlockBottom(xPar)
>>
>> // this function sends the record pointer beyond the last visible record generating the
>> // next index key, and skips 1 record back to display the last desired record
>>
>> LOCAL xUtolso
>>
>> IF VALTYPE(xPar) == 'C'
>> xPar := ALLTRIM(xPar)
>> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>>
>> ELSE
>> xUtolso := xPar + 1
>> ENDIF
>>
>> DBSEEK(xUtolso,.T.)
>> IIF(!Eof(),DbSkip(-1),Nil)
>>
>> RETURN NIL
>> *****************************************
>>
>> Gejza Horvath
>>
>
>
>

DbfBrowser event order

Publicado: Mar May 15, 2007 6:45 pm
por ignacio
Gezja,
Maybe if you tell me what exactly you are trying to do it will be easier.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
news:4649e1a8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Ignazio,
>
> what can I do in this case? It seems, the line
>
>> TBrowse:Skip(-1) (nLines times)
>
> is out of my control. I set the record, which may be the last in browser,
> but the browser moves the record pointer.
> How to change the BlockBottom() function or the DbfBrowse1GoBottom()
> method?
>
> Please advise.
>
> Gejza
>
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
> news:4649cf7a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Gezja,
>>
>> TBrowse:OnGoBottom()
>> TBrowse:Skip(-1) (nLines times)
>> TBrowse:OnBookMark()
>> TBrowse:OnChange()
>>
>> The method TBrowse:Skip(-1) is evaluated to show as may records as
>> possible on the browse.
>>
>>>>What happens between OnGoBottom and OnSkip events?
>>
>> Nothing
>>
>> Regards,
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>>
>>
>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>> news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
>>> Hi,
>>> which events and in which order are triggered in DbfBrowser, when I want
>>> to reach the last visible record and press Ctrl-PgDn? In the debugger I
>>> see the next story:
>>>
>>> First the OnGoBottom event is triggered, this function sets the correct
>>> record position. When the DbfBrowse1GoBottom() method is finished,
>>> immediatly follows the DbfBrowse1Skip() method, where the record pointer
>>> is on the last logical record in the file and not there, where it was in
>>> the previous method. What happens between OnGoBottom and OnSkip events?
>>>
>>> Skipping thrue the visible records works fine, the browser always stops
>>> on the last visible record.
>>>
>>> The OnSkip and OnGoBottom events are defined:
>>>
>>> ********************************************
>>> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
>>> LOCAL nRecno
>>> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
>>> // the Fakvydr->(Recno()) is here 1520, which is the desired last
>>> visible record :-)
>>> RETURN Nil
>>> *****************************************
>>> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
>>> LOCAL nRealSkip
>>> // Here is the Fakvydr->(Recno()) is 680, which contains the last
>>> logical record in the index order :-(,
>>> nRealSkip := Fakvydr->(Pozicia(nSkip))
>>>
>>> RETURN nRealSkip
>>> *****************************************
>>>
>>> FUNCTION BlockBottom(xPar)
>>>
>>> // this function sends the record pointer beyond the last visible record
>>> generating the
>>> // next index key, and skips 1 record back to display the last desired
>>> record
>>>
>>> LOCAL xUtolso
>>>
>>> IF VALTYPE(xPar) == 'C'
>>> xPar := ALLTRIM(xPar)
>>> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>>>
>>> ELSE
>>> xUtolso := xPar + 1
>>> ENDIF
>>>
>>> DBSEEK(xUtolso,.T.)
>>> IIF(!Eof(),DbSkip(-1),Nil)
>>>
>>> RETURN NIL
>>> *****************************************
>>>
>>> Gejza Horvath
>>>
>>
>>
>>
>
>

DbfBrowser event order

Publicado: Mar May 15, 2007 7:35 pm
por Gejza Horvath
Yes,
I have 2 browsers on the form. Browser1 displays the customer invoices, Browser2 shows
items of the selected invoice. All works fine, only the GoTop and GoBottom commands
(Ctrl-PgUp and Ctrl-PgDn) in the Browser2 causes problem. After triggering these events in
browser shows the first or the last record in logical order.
The project and the dbf files are attached. On the Form1 click on the Browsers command in
Optionlist2. In the TForm2:OnInitialize() method please correct the path, where the dbf
files are unzipped. FAKVYD contains the invoices, FAKVYDR the items. I will send you the
dbf files to privat mail, because the server dosn't accept attachments over 51 kB.
Best regards
Gejza
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
news:4649e397$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Gezja,
>
> Maybe if you tell me what exactly you are trying to do it will be easier.
>
> Regards,
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
> news:4649e1a8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Ignazio,
>>
>> what can I do in this case? It seems, the line
>>
>>> TBrowse:Skip(-1) (nLines times)
>>
>> is out of my control. I set the record, which may be the last in browser,
>> but the browser moves the record pointer.
>> How to change the BlockBottom() function or the DbfBrowse1GoBottom()
>> method?
>>
>> Please advise.
>>
>> Gejza
>>
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
>> news:4649cf7a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>> Gezja,
>>>
>>> TBrowse:OnGoBottom()
>>> TBrowse:Skip(-1) (nLines times)
>>> TBrowse:OnBookMark()
>>> TBrowse:OnChange()
>>>
>>> The method TBrowse:Skip(-1) is evaluated to show as may records as
>>> possible on the browse.
>>>
>>>>>What happens between OnGoBottom and OnSkip events?
>>>
>>> Nothing
>>>
>>> Regards,
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>>
>>>
>>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>>> news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
>>>> Hi,
>>>> which events and in which order are triggered in DbfBrowser, when I want
>>>> to reach the last visible record and press Ctrl-PgDn? In the debugger I
>>>> see the next story:
>>>>
>>>> First the OnGoBottom event is triggered, this function sets the correct
>>>> record position. When the DbfBrowse1GoBottom() method is finished,
>>>> immediatly follows the DbfBrowse1Skip() method, where the record pointer
>>>> is on the last logical record in the file and not there, where it was in
>>>> the previous method. What happens between OnGoBottom and OnSkip events?
>>>>
>>>> Skipping thrue the visible records works fine, the browser always stops
>>>> on the last visible record.
>>>>
>>>> The OnSkip and OnGoBottom events are defined:
>>>>
>>>> ********************************************
>>>> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
>>>> LOCAL nRecno
>>>> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
>>>> // the Fakvydr->(Recno()) is here 1520, which is the desired last
>>>> visible record :-)
>>>> RETURN Nil
>>>> *****************************************
>>>> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
>>>> LOCAL nRealSkip
>>>> // Here is the Fakvydr->(Recno()) is 680, which contains the last
>>>> logical record in the index order :-(,
>>>> nRealSkip := Fakvydr->(Pozicia(nSkip))
>>>>
>>>> RETURN nRealSkip
>>>> *****************************************
>>>>
>>>> FUNCTION BlockBottom(xPar)
>>>>
>>>> // this function sends the record pointer beyond the last visible record
>>>> generating the
>>>> // next index key, and skips 1 record back to display the last desired
>>>> record
>>>>
>>>> LOCAL xUtolso
>>>>
>>>> IF VALTYPE(xPar) == 'C'
>>>> xPar := ALLTRIM(xPar)
>>>> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>>>>
>>>> ELSE
>>>> xUtolso := xPar + 1
>>>> ENDIF
>>>>
>>>> DBSEEK(xUtolso,.T.)
>>>> IIF(!Eof(),DbSkip(-1),Nil)
>>>>
>>>> RETURN NIL
>>>> *****************************************
>>>>
>>>> Gejza Horvath
>>>>
>>>
>>>
>>>
>>
>>
>
>
>


Attached files pokus.zip (4.9 KB)Â

DbfBrowser event order

Publicado: Mié May 16, 2007 9:47 am
por ignacio
Gezja,
I could not run your program, but with this Email you will find a sample of
what you need with your own DBF files.
Regards,
--
Ignacio Ortiz de Zúñiga
http://www.xailer.com
"Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
news:[email=4649eff1@ozsrv2.ozlan.local...]4649eff1@ozsrv2.ozlan.local...[/email]
> Yes,
>
> I have 2 browsers on the form. Browser1 displays the customer invoices,
> Browser2 shows
> items of the selected invoice. All works fine, only the GoTop and GoBottom
> commands
> (Ctrl-PgUp and Ctrl-PgDn) in the Browser2 causes problem. After triggering
> these events in
> browser shows the first or the last record in logical order.
>
> The project and the dbf files are attached. On the Form1 click on the
> Browsers command in
> Optionlist2. In the TForm2:OnInitialize() method please correct the path,
> where the dbf
> files are unzipped. FAKVYD contains the invoices, FAKVYDR the items. I
> will send you the
> dbf files to privat mail, because the server dosn't accept attachments
> over 51 kB.
>
>
>
> Best regards
> Gejza
>
> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
> news:4649e397$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>> Gezja,
>>
>> Maybe if you tell me what exactly you are trying to do it will be easier.
>>
>> Regards,
>>
>> --
>> Ignacio Ortiz de Zúñiga
>> http://www.xailer.com
>>
>>
>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>> news:4649e1a8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>> Ignazio,
>>>
>>> what can I do in this case? It seems, the line
>>>
>>>> TBrowse:Skip(-1) (nLines times)
>>>
>>> is out of my control. I set the record, which may be the last in
>>> browser,
>>> but the browser moves the record pointer.
>>> How to change the BlockBottom() function or the DbfBrowse1GoBottom()
>>> method?
>>>
>>> Please advise.
>>>
>>> Gejza
>>>
>>>
>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
>>> news:4649cf7a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>>> Gezja,
>>>>
>>>> TBrowse:OnGoBottom()
>>>> TBrowse:Skip(-1) (nLines times)
>>>> TBrowse:OnBookMark()
>>>> TBrowse:OnChange()
>>>>
>>>> The method TBrowse:Skip(-1) is evaluated to show as may records as
>>>> possible on the browse.
>>>>
>>>>>>What happens between OnGoBottom and OnSkip events?
>>>>
>>>> Nothing
>>>>
>>>> Regards,
>>>> --
>>>> Ignacio Ortiz de Zúñiga
>>>> http://www.xailer.com
>>>>
>>>>
>>>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>>>> news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
>>>>> Hi,
>>>>> which events and in which order are triggered in DbfBrowser, when I
>>>>> want
>>>>> to reach the last visible record and press Ctrl-PgDn? In the debugger
>>>>> I
>>>>> see the next story:
>>>>>
>>>>> First the OnGoBottom event is triggered, this function sets the
>>>>> correct
>>>>> record position. When the DbfBrowse1GoBottom() method is finished,
>>>>> immediatly follows the DbfBrowse1Skip() method, where the record
>>>>> pointer
>>>>> is on the last logical record in the file and not there, where it was
>>>>> in
>>>>> the previous method. What happens between OnGoBottom and OnSkip
>>>>> events?
>>>>>
>>>>> Skipping thrue the visible records works fine, the browser always
>>>>> stops
>>>>> on the last visible record.
>>>>>
>>>>> The OnSkip and OnGoBottom events are defined:
>>>>>
>>>>> ********************************************
>>>>> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
>>>>> LOCAL nRecno
>>>>> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
>>>>> // the Fakvydr->(Recno()) is here 1520, which is the desired last
>>>>> visible record :-)
>>>>> RETURN Nil
>>>>> *****************************************
>>>>> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
>>>>> LOCAL nRealSkip
>>>>> // Here is the Fakvydr->(Recno()) is 680, which contains the last
>>>>> logical record in the index order :-(,
>>>>> nRealSkip := Fakvydr->(Pozicia(nSkip))
>>>>>
>>>>> RETURN nRealSkip
>>>>> *****************************************
>>>>>
>>>>> FUNCTION BlockBottom(xPar)
>>>>>
>>>>> // this function sends the record pointer beyond the last visible
>>>>> record
>>>>> generating the
>>>>> // next index key, and skips 1 record back to display the last desired
>>>>> record
>>>>>
>>>>> LOCAL xUtolso
>>>>>
>>>>> IF VALTYPE(xPar) == 'C'
>>>>> xPar := ALLTRIM(xPar)
>>>>> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>>>>>
>>>>> ELSE
>>>>> xUtolso := xPar + 1
>>>>> ENDIF
>>>>>
>>>>> DBSEEK(xUtolso,.T.)
>>>>> IIF(!Eof(),DbSkip(-1),Nil)
>>>>>
>>>>> RETURN NIL
>>>>> *****************************************
>>>>>
>>>>> Gejza Horvath
>>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>>
>
>
>
>


Attached files pokus.zip (2.9 KB)Â

DbfBrowser event order

Publicado: Mié May 16, 2007 12:43 pm
por Gejza Horvath
Thanks Ignacio,
this is what I exactly need :-)
Gejza Horvath
"Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
news:464ab715$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Gezja,
>
> I could not run your program, but with this Email you will find a sample of what you
> need with your own DBF files.
>
> Regards,
>
> --
> Ignacio Ortiz de Zúñiga
> http://www.xailer.com
>
>
> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
> news:[email=4649eff1@ozsrv2.ozlan.local...]4649eff1@ozsrv2.ozlan.local...[/email]
>> Yes,
>>
>> I have 2 browsers on the form. Browser1 displays the customer invoices, Browser2 shows
>> items of the selected invoice. All works fine, only the GoTop and GoBottom commands
>> (Ctrl-PgUp and Ctrl-PgDn) in the Browser2 causes problem. After triggering these events
>> in
>> browser shows the first or the last record in logical order.
>>
>> The project and the dbf files are attached. On the Form1 click on the Browsers command
>> in
>> Optionlist2. In the TForm2:OnInitialize() method please correct the path, where the dbf
>> files are unzipped. FAKVYD contains the invoices, FAKVYDR the items. I will send you
>> the
>> dbf files to privat mail, because the server dosn't accept attachments over 51 kB.
>>
>>
>>
>> Best regards
>> Gejza
>>
>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
>> news:4649e397$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>> Gezja,
>>>
>>> Maybe if you tell me what exactly you are trying to do it will be easier.
>>>
>>> Regards,
>>>
>>> --
>>> Ignacio Ortiz de Zúñiga
>>> http://www.xailer.com
>>>
>>>
>>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>>> news:4649e1a8$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>>> Ignazio,
>>>>
>>>> what can I do in this case? It seems, the line
>>>>
>>>>> TBrowse:Skip(-1) (nLines times)
>>>>
>>>> is out of my control. I set the record, which may be the last in browser,
>>>> but the browser moves the record pointer.
>>>> How to change the BlockBottom() function or the DbfBrowse1GoBottom()
>>>> method?
>>>>
>>>> Please advise.
>>>>
>>>> Gejza
>>>>
>>>>
>>>> "Ignacio Ortiz de Zúñiga" <NoName@xailer.com> pí¹e v diskusním pøíspìvku
>>>> news:4649cf7a$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
>>>>> Gezja,
>>>>>
>>>>> TBrowse:OnGoBottom()
>>>>> TBrowse:Skip(-1) (nLines times)
>>>>> TBrowse:OnBookMark()
>>>>> TBrowse:OnChange()
>>>>>
>>>>> The method TBrowse:Skip(-1) is evaluated to show as may records as
>>>>> possible on the browse.
>>>>>
>>>>>>>What happens between OnGoBottom and OnSkip events?
>>>>>
>>>>> Nothing
>>>>>
>>>>> Regards,
>>>>> --
>>>>> Ignacio Ortiz de Zúñiga
>>>>> http://www.xailer.com
>>>>>
>>>>>
>>>>> "Gejza Horvath" <_hsoftkn@nextra.sk> escribió en el mensaje
>>>>> news:[email=4649c06d@ozsrv2.ozlan.local...]4649c06d@ozsrv2.ozlan.local...[/email]
>>>>>> Hi,
>>>>>> which events and in which order are triggered in DbfBrowser, when I want
>>>>>> to reach the last visible record and press Ctrl-PgDn? In the debugger I
>>>>>> see the next story:
>>>>>>
>>>>>> First the OnGoBottom event is triggered, this function sets the correct
>>>>>> record position. When the DbfBrowse1GoBottom() method is finished,
>>>>>> immediatly follows the DbfBrowse1Skip() method, where the record pointer
>>>>>> is on the last logical record in the file and not there, where it was in
>>>>>> the previous method. What happens between OnGoBottom and OnSkip events?
>>>>>>
>>>>>> Skipping thrue the visible records works fine, the browser always stops
>>>>>> on the last visible record.
>>>>>>
>>>>>> The OnSkip and OnGoBottom events are defined:
>>>>>>
>>>>>> ********************************************
>>>>>> METHOD DbfBrowse1GoBottom( oSender ) CLASS TForm2
>>>>>> LOCAL nRecno
>>>>>> Fakvydr->(BlockBottom(RTRIM(Fakvyd->CisloFakt)))
>>>>>> // the Fakvydr->(Recno()) is here 1520, which is the desired last
>>>>>> visible record :-)
>>>>>> RETURN Nil
>>>>>> *****************************************
>>>>>> METHOD DbfBrowse1Skip( oSender, nSkip ) CLASS TForm2
>>>>>> LOCAL nRealSkip
>>>>>> // Here is the Fakvydr->(Recno()) is 680, which contains the last
>>>>>> logical record in the index order :-(,
>>>>>> nRealSkip := Fakvydr->(Pozicia(nSkip))
>>>>>>
>>>>>> RETURN nRealSkip
>>>>>> *****************************************
>>>>>>
>>>>>> FUNCTION BlockBottom(xPar)
>>>>>>
>>>>>> // this function sends the record pointer beyond the last visible record
>>>>>> generating the
>>>>>> // next index key, and skips 1 record back to display the last desired
>>>>>> record
>>>>>>
>>>>>> LOCAL xUtolso
>>>>>>
>>>>>> IF VALTYPE(xPar) == 'C'
>>>>>> xPar := ALLTRIM(xPar)
>>>>>> xUtolso := LEFT(xPar,LEN(xPar)-1) + Chr(Asc(Right(xPar,1))+1)
>>>>>>
>>>>>> ELSE
>>>>>> xUtolso := xPar + 1
>>>>>> ENDIF
>>>>>>
>>>>>> DBSEEK(xUtolso,.T.)
>>>>>> IIF(!Eof(),DbSkip(-1),Nil)
>>>>>>
>>>>>> RETURN NIL
>>>>>> *****************************************
>>>>>>
>>>>>> Gejza Horvath
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>>
>
>
>