Browse that scrolls sideways...Yay!!!

Bill Akers billa at mgmindustries.com
Wed Mar 9 14:11:18 PST 2005


John Esak wrote:

Top Post for John's convenience.

Better than excellent . I may use the concept soon , since I have been 
considering expanding the search capability of certain archives. Thanks 
for posting  the code.

>filePro Devotees,
>
>Tony Ryder and I were in the FP Room late last night (pretty much as
>always... :-) and having nothing better to do we worked out some nifty code.
>This little snippet will allow you to scroll a browse window through many
>different views. We took the idea of scrolling left or right and implemented
>as if that was what was actually happening... of course, there is no real
>sideways movement, but for all intents and purposes the user won't know
>that. They'll just think they are scrolling through more fields than were
>previously ever available to them.
>
>I've seen some scrolling browses before, but they were pretty intense
>affairs using waitkey and etc., kind of disallowing the use of other @bk
>keys. This, is different, and (God, dare I say it... a little better)
>because it leaves you full flexibility to continue using all of your other
>browse keys. We've selected (L)eft and (R)ight to implement the motion
>through the views. You can use whatever works for you within the framework
>of your already existing keys.
>
>Have fun with this, PLEASE...  It is not put up to offer a code punching bag
>to those of you who can most certainly write it better, more robustly, etc.
>(though we only usually here the claims and never see the actual code...) In
>this case, and perhaps for the future, we can all just accept offerings such
>as this as a "basis" from which to do our own work and enhancements. ... and
>maybe just say Thank You... or offer adjustments, enhancements, opinions in
>a friendly, encouraging, helpful manner instead of what has almost always
>been the case in the past? Maybe?
>
>I, and others, will always try to make these outreaches, but there is going
>to be a time when even the most hearty of us begin to adopt the "Why
>bother..." attitude. This forum is constantly on the brink of being
>value-less to many who read it... for lots of reasons, not just general
>nastiness and flaming... but more because the place gets so Off Topic, and
>almost never focuses on plain old filePro. I mean let me say it directly...
>to ask a question about "Which is the best Linux platform to buy...."
>couched in a "for use with filePro!"  wrapper... well, it's why 95% of the
>filePro developers and users have gone far a field from here. Once in
>awhile, those kinds of topics are helpful and beneficial, but the constant
>diet of such things puts most people off. I'm not saying posting actual
>filePro code is a panacea for the problems that ail this forum, but it would
>certainly go a long way to making things better.
>
>So, because sometimes, it is just easier to see an already developed
>starting point... here is one. The colon-delimited version follows at the
>end for cutting and pasting this code directly into your system. Comments,
>questions, ideas all welcomed...
>
>
>Sideways Scrolling a Browse
>
>The example sits in the INPUT table of a header file called "test". It
>browses into a detail file called "tes_det" via index.A in "test_det". The
>key field between the two files is a 6,.0 field.  You do not need anything
>more than just one record in "test_det" to try the code out and see what it
>does. Just add a record to "test" with a key of "111111" and a record in
>"test_det" that also has a key field of "111111". (index.A of course).  Then
>go into "test" and press the T key for Try. It will be self-explanatory from
>there.  Questions, feel free... either here or jump in the room.
>www.tinyurl.com/yuag7
>
>
>    1  Then: end
>@keyT    If: '@keyT
>    2  Then:
>    3  Then: viewflag="1";  gosub view_1
>    4  Then: gosub prompt
>browse   If:
>    5  Then: lookup det=test_det k=("1") i=A -ng b=(b_cfg & b_hdr & b_data)
>         If: @sk eq "BRKY"
>    6  Then: exit
>         If: @bk eq "X"
>    7  Then: exit
>         If: @bk eq "L" or @bk eq "R"
>    8  Then: gosub bld_brw;  goto browse
>    9  Then: goto browse
>bld_brw  If: 'bld_brw
>   10  Then:
>         If: @bk eq "L"
>   11  Then: viewflag=viewflag - "1"
>         If: @bk eq "L" and viewflag eq "0"
>   12  Then: viewflag="3"
>         If: @bk eq "R"
>   13  Then: viewflag=viewflag + "1"
>         If: @bk eq "R" and viewflag eq "4"
>   14  Then: viewflag="1"
>   15  Then: gosub (viewflag) of view_1, view_2, view_3
>   16  Then: return
>view_1   If: 'view_1
>   17  Then:
>   18  Then: b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)"
>   19  Then: b_hdr="[These are the headings for View-1]"
>   20  Then: b_data="*1   *2  *3"
>   21  Then: return
>view_2   If: 'view_2
>   22  Then:
>   23  Then: b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)"
>   24  Then: b_hdr="[These are the headings for View-2]"
>   25  Then: b_data="*4     *5     *6"
>   26  Then: return
>view_3   If: 'view_3
>   27  Then:
>   28  Then: b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)"
>   29  Then: b_hdr="[These are the headings for View-3]"
>   30  Then: b_data="*7   *8   *9"
>   31  Then: return
>prompt   If: prompt
>   32  Then:
>   33  Then: cls("22")
>   34  Then: showctr("22") "Press \r L \reft or \r R \right to scroll
>             sideways."
>   35  Then: showctr("24") "Press \r X \r to exit."
>   36  Then: return
>declist  If: 'declist
>   37  Then:
>   38  Then: declare viewflag(1,.0)
>   39  Then: declare b_cfg, b_hdr, b_data
>
>::end:
>@keyT:'@keyT::
>::viewflag="1";  gosub view_1:
>::gosub prompt:
>browse::lookup det=test_det k=("1") i=A -ng b=(b_cfg & b_hdr & b_data):
>:@sk eq "BRKY":exit:
>:@bk eq "X":exit:
>:@bk eq "L" or @bk eq "R":gosub bld_brw;  goto browse:
>::goto browse:
>bld_brw:'bld_brw::
>:@bk eq "L":viewflag=viewflag - "1":
>:@bk eq "L" and viewflag eq "0":viewflag="3":
>:@bk eq "R":viewflag=viewflag + "1":
>:@bk eq "R" and viewflag eq "4":viewflag="1":
>::gosub (viewflag) of view_1, view_2, view_3:
>::return:
>view_1:'view_1::
>::b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)":
>::b_hdr="[These are the headings for View-1]":
>::b_data="*1   *2  *3":
>::return:
>view_2:'view_2::
>::b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)":
>::b_hdr="[These are the headings for View-2]":
>::b_data="*4     *5     *6":
>::return:
>view_3:'view_3::
>::b_cfg="(brw=20 xkey=LRX show=pkeep fill=asc,top)":
>::b_hdr="[These are the headings for View-3]":
>::b_data="*7   *8   *9":
>::return:
>prompt:prompt::
>::cls("22"):
>::showctr("22") "Press \r L \reft or \r R \right to scroll sideways.":
>::showctr("24") "Press \r X \r to exit.":
>::return:
>declist:'declist::
>::declare viewflag(1,.0):
>::declare b_cfg, b_hdr, b_data:
>
>_______________________________________________
>Filepro-list mailing list
>Filepro-list at lists.celestial.com
>http://mailman.celestial.com/mailman/listinfo/filepro-list
>
>.
>
>  
>




More information about the Filepro-list mailing list