Re: Contextual Cut, Copy & Paste...?

2017-06-27 Thread Keisuke Miyako via 4D_Tech
the source code for this example is lost,
but an early version (with bugs) is still hosted here:

http://forums.4d.fr/Post//6273875/1

> 2017/06/27 17:51、Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> http://sources.4d.com/trac/4d_keisuke/wiki/CustomContextualMenu




**
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: Contextual Cut, Copy & Paste...?

2017-06-27 Thread Keisuke Miyako via 4D_Tech
contextual (or otherwise) click on an editable text input is only available in 
v14 or later,
in older version you need to work around with ON EVENT CALL.

http://sources.4d.com/trac/4d_keisuke/wiki/CustomContextualMenu

but then, if your are on v14 or later,
you could simply use the built-in contextual menu...

> 2017/06/27 9:47、Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> のメール:
> On clicked event with Contextual Click.



**
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: Rotate Picture in 4D

2017-06-27 Thread Keisuke Miyako via 4D_Tech
by the way,

GD has a rotate function too,

https://github.com/miyako/4d-plugin-gd

also available via 4D native PHP


**
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: Rotate Picture in 4D

2017-06-25 Thread Keisuke Miyako via 4D_Tech
it's not so much "my" component since rotating a picture is an innate feature 
of SVG.
the only the component does it is make sure the center of rotation is at the 
center of the image.

did you look into the source of the resulting SVG?
the center of rotation is probably wrong.

https://github.com/miyako/4d-component-rotate-picture

> 2017/06/26 4:51、Peter Mew via 4D_Tech <4d_tech@lists.4d.com> のメール:
> I am trying to use Miyako's rotate picture component in v13.




**
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: Storing an using Print sttings

2017-06-22 Thread Keisuke Miyako via 4D_Tech
There used to be a compatibility issue onWin10 and 15.2 (ACI0095543)
but that should be fixed now.

as for the 194 bytes, that is standard behaviour;
it only returns the size of the platform agnostic settings,
which is a header (signature and version  8 byte)  + print parameters (66 byte) 
+ mac THPrint (120 byte)  = 194 byte

http://doc.4d.com/4Dv15/4D-Pack/15/AP-Print-settings-to-BLOB.301-2049436.en.html

it does not return the full info on Windows,
which is dmSize = 220 plus dmDriveExtra = 8548

https://msdn.microsoft.com/en-us/library/windows/desktop/dd183565(v=vs.85).aspx

the commands are deprecated in v16,
in favour of a native command.

http://doc.4d.com/4Dv16/4D/16/BLOB-to-print-settings.301-2999340.en.html


on earlier versions,
you might want to consider a solution from Heubach Media.

hmRep_Print settings to BLOB
hmRep_BLOB TO PRINT SETTINGS

http://hm2.heubach-media.de/projektis/hmReports/4_0/Documentation/hmReports_EN_INDEX.HTM



**
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: Sending Emails Quicker?

2017-06-20 Thread Keisuke Miyako via 4D_Tech
4D Internet Commands is not multi-threaded so using multiple processes will 
have no positive effect on speed.

why not use a single process, login once and reuse the same SMTP reference?

for example, commands such as SMTP_Body has a "replace" option.

> 2017/06/21 8:21、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> Thanks Jim. Due to windows security issues the user can only send these
> emails from the Client Machine. It seems to really slow down their computer
> when distributed over 3 or 4 processes. It will be interesting to see how
> much improvement v16 brings in.




**
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: Enterable Variables in Output Form headers

2017-06-18 Thread Keisuke Miyako via 4D_Tech
p.142 4D v11 SQL Upgrade Reference

ftp://ftp.4d.com//ACI_PRODUCT_REFERENCE_LIBRARY/4D_PRODUCT_DOCUMENTATION/PDF_Docs_by_4D_Product_A-Z/4D/4D_v11_SQL/4D_v11_Upgrade.pdf

section "Why Use Project Forms?"

quote:

Lastly, project forms can be used to create interfaces that comply with OS 
standards more easily. In particular, calling (via the DIALOG command ) project 
forms that display the selections of records in subforms is now recommended by 
4D for the display of records in list form. With a little additional 
programming, this combination is an improvement on the MODIFY SELECTION and 
DISPLAY SELECTION commands.

> 2017/06/19 4:00、Robert Livingston via 4D_Tech <4d_tech@lists.4d.com> のメール:
> I have never seen anything from 4D that these commends were headed into the 
> sunset. That these were "old commands".




**
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: Cleaning Text & Replace string speed

2017-06-15 Thread Keisuke Miyako via 4D_Tech
as a match regex exercise, you could do...

$test:=Method1 ("abcdefghijklmnopqrstuvwxyz";\
Character code("k");Character code("m");\
Character code("d");Character code("y"))
  //dklmy

>   // 
>   // Method: StringOmit
>   // -   Uses REPLACE STRING* to clear characters
>   // INPUT1: Text - to strip
>   // INPUT2: Longint - lowest allowed character code
>   // INPUT3: Longint - highest allowed character code
>   // INPUT{4}: Longint - additional allowed character codes
>   //
>   // OUTPUT:  Text - with remaining characters
>   // 
>
> C_TEXT($1;$in;$0;$out)
> C_LONGINT($2;$3)
> C_LONGINT(${4})
>
> C_LONGINT($i;$pos;$len)
> C_TEXT($min;$max;$motif)
>
> $min:="\\u"+Substring(String($2;"");3)
> $max:="\\u"+Substring(String($3;"");3)
>
> $motif:="["+$min+"-"+$max
>
> For ($i;4;Count parameters)
> $motif:=$motif+"\\u"+Substring(String(${$i};"");3)
> End for
>
> $motif:=$motif+"]+"
>
> $in:=$1
>
> $i:=1
>
> While (Match regex($motif;$in;$i;$pos;$len))
> $out:=$out+Substring($in;$pos;$len)
> $i:=$pos+$len
> End while
>
> $0:=$out
>



**
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: LDAP user validation

2017-06-10 Thread Keisuke Miyako via 4D_Tech
if you haven't already,
I would invite you to watch this short clip:

http://blog.4d.com/single-sign-on-sso/

it's about a different feature, SSO,
but LDAP does get a mention in the latter part of the demo.

1) use the user-supplied username/password to log into the LDAP server and
see if the login works?

no you do not.

you use LDAP to lookup a person't credentials in the company,
but you do not user their passwords to login to LDAP,
you use a system user name and password hardcoded in server-side code.

in this example,

http://doc.4d.com/4Dv16/4D/16/LDAP-LOGIN.301-3035949.en.html

the system logs in to LDAP as "John Smith",
with a hard-coded user name and password,
in order to lookup the credentials for "John Doe", the current user.
the password was entered in the 4D login dialog the usual way,
it was verified in 4D,
LDAP was not involved in the verification.

integrating Active Directory, or rather, delegating 4D user login to the domain 
server s a different feature.

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Single-Sign-On-SSO-on-Windows.300-3176522.en.html



**
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: HTTP Get when a domain name returns multiple IP addresses

2017-06-09 Thread Keisuke Miyako via 4D_Tech
I would invite you to test the latest nightly build which fixes ACI0096586

http://bugs.4d.fr/fixedbugslist?Branch=16

"HTTP Get" request fails with certain https web sites

> 2017/06/09 16:03、lists--- via 4D_Tech <4d_tech@lists.4d.com> のメール:
> but not from 4D Any ideas appreciated.




**
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: Need plugin that will set macOS window modified indicator

2017-06-07 Thread Keisuke Miyako via 4D_Tech
just posted:

https://github.com/miyako/4d-plugin-window-button

> 2017/06/08 4:25、Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I’m looking for a plugin that can be used with 4D v14+ to set the window 
> modified indicator. You know the little black dot in the center of red close 
> button in the window title bar.
>
> I found a Miyako plugin called “Carbon Window Manager” but it specifically 
> states it only works with old style Carbon windows. Newer versions of 4D have 
> native Cocoa windows.
>
> Miyako do you have a plug that works with current versions of 4D?



**
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:

2017-06-06 Thread Keisuke Miyako via 4D_Tech
true, some editors are so smart they replace two dashes with a single long dash.


Re: Dynamic Process Variables???

2017-06-06 Thread Keisuke Miyako via 4D_Tech
it's worth keeping in mind that the internal design of a pointer has been 
updated in v15.

this is documented.

> RESOLVE POINTER now returns -1 instead of 0 in fourth parameter for pointers 
> on variables and single dimension arrays.
> When passing a pointer on an element of a two dimensional array, the fourth 
> parameter receives the element number of the second dimension.
>
> Get pointer command has been rewritten to interpret the specified string as a 
> formula and analyze produced tokens. Therefore, invalid names for a variable 
> are now rejected: Get pointer("123") used to be accepted but now produces 
> error 77 "Bad variable name". Another consequence is that extraneous white 
> spaces are now supported: Get pointer(" a ") was being rejected and is now 
> accepted for "->a". Pointer on two dimensional arrays are now accepted: Get 
> pointer( "a{1}{2}") produces ->a{1}{2}.


http://doc.4d.com/4Dv15/4D/15/Get-pointer.300-2018637.en.html



**
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: syntax : pointer to an element of a sub-array of 2D array

2017-06-02 Thread Keisuke Miyako via 4D_Tech
sometimes its much easier to simply COPY ARRAY the whole array and back.

> 2017/06/02 22:46、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> And this is where the dereferencing a pointer to a 2D array, sub-array
> access problem is occurring, inside the component method and it's
> internal method calls for parameter validation (my post on Type issue),
> and for resizing the sub-array(s) for field information (this post).




**
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: Empty 2D arrays - how to determine type

2017-06-01 Thread Keisuke Miyako via 4D_Tech
F.Y.I.

Type() returns 18 in the subroutine as well, in v16.

it seems like you are pushing the limits of v13 in terms of generic coding.

> 2017/06/02 6:14、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> if ($Type= 13)
>  $Type:=Type($Array->{0})  //$Type = 5 (interpreted) -- Is Undefined
>  // WTF! ! ! !
> end if




**
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: 4D web server protected by a proxy server - pdfs don't come through

2017-05-31 Thread Keisuke Miyako via 4D_Tech
did you Google for that error message?

2017/06/01 6:52、Jim Hays via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
"Resource interpreted as Document but transferred with MIME type
application/pdf"



**
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: Procedural Splitter Movement

2017-05-30 Thread Keisuke Miyako via 4D_Tech
it depends on *how* you procedurally move the splitter.

say you have a splitter (which has a numeric data source)

assigning a value like

Splitter:=Splitter-10

will move it to the left (or up) and other objects will follow.

but OBJECT MOVE will be shifting its base, so it will not interact with other 
objects.

2017/05/30 23:49、Stephen J. Orth via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

Either I’m having a brain-fart, or just not remembering correctly on this 
topic...

If I procedurally move a splitter, will the objects surrounding this splitter 
adjust accordingly? I'm looking for the same response that would occur if the 
mouse is used to move the splitter, except I want to do it procedurally.


**
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: USE DATABASE from 4D client

2017-05-30 Thread Keisuke Miyako via 4D_Tech
rather activating the "execute on server" method property,
I would recommend using the REMOTE keyword:

http://doc.4d.com/4Dv15/4D/15/USE-DATABASE.300-2288124.en.html

2017/05/30 23:25、David Samson via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

One suggestion I saw on the NUG was to access it from the server using the
"Execute on Server" property on a method and then apparently the locking is
taken care of by the 4D server.



**
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: USE DATABASE from a component. ?

2017-05-29 Thread Keisuke Miyako via 4D_Tech
that you can avoid by passing AUTO_CLOSE.

the advantage of not using AUTO_CLOSE is that the structure definition of the 
external database is cached,
so subsequent access becomes faster.
it's useful, for example, if you want to switch contexts several times.

2017/05/30 9:12、David Adams via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

* There are some options on how to do the path. I found converting to Posix
on macOS let me use the file once but afterwards it remained open and
locked. (And only unlockable by quitting 4D.)



**
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: USE DATABASE from a component. ?

2017-05-29 Thread Keisuke Miyako via 4D_Tech
that's the idea.
Component.4DC would have an empty placeholder
Component.4DD,
even if Component and Product were in fact identical.

whether to put the data inside Resources
is a decision based on whether you want the data to be sent to the client.

although you can place multiple 4DB/4DC/4DD inside a 4dbase,
there is a warning displayed once
if you open a structure whose name doesn't match that of the package.

2017/05/30 8:32、David Adams via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

Component.4dbase
  Component.4DC
  Products.4DB
  Products.4DD

Or

  Component.4DC
  Resources
   Products.4DB
   Products.4DD

Something like that. The code is in Component.4DC, the structure definition
is in Products.4DB and the data is in Products.4DD.

Is that the idea? If so, I can make that work.



**
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: USE DATABASE from a component. ?

2017-05-29 Thread Keisuke Miyako via 4D_Tech
opening a 4DC/4DD pair as an external database does not make sense.
I mean, it kind of makes sense,
but I can't see why it has to be done using a 4DC.

there are not methods, including triggers, to call in that context,
so what is the virtue of the structure file being compiled?

you can create a 4DB with no form, menus or users using SQL,
you can create a 4DB with no code from an XML definition.

in any case, the 4DD is what you really want to open;
just go ahead with 4DB, the result is exactly the same.

2017/05/29 15:09、David Adams via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

I've manually changed permissions on all of the files to be...generous.
(What's up with that? Is this normally required? It seems so in my case on
OS X.)

I've tried opening up the .4DC from inside of the component and selecting
the .4DD right next to it before moving the component over to the host. No
help.

I've tried specifying .4DC in the USE DATABASE path, but that doesn't work
at all.

Suggestions appreciated.



**
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: Please give us a split-pane in the Method Editor

2017-05-29 Thread Keisuke Miyako via 4D_Tech
I felt splitting panes was more alike a carry over from classic Mac OS,
that the "removal" was more a case of "not (easily) portable" to newer SDKs.
(also being less critical as screen sizes got bigger)

true, many code editors have a similar feature,
but more relevant in a "diff" context.

meanwhile, check out this feature in 16R3:
http://blog.4d.com/merge-your-windows-into-tabs-on-mac-os-sierra/

2017/05/30 6:36、David Adams via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

Please give us a split-pane in the Method Editor
http://forums.4d.fr/Post//19482991/1/

Please vote for this feature request. And if anyone wants to make a better
argument, please do! It's early here and I'm not at my best yet...



**
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: USE DATABASE from a component. ?

2017-05-29 Thread Keisuke Miyako via 4D_Tech
are you sure that the index is "embedded"?

it's true that an external database created using SQL does not have an 
accompanying 4DIndx,
but an MSC repair would add one.

and if you open that database with USE DATABASE,
the 4DIndx is opened too,
so I would assume that the index is external to the 4DD.

2017/05/29 22:20、Tim Nevels via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

I think you do have to create the external data file with SQL. It has a special 
format. Notice that if you index fields in the external data file it does not 
create a .4dindx file. The index is embedded inside the data file.

"Normal" 4D data files have the indexes stored in "segment 64" which is the 
.4dindx file. Segments didn't die, they are just hidden from us.



**
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: USE DATABASE from a component. ?

2017-05-29 Thread Keisuke Miyako via 4D_Tech
yes, the original (during beta) specification was that an external database 
must be created using SQL,
but that changed in the release of v12, as explained in the documentation:

An external database is a standard 4D database. It can be opened and worked 
with as the main database by a 4D or 4D Server application. Conversely, any 
standard 4D database can be used as an external database.

http://doc.4d.com/4Dv15/4D/15/CREATE-DATABASE.300-2288130.en.html

incidentally, I wrote a tool that generates SQL to replicate a 4DB
https://github.com/miyako/4d-utility-structure-to-sql-converter
but that is pretty much useless now...

2017/05/29 20:54、Wayne Stewart via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
The other possibility is I may be recalling a restriction from a previous
version or beta of course.



**
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: Picture Buttons in v16

2017-05-29 Thread Keisuke Miyako via 4D_Tech
I would recommended converting the source pictures inside the library, from 
PICT to PNG.
there is nothing wrong with using the picture library, you can consider 
resource files in new development.

so, take a 32-bit v16,
iterate all pictures in your picture library,
use GET PICTURE FORMATS to detect PICT,
CONVERT PICTURE to PNG,
(optionally) TRANSFORM PICTURE to add transparency,
then save back to the library using the same name/ID.

> 2017/05/29 17:13、Sannyasin Siddhanathaswami via 4D_Tech 
> <4d_tech@lists.4d.com> のメール:
>
> Now I’m trying to convert picture buttons. A ton of our forms use them. 
> Picture buttons with a source of “Picture Library” and an ID # are in the old 
> format and don’t show with v16.1 64bit Mac version. If I change the “Source” 
> to file and give a path to the resource folder “.png” version, it works fine.
>
> Is there a simple way to convert all my buttons to a format that works? I 
> can’t find anything in the conversion documentation.




**
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: Favorite tricks and keystrokes: Please take one and leave on

2017-05-28 Thread Keisuke Miyako via 4D_Tech
- grab a window anywhere and move
control+left click+right click on Windows; control+command+drag on macOS

- trace a process
alt+shift+right click on Windows; option+command+right click on macOS

- skip On Startup
edit "*.4DLink" file: skip_onstartup_method="true"

- launch multiple instances of 4D Remote and connect to the same server
create "ClientLocal" folder adjacent to 4D

- display information about a form object in application mode
control+shift+mouse over

- display Runtime Explorer as a palette
control/command+shift+F9

- reset window positioning
delete Get 4D folder/4D Windows Bounds v{version}

---

built-in log features

SET DATABASE PARAMETER
{
Debug log recording,
Diagnostic log recording,
4D Server log recording,
4D Client log recording
}

built-in analytic features

LOG EVENT
DESCRIBE QUERY EXECUTION
GET MEMORY STATISTICS
FLUSH BUFFERS(*) / FLUSH CACHE(bytes)
GET ACTIVITY SNAPSHOT
Get locked records info
Get database measures



**
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: https not working

2017-05-26 Thread Keisuke Miyako via 4D_Tech
is the file in pem format?
some agencies issue p12 or even der certificates.

c.f.
https://github.com/miyako/4d-plugin-convert-certificate

> 2017/05/27 3:07、David Ringsmuth via 4D_Tech <4d_tech@lists.4d.com> のメール:
> We just installed a new cert.pem from QualitySSL.
> I’ve evaluated the cert.pem with my openSSL tools and verified its good, and 
> the modulus matches the key.pem.
> 4D Server is showing 443 open, active, but is not responding to any requests.
> I’ve given the cert/key.pem to Pascal, and am waiting for a response from him.




**
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: Write.4dbase Component ???

2017-05-26 Thread Keisuke Miyako via 4D_Tech
Hello,

it might be an early edition of this component:

https://github.com/miyako/4d-component-write-converter

originally a 2011 Summit presentation

http://kb.4d.com/assetid=76535

> 2017/05/26 10:05、Randy Engle via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Write.4dbase



**
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: OB Get on Time Field

2017-05-25 Thread Keisuke Miyako via 4D_Tech
OB Get is simply doing the reverse of OB SET, which sets milliseconds for time.

If you want to convert an ISO GMT timestamp to 4D local date or time you can 
use the Date and Time commands, which were upgraded in v14:

$timestamp:="2017-05-25T23:00:00.294Z"  //next day in Japan

$date:=Date($timestamp)  //returns the local date
$time:=Time($timestamp)  //returns the local time

---

alternatively...

C_TIME($time)
XML DECODE($timestamp;$time)  //returns the local time

$param85:=Get database parameter(JSON use local time)
SET DATABASE PARAMETER(JSON use local time;1)

$date:=JSON Parse(Char(Double quote)+$timestamp+Char(Double quote);Is date) 
//returns the local date

SET DATABASE PARAMETER(JSON use local time;$param85)



**
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: OB Get on Time Field

2017-05-24 Thread Keisuke Miyako via 4D_Tech
the same question was posted on the forums a couple of days ago.
time values are represented in milliseconds,
so a date string, the first part of which is the year 2017,
approximates to 2 seconds past midnight.

> 2017/05/25 8:32、Tom Dillon via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> OB Get($OBGenInfo;"created";Is date) with
> But, time always returns ?00:00:02? using:
> OB Get($OBGenInfo;"created";Is time)
> Or is the time a count down 'till an IPA or maybe steamer lager?



**
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: Compatibility Mode v12 (How to change to Unicode?)

2017-05-23 Thread Keisuke Miyako via 4D_Tech
there is a way to apply a specific encoding for each table during conversion

ftp://ftp-public.4d.fr/Documents/Products_Documentation/LastVersions/Line_11/VIntl/PDF_Format/4D_v11_Upgrade.pdf

see the description for "multilang.txt"

> 2017/05/23 19:42、Alan Chan via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> However, data in other non-roman character sets couldn't be viewed correctly 
> and
> requires manual update (re-enter the field).




**
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: Compatibility Mode v12 (How to change to Unicode?)

2017-05-22 Thread Keisuke Miyako via 4D_Tech
> 1) What happens to the existing text data in records (and indexes) if I 
> check-mark "Unicode" in the Compatibility tab?

the data is unchanged but the index will be rebuilt the next time you open the 
application (structure+data).
behaviour of string-related features are all different in Unicode mode *if you 
use any characters other than ASCII letters*.
so existing data can be modified by running legacy code on such characters, 
after the switchover.

> 2) Will all text data in records (and also indexes) be automatically 
> converted to Unicode?

they are already converted to Unicode.
compatibility mode is effectively a layer on top of the actual data,
that converts to and from Unicode every time you access text.
that's why it's slow and lossy.
switching to Unicode mode means you do away with that layer and work directly 
with their internal representation.

> 3) How do I convert the existing text data in records (and indexes) to 
> Unicode?

you don't.



**
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: SSL RC4 cipher problems

2017-05-22 Thread Keisuke Miyako via 4D_Tech
I think you need to specifically set a list with SET,
or else the default hard-coded setting is used but the function returns "".

you could set a value found here

https://wiki.mozilla.org/Security/Server_Side_TLS

and compare the results (you don't need to restart the web server)

> 2017/05/23 7:43、larue via 4D_Tech <4d_tech@lists.4d.com> のメール:
> What am I doing wrong?




**
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: Can't delete methods

2017-05-17 Thread Keisuke Miyako via 4D_Tech
have tried deleting those 4 methods on the home tab of Explorer, as opposed to 
the methods tab?



**
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: Is it possible to do a search in the file system from 4D

2017-05-16 Thread Keisuke Miyako via 4D_Tech
DOCUMENT LIST with the "Recursive parsing" options gives you all the file paths 
contained in a folder
(since v13)

http://doc.4d.com/4Dv15/4D/15.4/DOCUMENT-LIST.301-3274226.en.html

it has some other useful options too (Ignore invisible, Absolute path)
tha makes a lot of previous code for recursive searching pretty redundant.

> 2017/05/16 15:59、John Baughman via 4D_Tech <4d_tech@lists.4D.com> のメール:
>
> I have a method that recursively crawls through a volume or folder to locate 
> a file, but it is relatively slow. It is pasted below. Any ideas to make this 
> more efficient or know how to use LEP to do a file search. Needs to work on 
> both Mac and Windows.



**
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: Importing Data from a SQL-database (Firebird} [ was: How to detect EOL character in text file]

2017-05-16 Thread Keisuke Miyako via 4D_Tech
I think SQL EXECUTE SCRIPT is more suited for managing long SQL statements,
rather than creating a method with Begin SQL~End SQL

http://doc.4d.com/4Dv15/4D/15/SQL-EXECUTE-SCRIPT.301-2007434.en.html




**
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: Is it possible to do a search in the file system from 4D

2017-05-16 Thread Keisuke Miyako via 4D_Tech
as long as the files are moved on the same file system,
and the files are moved or edited, and not over-written (many applications do 
that silently...)
then you might be able to track those files by keeping their number.

https://github.com/miyako/4d-plugin-file

-

I am working on a side-project for S/MIME PGP support plugin,
and had forgotten to disable email signature replying to the list...


**
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: Importing Data from a SQL-database (Firebird} [ was: How to detect EOL character in text file]

2017-05-16 Thread Keisuke Miyako via 4D_Tech
This message contains a digitally signed email which can be read by opening 
the attachment.


**
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: Is it possible to do a search in the file system from 4D

2017-05-16 Thread Keisuke Miyako via 4D_Tech
This message contains a digitally signed email which can be read by opening 
the attachment.


**
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: Missing Edit Menu

2017-05-14 Thread Keisuke Miyako via 4D_Tech
in general (regardless of version, that is),
you need to call SET MENU BAR in new each process if want a menu bar to show up,
you also need to have the "active menu bar" property for a form
if you want the menu to respond during a dialog.

the property is only selectable if you have associated a menu bar to the form,
but you can change that menu bar by calling SET MENU BAR after the dialog has 
begun.

until v6.8 the edit menu was automatically appended.
in recent versions, you need to specifically create an edit menu.

2017/05/15 5:02、Jim Medlen via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

The Edit Menu is Missing. The ability to copy and paste from the clipboard
is missing.

Is there a way to Enable the Edit Menu when executing a method from a Menu
Item?


**
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 to detect EOL character in text file

2017-05-13 Thread Keisuke Miyako via 4D_Tech
if you are on v14 or later,
"Document to text" will normalise the end-of-line to whichever one you prefer.

http://doc.4d.com/4Dv15/4D/15.4/Document-to-text.301-3274243.en.html

it's better than using regex not knowing what the end-of-line is in the loaded 
text.

2017/05/13 17:16、Jörg Knebel via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
Given an unknown text-file, how can one detect the correct EOL programmatically 
in 4D?



**
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: Finding where a filter or format is used in a structure

2017-05-12 Thread Keisuke Miyako via 4D_Tech
you could FORM GET NAMES ,
iterate with FORM LOAD, FORM GET OBJECTS, OBJECT Get filter
and process the results.

alternatively,
you could create a copy of the structure,
delete the filter in toolbox and run MSC verify.

2017/05/12 20:08、Paul Lovejoy via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

With the good old 4D Insider it was easy to find where filters and formats 
created in the Toolbox were used in a structure. This feature disappeared with 
v11 and I certainly miss it, as I have to remove filters from fields and 
variables in v15 which are causing problems with certain accented characters 
(per my topic "Circumflex strangeness with v15 on OS X 10.10.5”.

Is there a way in v15 to find where filters and formats are used?


**
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: Hex Colour Picker in Listbox

2017-05-11 Thread Keisuke Miyako via 4D_Tech
a good place to start would be:

Select RGB Color
http://doc.4d.com/4Dv16/4D/16.1/Select-RGB-Color.301-3374833.en.html

 OPEN COLOR PICKER
http://doc.4d.com/4Dv16/4D/16.1/OPEN-COLOR-PICKER.301-3374843.en.html

> 2017/05/11 17:47、Douglas Cryer via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> Automatically map common colours to hex colours (via a lookup
> Provide a hex colour picker that I can use in a listbox
> Use the returned/edited hex colour to do one of the following:
> Set the text colour to the chosen hex value
> Set the row or cell colour to the chosen hex value
> Is there an example of this anywhere?




**
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: Circumflex strangeness with v15 on OS X 10.10.5

2017-05-11 Thread Keisuke Miyako via 4D_Tech
how is the user typing the circumflex character?
assuming the U.S. keyboard layout is used,
option+I would enter a combining circumflex with yellow background.
following it with another letter would yield the accented character.
but other keyboard layouts (U.S. extended, or FR, for example) have other 
conventions.

there is also the feature that allows the user to long-press a key to enter 
accented characters.

last but not least, it the problem restricted to 4D or any application?

> 2017/05/11 22:54、Paul Lovejoy via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> We have noticed an annoying issue with the circumflex character (^) on OS X 
> 10.10.5.
>
> If a user wants to write the word capôter, the circumflex “^" is typed before 
> typing the “o". The system then placed the circumflex on top of the o to 
> produce “ô".
>
> What we are seeing is cap^ôter instead of capôter because somehow the user 
> gets two circumflexes even though only one was typed (wish ATMs worked that 
> way).
>
> Has anyone else seen this? Perhaps there’s a compatibility setting I’m 
> missing somewhere?
>
> It seems to work fine on OSX 10.12x



**
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: PDF Manuals for v16

2017-05-11 Thread Keisuke Miyako via 4D_Tech
Hello,

we (4D Japan) used the same process to publish our PDF documentation in 
Japanese,
the files are uploaded here for your convenience:

http://library.4d-japan.com/REFERENCE/v16/EN/

> Any information when we can expect the PDF-Manuals for v16?



**
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: OBJECT SET ENABLED

2017-05-10 Thread Keisuke Miyako via 4D_Tech
well, I can confirm that this does work:

OBJECT SET ACTION(*;"Button";Object No standard action)
OBJECT SET ENABLED(*;"Button";False)

OBJECT SET ACTION(*;"Button";Object Next page action)
OBJECT SET ENABLED(*;"Button";True)

> 2017/05/11 9:39、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Next Page, Previous Page for example:




**
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: OBJECT SET ENABLED

2017-05-10 Thread Keisuke Miyako via 4D_Tech
out of interest,
why would you want to over-ride the enabled/disabled state of an object with 
standard action?

B.T.W.

until v13, automatic (a.k.a. standard action) objects needed to have an 
associated variable.
since v14, they work with form-local variables, which implied that they now 
identify themselves by names.
(but you say they worked in v15, so I guess that does not tell the full story)

it depends on how you manage your automatic action objects,
but perhaps you could dynamically change their behaviour with OBJECT SET ACTION

http://doc.4d.com/4Dv16R3/4D/16-R3/OBJECT-SET-ACTION.301-3218605.en.html

> 2017/05/10 12:19、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> So in addition to changing DISABLE/ ENABLE BUTTON to OSE you also need to
> handle the automatic action somewhere else




**
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: 4D_Pack Replacement commands in v16

2017-05-10 Thread Keisuke Miyako via 4D_Tech
EXPORT STRUCTURE gives all the information (and more) you could get for a 
table, field, relation or index.

there is a nice demo on the official blog:

http://blog.4d.com/detailed-analysis-database-structure/

> 2017/05/10 19:29、Jörg Knebel via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> Would someone please care to mention where one can find the replacement for 
> commands from the Pack like:
>
> _o_AP Get table info




**
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: Resources v14

2017-05-10 Thread Keisuke Miyako via 4D_Tech
your XLIFF file is already a resource,
you don't have to load it explicitly.

if the file is inside your current localisation folder (Resources/en.lproj)
it is automatically loaded when you start your application,
and automatically re-loaded each time you activate a window in design mode.

to access your resource



Account Management


you call

Get localised string("Account Management")

or

Get indexed string(21000;1)

in code,

:xliff:Account Management

or

:21000,1

for a form object label.

2017/05/09 7:41、Eduardo Souza via 4D_Tech 
<4d_tech@lists.4d.com> のメール:

The question concerns "Resources" and I would like to ask for help to make 
"MyArchive.xlf" file into a Resource that can be used by 4D v14 throughout the 
code.

Using the command "Open Resource File", in the many attempts I made, nothing 
worked out.
If we don't have a resID none of the Resources functions can be used.



**
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: POINTER TO ARRAY

2017-05-10 Thread Keisuke Miyako via 4D_Tech
because local variable do not have a name in compile mode,
Get pointer (which works on names) does not work for local variables.

2017/05/11 6:39、stardata.info via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
Someone know because?


**
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: 4D Write Pro Interface component

2017-05-08 Thread Keisuke Miyako via 4D_Tech
the 4D Write Pro feature "horizontal ruler" was added in 16R2
http://blog.4d.com/4d-write-pro-horizontal-ruler/

> Anyone know how to get that ruler to show?




**
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: Bar code

2017-05-07 Thread Keisuke Miyako via 4D_Tech
Hello,

the plugin returns a regular picture (you have the choice between PNG and SVG) 
so you should be able to use regular picture commands,
such as PICTURE PROPERTIES, TRANSFORM PICTURE, or even picture operators.

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/PICTURE-PROPERTIES.301-3111814.en.html
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/TRANSFORM-PICTURE.301-3111801.en.html
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Picture-Operators.300-3111968.en.html

> 2017/05/08 2:53、stardata.info via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Work well but i need to reduce the dimension of bar code that i obtain, 
> because i have few space in my label.




**
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: Preemptive mode flaw

2017-05-07 Thread Keisuke Miyako via 4D_Tech
the reason why I think

> CALL WORKER("Preemptive_Worker";"MethodWithCooperativeCode")

or more specifically

> CALL WORKER("Preemptive_Worker";"MethodWithPreemptiveCode")
> CALL WORKER("Preemptive_Worker";"MethodWithCooperativeCode")

is not a problem goes like this:

4D performs 2 checks; checking at compilation time, and checking at runtime.

the first check is well documented. every method with the "run preemptive" 
property is validated,
that no thread-unsafe commands or methods or inter-process variables or plugins 
or Begin SQL~End SQL blocks are called.
if the "use preemptive web processes" database property is activated,
web-related database methods, compiler_web, triggers and methods that are 
public on 4D Mobile are also validated.

then there is the second, runtime (or platform) check.
unicode mode must be active, the app must be 64-bit, compiled, the type must be 
either server or desktop.
if none of these conditions are met, all processes are automatically 
cooperative, no error.

and this is where we feel like we are entering uncharted territory; the list of 
"what if" s.

I try to categorise the potential issues this way:

1. references

any "references", that are "safe" in that they are not interprocess variables 
(therefore pass the first test),
only work within the same preemptive process that created it, or across 
cooperative processes.
these include DocRef, DOM ref, and yes, pointers.

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Preemptive-4D-processes.300-3111846.en.html

the code pass the first test, but breaks in that the references are invalid.
the error itself does not suggest thread-safety per-se,
they are just classic runtime errors due to invalid references.

there is a special provision for objects; an implicit OB Copy is called by CALL 
WORKER.
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/CALL-WORKER.301-3111543.en.html

2. execution

using interprocess variables inside PROCESS 4D TAGS,
EXECUTE FORMULA, EXECUTE METHOD, etc.
the process has already been started as preemptive,
but an attempt to run cooperative code in the same context has been made.

the error specifically mentions that thread-safety is the problem.

3. calling

I think this is the type of issue we are discussing right now.

CALL WORKER is used to "run cooperative code in an existing preemptive process"
it is similar to issue #2 but different in the sense that it is not the current 
context that is asked to break thread safety.
when asked to "call worker", 4D already knows that the method is thread unsafe, 
and so is the target process (worker).
the instruction is simply impossible to execute.
so what happens? nothing (that has been my experience).

incidentally, what I find interesting about CALL WORKER is  that a worker 
remembers the name of the method that started it off,
and you can invoke that method by passing an empty string.

http://doc.4d.com/4Dv16R2/4D/16-R2.1620/CALL-WORKER.301-3111543.en.html

if we followed that rule and always passed an empty string, we would never have 
this problem. just saying...

now your feature request, if I understand correctly, talks about detecting, on 
the receiving end,
if a request to execute cooperative code has been received in a preemptive 
process.
I think it is not a problem, since there is nothing to receive since CALL 
WORKER does make such requests.

http://forums.4d.fr/Post//19391591/1/

> What happens when you send an illegal instruction to a worker that's running 
> in preemptive mode?
> I've done my own quick tests and asked around, and here's what I've found:
>
> * I don't get an error.
> * The worker may be restarted in cooperative mode. Which may end up clearing 
> existing variables and so on (?)
> * Other people report getting an error.
> * Sometimes I get an error.
> * Sometimes an error handler catches, sometimes it doesn't.
>
> It's wildly unpredictable.


I agree the documentation could be better, by giving more specific examples of 
each scenario.
but by and large, I think the results are pretty predictable for each case.

> * I don't get an error.

this must be CALL WORKER asked to do something impossible. (issue #3 above)

> * The worker may be restarted in cooperative mode. Which may end up clearing 
> existing variables and so on (?)

the worker must have been killed or aborted.

> * Other people report getting an error.

some "eval" code must have been executed in the worker (issue #2 above)

> * Sometimes I get an error.
> * Sometimes an error handler catches, sometimes it doesn't.


a mix of all the other problems, just presenting themselves in random order?




**
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: Tip: Code to get all thread-safe commands

2017-05-06 Thread Keisuke Miyako via 4D_Tech
also check out the "How Do I?" example

http://blog.4d.com/preemptive-processes-for-4d-language/
http://download.4d.com//Demos/4D_v15_R5/HDI_Command_name.zip

another important piece of the puzzle is PROCESS PROPERTIES
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/PROCESS-PROPERTIES.301-3111842.en.html

if you've attended JPR's training session you would have seen an undocumented 
feature
Gestalt ("4thr") but PROCESS PROPERTIES is the official way to do it;
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Gestalt.301-3111463.en.html

> 2017/05/07 9:47、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
>  // GetCommandList



**
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: location of Macros for version 16

2017-05-01 Thread Keisuke Miyako via 4D_Tech
you can have your own Macros V2 folder in your database folder,
or even a component database folder.

http://doc.4d.com/4Dv15/4D/15.4/Creating-and-using-macros.300-3285561.en.html

> 2017/05/02 9:46、Jörg Knebel via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Could someone be so kind and tell me where I have to put my macros for 
> version 16 (64bit Mac)?




**
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: PROCESS 4D TAGS

2017-04-28 Thread Keisuke Miyako via 4D_Tech
if the document is not correctly loaded, as others have speculated:

1. given this is Mac, could there be a hidden file extension?
2. Given no encoding is not specified, could it be saved in UTF-16?

Document to text doesn't update OK,
the only way to know that it worked is to check that the receiver variable is 
not ""

2017/04/28 22:44、Mitchell Shiller via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
$tPathname:=Get 4D folder(Current resources folder)+"Templates"+":"+"Test 
Template.html"



**
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: Components, forms & menu bars

2017-04-27 Thread Keisuke Miyako via 4D_Tech
the "active menu bar" form property needs to be activated for a menu to work 
while a dialog is running.
but, to set this property, you also need to first associate a menu with that 
form.

so, even if the plan is to use a menu reference (|MR...|) passed from host,
you need to set a menu from the component for the form as a place holder.

since you are using a host menu inside a component,
any method associated to that menu item needs to be shared.

-

alternatively, you could set the menu bar before opening a dialog in the 
component,
and use DIALOG(*) in the same process, inside the component.

2017/04/28 1:09、Barclay Berry via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
I’d love to hear if/how others have solved this too.



**
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: 4D Write Pro CSS

2017-04-24 Thread Keisuke Miyako via 4D_Tech
Hello,

> I want to create HTML files and open them in 4D Write Pro.

> The docs state that the .4wp format is HTML, but if I try to import even a 
> very simple HTML document, it fails.

I am sorry to say this won't work.
4D Write Pro is not a Web Browser,
it so happens that a 4D Write Pro document can be fully represented in XHTML,
but the reverse is not true.



**
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: Why does 4D have uppercase UUIDs?

2017-04-23 Thread Keisuke Miyako via 4D_Tech
I wasn't aware of the argument that they should always be lowercase.

it's true that the native function on Windows (UuidCreate, UuidToString) 
creates lowercase,
but on Mac (NSUUID.UUIDString, CFUUIDCreate/CFUUIDCreateString) they are 
uppercase and also hyphenated.

uppercase-non-hyphenated seems like a reasonable cross-platform solution.

> 2017/04/24 4:21、Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I was looking up something else yesterday and came across some comments and
> directions regarding UUIDs and saying that they should always be lowercase.
> But this isn't a hard rule, apparently. And 4D prefers to uppercase them -
> which I find harder to read.
> Just curious what that's about and if there's some important distinction
> here I'm not aware of.



**
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: Preventing On Start Up from Running

2017-04-23 Thread Keisuke Miyako via 4D_Tech
Hello,

find

{Get 4D folder}/Favorites v16/Local/

open the 4DLink file with a text editor,
in the element database_shortcut,
add skip_onstartup_method="true",
save,
and open it with 4D.

> 2017/04/24 5:13、Mitchell Shiller via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I accidentally inserted some recursive code in my Start Up procedure.
> Now I when I open the database, I can’t get to the design environment.
>
> I can’t remember how I prevent this form happening.
> I know it has something to do with preferences… I think




**
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: 4D Write Pro CSS

2017-04-23 Thread Keisuke Miyako via 4D_Tech
Hello,

if the question is "which experimental CSS is supported in 4D Write Pro?",
then I think you might be asking the wrong question.

quote:
"4D specific tags" means 4D XHTML with a 4D namespace and 4D CSS styles.
http://doc.4d.com/4Dv16/4D/16/WP-EXPORT-DOCUMENT.301-3048103.en.html

in other words, non-standard CSS styles are not just experimental,
(which implies some cutting edge browsers may support it),
they are CSS properties with a vendor specific -d4 prefix.

for example, you can
WP EXPORT DOCUMENT + wk web page complete for the standard version, and then
WP EXPORT DOCUMENT + wk 4wp for the proprietary version.
http://doc.4d.com/4Dv16/4D/16/WP-EXPORT-DOCUMENT.301-3048103.en.html

".4wp" file is a zip file, so you can change extension and double click to see 
its contents.

the proprietary version specifies

text-decoration:underline;
-d4-text-underline-style:double;

for a double underline,
but the standard version specifies

text-decoration:underline;

without the "-d4" style.

note that the result in a browser is exactly the same; "-d4" styles are always 
ignored in a browser.

-

the "Show HTML WYSIWYG" property
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/Defining-a-4D-Write-Pro-area.200-3124235.en.html

allows you to ignore the "-d4" styles in embedded mode,

and the wk html wysiwyg for WP PRINT
http://doc.4d.com/4Dv16R2/4D/16-R2.1620/WP-PRINT.301-3124247.en.html

allows you to ignore the -d4 styles in printing.

-

but you are right, the doc seems to be missing a comprehensive list of all 
"-d4" styles.

other than the aforementioned "-d4-text-underline-style"
there is also a "-d4-text-transform:small-uppercase",
but I am sure there are more.

> 2017/04/24 8:12、Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I did a quick test - created a 4D Write Pro document with an experimental 
> Stylesheet and
> exported it as HTML.



**
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: 4D Write Pro CSS

2017-04-22 Thread Keisuke Miyako via 4D_Tech
http://doc.4d.com/4Dv15/4D/15.4/Supported-tags.300-3274727.en.html

explains proprietary CSS attributes such as

 

and

Click here

> 2017/04/23 1:12、Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> のメール:
> its own subset of HTML/CSS attributes and tags, specified in this manual."




**
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: Components and custom constants files

2017-04-18 Thread Keisuke Miyako via 4D_Tech
maybe one or more constants are redefining default 4D constants with a 
different type.

> 2017/04/19 13:01、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
> The argument list for the method named "MessageHub_Unsubscribe" in the
> component "MesageHub" is incompatible with the database or component
> "MesageHubDemo.4DB".




**
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: Automated tasks on 4D Server

2017-04-18 Thread Keisuke Miyako via 4D_Tech
some time ago our Tech Support (not me) posted this:

https://github.com/4D-JP/sample-outside-call-for-windows

please don't freak out because of the language,
the sample code is what's important.

basically, you configure the Windows Task Scheduler to run a script (JS) 
periodically.
the script contains code to update the server via ODBC.

why ODBC, I hear you ask.

because the target table has a trigger,
which runs the regular task (backup, in this example).
the added bonus is that the table doubles as a log file for the scheduled event.

You'd need a spare client license, or an unlimited SQL client license,
but it's much easier to setup if you don't have an HTTP server license or other 
connectivity options.



**
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: Converting Little Endian Byte Representation To a String

2017-04-18 Thread Keisuke Miyako via 4D_Tech
Hello,

I think there was a bug in the carry-over logic,
I've uploaded a cleaner version here:

https://github.com/miyako/4d-tips-text-integer-maths

> 2017/04/19 2:03、Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Thanks, Miyako! That does indeed work and is plenty fast as well. I really 
> appreciate the code!




**
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: Remedial question about components

2017-04-18 Thread Keisuke Miyako via 4D_Tech
to recap,

why do you need to know from a compiled component if the host is interpreted?

> 2017/04/18 19:16、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> is there a way to find out if the host is compiled without having the
> host pass that information into the component?




**
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: Remedial question about components

2017-04-18 Thread Keisuke Miyako via 4D_Tech
I think you can do something like

$name:="test"

(""#METHOD Get path(Path project method;$name))

is a "local" method

(""#METHOD Get path(Path project method;$name;*)) //with asterisk

is a "host" method

> 2017/04/18 19:16、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
> As far as I know, the only way that I can detect and screen for method name
> conflicts at runtime is by calling METHOD GET NAMES.




**
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: Remedial question about components

2017-04-18 Thread Keisuke Miyako via 4D_Tech
Hello,

+ to check current execution context

Structure file=Structure file(*)

this is documented (see example 2)
http://doc.4d.com/4Dv15/4D/15.4/Structure-file.301-3274414.en.html

+ when the host and component share the same methods names

this is also documented (see Naming conflicts: masking methods)
the host takes precedence over component
http://doc.4d.com/4Dv16/4D/16/Component-installation-and-compatibility.300-3048906.en.html

name conflicts of this sort are reported by the compiler, if the call is 
tokenised.

> 2017/04/18 14:51、David Adams via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> So, there are two different methods with the same name - one in the
> component and one in the host. As far as I can tell, this won't work. 4D
> calls the copy in the component and nothing happens in the host. I just ran
> into this by accident, check the docs...and couldn't find any sort of
> discussion. It looks like there's no explicit syntax to say 'execute in the
> host method.'
>
> Is this correct? If so, how do people deal with this problem? All that I
> can think of is to validate the input within the component. Before calling
> the callback, you check if it's in the method lest for the component and
> the host. Seems inefficient. Also, I'm not sure if this is even
> possible...is there a way to test the calling context? Meaning, is there a
> way to know if the call originates from the host or from another component
> method? The component relies on callbacks internally as well.




**
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: Converting Little Endian Byte Representation To a String

2017-04-18 Thread Keisuke Miyako via 4D_Tech
I think this will do it:

ASSERT("840003123456770"=Get_value ("02ABC877FAFB0200"))

using primary school maths only...

--

C_TEXT($1;$0)

Case of
: (Count parameters=1)

C_TEXT(hex;$e;$total)
C_LONGINT($i)

$hex:=$1

For ($i;1;Length($hex);2)

  //hex byte code to integer string
$byte:=Substring($hex;$i;2)
$code:=""
PROCESS 4D TAGS($code;$code)

If ($i=1)
$value:=$code
$e:="1"
Else
  //exp beyond 256^5 is a bit hazy, might as well do it using text
EXECUTE METHOD(Current method name;$e;$e;"256";"*")
  //base-10 text multiplication
EXECUTE METHOD(Current method name;$value;$code;$e;"*")
End if
  //base-10 text addition
EXECUTE METHOD(Current method name;$total;$total;$value;"+")
End for

$0:=$total

: (Count parameters=3)

C_TEXT($a;$b;$r)

$a:=String($1)
$b:=String($2)
$operand:=$3

If ($a="")
$a:="0"
End if

If ($b="")
$b:="0"
End if

  //no checking for non-numbers, negative numbers, e

C_LONGINT($lena;$lenb)
$lena:=Length($a)
$lenb:=Length($b)

C_LONGINT($c;$d;$e;$f;$m1;$m2;$m3)
ARRAY LONGINT($mm;0)

Case of
: ($operand="*")

$d:=0
For ($x;$lena;1;-1)
$c:=1
For ($y;$lenb;1;-1)
$m:=Num($a[[$x]])*Num($b[[$y]])
$e:=$m%10
$f:=$m\10
If (($c+$d+2)>Size of array($mm))
ARRAY LONGINT($mm;$c+$d+2)
End if
$m1:=$mm{$c+$d}+$e
$m2:=$mm{$c+$d+1}+$f+($m1\10)
$m3:=$mm{$c+$d+2}+($m2\10)
$mm{$c+$d}:=$m1%10
$mm{$c+$d+1}:=$m2%10
$mm{$c+$d+2}:=$m3
$c:=$c+1
End for
$d:=$d+1
End for

: ($operand="+")

$len:=Choose($lena>$lenb;$lena;$lenb)

$a:=Substring(("0"*$len)+$a;$lena+1)
$b:=Substring(("0"*$len)+$b;$lenb+1)
$c:=1

For ($x;$len;1;-1)
$m:=Num($a[[$x]])+Num($b[[$x]])
$e:=$m%10
$f:=$m\10
If (($c+2)>Size of array($mm))
ARRAY LONGINT($mm;$c+2)
End if
$m1:=$mm{$c}+$e
$m2:=$mm{$c+1}+$f+($m1\10)
$m3:=$mm{$c+2}+($m2\10)
$mm{$c}:=$m1%10
$mm{$c+1}:=$m2%10
$mm{$c+2}:=$m3
$c:=$c+1
End for

End case

  //filter preceeding zeros and stringify
$r:="0"
C_LONGINT($i;$len)
$len:=Size of array($mm)
For ($i;$len;1;-1)
If ($r="0")
$r:=""
End if
$r:=$r+String($mm{$i})
End for

$0:=$r

End case




**
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: Clean Slate - Modern User Experience.

2017-04-15 Thread Keisuke Miyako via 4D_Tech
Hello,

if you could spare some time to go through the various "HDI" examples,
especially those themes on the listbox,
I think it would be a good way to get tuned with the current development styles 
in 4D.

ftp://ftp.4d.com/SAMPLE_DATABASES/4D/

HTML/SVG/Objects are obviously modern and cool,
but on balance,
I think the listbox by far gives the best return on investment
if your are going the build a C/S business app ground up.

2017/04/15 16:49、rooftop99--- via 4D_Tech 
<4D_Tech@lists.4d.com> のメール:
Where could I go to see samples of what folks are doing with 4D which brings 
the UI into the modern era? Any thoughts?



**
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 can I suppress the web server creating default index.html?

2017-04-14 Thread Keisuke Miyako via 4D_Tech
 just goto preferences > web > settings (path) and remove "index.html"

> 2017/04/14 23:37、Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Can I suppress 4D's urge to create that page if it's missing?




**
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: Questions about the 'Sum' function

2017-04-13 Thread Keisuke Miyako via 4D_Tech
Sum() has been improved to work with indexes since v11, with arrays since v13.
if the restriction is still there, perhaps one can "selection to array" as a 
workaround.

> 2017/04/14 0:06、Keith White via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> QUERY([ClientInvoices]; blah blah blah..)
> nThisCustomerTotal:=Sum([ClientInvoices]Balance)
> Nope, doesn't work.
> Tried to report to 4D as a bug a vry lng time ago, but was told this 
> was "Standard Behaviour".




**
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: PK wizard, how to start?

2017-04-13 Thread Keisuke Miyako via 4D_Tech
if you can find the component in Explorer, there should be a shared method that 
triggers the dialog. right click and run 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: Replacing - OAuth.bundle

2017-04-12 Thread Keisuke Miyako via 4D_Tech
Hello,

in general, only the source files (plain text) are expected to be under 
source-control,
as well as common format documents such as PDF or images.

large binary files are expected to be published under "Releases".

4D is an unusual case,
because the source code (the structure file) is actually a binary file.

ideally, the built plugin (bundle) should be under "Releases",
the C files under source-control,
and the unit test structure should be written to build itself
by importing method code from a set of external text files.

but as of today, I am just publishing my local workspace "as is".
it is terribly bad practice...



**
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: Off topic, sending binary files

2017-04-09 Thread Keisuke Miyako via 4D_Tech
perhaps you could add another call to LEP that would chmod +x
immediate before you call LEP on to execute scamimage...

> 2017/04/09 20:09、Peter Mew via 4D_Tech <4d_tech@lists.4d.com> のメール:
> The binary is a command line program called scanimage, which allows me to 
> interface with a flatbed scanner from 4D using LEP, and works very well.




**
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: Unexpected Command Key Shortcuts (15.4)

2017-04-08 Thread Keisuke Miyako via 4D_Tech
in fact, command+L is defined twice,

once in

File > Open > Form

and again in

Method > Goto Line

when you are using the method editor.

similar situation with

File > Open > Method

and

Method > Open Definition

both of which are command + K.

it is a bad factory setting, in my opinion,
as a result, many developers are unaware of the super-versitile open definition 
shortcut (command+K)
where you can just click on a table, field, method, form, variable or command, 
and jump.

personally, I would disable File > Open > Method and File > Open > Form,
since Method > Open Definition covers both grounds.

it might take a while getting used to using command+K for both forms and 
methods,
but you no longer have to range select your target and it is much faster once 
you get the hang of it.

> 2017/04/08 12:29、Robert ListMail via 4D_Tech <4d_tech@lists.4D.com> のメール:
>
> It seems that the 4D v15.4 command key shortcuts changed on me while in use…. 
>  Restoring to a factory preset did not help the situation. Note that "Go to 
> line" is Command-L instead of opening a form, the usual behavior.
>
> The unexpected shortcuts using v15.4 Client/Server:
> https://www.dropbox.com/s/um26ff055bpc76x/Screenshot%202017-04-07%2022.23.07.png?dl=0
>  
> 
>
> The expected command key shortcuts, running v15.4 Single User:
> https://www.dropbox.com/s/wdc01cko1ygt2lc/Screenshot%202017-04-07%2022.23.36.png?dl=0
>  
> 
>
> How can I make client server use the normal 4D shortcuts?
>
> Thanks,
>
> Robert
>
> **
> 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: Unexpected External Call Back...

2017-04-08 Thread Keisuke Miyako via 4D_Tech
sounds like method with "execute on server" property.

> 2017/04/08 12:39、Robert ListMail via 4D_Tech <4d_tech@lists.4D.com> のメール:
>  "External Call Back” was part of the call chain.




**
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: Listbox row select

2017-04-06 Thread Keisuke Miyako via 4D_Tech
in general, selected list items are grey when inactive (does not have focus)

> 2017/04/07 8:38、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I am getting 2 different row highlight (colors)
>
> - When row is selected indirectly LISTBOX SELECT ROW (grey)
> - When row is directly clicked (blue)




**
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: Copy out of read only variable/field

2017-04-06 Thread Keisuke Miyako via 4D_Tech
you set the field to non-enterable+focusable.

2017/04/07 6:16、Dennis, Neil via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
I'm questioning if this is possible? Anyone?



**
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: Project Method not found in Quick Report Editor

2017-04-06 Thread Keisuke Miyako via 4D_Tech
did you call

set allowed methods?



**
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: Migrating Tables with Relations Between Structures

2017-04-05 Thread Keisuke Miyako via 4D_Tech
when you copy multiple tables in the structure editor,
you get the table as well as the relation.

pasting it back to the structure editor removes all ancillaries such as indexes 
and links,
but the plugin entry-point allows you to re-create them.

https://github.com/miyako/4d-plugin-structure-access

the IMPORT STRUCTURE command is also capable of restoring relations, as well as 
the indexes.
(the UI does not show bold at first but they are properly set. just re-open the 
database)

http://doc.4d.com/4Dv16/4D/16/IMPORT-STRUCTURE.301-3036688.en.html




**
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: Question about passing JSON to 4D

2017-04-04 Thread Keisuke Miyako via 4D_Tech
WEB GET VARIABLES only parses form variables (x-www-form-urlencoded).

and then, jQuery post() only sends x-www-form-urlencoded.

http://stackoverflow.com/questions/5529685/post-doesnt-send-data-as-json-but-as-x-www-form-urlencoded-instead

so with this setup,
you are basically working with a string variable whose name is "data"
and whose content just happens to look like JSON.

if you want to directly work with JSON,
then you need to use jQuery ajax (not post) as explained in the SO post above,
and use
WEB GET HTTP HEADER
WEB GET HTTP BODY PARTS/WEB GET HTTP BODY
JSON Parse/JSON PARSE ARRAY
with appropriate error handling instead of WEB GET VARIABLES.



**
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: delete or truncate

2017-04-04 Thread Keisuke Miyako via 4D_Tech
ALL RECORDS + DELETE SELECTION,
or selecting all records and deleting them in User Mode
logs "delete" action for each record in the journal file.

TRUNCATE TABLE, on the other hand, has its own single action in the journal 
file.

"Truncate" clears the address table, whereas "Delete" does not.
the main advantage of keeping the same (fragmented) address table
is that saves sets continue to work after a data compact.

the disadvantage is that isolated addresses may take longer to locate.

c.f
http://kb.4d.com/assetid=76195
http://kb.4d.com/assetid=76209
http://kb.4d.com/assetid=76414

tip: search for "compact@" at kb.4d.com
to find articles that refer to compacting.

typically one would end up with a fragmented address table
when a table with a relatively low number of records
has had a high record count some time in the past.
(the address count corresponds to the peak count)

a2017/04/05 2:43、Charles Miller via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I seem to remember a tech note or example that would fix index problems
> that you would have when deleting most of the record in a able or or
> truncating 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: Anyone using v16 in WAN

2017-04-04 Thread Keisuke Miyako via 4D_Tech
Hello,

I think it is important to investigate whether the instability is specific to 
application code or not.

for instance, it is possible to create a bare bone copy of you database with 
the export structure command. you can then open a copy of your production data 
with that structure file.

if you have no issues using the database in user mode over the same network, 
then perhaps some methods are choking the network in a way that does not happen 
over the legacy layer.



**
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: Methods starting with a number

2017-04-03 Thread Keisuke Miyako via 4D_Tech
I guess SQL/import export would break since it adds an underscore to illegal 
field names.

perhaps the same with XML export of structure.

if has been working for some time,
maybe it's not such a high priority,
but you'd also want to be prepared for dot-notation support whenever that is 
going to be...

2017/04/03 15:00、Wayne Stewart via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
I've done that for years with no problems do I need to do a big global
find and replace?



**
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: y2038 -- is 4D ready?

2017-03-28 Thread Keisuke Miyako via 4D_Tech
so code to convert date to epoch time like that one just recently discussed
(Re: [4DTidbits Blog] Epoch & Unix Timestamp Conversion)
could potentially have trouble...

> 2017/03/29 0:37、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Just reading an article about the next Y2K - y2038.
> IN this year many systems that use 1970 as a base starting point for
> time will exceed the 32bit integer used to track seconds.




**
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: OPEN PRINTING FORM

2017-03-27 Thread Keisuke Miyako via 4D_Tech
 FORM LOAD

the command was so useful, it can now be used outside of a printing context.

> 2017/03/28 10:04、Sujit Shah via 4D_Tech <4d_tech@lists.4d.com> のメール:
> I see this command is not available in v15.
> What is the replacement?




**
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: HTTP Patch request

2017-03-27 Thread Keisuke Miyako via 4D_Tech
 just pass "PATCH" as text literal to HTTP Request.

standard constants (GET, POST, etc) are string constants too.

2017/03/28 0:09、Tom Swenson via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
However, there doesn’t seem to be a Constant for a HTTP patch method
Any ideas? Suggestions?



**
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: 4D v15.4: Internet commands *SOLVED*

2017-03-26 Thread Keisuke Miyako via 4D_Tech
my speculation is that the new line characters have been removed so that the 
base64 string can now be incorporated more easily as data URIs in SVG and HTML, 
but I do not know the full story.

as a stop-gap measure I posted this plugin
https://github.com/miyako/4d-plugin-base64

2017/03/15 1:45、Two Way Communications via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
In 4D starting with v14, 4D no longer limits the lines to 60 chars when you do 
BASE64_Encode. (it used to do that in v13)



**
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: 4D email client from Dave Batton, where to get the old sample 4DB ?

2017-03-26 Thread Keisuke Miyako via 4D_Tech
Web 2.0 Pack was released more than 10 years ago (v2004).
then, the Live Window Plugin was the predecessor to the Web Area form object 
introduced in v11.2.
I am afraid the project (TinyMCE or something similar) has very limited value 
today.

2017/03/26 0:15、Armin Deeg via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
Someone knows how I can get this database or a newer improved version?
I think this could be a timesaver when I start this project for my databases.


**
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: [4DTidbits Blog] Epoch & Unix Timestamp Conversion

2017-03-26 Thread Keisuke Miyako via 4D_Tech
you could also...

C_LONGINT($yearPosition;$monthPosition;$dayPosition)
C_TEXT($digitPosition)

GET SYSTEM FORMAT(Short date year position;$digitPosition)
$yearPosition:=Num($digitPosition)
GET SYSTEM FORMAT(Short date month position;$digitPosition)
$monthPosition:=Num($digitPosition)
GET SYSTEM FORMAT(Short date day position;$digitPosition)
$dayPosition:=Num($digitPosition)

given a 3-digit delimited text ((YY.MM.DD, DD.MM.YY, etc)

ARRAY TEXT($digits;3)


C_DATE($UNDEFINED_DATE;$valueDate)
$valueDate:=Add to date($UNDEFINED_DATE;\
Num($digits{$yearPosition});\
Num($digits{$monthPosition});\
Num($digits{$dayPosition}))

2017/03/27 5:14、Bruno LEGAY via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
Avoid using Date() to convert a string to a date
because this will rely on the date being formatted according to you current 
system setting



**
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: 4D Query error, Beware

2017-03-24 Thread Keisuke Miyako via 4D_Tech
there has been a couple of fixes related to the database engine (transactional 
query in particular) in recent nightly builds,
part of the reasons why some hot-fixes were released during a relatively short 
time span.

4D v16.0 Hotfix 2 (http://bugs.4d.fr/fixedbugslist?Version=16.0_HF2)

ACI0096496
ACI0096451

4D v16.0 Hotfix 1 (http://bugs.4d.fr/fixedbugslist?Version=16.0_HF1)

ACI0096430
ACI0096179

> 2017/03/25 0:32、Dennis, Neil via 4D_Tech <4d_tech@lists.4d.com> のメール:
> One thing I left out... be sure to index the date field.
> on in reliance on the contents of this information is strictly prohibited.



**
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: SVG Text Width and Height

2017-03-24 Thread Keisuke Miyako via 4D_Tech
in general, it is best to instruct the rendering engine to decide how to align 
objects,
rather than to compute the exact coordinates yourself.

"text-anchor" (start, middle, end) should take care of horizontal align in 
,
but vertical align is going to be difficult since 4D does not support 
"dominant-baseline" or "alignment-baseline".
if you decide to go down the "y" or "dy" route, well, I guess it's going to be 
an uphill struggle.

have you considered using  instead of ?

you have "display-align" (before, center, after) for vertical align and 
"text-align" (start, center, end) for horizontal align.

p.s.

I love how they say start/end, before/after instead of left/right (because of 
right to left scripts)
and decisively use middle instead of center with respect to the subject (align 
or anchor)...

2017/03/25 10:21、truegold via 4D_Tech 
<4d_tech@lists.4d.com> のメール:
If so then yes it is one of the parameters being sent into SVG_New_text command.


**
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: SVG Text Width and Height

2017-03-24 Thread Keisuke Miyako via 4D_Tech
Hello,

could you not simply set text-anchor to middle?



**
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: repost : Printer selection issue

2017-03-24 Thread Keisuke Miyako via 4D_Tech
the label editor, as well as regular forms, only accepts integer units.

the label editor appears to accept decimal coordinates,
but it is only a unit converter,
internally the values are always stored in points (integer).

remarkably,
the "Print object" command works with decimal coordinates,
as does SVG (mm, pc, in, px, pt, em, etc).

...which is why this component 
(https://github.com/miyako/4d-component-label-editor)
can align object with more precision than the standard PRINT LABEL command.

> 2017/03/24 23:06、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Not only does the information being printed (total of 8 characters in 2
> lines (max)) have to align EXACTLY - but the users want/need to be able
> to reuse a partially printed page, as each sheet costs $3(usd).




**
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: repost : Printer selection issue

2017-03-24 Thread Keisuke Miyako via 4D_Tech
I think what you describe is a "32-bit" thing.

the code

SET CURRENT PRINTER("_192_168_1_33")
PRINT SETTINGS(Page setup dialog)

shows "any printer" on v16 32-bit,
the default printer on v16 64-bit.

-

even using 32-bit,
once you have chosen the printer in the page setup dialog,
and stored that settings on disk, you can do something like

DOCUMENT TO BLOB(Get 4D folder(Current resources 
folder)+"_192_168_1_33";$settings)
BLOB to print settings($settings)
PRINT SETTINGS(Page setup dialog)

to get the printer name show up the first time.

-

I guess 4D Pack can do something similar pre v15.
maybe PAGE SETUP, maybe not.

or even,

https://github.com/miyako/4d-plugin-core-printing

> 2017/03/24 0:49、Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> any help??




**
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: 4D V16 fails to launch external programs asynchronously

2017-03-21 Thread Keisuke Miyako via 4D_Tech
it (ACI0096092) is also fixed in 16.0 Hotfix 1 (16.0 Hotfix 2 is the latest)

> 2017/03/22 5:16、Julio Carneiro via 4D_Tech <4d_tech@lists.4d.com> のメール:
> Downloading V16R2 to confirm that it is fixed.



**
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: tab seperated text - what to use for Cr

2017-03-15 Thread Keisuke Miyako via 4D_Tech
to be pedantic, you need to do more than double quote the values,
in case the value themselves contain a double quote.

and then,
importing gets even more messy,
since the values may or may not be quoted.

anyway, I've published the component here:

https://github.com/miyako/4d-component-csv

> 2017/03/16 8:50、Keith Goebel via 4D_Tech <4d_tech@lists.4d.com> のメール:
> csv format will do the job, if that format is permitted for your purpose.
> You’ll need to enclose text fields with “ to keep contained CRs safe.




**
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: Weird variable (non-)refresh issue

2017-03-15 Thread Keisuke Miyako via 4D_Tech
to refresh variables on display, one must

CALL PROCESS(-1)

http://doc.4d.com/4Dv15/4D/15/CALL-PROCESS.301-2006854.en.html

> 2017/03/16 4:56、bob.miller--- via 4D_Tech <4d_tech@lists.4d.com> のメール:
>
> I've tried throwing in a REDRAW(variablename) and even a DELAY
> PROCESS(Current process;60) - but neither has any effect.




**
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: tab seperated text - what to use for Cr

2017-03-15 Thread Keisuke Miyako via 4D_Tech
not sure if Excel supports it, (FileMaker does)
but the formal way to include multiple lines in a TSV field is to use the 
vertical tab character Char(11).

(side-note: Char(11) shows up as \v in the debugger, although you can't it in 
literal text)

if you are interested I can share a set of methods to import and export CSV for 
Excel,
escaping and unescaping ", \r etc inside cells.



**
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
**

<    5   6   7   8   9   10   11   >