eleven-devinfo Mailing List for Eleven
Status: Pre-Alpha
Brought to you by:
jdmorrison
You can subscribe to this list here.
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
(5) |
Nov
(14) |
Dec
(14) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2005 |
Jan
(17) |
Feb
(2) |
Mar
(56) |
Apr
(62) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: dddddddddd <tyl...@BA...> - 2008-06-11 07:52:20
|
You can see your size increase with your own eyes! http://www.nikclates.com/ |
|
From: Cesare Z. <c.z...@me...> - 2006-10-09 08:37:21
|
Michael Greenberg wrote: > On 10/6/06, Adam J Smith <aj...@co...> wrote: >> >From a practical perspective, what I liked about Eleven was that you could >> write a small amount of code and get a fully functioning Web application >> that could be deployed in several environments. If that is what drew you >> to Eleven, then may I suggest another open source project, Django, with >> similar features, although its approach is different: >> http://www.djangoproject.com/ > > If you preferred the continuation-based approach of Eleven -- that the > back button always worked, etc. -- then I would recommend the PLT > Scheme web server to you, available from <http://www.plt-scheme.org/>. > It's also very quick to deploy (if you know Scheme). If you know Scheme, try siscweb: http://siscweb.sourceforge.net/ it's based upon SISC, a Scheme interpreter for the JVM: http://sisc.sourceforge.net/ Bye |
|
From: Joe K. <kle...@we...> - 2006-10-06 23:12:55
|
On Fri, 2006-10-06 at 16:08 -0400, Michael Greenberg wrote: > If you preferred the continuation-based approach of Eleven -- that the > back button always worked, etc. -- then I would recommend the PLT > Scheme web server to you, available from <http://www.plt-scheme.org/>. > It's also very quick to deploy (if you know Scheme). Heh, and I was just mentioning my difficulties with Python. Scheme (and by familial extension, Lisp) hurt my eyes. It's really a shame that theKompany's Kobol product is in limbo. I've always thought it funny that no one has taken the small step to bring COBOL to the web. I mean, COBOL/CICS apps are exactly what everyone is still trying to do with all this Web 2.0 stuff (and they are still miles away from getting there). -- Boring Home Page - http://www.webtrek.com/joe See my blog, sumo game ranks and other interesting junk |
|
From: Joe K. <kle...@we...> - 2006-10-06 23:08:20
|
On Fri, 2006-10-06 at 16:03 -0400, Adam J Smith wrote: > If that is what drew you to Eleven, then may I suggest another open > source project, Django, with similar features, although its approach > is different: http://www.djangoproject.com/ > > The tutorial on the site is a quick read and will give you a good feel > for how it works. You have to know Python of course, but if you don't, > it has a small learning curve, and is a full featured language. I have found that, for me (not for anyone else) python is a non-starter. The language doesn't fit well in my brain. This isn't a knock on python. It's more indicative of myself. -- Boring Home Page - http://www.webtrek.com/joe See my blog, sumo game ranks and other interesting junk |
|
From: Michael G. <mic...@gm...> - 2006-10-06 20:08:36
|
On 10/6/06, Adam J Smith <aj...@co...> wrote: > >From a practical perspective, what I liked about Eleven was that you could > write a small amount of code and get a fully functioning Web application > that could be deployed in several environments. If that is what drew you > to Eleven, then may I suggest another open source project, Django, with > similar features, although its approach is different: > http://www.djangoproject.com/ If you preferred the continuation-based approach of Eleven -- that the back button always worked, etc. -- then I would recommend the PLT Scheme web server to you, available from <http://www.plt-scheme.org/>. It's also very quick to deploy (if you know Scheme). Michael |
|
From: Adam J S. <aj...@co...> - 2006-10-06 20:04:04
|
Its really nice to see activity on the Eleven list! I used it a few years ago on two projects, one of which went into production. It was a really clever concept, and even though I didn't pursue it further myself (only because it didn't seem to "fit" projects I was working on, not that I had any problem with eleven per se), its sad to know it wasn't developed further, if for no other reason than to explore that approach. >From a practical perspective, what I liked about Eleven was that you could write a small amount of code and get a fully functioning Web application that could be deployed in several environments. If that is what drew you to Eleven, then may I suggest another open source project, Django, with similar features, although its approach is different: http://www.djangoproject.com/ The tutorial on the site is a quick read and will give you a good feel for how it works. You have to know Python of course, but if you don't, it has a small learning curve, and is a full featured language. With Django, you also create a small file, a set of classes that describes the data in your application (sound familiar?). You use this code to generate your database (several are supported) and the framework comes with an attractive, built in admin interface for the generated database that is appropriate for end users. Then you have the power of Python to do anything else you want with it. -- adam smith aj...@co... aim: ajsATcornell (607) 255-5626 504a olin library cornell university ithaca, ny 14853 |
|
From: Joe M. <jos...@gm...> - 2006-10-05 17:18:45
|
Hello Samuel, Glad to hear of your interest in Eleven. Unfortunately it is not actively being developed right now. But there is some documentation available at these links: http://www.statesafe.org/eleven-detailed/ http://www.statesafe.org/eleven-reference/ and you can download it here: http://sourceforge.net/project/showfiles.php?group_id=119447&package_id=130633 Let me know if you have questions, and good luck! - Joe On 10/4/06, SAO Informatica <sao...@sa...> wrote: > > Hi, my name is Samuel. > > I'll try to learn the Eleven language, it's new to me! I worked with > Clipper, and C... I sow same similar sintax, but I need some manual ou some > contact to continue and I wold like to help the Eleven organization to be > familiar on Brasil. > > Then I'll wait your reply to continue... > > > Tks > > Sam > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > _______________________________________________ > Eleven-devinfo mailing list > Ele...@li... > https://lists.sourceforge.net/lists/listinfo/eleven-devinfo > > > |
|
From: SAO I. <sao...@sa...> - 2006-10-04 22:37:53
|
Hi, my name is Samuel. I'll try to learn the Eleven language, it's new to me! I worked with = Clipper, and C... I sow same similar sintax, but I need some manual ou = some contact to continue and I wold like to help the Eleven organization = to be familiar on Brasil. Then I'll wait your reply to continue...=20 Tks Sam |
|
From: <leo...@ya...> - 2006-05-01 15:38:36
|
I have a new email address!You can now email me at: leo...@ya... Dear Sir, With warm heart I offer my friendship, and greetings, and I hope this mail meets you in good time. However strange or surprising this contact might seem to you, as we have not met personally or had any dealings in the past, I humbly ask that you take due consideration of its importance and immense benefit. I also sincerely seek your confidence, as I make these disclosures to you as a person of integrity. I am Mr. Clarke J. Melvin, a Liberian and former Personal Assistant to Mr. Charles Taylor the Ex Liberian President. As led by my instinct, I selected your email address from an Internet directory to share this important and beneficial information with you.As a trusted and confidant Personal Assistant to Mr. Charles Taylor, he Charged me with immense secrets relating to his financial wealth spread all over Africa and Western Europe. My boss Charles Taylor has been in exile in Calabar, Nigeria since 2003 where I was with him until two months ago when he sent me to Accra Ghana on pretext of seeking a medical attention but the real intention was to come and claim three consignments containing $18,000,000. each before the Nigerian Government decided to Hand Over Charles Taylor to the current Liberian President Ms Ellen Johnson Sirleaf who has demanded for my Ex-Boss extradition to face war Crimes Tribunal in Sierra Leone for genocide against humanity and as such he escaped and was arrested in Cameron and is now under security custody awaiting trial. I immediately applied for political asylum here in Ghana and as a result of my new Status as a Fugitive in Ghana and also my name is listed as one of his Aides; I cannot personally claim the funds because of his factor hence I have contacted you to act as go between. Now I want your co-operation to act as a Beneficiary for these deposited funds so that we can proceed with effecting a change of ownership and empower you to demand for the release of boxes containing the funds to you. On hearing from you ;accepting to cooperate with me, I will avail more information on how this will be realized. In the event you are not interested to cooperate with me, I humbly and kindly request you keep this correspondence strictly confidential and dont share its contents with any body. Thank you for your good reasoning, Mr. Clarke J. Melvin - Clarke Melvin |
|
From: Joe M. <jd...@po...> - 2005-07-19 13:46:28
|
Hi Joseph, Thanks for your posting. My thoughts are that you make some good points, but I disagree with your definition of scalability. I think scalability doesn't mean "high performance out of the box", but rather "the potential to achieve arbitrarily high performance by adding resources in a straightforward manner". With Eleven, web applications can be scaled by distributing HTTP requests among increasingly large pools of web servers, and using standard techniques for scaling the database (which then becomes the bottleneck). My premise is that scaling databases is a much better understood problem than scaling applications, so I designed Eleven to reduce one problem to the other. If I understand your argument, you are agreeing that concurrency is a solution to scalability, except for the problem that disk I/O prevents the system from being scalable. My counter-argument is that there are many techniques for making RDBMSs scalable (buying bigger hardware, replicating data, etc.) Of course they are never infinitely scalable, but no system is. And there are many commercial solutions for squeezing the best possible performance out of an RDBMS - which is why most of the world's largest information systems (banking systems, accounting systems, etc.) all have RDBMSs at the core. If you disagree that scalable systems can be built from RDBMSs, then I will be unable to convince you that Eleven is scalable :) Best regards, - Joe Quoting Joseph Graham <jg...@ma...>: > Hello, > I am not trying to knock what seems like great work but I have a > question as to why Eleven is considered "scalable." In my experience > scalable applications are applications that can handle large volumes of > concurrent requests. In my experience the only way to handle n-requests > within a reasonable time frame is to reduce the total time spent > processing the request. Because accessing RAM resident data is faster > than accessing the disk because of inherent disk I/O latency I have > always tried to focus my scalability designs on caching data to RAM. > This is particularly the case with session data. =20 > The only problem with this approach is that individual machines are > limited to the physical and logical memory they can address. Therefore > a machine pooling solution (i.e. server farms) is usually implemented to > handle the physical limitations of each individual machine. In the case > where you want to handle n-clients but not necessarily concurrently > without exhausting the machine memory limitations then utilizing a > database to persist objects is a good approach. That means that I would > consider persisting objects to disk or database in the case where I have > limited hardware and because disk resources are more plentiful than RAM, > disk makes a better storage location. The problem with this is that as > the number of concurrent requests increases, the response time decreases > and there is also a limit as to the amount of concurrent requests the > application can handle because the application would block on concurrent > disk I/O requests. =20 > Therefore I would not consider this system to be "scalable" although it > may be highly productive and lots of other good things but to me > scalability means availability to users. As I have just explained this > is not the case where disk (database) I/O is concerned and from what I > can tell this is the basis of Eleven. Is my summary correct or can > someone enlighten me further? > > BR_joe -- Joe Morrison http://www.powerframe.com/ |
|
From: Joseph G. <jg...@ma...> - 2005-07-18 15:47:56
|
Hello, I am not trying to knock what seems like great work but I have a question as to why Eleven is considered "scalable." In my experience scalable applications are applications that can handle large volumes of concurrent requests. In my experience the only way to handle n-requests within a reasonable time frame is to reduce the total time spent processing the request. Because accessing RAM resident data is faster than accessing the disk because of inherent disk I/O latency I have always tried to focus my scalability designs on caching data to RAM. This is particularly the case with session data. =20 The only problem with this approach is that individual machines are limited to the physical and logical memory they can address. Therefore a machine pooling solution (i.e. server farms) is usually implemented to handle the physical limitations of each individual machine. In the case where you want to handle n-clients but not necessarily concurrently without exhausting the machine memory limitations then utilizing a database to persist objects is a good approach. That means that I would consider persisting objects to disk or database in the case where I have limited hardware and because disk resources are more plentiful than RAM, disk makes a better storage location. The problem with this is that as the number of concurrent requests increases, the response time decreases and there is also a limit as to the amount of concurrent requests the application can handle because the application would block on concurrent disk I/O requests. =20 Therefore I would not consider this system to be "scalable" although it may be highly productive and lots of other good things but to me scalability means availability to users. As I have just explained this is not the case where disk (database) I/O is concerned and from what I can tell this is the basis of Eleven. Is my summary correct or can someone enlighten me further? BR_joe |
|
From: Mike S. <mst...@ro...> - 2005-04-27 00:10:06
|
Alternative stylesheets:
------------------------
My custom stylesheets looks great in Firefox, but sucks on IE6. Here's a quick
two liner that allows selective loading of stylesheets:
/* this is read by IE, not Firefox */
@import ie6.css;
/* this is read my Firefox, not IE */
@import url("gko.css") all;
Save this as your primary stylesheet, and point your eleven app at it. Note
that it won't validate.
Login Button:
-------------
The login button was intruding on some of my printer based reports. You can
disable it in Firefox only using this style:
.controlButton[value="Logout"] {display:none;}
Then use the cButton hack to place it in code. The lButton var string is:
statesafe var lButton = '<input class="myControlButton" type="submit"
name="action" value="Logout" />';
I couldn't selectively disable the control buttons in IE, it's all or nothing.
You need to (a) dupe the contolbutton styles under a new name, set
disable:none on the old, (b) add new vars for buttons per Joe's cButton
suggestions, (c) dupe the line containing the "Continue" controlbutton on the
login screen and use the new stylename using Joes diff suggestion, and (d)
manually maintain the login and continue buttons in code.
Whew. Good thing most of my customers use Firefox. Think I'll just let the IE
diehards live with untweaked styles and buttons.
Mike
|
|
From: Mike S. <mst...@ro...> - 2005-04-26 23:01:47
|
As I understand it, tableformat currently accepts and processes the [class=x] directive. Rowformat accepts it without error but doesn't output it in php, and a contained cell generates a compiler error. Joe, is there any chance of enabling this directive for rowformat, and possibly cells? If not that, then maybe a naming convention that would allow addressing of the rowformat object in CSS? My objective is to allow designated rowformats to have different styles, say as a heading. Mike Stolove |
|
From: Madeleine L. <mle...@bi...> - 2005-04-25 15:37:22
|
Mike, No, filters are not cumulative. Each filter replaces the previous one. So maybe the documentation should read "persists until cleared or replaced". Looks like you'll have to think. Concatenating the filter criteria is a good way to do it. Madeleine > Hi all, > > Are filters cumulative in effect? What result should I expect with: > > db.filter (X); > db.filter (Y); > db.filter (Z); > > Do I get X && Y && Z, or are X and Y discarded and Z is returned? > > The manual says "filters are statesafe, and persist until cleared". The > 'persist until cleared' phrase _seems_ to indicate cumulative, but > maybe I'm > interpreting it incorrectly. > > My objective is to set a global filter based on criteria, AND do > further > filtering on that subset as required. I could hack the same > functionality by > concat'ing strings for the filter param, but that's not as clean and > requires > me to think... > > I am currently setting a global filter upon login, and that works fine. > However, when I apply a second filter I get (to me anyway) unexpected > results. > > Mike |
|
From: Joe M. <jd...@po...> - 2005-04-25 12:39:42
|
Hi Mike, Sorry to bear bad tidings - the filters are not cumulative. I think I was unclear in my documentation. I should have written that the filters "persist until modified or cleared". I think your unclean "thinking-required" solution is the way to go :-) Best regards, - Joe On Mon, 25 Apr 2005, Mike Stolove wrote: > Hi all, > > Are filters cumulative in effect? What result should I expect with: > > db.filter (X); > db.filter (Y); > db.filter (Z); > > Do I get X && Y && Z, or are X and Y discarded and Z is returned? > > The manual says "filters are statesafe, and persist until cleared". The > 'persist until cleared' phrase _seems_ to indicate cumulative, but maybe I'm > interpreting it incorrectly. > > My objective is to set a global filter based on criteria, AND do further > filtering on that subset as required. I could hack the same functionality by > concat'ing strings for the filter param, but that's not as clean and requires > me to think... > > I am currently setting a global filter upon login, and that works fine. > However, when I apply a second filter I get (to me anyway) unexpected > results. > > Mike -- Joe Morrison Eleven. One louder. http://www.powerframe.com http://eleven.sourceforge.net |
|
From: Mike S. <mst...@ro...> - 2005-04-25 09:48:28
|
Hi all, Are filters cumulative in effect? What result should I expect with: db.filter (X); db.filter (Y); db.filter (Z); Do I get X && Y && Z, or are X and Y discarded and Z is returned? The manual says "filters are statesafe, and persist until cleared". The 'persist until cleared' phrase _seems_ to indicate cumulative, but maybe I'm interpreting it incorrectly. My objective is to set a global filter based on criteria, AND do further filtering on that subset as required. I could hack the same functionality by concat'ing strings for the filter param, but that's not as clean and requires me to think... I am currently setting a global filter upon login, and that works fine. However, when I apply a second filter I get (to me anyway) unexpected results. Mike |
|
From: Ronald M. <ron...@gm...> - 2005-04-25 03:46:30
|
Whups, I should check my mail more often :) The second way does seem better, at least for Continue buttons... Thanks again! RonM |
|
From: Joe M. <jd...@po...> - 2005-04-25 03:29:55
|
Hi all,
I'm wading into this thread late, but wanted to respond to this comment:
On Thu, 21 Apr 2005, Madeleine Lemieux wrote:
> I suspect that your approach - assigning the filtered livetable to a local
> table and using a tableformat - is probably more efficient since it only
> triggers one database query to populate the local table. I'm not sure about
> this though.
>
> Can anyone else clarify this issue?
This is generally true - minimizing queries is good for performance, so
it's bad to display a livetable by doing separate queries to select each
row. The best solution is to do what Mike did - before the "display
command, perform a single "filter" command on the livetable, then assign
it to a regular statesafe table to get an in-memory copy. That does a
single SQL query. Then display the table rows using a loop with numeric
index values to access the regular statesafe table.
It doesn't matter if the tables are global or local, since that only
affects where in the program the variable names are visible. For example,
a local table in a subroutine is not visible outside the subroutine
(you'll get an "undefined variable" error if you try to access it outside
the subroutine). But in all other respects apart from visibility, global
and local variables behave identically in Eleven (or at least they are
supposed to!)
One warning: Eleven does not delete local variables when they go out of
scope (that optimization is on the to-do list). So if you copy a lot of
data from a livetable to a regular statesafe table, that statesafe table
is never cleaned up, and all that data will be copied back and forth to
the database, for every program display afterward!
To avoid that performance problem, you can clear the regular statesafe
table after you are finished with it, by artificially filtering the
livetable to return no data, then copying it to the regular statesafe
table. Then you can let the regular statesafe table go out of scope.
Here's the code pattern:
sub foo
{
mylivetable.filter (...);
mytable = mylivetable;
display
{
... display the rows in "mytable" ...
}
// Clear out mytable before it goes out of scope,
// to avoid carrying the data around forever:
mylivetable.filter ("2 > 3"); // select nothing
mytable = mylivetable;
}
In the long run, the last bit will be unnecessary since the Eleven
compiler should clear "mytable" automatically as it goes out of scope.
Best regards,
- Joe
--
Joe Morrison Eleven. One louder.
http://www.powerframe.com http://eleven.sourceforge.net
|
|
From: Ronald M. <ron...@gm...> - 2005-04-25 03:18:24
|
Wow, Thanks, everyone! I can't afford to loose any more hair! (:-)
I ended up combining two of the three suggestions:
Code per Joe's advice:
"statesafe launcher cButton; // declare a launcher
transient var dummy; // declare a dummy variable
prepare cButton
{
"Continue" { dummy =3D 0; } // do nothing
}
mission
{
display no_continue
{
... display contents ...
... print cButton wherever you want a continue button...
}
}"
then, in place of the print (cButton); statement, I put Mike's form button:
print [position=3D"right" htmlchars=3D"active"] ("<FORM METHOD=3D'Link'
ACTION=3D'cButton'><BUTTON name=3D'Continue1'
type=3D'submit'>Continue</BUTTON></FORM>");
all on one line (I have the enums on the right too). It doesn't look
exactly like the default "Continue" button, but close enough. Works
like it though, which is what I wanted - thanks very much!
Looks to me like this workaround might be applicable more widely...
but enough for today. :)
RonM
|
|
From: Joe M. <jd...@po...> - 2005-04-25 02:04:52
|
Hi Mike,
I just read your suggestion more carefully:
On Sun, 24 Apr 2005, Mike Stolove wrote:
> <input class="controlButton" type="submit" name="action" value="Continue"/>.
and realized that's probably the best way to go. You can write this at the
top of your Eleven program:
statesafe var cButton = '<input class="controlButton" type="submit" name="action" value="Continue"/>';
Then just print "cButton" whenever you want an extra "Continue" button,
making sure to let HTML characters pass through directly:
display no_continue
{
print [htmlchars="active"] (cButton);
print ("Thank you, ", first, ".");
print [htmlchars="active"] (cButton);
print ("Finally, please enter your favorite number.");
print [htmlchars="active"] (cButton);
edit ("Favorite number: ", favorite);
print [htmlchars="active"] (cButton);
}
This is the best solution for now I think, since the continue buttons will
all look exactly the same.
Best regards,
- Joe
--
Joe Morrison Eleven. One louder.
http://www.powerframe.com http://eleven.sourceforge.net
|
|
From: Joe M. <jd...@po...> - 2005-04-25 01:52:10
|
Hello all,
There's another solution I can suggest.
Unfortunately the "callbutton" feature isn't helpful for creating
additional "continue" buttons, because after the callbutton subroutine
executes, control is returned to the display containing the callbutton.
But the problem can be solved with launchers, since whenever a launcher
selection is made, the prepare/mission clause terminates immediately. So
the general idea is:
statesafe launcher cButton; // declare a launcher
transient var dummy; // declare a dummy variable
Then write your program as usual. Whenever you want a display with
multiple continue buttons, write this:
prepare cButton
{
"Continue" { dummy = 0; } // do nothing
}
mission
{
display no_continue
{
... display contents ...
... print cButton wherever you want a continue button...
}
}
I've also attached a revised version of the "interview.11" example, with
multiple continue buttons in one of the displays.
There's one disadvantage of my solution; the launcher-type continue
buttons don't look the same as regular continue buttons. Maybe that can be
fixed up with CSS changes. I'll keep this requirement in mind for future
Eleven versions.
Hope this helps. Best regards,
- Joe
--
Joe Morrison Eleven. One louder.
http://www.powerframe.com http://eleven.sourceforge.net |
|
From: Madeleine L. <mle...@bi...> - 2005-04-25 01:38:25
|
Ronald,
I don't know the answer to your question but it should be possible to
control your program flow with launchers and specify "no_continue" on
your browser display, thereby side-stepping the issue. I'll think about
it some more. Hopefully someone else will solve the problem in the
meantime!
Madeleine
> How do I display another Continue button on a page?
>
> I'm showing filtered views of a few tables of a thousand rows max into
> browse statements. The sort by headers, next-prev menus, etc., are
> working ok. I've added a couple enums to add/configure an additional
> filter and set the number of rows displayed per page, and they work
> ok, too - set the value and click "Continue", and the display shows
> the expected page.
>
> I need to avoid asking the users to choose from drop-down lists at the
> top, and scroll past a thousand rows to get to the continue button,
> however (the default is 8 rows per page, but users can choose "All").
>
> I've tried:
>
> callbutton [position="right"] ("Continue", page23b, 0)
> /* page23b is the subroutine the call button is
> in */
>
> but that resets the enums to their default values, and the display
> stays or reverts to 8 rows.
>
> Thinking that continue was a kind of 'reset' (but with new statesafe
> values), I tried:
>
> sub setview ();
> {
> while (1)
> {
> break;
> }
> }
>
> ...
>
> callbutton [position="right"] ("Continue", setview, 0)
>
> but that redraws the page as it is.
>
> Any parameters I pass just get reset to defaults:
>
> callbutton [position="right"] ("Continue", setview, pageviewsize)
>
> so I feel stuck. Does anybody have any ideas? Am I just going about it
> the wrong way?
>
|
|
From: Mike S. <mst...@ro...> - 2005-04-25 01:33:52
|
Ooops, a senior moment.
Try this in your stylesheet
=2EcontrolButton[value=3D"Continue"] {
=A0position: fixed;
=A0top: 20px;
=A0}
You can re-position the single 'Continue' button. I don't know if you can=20
replicate the button in 11 code, so you'd be stuck with a single top ||=20
bottom appearance.
Maybe someone knows a way to insert an html form button. The acutal code is=
=20
<input class=3D"controlButton" type=3D"submit" name=3D"action" value=3D"Con=
tinue"/>.=20
Or perhaps insert some javascript into a launcher that will trigger the=20
submit event (and hopefully keep state for the enum selections).
Hope this helps...
Mike
On Sun April 24 2005 08:48 pm, Ronald McNew wrote:
=A0 | =A0 Thanks, Mike - that looks like better code than what I'm presently
=A0 | =A0 using to change pages - I'll have to try it out one day.
=A0 |
=A0 | =A0 But right now I'm trying not to change pages. What I'm trying is =
like
=A0 | =A0 in Control.11 >> Activity Report page, where it says "Change any =
of
=A0 | =A0 the report parameters below and click "Continue"...
=A0 |
=A0 | =A0 My page works fine (well, mostly ;-) when I click "Continue" - the
=A0 | =A0 problem is that the button is way down at the bottom of the page
=A0 | =A0 sometimes. To save scrolling, I'm hoping to put another "Continue"
=A0 | =A0 button up at the top, but I can't figure out how.
|
|
From: Ronald M. <ron...@gm...> - 2005-04-25 00:48:19
|
Thanks, Mike - that looks like better code than what I'm presently using to change pages - I'll have to try it out one day. But right now I'm trying not to change pages. What I'm trying is like in Control.11 >> Activity Report page, where it says "Change any of the report parameters below and click "Continue"... My page works fine (well, mostly ;-) when I click "Continue" - the problem is that the button is way down at the bottom of the page sometimes. To save scrolling, I'm hoping to put another "Continue" button up at the top, but I can't figure out how. |
|
From: Mike S. <mst...@ro...> - 2005-04-24 23:51:14
|
Would incrementing or decrementing a currentPage var do this for you?=20
Something like
sub23c (var pageAdjust /* signed int */) {
statesafe var currentPage;
if ( pageAdjust !=3D 0 ) { currentPage =3D currentPage + pageAdjust; }
...
myTable.page ( currentPage ); // set the db pointer
browse myTable { .... }
pageAdjust =3D 0; //reset the param
and then call launchers like "Previous Page" {sub23b(-1);} or "Next=20
Page" {sub23b(1);}
Haven't actually tried this though...
Mike
On Sun April 24 2005 05:43 pm, Ronald McNew wrote:
| How do I display another Continue button on a page?
|
| I'm showing filtered views of a few tables of a thousand rows max into
| browse statements. The sort by headers, next-prev menus, etc., are
| working ok. I've added a couple enums to add/configure an additional
| filter and set the number of rows displayed per page, and they work
| ok, too - set the value and click "Continue", and the display shows
| the expected page.
|
| I need to avoid asking the users to choose from drop-down lists at the
| top, and scroll past a thousand rows to get to the continue button,
| however (the default is 8 rows per page, but users can choose "All").
|
| I've tried:
|
| callbutton [position=3D"right"] ("Continue", page23b, 0)
| =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 /* page23b is the subrout=
ine the call button is
| in */
|
| but that resets the enums to their default values, and the display
| stays or reverts to 8 rows.
|
| Thinking that continue was a kind of 'reset' (but with new statesafe
| values), I tried:
|
| sub setview ();
| {
| =A0 while (1)
| =A0 {
| =A0 =A0 break;
| =A0 }
| }
|
| ...
|
| callbutton [position=3D"right"] ("Continue", setview, 0)
|
| but that redraws the page as it is.
|
| Any parameters I pass just get reset to defaults:
|
| callbutton [position=3D"right"] ("Continue", setview, pageviewsize)
|
| so I feel stuck. Does anybody have any ideas? Am I just going about it
| the wrong way?
|