AW: Numeric formatting of controls

From: cpc <"cpc">
Date: Fri, 28 May 2004 22:30:14 +0200

----boundary-LibPST-iamunique-1858653877_-_-
Content-type: text/plain

Dear Wojtek,

use Strings.RealToStringForm or TextMappers.WriteRealForm:

PROCEDURE (VAR f: Formatter) WriteRealForm (x: REAL; precision, minW,
                                                                                                                                                                                        expW: INTEGER; fillCh: CHAR)
Write real x. The numeral string used to represent the number is either in
fixed point or in scientific format. See also the description of
Strings.RealToStringForm.

Pre
f.rider # NIL (not explicitly checked)
precision > 0 20
0 <= minW < LEN(s) 21
-LEN(s) < expW <= 3 22

precision denotes the number of valid decimal places (usually 7 for short
reals and 16 for reals).
minW denotes the minimal length in characters. If necessary, preceding
fillCh will be inserted.
expW > 0: exponential format (scientific) with at least expW digits in the
exponent.
expW = 0: fixpoint or floatingpoint format, depending on x.
expW < 0: fixpoint format with -expW digits after the decimal point.
Numbers are always rounded to the last valid and visible digit.

Regards

Helmut


-----Ursprüngliche Nachricht-----
Von: skulski{([at]})nowhere.xy
Gesendet: Freitag, 28. Mai 2004 19:47
An: blackbox{([at]})nowhere.xy
Betreff: Numeric formatting of controls


Hi:

  is there a simple way to format numerical strings displayed
in Text Fields? The default formatting of REAL numbers is hardly
useful in the current implementation of Text Field. For example,
displaying a number -5.995171696219752E-8 makes little sense
in GUI. I would rather want to format this to something like
 -5.995E-8. Moreover, would be useful to perform such formatting
on the fly, without explosion of interactor variables in the code,
whose only purpose would be to reformat the variables to be shown
in the GUI.

To this end I looked at the definition of Dialog, hoping to use
either guards or notifiers to perform on-the-fly formatting.
To my dismay the definition of Dialog.Par does not allow for this,
because the internal text field is not exported. The label is exported,
and it can be changed on the fly, but the text field itself is not.

I wonder if there is a way to reformat the Text Field from the
default formatting to something more sensible.

Thank you in advance for any hints,
Wojtek

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word
"unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send
a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list
owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to
the mailing list. That way, the list server will recognize you as subscriber
and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are
subscribed, your message will be moderated to avoid spam. Please understand
that moderation will often cause some delay, in particular over weekends or
holydays.

--------------------------------------------

To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xy

To get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.

Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xy

Current posting policy:

a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.

b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.



----boundary-LibPST-iamunique-1858653877_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzc1xmY2hhcnNldDAgQXJpYWw7fQ0Ke1xmMVxmbW9kZXJuIENvdXJpZXIgTmV3O30NCntcZjJc
Zm5pbFxmY2hhcnNldDIgU3ltYm9sO30NCntcZjNcZm1vZGVyblxmY2hhcnNldDAgQ291cmllciBO
ZXc7fX0NCntcY29sb3J0YmxccmVkMFxncmVlbjBcYmx1ZTA7XHJlZDBcZ3JlZW4wXGJsdWUyNTU7
fQ0KXHVjMVxwYXJkXHBsYWluXGRlZnRhYjM2MCBcZjBcZnMyMCBEZWFyIFdvanRlayxccGFyDQpc
cGFyDQp1c2UgU3RyaW5ncy5SZWFsVG9TdHJpbmdGb3JtIG9yIFRleHRNYXBwZXJzLldyaXRlUmVh
bEZvcm06XHBhcg0KXHBhcg0KUFJPQ0VEVVJFIChWQVIgZjogRm9ybWF0dGVyKSBXcml0ZVJlYWxG
b3JtICh4OiBSRUFMOyBwcmVjaXNpb24sIG1pblcsXHBhcg0KXHRhYiBcdGFiIFx0YWIgXHRhYiBc
dGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIgXHRh
YiBcdGFiIFx0YWIgXHRhYiBcdGFiIFx0YWIgXHRhYiBcdGFiIGV4cFc6IElOVEVHRVI7IGZpbGxD
aDogQ0hBUilccGFyDQpXcml0ZSByZWFsIHguIFRoZSBudW1lcmFsIHN0cmluZyB1c2VkIHRvIHJl
cHJlc2VudCB0aGUgbnVtYmVyIGlzIGVpdGhlciBpblxwYXINCmZpeGVkIHBvaW50IG9yIGluIHNj
aWVudGlmaWMgZm9ybWF0LiBTZWUgYWxzbyB0aGUgZGVzY3JpcHRpb24gb2ZccGFyDQpTdHJpbmdz
LlJlYWxUb1N0cmluZ0Zvcm0uXHBhcg0KXHBhcg0KUHJlXHBhcg0KZi5yaWRlciAjIE5JTFx0YWIg
KG5vdCBleHBsaWNpdGx5IGNoZWNrZWQpXHBhcg0KcHJlY2lzaW9uID4gMFx0YWIgMjBccGFyDQow
IDw9IG1pblcgPCBMRU4ocylcdGFiIDIxXHBhcg0KLUxFTihzKSA8IGV4cFcgPD0gM1x0YWIgMjJc
cGFyDQpccGFyDQpwcmVjaXNpb24gZGVub3RlcyB0aGUgbnVtYmVyIG9mIHZhbGlkIGRlY2ltYWwg
cGxhY2VzICh1c3VhbGx5IDcgZm9yIHNob3J0XHBhcg0KcmVhbHMgYW5kIDE2IGZvciByZWFscyku
XHBhcg0KbWluVyBkZW5vdGVzIHRoZSBtaW5pbWFsIGxlbmd0aCBpbiBjaGFyYWN0ZXJzLiBJZiBu
ZWNlc3NhcnksIHByZWNlZGluZ1xwYXINCmZpbGxDaCB3aWxsIGJlIGluc2VydGVkLlxwYXINCmV4
cFcgPiAwOiBleHBvbmVudGlhbCBmb3JtYXQgKHNjaWVudGlmaWMpIHdpdGggYXQgbGVhc3QgZXhw
VyBkaWdpdHMgaW4gdGhlXHBhcg0KZXhwb25lbnQuXHBhcg0KZXhwVyA9IDA6IGZpeHBvaW50IG9y
IGZsb2F0aW5ncG9pbnQgZm9ybWF0LCBkZXBlbmRpbmcgb24geC5ccGFyDQpleHBXIDwgMDogZml4
cG9pbnQgZm9ybWF0IHdpdGggLWV4cFcgZGlnaXRzIGFmdGVyIHRoZSBkZWNpbWFsIHBvaW50Llxw
YXINCk51bWJlcnMgYXJlIGFsd2F5cyByb3VuZGVkIHRvIHRoZSBsYXN0IHZhbGlkIGFuZCB2aXNp
YmxlIGRpZ2l0LlxwYXINClxwYXINClJlZ2FyZHNccGFyDQpccGFyDQpIZWxtdXRccGFyDQpccGFy
DQpccGFyDQotLS0tLVVyc3ByXCdmY25nbGljaGUgTmFjaHJpY2h0LS0tLS1ccGFyDQpWb246IHNr
dWxza2lAcGFzLnJvY2hlc3Rlci5lZHUgW21haWx0bzpza3Vsc2tpQHBhcy5yb2NoZXN0ZXIuZWR1
XVxwYXINCkdlc2VuZGV0OiBGcmVpdGFnLCAyOC4gTWFpIDIwMDQgMTk6NDdccGFyDQpBbjogYmxh
Y2tib3hAb2Jlcm9uLmNoXHBhcg0KQmV0cmVmZjogTnVtZXJpYyBmb3JtYXR0aW5nIG9mIGNvbnRy
b2xzXHBhcg0KXHBhcg0KXHBhcg0KSGk6XHBhcg0KXHBhcg0KICBpcyB0aGVyZSBhIHNpbXBsZSB3
YXkgdG8gZm9ybWF0IG51bWVyaWNhbCBzdHJpbmdzIGRpc3BsYXllZFxwYXINCmluIFRleHQgRmll
bGRzPyBUaGUgZGVmYXVsdCBmb3JtYXR0aW5nIG9mIFJFQUwgbnVtYmVycyBpcyBoYXJkbHlccGFy
DQp1c2VmdWwgaW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgVGV4dCBGaWVsZC4gRm9y
IGV4YW1wbGUsXHBhcg0KZGlzcGxheWluZyBhIG51bWJlciAtNS45OTUxNzE2OTYyMTk3NTJFLTgg
bWFrZXMgbGl0dGxlIHNlbnNlXHBhcg0KaW4gR1VJLiBJIHdvdWxkIHJhdGhlciB3YW50IHRvIGZv
cm1hdCB0aGlzIHRvIHNvbWV0aGluZyBsaWtlXHBhcg0KIC01Ljk5NUUtOC4gTW9yZW92ZXIsIHdv
dWxkIGJlIHVzZWZ1bCB0byBwZXJmb3JtIHN1Y2ggZm9ybWF0dGluZ1xwYXINCm9uIHRoZSBmbHks
IHdpdGhvdXQgZXhwbG9zaW9uIG9mIGludGVyYWN0b3IgdmFyaWFibGVzIGluIHRoZSBjb2RlLFxw
YXINCndob3NlIG9ubHkgcHVycG9zZSB3b3VsZCBiZSB0byByZWZvcm1hdCB0aGUgdmFyaWFibGVz
IHRvIGJlIHNob3duXHBhcg0KaW4gdGhlIEdVSS5ccGFyDQpccGFyDQpUbyB0aGlzIGVuZCBJIGxv
b2tlZCBhdCB0aGUgZGVmaW5pdGlvbiBvZiBEaWFsb2csIGhvcGluZyB0byB1c2VccGFyDQplaXRo
ZXIgZ3VhcmRzIG9yIG5vdGlmaWVycyB0byBwZXJmb3JtIG9uLXRoZS1mbHkgZm9ybWF0dGluZy5c
cGFyDQpUbyBteSBkaXNtYXkgdGhlIGRlZmluaXRpb24gb2YgRGlhbG9nLlBhciBkb2VzIG5vdCBh
bGxvdyBmb3IgdGhpcyxccGFyDQpiZWNhdXNlIHRoZSBpbnRlcm5hbCB0ZXh0IGZpZWxkIGlzIG5v
dCBleHBvcnRlZC4gVGhlIGxhYmVsIGlzIGV4cG9ydGVkLFxwYXINCmFuZCBpdCBjYW4gYmUgY2hh
bmdlZCBvbiB0aGUgZmx5LCBidXQgdGhlIHRleHQgZmllbGQgaXRzZWxmIGlzIG5vdC5ccGFyDQpc
cGFyDQpJIHdvbmRlciBpZiB0aGVyZSBpcyBhIHdheSB0byByZWZvcm1hdCB0aGUgVGV4dCBGaWVs
ZCBmcm9tIHRoZVxwYXINCmRlZmF1bHQgZm9ybWF0dGluZyB0byBzb21ldGhpbmcgbW9yZSBzZW5z
aWJsZS5ccGFyDQpccGFyDQpUaGFuayB5b3UgaW4gYWR2YW5jZSBmb3IgYW55IGhpbnRzLFxwYXIN
CldvanRla1xwYXINClxwYXINCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tXHBhcg0KXHBhcg0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIG1haWxpbmcgbGlzdCwg
c2VuZCBhIG1lc3NhZ2UgY29udGFpbmluZyB0aGUgd29yZFxwYXINCiJ1bnN1YnNjcmliZSIgdG86
XHBhcg0KICAgYmxhY2tib3gtcmVxdWVzdEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBs
aXN0IG9mIHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVz
YWdlLCBzZW5kXHBhcg0KYSBtZXNzYWdlIGNvbnRhaW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRo
ZSBhYm92ZSBhZGRyZXNzLlxwYXINClxwYXINClNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBx
dWVzdGlvbnMgcmVsYXRlZCB0byB0aGlzIGVtYWlsIGxpc3QgdG8gdGhlIGxpc3RccGFyDQpvd25l
ciBhdFxwYXINCiAgIG93bmVyLWJsYWNrYm94QG9iZXJvbi5jaFxwYXINClxwYXINCkN1cnJlbnQg
cG9zdGluZyBwb2xpY3k6XHBhcg0KXHBhcg0KYSkgVG8gcG9zdCB5b3Ugc2hvdWxkIHVzZSB0aGUg
c2FtZSBhZGRyZXNzIGJ5IHdoaWNoIHlvdSBhcmUgc3Vic2NyaWJlZCB0b1xwYXINCnRoZSBtYWls
aW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBzZXJ2ZXIgd2lsbCByZWNvZ25pemUgeW91IGFz
IHN1YnNjcmliZXJccGFyDQphbmQgZm9yd2FyZCB5b3VyIHBvc3RpbmcgaW1tZWRpYXRlbHksIHdp
dGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXINClxwYXINCmIpIElmLCBmb3Igc29tZSBy
ZWFzb24sIHlvdSBjYW5ub3QgcG9zdCBmcm9tIHRoZSBhZGRyZXNzLCBieSB3aGljaCB5b3UgYXJl
XHBhcg0Kc3Vic2NyaWJlZCwgeW91ciBtZXNzYWdlIHdpbGwgYmUgbW9kZXJhdGVkIHRvIGF2b2lk
IHNwYW0uIFBsZWFzZSB1bmRlcnN0YW5kXHBhcg0KdGhhdCBtb2RlcmF0aW9uIHdpbGwgb2Z0ZW4g
Y2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRzIG9yXHBhcg0KaG9s
eWRheXMuXHBhcg0KXHBhcg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS1ccGFyDQpccGFyDQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbWFpbGluZyBsaXN0LCBz
ZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJ1bnN1YnNjcmliZSIgdG86XHBhcg0K
ICAgYmxhY2tib3gtcmVxdWVzdEBvYmVyb24uY2hccGFyDQpccGFyDQpUbyBnZXQgYSBsaXN0IG9m
IHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQgaW5zdHJ1Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBz
ZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3JkICJoZWxwIiB0byB0aGUgYWJvdmUgYWRk
cmVzcy5ccGFyDQpccGFyDQpTZW5kIGFueSBwcm9ibGVtIHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJl
bGF0ZWQgdG8gdGhpcyBlbWFpbCBsaXN0IHRvIHRoZSBsaXN0IG93bmVyIGF0XHBhcg0KICAgb3du
ZXItYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KXHBhcg0KQ3VycmVudCBwb3N0aW5nIHBvbGljeTpc
cGFyDQpccGFyDQphKSBUbyBwb3N0IHlvdSBzaG91bGQgdXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkg
d2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBtYWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0
aGUgbGlzdCBzZXJ2ZXIgd2lsbCByZWNvZ25pemUgeW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndh
cmQgeW91ciBwb3N0aW5nIGltbWVkaWF0ZWx5LCB3aXRob3V0IGNyZWF0aW5nIGFueSBvdmVyaGVh
ZC5ccGFyDQpccGFyDQpiKSBJZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJv
bSB0aGUgYWRkcmVzcywgYnkgd2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ug
d2lsbCBiZSBtb2RlcmF0ZWQgdG8gYXZvaWQgc3BhbS4gUGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBt
b2RlcmF0aW9uIHdpbGwgb2Z0ZW4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxhciBvdmVy
IHdlZWtlbmRzIG9yIGhvbHlkYXlzLlxwYXINClxwYXINCn0

----boundary-LibPST-iamunique-1858653877_-_---
Received on Fri May 28 2004 - 22:30:14 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:28:44 UTC