Re: Printing ListBox that is longer than a single page

2017-06-05 Thread John Baughman via 4D_Tech
Oliver,

Thanks for pointing me in your direction. Your FSUty utility component 
is a treasure trove of utilities.

As for using Uty_PrintListBox, I’m not sure it will work in my 
particular case as the list box is built in the on load phase of the form while 
printing making creating  the print settings obj  difficult and I think may 
over complicate the process. Print Object works well in a repeat loop.

John






On Jun 4, 2017, at 9:32 PM, Flury Olivier via 4D_Tech <4d_tech@lists.4d.com> 
wrote:
> 
> Hi John,
> 
> The  component "FSTypeahead" contains a component "FSUty". This component 
> contains a utility method called " Uty_PrintListBox".
> 
> This method prints the visible columns of a listbox using print object. It 
> adapts the column width to the available space (horizontally) and does the 
> necessary page breaks. The nice thing about doing it this way: its fully 
> generic.
> 
> You can download it from here:
> 
> https://www.asuswebstorage.com/navigate/s/B7C6589918CD438E95737E069CB5A0D4W
> 
> It's free and open source.
> 
> Best,
> 
> Olivier
> 
> -Ursprüngliche Nachricht-
> Von: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] Im Auftrag von John 
> Baughman via 4D_Tech
> Gesendet: Sonntag, 4. Juni 2017 00:03
> An: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: John Baughman 
> Betreff: Printing ListBox that is longer than a single page
> 
> I want to print a form that contains a single listbox. How do I make the list 
> box print beyond the first page? Works great if the list fits on a single 
> page, but only prints the first page if it is longer.
> 
> I have the listbox fully inside the detail area and have tried using PRINT 
> SELECTION and Print Form. There is a text variable that needs to print as 
> well above the listbox.
> 
> Looks like I need to use Print Object but need an example of how/where to use 
> it.
> 
> Thanks,
> 
> John
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Dennis, Neil via 4D_Tech
> The only differences I can think of are (1) a constant is compiled into the 
> raw binary
> and (2) because of that, a constant is the same across all instances of an 
> app, where
> a “static” variable can be computed at launch (or when it is created). It 
> just can’t change
> later on while the app is running.

These are way different in other languages. C++ for example

A 4D "constant" is more like a compiler definition "#define" where the compiler 
will substitute a name for a value
#define MAX_ARRAY_SIZE 20
// anywhere MAX_ARRAY_SIZE is in the code, the compiler will put in a 20

A constant in C++ is more like a variable that can't be modified, assigned once 
at declaration and then never changes while in scope. For example
myMethod (const int myParam)
const tint myParam = 7;

A Static is more of a shared variable for example a static variable in a class 
that is shared between instances of a classes with a single initialization, 
each instance of the class access have access to the same variable

Concepts get more involved when you have static classes :)

Neil




--

Privacy Disclaimer: This message contains confidential information and is 
intended only for the named addressee. If you are not the named addressee you 
should not disseminate, distribute or copy this email. Please delete this email 
from your system and notify the sender immediately by replying to this email.  
If you are not the intended recipient you are notified that disclosing, 
copying, distributing or taking any action in reliance on the contents of this 
information is strictly prohibited.

The Alternative Investments division of UMB Fund Services provides a full range 
of services to hedge funds, funds of funds and private equity funds.  Any tax 
advice in this communication is not intended to be used, and cannot be used, by 
a client or any other person or entity for the purpose of (a) avoiding 
penalties that may be imposed on any taxpayer or (b) promoting, marketing, or 
recommending to another party any matter addressed herein.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Cannon Smith via 4D_Tech
Hi Chip,

That brings up a good question. A “static” variable doesn’t seem very much 
different from a constant on the surface. The only differences I can think of 
are (1) a constant is compiled into the raw binary and (2) because of that, a 
constant is the same across all instances of an app, where a “static” variable 
can be computed at launch (or when it is created). It just can’t change later 
on while the app is running.

But since so many languages have the concept of constants and “static” 
variables as separate things, it makes me wonder if there are more subtle (and 
important) differences that I don’t understand. Does anyone who has experience 
with both know how important it is to have both concepts in a language? Or 
could they be merged into one idea with no drawbacks?

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Jun 5, 2017, at 10:40 AM, Chip Scheide <4d_o...@pghrepository.org> wrote:
> 
> unless and/or until 4D gives us this ability:
> - IP vars define at startup - do not change

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Running 4D into a Docker container and shipping it

2017-06-05 Thread Brent Raymond via 4D_Tech
Hi Balinder!  So, how did it go with Docker 4D?  Did you get it to work?  I
just starting playing around with Docker a bit myself and had similar
questions as you...

Thanks!

Brent



--
View this message in context: 
http://4d.1045681.n5.nabble.com/Running-4D-into-a-Docker-container-and-shipping-it-tp5750090p5752469.html
Sent from the 4D Tech mailing list archive at Nabble.com.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Chip Scheide via 4D_Tech
unless and/or until 4D gives us this ability:
- IP vars define at startup - do not change

On Mon, 5 Jun 2017 10:26:25 -0600, Cannon Smith via 4D_Tech wrote:
>> Define(Theme;Label;Value) // Value can be Long, String, Real, or Boolean
> 
> BTW, one nice thing about creating constants directly in code, if we 
> had a 4D command to do it, is that it would be easier to give away 
> code. For example, I’ve started to use constants extensively in the 
> last year or two, but I didn’t use any in the OBJ module that a few 
> people use, even though there are a few parameters that really need 
> to be constants. Why? Because it would have made it harder to share 
> the code. Not that adding another constants file to a structure is a 
> big deal, but it is one more thing to deal with.
> 
> --
> Cannon.Smith
> Synergy Farm Solutions Inc.
> Hill Spring, AB Canada
> 403-626-3236
> 
> 
> 
> 
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Cannon Smith via 4D_Tech
> Define(Theme;Label;Value) // Value can be Long, String, Real, or Boolean

BTW, one nice thing about creating constants directly in code, if we had a 4D 
command to do it, is that it would be easier to give away code. For example, 
I’ve started to use constants extensively in the last year or two, but I didn’t 
use any in the OBJ module that a few people use, even though there are a few 
parameters that really need to be constants. Why? Because it would have made it 
harder to share the code. Not that adding another constants file to a structure 
is a big deal, but it is one more thing to deal with.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Cannon Smith via 4D_Tech
Not when you have a bunch of Find In Design windows open, several deeply nested 
Explorer folders expanded, and several non-developer related windows in some 
state that takes time to reproduce. Relaunching 4D then is a hassle.

--
Cannon.Smith
Synergy Farm Solutions Inc.
Hill Spring, AB Canada
403-626-3236




> On Jun 4, 2017, at 4:04 AM, Jim Dorrance via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Re-loading constants. Run Menu, Restart Interpreted: Alt Command I.
> 
> Faster than finding a command and executing it.

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: How do you force resources to download these days?

2017-06-05 Thread David Porter via 4D_Tech
Make sure you first use
SET DATABASE PARAMETER(Auto synchro resources folder;1)  // auto

I also have the data base setting for client-server set …
Update “Resources” folder during a session:  Always

This combination works well for me.
I use it to update XLIFF files to all connected clients.

Dave Porter
Tailored Solutions, Inc.
Business Management Software for Label Converters
http://www.labeltraxx.com/  414-774-9997

> On Jun 4, 2017, at 11:46 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> David,
> I tried using this most recently when I was building some html templates
> for display in web areas. I found it problematic but couldn't really
> understand why. Simple setup - 4D server running on one machine, update the
> resources folder with things like html pages, css, js, etc. On dev machine
> call the NOTIFY RESOURCES FOLDER MOD command. On another client machine not
> see the changed files propagate. Get frustrated. Restart everything to see
> changes happen.
> 
> On Sun, Jun 4, 2017 at 8:32 PM, David Adams via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> On Mon, Jun 5, 2017 at 10:22 AM, Justin Carr via 4D_Tech <
>> 4d_tech@lists.4d.com> wrote:
>> 
>>> NOTIFY RESOURCES FOLDER MODIFICATION
>> 
>> 
>> Thanks J. Hmmm. Added in V11. Hmm. I'm clearly the last to know.
>> 
>> Any words of wisdom from the field on use of this command in
>> multi-developer mode? I'm trying to update constants around the joint.
>> Right now I'm doing EXECUTE ON CLIENT and Execute on client to have each
>> machine run the right code locally.
>> 
>> Thanks!
>> **
>> 4D Internet Users Group (4D iNUG)
>> FAQ:  http://lists.4d.com/faqnug.html
>> Archive:  http://lists.4d.com/archives.html
>> Options: http://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
>> 
> 
> 
> 
> -- 
> Kirk Brooks
> San Francisco, CA
> ===
> 
> *The only thing necessary for the triumph of evil is for good men to do
> nothing.*
> 
> *- Edmund Burke*
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: How do you get the names of shared methods from a component?

2017-06-05 Thread David Adams via 4D_Tech
Thanks Wayne! That should do the trick. It's not for MessageHub, that's so
last month ;-) But it's for components where you control the deployment.
Building in a required/expected get info sort of a call is perfectly
reasonable.

All the same, it would be nice if 4D had an option for getting component
method names with GET METHOD NAMES. Do you know if this is an old feature
request that never went anywhere or if it just hasn't come up very often?
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: How do you get the names of shared methods from a component?

2017-06-05 Thread Wayne Stewart via 4D_Tech
David,

I'd create an "info" method in your component:

MessageHub_Info ("Methods")  ->  Object
or
MessageHub_Info (OB New("Request";"Methods")  ->  Object

Or similar

Then return in the object an array of method names.

Then you could extend the _Info method for other functions:

MessageHub_Info ("Version")

etc etc

Of course, you need to be the one that writes the method for this to work…



Regards,

Wayne


[image: --]
Wayne Stewart
[image: http://]about.me/waynestewart



On 5 June 2017 at 20:25, David Adams via 4D_Tech <4d_tech@lists.4d.com>
wrote:

> I just notice that METHOD GET NAMES doesn't return the names of methods
> from components shared from the host.
>
> Put another way, I'm calling METHOD GET NAMES from  a host database and the
> command is blind to methods in components.
>
> Is there a workaround?
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: The language is letting you down (Was: Re: Custom comments: Lots of tips, more wanted!)

2017-06-05 Thread David Adams via 4D_Tech
On Mon, Jun 5, 2017 at 8:43 PM, Peter Bozek via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> On Mon, Jun 5, 2017 at 11:15 AM, David Adams via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
>

Thanks for chiming in! I don't in any way mean that 4D should limit itself
to the features and construct of a language published *nearly 50 years
ago*. I just meant that we should at least have the same level of language
features as something published in 1970.
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: The language is letting you down (Was: Re: Custom comments: Lots of tips, more wanted!)

2017-06-05 Thread Peter Bozek via 4D_Tech
On Mon, Jun 5, 2017 at 11:15 AM, David Adams via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> In order of complexity:
>

I would add my favorite two:
* return statement - yes, Pascal does not have a return statement, but it
is so useful and need so little effort to implement that having 'clean'
Pascal cannot be an excuse to not implementing it.
* passing parameters by reference. Now we have object parameters that work
like this, but it would be much nicer if we can declare which parameters
are passed by value and which by reference - for objects, too.

-- 

Peter Bozek
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

How do you get the names of shared methods from a component?

2017-06-05 Thread David Adams via 4D_Tech
I just notice that METHOD GET NAMES doesn't return the names of methods
from components shared from the host.

Put another way, I'm calling METHOD GET NAMES from  a host database and the
command is blind to methods in components.

Is there a workaround?
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

The language is letting you down (Was: Re: Custom comments: Lots of tips, more wanted!)

2017-06-05 Thread David Adams via 4D_Tech
On Mon, Jun 5, 2017 at 6:08 PM, Jeremy Roussak via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I’ve missed enumerated types and structs very much, just as I’ve missed
such
>  things as pre- and post-increment and decrement, the ?: construct ...

The language is in desperate need of improvement. I have been using 4D
since V2 shipped and in that time, there's been arguably no improvements
made to the language itself. Yes, we've gotten heaps of great commands and
features, but no new *language* features. Processes are a clear exception
here as are the various forms of eval() 4D's added. But eval(), in all of
its forms, is arguably closer to a poor use of GOTO than any sort of
sensible language improvement.

Basically, we've got a small subset of what Pascal had 40 years ago. 40.
Years. Ago. I think that it's time that 4D got a language person to come in
and make some changes. Am I talking about a full OO rewrite? No. I think
4D's procedural language is kind of charming in its way - and procedural
code is really easy to follow. (That was the whole point.) I'm after some
basic language improvements, not throwing away what everyone knows already.

Perhaps the fabled 4D product team should have a language advocate. Someone
that would really stick up for the language. So far, I've heard of the
product team, enjoyed the blog (it's really good - everyone should check it
out), but have seen no engagement from them. They don't seem to comment
here or on the Forums, at least in English. A shame.

In order of complexity:

* 31 characters? Please, it's a source of endless frustration for me.
There's no excuse.

http://forums.4d.fr/Post/EN/18946884/1/18946885

* How about some normal operators? I mean, you don't have to license ++ and
the like, do you? Here's the deal with an interpreter. When you've got a
line of code, you have to parse it into a tree. From there, you read up
from the bottom towards the top. (This isn't the standard way of reading
trees in XML, etc., it's how you process an algabraic expresson.) In that
setup, an operator is a node. It's a node that tells you how to act on its
immediate children. So, adding new operators should be *very easy.* I don't
know how 4D wrote their parsers, etc. - but what I've described is the
standard approach. They may be using a parsing library, they may have
rolled their own. Either way, operators are nearly the easiest thing to add.

* Enumerated types! Once you have them, you wonder how you could have lived
without them.

* I'm with you on the ternary operator...I ended up writing my own.

* The Compiler doesn't work as hard as it should. Some nice changes would
be super easy fixes. Super easy.

http://forums.4d.fr/Post/EN/19107688/1/19107689

* Full JSON support.

* A dictionary of extended properties for *every item there is.* If it's
addressable through code, it should have an optional dictionary attached.
Just use the C_OBJECT syntax with a unique path as the key into the object.
So, form objects, form methods, tables, forms, etc.

http://forums.4d.fr/Post/EN/19051683/1/19051684

* No structs or classes. In Pascal these were called 'records' and in C
'structs'. If anyone has worked with C_OBJECT, they let you create data
structures a bit like that...but not really. With a struct, you have the
ability to declare a custom type. So, you declare a type of Customer and it
might have fields like

Customer
   Last_name Text
   First_name Text
   First_contact Date
   ID  UUID

And so on. Then when you pass a Customer as a parameter, you code can test
that
1) It's a Customer.
2) It's a valid Customer.

So, the compiler, interpreter and your code can do smart checking of all of
these things. As it stands, there is nothing like this in 4D and *it is the
single biggest problem with the language.* Having structs would let us do
away with a huge range of stuipid little problems. More than that, it
allows you to do much more complex and sensible things with no greater
effort or complexity in your code. Sometimes I notice 4D developers feeling
kind of down about their language abilities. Honestly, a lot of it comes
from using a language *that handicaps you.* Better language, better code.

Mostly this is work for the compiler developer, it's something that an
undergraduate in CS in a serious program could write.

* Error handling: This should finally be taken seriously. I always get the
impression that it's pretty ad hoc under the hood. If 4D were to commit to
implementing Try/Catch, that would force them to sort it out once and for
all.

* Modules! Another area where 4D devlopers think they're doing something
wrong when it's the language letting you down. 4D's peculiar approach to
scope and data hiding is fighting for the #1 position in the "ways the
language makes us write brittle code" competition. In fact, maybe it is #1.

* No libraries. Such a bummer. Components are fine if you're trying to put
a big bunch of functionality into a box with a GUI. But for sensible, well
divide

Re: Custom comments: Lots of tips, more wanted!

2017-06-05 Thread Jeremy Roussak via 4D_Tech
David,

I’ve missed enumerated types and structs very much, just as I’ve missed such 
things as pre- and post-increment and decrement, the ?: construct (now 
addressed by Choose, admittedly), the lack of any true ability to break out of 
a loop and some of the more interesting and creative uses of #define. I used to 
use the last to cope with the loss of some of the lovely rich syntax of BCPL. 
Hey ho: there are some language design decisions which I shall never understand.

Booleans: OK, fair point. Numeric constants would accomplish what you want and 
look pretty similar, but I accept that boolean constants would be cleaner.

The removal of 4D Chart just to fix the lack of constants (!) was perhaps, as 
one of my lecturers commented when I was at university, “getting the 
sledgehammer/nut ratio wrong”. I got round the problem by defining a large 
number of constants myself, but I vaguely resented the time I had to put into 
it.

As to variable names, I’m a pretty quick touch typist. I just don’t like long 
names. I don’t like underscores in names, either (it’s camelCase for me). De 
gustibus…

Jeremy


Jeremy Roussak
j...@mac.com



> On 4 Jun 2017, at 10:35, David Adams via 4D_Tech <4d_tech@lists.4d.com> wrote:
> 
>> I have been a fan of custom constants since I started using 4D, probably
> because
>> my background in C meant that I couldn’t imagine a programming
> environment which
>> didn’t have them (whether as preprocessor directives or enumerations).
> 
> How have you coped with no enumerated types and no structs? I regularly
> feel the urge to resort to self-harm because 4D has no structs and I never
> used C. I mean, structs (and similar) a language feature from the
> 1970s...not exactly some fancy modern novelty.
> 
>> Boolean constants: why? What more than True and False do you need?
> 
> Now there is an entirely fair question which I failed to answer well in my
> feature request. Happily, Miyako answered it well:
> 
> I think what you are after is more like
> 
> MyMethod (with_this_option;without_that_option)
> 
> instead of
> 
> MyMethod (True;False)
> 
> Yes. Lables that mean true or false - I would use them a lot. Here's an
> example:
> 
> Method_DoThingsAndStuff (True) // Eh?
> Method_DoThingsAndStuff (Open file) // That's better.
> 
>> Removing constants from compiled / distribution code. For completed
> databases, yes. For components, no: I use constants
>> exported from components as a way of communicating with them, as
> selectors or parameters.
> 
> Good point. Yeah, better that this is an option. I'm still getting used to
> 4D's components and haven't thought everything through. Sometimes, I want
> exacty what you describe, other times what I want is to make sure that
> extra constants are tossed to avoid duplication up at the host database
> level. Best would be if 4D would check for duplicate constants and notify
> us. Righ now, you can stack multiple identical constants into the same
> system.
> 
>> I remember being bewildered when I started using 4D that the 4D Chart
> didn’t using constants for the huge
>> array of selectors passed to its routines, but needed me to remember
> numeric selectors.
> Oh, that's been fixed! They killed 4D Chart ;-) Oddly enough, the new
> charting (toy) feature GRAPH supports 8 chart types but they're specified
> by numerics without constants. I added my own custom constants for these.
> 
>> But I must confess to being a monster, sadly.
> You. Monster. I think that a lot of fancy conversations about programming
> style boil down to typing speed. I'm probably in the 80-90% in typing speed
> and I
> loveReallyLongNamesThatCompletelyDescribeWhatAMethodDoesClearlyAndCompletely.
> Others don't. I had a boss that typed like a chicken looking for corn. His
> names were, well, brief. No philosophy, it was just hard for him to get
> anything done because of his limited keyboard skills. There would have been
> no problem spreading some philosophy on top of that as an excuse but, well,
> it came down to only having a finger on each hand for typing.
> **
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

AW: Printing ListBox that is longer than a single page

2017-06-05 Thread Flury Olivier via 4D_Tech
Hi John,

The  component "FSTypeahead" contains a component "FSUty". This component 
contains a utility method called " Uty_PrintListBox".

This method prints the visible columns of a listbox using print object. It 
adapts the column width to the available space (horizontally) and does the 
necessary page breaks. The nice thing about doing it this way: its fully 
generic.

You can download it from here:

https://www.asuswebstorage.com/navigate/s/B7C6589918CD438E95737E069CB5A0D4W

It's free and open source.

Best,

Olivier

-Ursprüngliche Nachricht-
Von: 4D_Tech [mailto:4d_tech-boun...@lists.4d.com] Im Auftrag von John Baughman 
via 4D_Tech
Gesendet: Sonntag, 4. Juni 2017 00:03
An: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: John Baughman 
Betreff: Printing ListBox that is longer than a single page

I want to print a form that contains a single listbox. How do I make the list 
box print beyond the first page? Works great if the list fits on a single page, 
but only prints the first page if it is longer.

I have the listbox fully inside the detail area and have tried using PRINT 
SELECTION and Print Form. There is a text variable that needs to print as well 
above the listbox.

Looks like I need to use Print Object but need an example of how/where to use 
it.

Thanks,

John
**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

**
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**