Re: Client communication

2024-03-04 Thread Arnaud de Montard via 4D_Tech

> Le 4 mars 2024 à 18:32, Jody Bevan via 4D_Tech <4d_tech@lists.4d.com> a écrit 
> :
> 
> I do not know if you need to be a partner to access this site or not.

sorry, I forgot to answer about this, see "3. 4D Forum organization and access" 
in this page:


-- 
Arnaud de Montard 



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

Re: Client communication

2024-03-04 Thread Arnaud de Montard via 4D_Tech
Hi, 
direct link is 

-- 
Arnaud de Montard 



> Le 4 mars 2024 à 18:32, Jody Bevan via 4D_Tech <4d_tech@lists.4d.com> a écrit 
> :
> 
> Hello Ferdinando:
> 
> This list is really not used anymore.
> 
> I would recommend that you go to: 
> 
> 4D.com 
> 
> Then click on Developer center at the top of the window. Then from there 
> click on 4D Forum. This is a very much improved system for asking questions, 
> getting answers, and searching for other solutions.
> 
> I do not know if you need to be a partner to access this site or not. I do 
> not think so as sometimes when I have not logged in some things are not 
> available.
> 
> Hope this helps.
> 
> 
> Jody Bevan
> 
> 
> 
>> On Mar 4, 2024, at 09:27, stardata.info via 4D_Tech <4d_tech@lists.4d.com> 
>> wrote:
>> 
>> I need to share information from processes running on the server and clients
>> 
>> Thanks
>> 
>> Ferdinando
>> 
>> Il 04/03/2024 16:14, ya...@kutlubilisim.com.tr ha scritto:
>>> Hi Ferdinando,
>>> 
>>> Do you mean sharing informatiom among processes belong to same client 
>>> connection or sharing information between different clients?
>>> 
>>> BR.
>>> 
>>> --
>>> Ali Yakup Durşen
>>> Kutlu Bilişim  Ltd
>>> 
>>> -Original Message-
>>> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of stardata.info via 
>>> 4D_Tech
>>> Sent: Monday, March 4, 2024 6:02 PM
>>> To: 4d_tech@lists.4d.com; 4d_tech-requ...@lists.4d.com
>>> Cc: stardata.info 
>>> Subject: Client communication
>>> 
>>> Hi all,
>>> 
>>> I use 4D V16 on window.
>>> 
>>> I need to share informations from the process executed on server and the 
>>> clients.
>>> 
>>> The process executed on server, put the informations into some interprocess 
>>> array.
>>> 
>>> Someone know how i can do?
>>> 
>>> Thanks
>>> 
>>> Ferdinando
>>> 
>>> **
>>> 4D Internet Users Group (4D iNUG)
>>> New Forum: https://discuss.4D.com
>>> Archive:  http://lists.4d.com/archives.html
>>> Options: https://lists.4d.com/mailman/options/4d_tech
>>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>>> **
>>> 
>>> 
>> -- 
>> 
>> **
>> 4D Internet Users Group (4D iNUG)
>> New Forum: https://discuss.4D.com
>> Archive:  http://lists.4d.com/archives.html
>> Options: https://lists.4d.com/mailman/options/4d_tech
>> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
>> **
> 
> **
> 4D Internet Users Group (4D iNUG)
> New Forum: https://discuss.4D.com
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

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

Re: Double patient cards

2022-10-22 Thread Arnaud de Montard via 4D_Tech
Hi Ferdinando, 
schematicaly:

selection to arrays (ID, name, surname, date of birth, sex)
for($i;size of array;1;-1)
  if (values $i # values $i-1) 
remove from arrays
  end if
end for

query with array (arrayIDs)

and you have the duplicates

-- 
Arnaud 


> Le 22 oct. 2022 à 12:04, stardata.info via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi All,
> 
> I use 4D V16, and in one application i need to find all patient that have the 
> same name, surname, date of birth, sex.
> 
> Someone have already do this feature?
> 
> Thanks
> 
> Ferdinando
**
4D Internet Users Group (4D iNUG)
New Forum: https://discuss.4D.com
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Can't Save Record Mandatory field is null

2022-01-29 Thread Arnaud de Montard via 4D_Tech


> Le 27 janv. 2022 à 22:55, Alan Tilson via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hello Keisuke,
> You make it sound simple, so how do I "parse the xml"?
> Open it in a text editor and search for "reject null values"?
> Thanks!


Hi Allan, 
it seems to be "never_null". 

But if you prefer a "code, do it for me" solution, I'd suggest to get the xml 
as Miyako said, then convert it to object, as object is far way simpler to 
browse than xml with 4D. 

Get structure in XML and convert to object:
+++
C_TEXT($structureXML_t;$XMLroot_t)
EXPORT STRUCTURE($structureXML_t)
$XMLroot_t:=DOM Parse XML variable($structureXML_t)
If (ok=0)
$error_t:="DOM Parse XML variable failed"
Else 
C_OBJECT($db4d_o)
$db4d_o:=Xml_ToObject($XMLroot_t)
DOM CLOSE XML($XMLroot_t)
End if 
+++

An example of what you'll get:
+++
{
"base": {
"collation_locale": "fr",
"name": "InternalDatabase",
"uuid": "AEBAD9E131B8E24AB5A93B28C5E95DCA",
"schema": {
"name": "DEFAULT_SCHEMA"
},
"table": [
{
"id": "1",
"name": "ADHERENT",
"uuid": "8AFCE92A7A6BA548BB3BD46F5CD5A0FE",
"field": [
{
"autosequence": "true",
"id": "1",
"name": "PK",
"never_null": "true",
"type": "4",
"unique": "true",
"uuid": 
"E37EF365C2A57242B395A5F3420113D7",
"index_ref": {
"uuid": 
"E48A518C9DD8427BB1BA601B1A28248F"
},
"field_extra": {
"enterable": "false",
"mandatory": "true", 
"modifiable": "false",
"editor_field_info": {
"color": {

"alpha": "255",
"blue": 
"5",

"green": "30",
"red": 
"216"
}
}
}
},
../..
+++

Soume source code to convert xml to object:





-- 
Arnaud 


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

Re: STRANGE LIST BOX MESSAGES 4d WIEV PRO LICENCE REQUIRED

2021-10-18 Thread Arnaud de Montard via 4D_Tech
> Le 18 oct. 2021 à 18:18, stardata.info via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi All,
> 
> I use 4D V16 on window.
> 
> In one layout, i use two list box one based on records selection and anoter 
> based on arrays
> 
> In 4D Server if in the listbox based on array, when i insert one row in the 5 
> arrays contained in the list box, i have a red message in the list box area 
> with this message " 4d wIEV PRO LICENCE REQUIRED

I suppose you're using a command or some property that requires that license, 
see here:


-- 
Arnaud de Montard 



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

Re: Where is the trace/debug command?

2021-10-07 Thread Arnaud de Montard via 4D_Tech

> Le 6 oct. 2021 à 22:43, Keith Goebel via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Randy, hi there.
> [...] But that is a problem when you only want to stop and trace the first 
> iteration of a loop. Then you have to restart 4D.

Hi Keith, 
you may use assert:
  for ($i;1;...)
assert($i#1;"stop on first iteration only")
  end for

Another cool thing with assert is you can alt+clic on the "Continue" button in 
the dialog; it means "ignore all comming false asserts for this process". I 
tend to use ASSERT much more than TRACE or breakpoints, since a while. 

-- 
Arnaud de Montard 


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

Re: PING of life...

2021-01-16 Thread Arnaud de Montard via 4D_Tech

> Le 15 janv. 2021 à 16:54, Neil Dennis via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> My last complaint, and it is minor is that I use dark mode on my computer. 

There is a dark mode setting in 4d discuss preferences. 

-- 
Arnaud 



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

Re: PING of life...

2021-01-15 Thread Arnaud de Montard via 4D_Tech
It works the other way round :-)

-- 
Arnaud de Montard 


> Le 15 janv. 2021 à 13:17, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I have all non-English conversations muted as well, but I’m still given the 
> opportunity to test my rusty schoolboy French every now and again. It’s quite 
> fun.

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

Re: Long running reports to disk intermittently disrupted and fail

2020-04-20 Thread Arnaud de Montard via 4D_Tech

> Le 20 avr. 2020 à 08:06, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> :)
> that was my point.
> 
> if the file is created on the client, 
> new record
> document to [table]blob
> save record

Hi Chip, 
the problem with that technique is that [table] will probably inflate/deflate: 
save, process, delete… Even if the documents have to be processed later, I 
think I'd move them to a folder on server rather than in the data. 

-- 
Arnaud de Montard 



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

Re: Long running reports to disk intermittently disrupted and fail

2020-04-17 Thread Arnaud de Montard via 4D_Tech

> Le 16 avr. 2020 à 22:33, John J Foster via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi Arnaud,
> 
> Yes that path would have to tested and if not found then a report or email 
> sent alerting them.

Unfortunately on macOS it's not enough, I sometimes have the shared volume when 
I ask "are you here", a while after it's gone. I use an applescript that is 
called each time 4D sees a volume is gone to mount it, but same problem can 
occur. I feel like fighting with windmills. I hope a more recent MacOS will be 
better, something's wrong between macOS and smb shared volumes. Everything's 
fine when I copy another way (ftp, for example.)

-- 
Arnaud de Montard 





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

Re: Long running reports to disk intermittently disrupted and fail

2020-04-16 Thread Arnaud de Montard via 4D_Tech

> Le 15 avr. 2020 à 23:35, John J Foster via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I do think writing the file locally and then moving it makes a lot of sense. 
> Right now they choose the path to save files to but it would b easy enough to 
> create it locally move doc into the path.

I do like this and strongly recommend it. But don't expect it guarantees the 
target shared folder will be here when you move files from local to shared, you 
just reduce the time you need it to be here. Shared volumes on a 4D server are 
my personal nightmare, specially on mac. 

-- 
Arnaud de Montard 




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

Re: Longitude Index: B-Tree or Cluster

2020-04-14 Thread Arnaud de Montard via 4D_Tech

> Le 13 avr. 2020 à 23:51, John J Foster via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hey Bernard,
> 
> I would use text values if I didn’t think I needed to do range searches. It’s 
> not a “live” db so I can play and experiment to my hearts content.

Considering 5 million pairs of long/lat values is a lot, I'd first try to see 
if I can store values in a different field type than a real. Examples:
- integer or longint : multiply by 10^x and remove decimals; depends on the 
number of digits you need to keep (example, Lat,Long=48.862725,2.28759 becomes 
48862725,2287590)
- uuid: no limit about the encoded number, but I don't know if performances are 
better than real

-- 
Arnaud de Montard 



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

Re: Longitude Index: B-Tree or Cluster

2020-04-14 Thread Arnaud de Montard via 4D_Tech

> Le 13 avr. 2020 à 19:36, Bernard Escaich via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi John,
> 
> From the top of my head, indexes on long are less efficient than on text 
> values ; I have a doubt, perhaps only for updating.

I'd think the opposite, an index based on a "fixed length" field is always more 
efficient (search, update…) than one based on a "variable length" field. 

-- 
Arnaud de Montard 







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

Re: Longitude Index: B-Tree or Cluster

2020-04-09 Thread Arnaud de Montard via 4D_Tech

> Le 10 avr. 2020 à 02:03, John J Foster via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi All,
> 
> I have a GEO database of almost 5 million cities. They include various data 
> and latitude and longitude.
> 
> I need to use the Longitude file in searches. To speed it up I need to index. 
> Many of the values are similar like 141.235 or 141 3.23 and so on. So for 
> those who might know would a Cluster index be better suited or a B-Tree?

I'd try distinct values first, a cluster is supposed to be better when there's 
enough repeated values. And most probably I'd try… I didn't understand from 
"141.235 or 141 3.23": what is the field type? 
You may also consider using another field with "simplified value" from 
longitude, depending on what's expected from that search. Or, if the search is 
always combined with other fields than longitude, make some tests and analyse 
query plan/query path to see if that index is required. 

-- 
Arnaud de Montard 




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

Re: Remote working with 4D networks - what are people using ?

2020-03-20 Thread Arnaud de Montard via 4D_Tech
> Le 20 mars 2020 à 12:23, Milan Adamov via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 
>> On Mar 19, 2020, at 12:34 PM, Herr Alexander Heintz via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> Complete lack of a remote terminal solution for Macs is the primary reason 
>> why most businesses have switched to Windows in the last 8-10 years.
> 
> Not true, since Mac OS X Lion built in screen sharing can be used to do this. 
> No licenses required.
> 
> Milan

I've read this thread (a bit fastly) without seeing direct C/S connection 
through wan mentioned. On a particular application I work since years like this 
(through VPN or not), it's a great help to understand and change what makes a 
4D client slow. With the coronavirus crisis, many of my colleagues work at home 
now: everything's ok, just a bit slower they say, knowing that we did not made 
great efforts for that use. 

-- 
Arnaud de Montard 




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

Re: Random normal distribution values

2019-12-26 Thread Arnaud de Montard via 4D_Tech

> Le 24 déc. 2019 à 23:59, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Who doesn't like an(other) discussion about random numbers?

Hi Kirk, 
I like  ;-)  

If you need a fast random function, calling 'Random' 16 times at once may 
result in poor performances; but the main problem is the use of 'Random' 
itself, see here:

From the 2 graphs that look like growing grass, the upper one uses 'Random', 
the lower uses 'Generate uuid'. The 'Random' function returns a majority of 
small values, while using uuid gives a good distribution (the opposite would be 
unexpected and boring…). If you're interested, there's a link to a small test 
4db at the bottom of the tread, it's quite easy to add another generator and 
try it. 

-- 
Arnaud de Montard 




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

Re: lags

2019-12-14 Thread Arnaud de Montard via 4D_Tech

> Le 14 déc. 2019 à 10:08, stardata.info via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> hi all,
> 
> I use 4D V13.4 client-server. From some days i notice that after a bit of 
> time of use, the clients have some lags that disappear if i restart the 
> client.
> 
> Someone has a suggestion.

It may change nothing to this problem, but first I'd move to 13.5 or 13.6. 

What is different since "some days": more data, more clients, nothing..?

-- 
Arnaud de Montard 




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

Re: Automatic Excel to Text-tab delimited? - Code Sample

2019-12-13 Thread Arnaud de Montard via 4D_Tech

> Le 13 déc. 2019 à 00:54, Randy Engle via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Kirk,
> 
> Rob's plugin + below code should get you what you need:

Interesting code, thank you… 
I bought this plugin recently, very good choice. 

Speaking about it, I had to distinguish between "true" numbers and dates. As a 
date is a number in excel, the solution I've found is to read cell's format, if 
it's a date one I deduce it's a date. Like this:

 $value_r:=xlSheetGetCellNumber ($sheet_l;$row_l;$col_l)
 $refFormat_l:=xlSheetGetCellFormat ($sheet_l;$row_l;$col_l)
 $numFormat_l:=xlFormatGetNumFormat ($refFormat_l)
 $isDate_b:=True
 Case of 
  : ($numFormat_l=xlNumFormat_Date)
  : ($numFormat_l=xlNumFormat_Custom_D_Mon_YY)
  : ($numFormat_l=xlNumFormat_Custom_D_Mon)
  : ($numFormat_l=xlNumFormat_Custom_Mon_YY)
  : ($numFormat_l=xlNumFormat_Custom_HMM_AM)
  : ($numFormat_l=xlNumFormat_Custom_HMMSS_AM)
  : ($numFormat_l=xlNumFormat_Custom_HMM)
  : ($numFormat_l=xlNumFormat_Custom_HMMSS)
  : ($numFormat_l=xlNumFormat_Custom_MD_HMM)
  Else 
   $isDate_b:=False
 End case 

As I'm using Rob's plugin constants, I may miss some dates if the sheet uses 
custom date formats. 

Any idea? 

-- 
Arnaud de Montard 





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

Re: match regex issue

2019-12-11 Thread Arnaud de Montard via 4D_Tech

> Le 11 déc. 2019 à 21:58, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi all,
> 
> I am finally ready to update buttons in a v17 db. The code below I think 
> worked in v15 but does not seem to work in v17
> $meth_txt = method text
> $start_L:=1
> array long integer($start_aLp;0)
> array long integer($len_aL;0)
> Match regex("\r(_o_ENABLE BUTTON)(\\()(.*)(\\))(.*)\r”; 
> $meth_txt;$start_L;$start_aL;$len_aL)
> 
> What is wrong with my regex command.

Hi Chuck, 
I can't say what's wrong, regex is hard to read for me and with 4D's double \\ 
it's worse… I often develop in BBEdit, then paste in 4D to avoid this - even if 
regex engines are a bit different. 

I'd use this:
  $rx_t:="^_o_ENABLE BUTTON\\((\\*;)?(.*)\\)"

example:
  $test_c:=New collection()
  $test_c.push("_o_ENABLE BUTTON(buttonVar)")
  $test_c.push("_o_ENABLE BUTTON($var)")
  $test_c.push("_o_ENABLE BUTTON(*;\"buttonName\")")
  $test_c.push("_o_ENABLE BUTTON(*;$name)")
  $rx_t:="^_o_ENABLE BUTTON\\((\\*;)?(.*)\\)"
  ARRAY LONGINT($pos_al;0)
  ARRAY LONGINT($len_al;0)
  For each ($test_t;$test_c)
ASSERT(Match regex($rx_t;$test_t;1;$pos_al;$len_al))
  End for each 

I'm not sure the starting anchor "^" suits your case, it depends on how you 
manage the method. For my own, I always split code in lines before, then I loop 
on lines. Split string command is nice for that (too bad it's slow). 
 
-- 
Arnaud de Montard 



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

Re: Trapping the 'return' key in list forms

2019-12-04 Thread Arnaud de Montard via 4D_Tech

> Le 4 déc. 2019 à 10:55, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> On 4 Dec 2019, at 08:26, Arnaud de Montard via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
>> 
>> Hi Peter, 
>> I'm not sure it always works on mac, because focusable property is managed 
>> by system and "stronger" than 4d's one. You may check if I'm wrong using 
>> Apple menu/Keyboard/Shortcuts/Full control access/All controls = ON. Quite 
>> everything becomes focusable then, except 4d invisible buttons. 
> 
> Arnaud, I’ve just tried changing that setting and it doesn’t seem to make any 
> difference (Mojave, v15R5). In order to get focus using the tab key, at any 
> rate, the buttons have to have the “tabbable” property set. I suspect 4D’s 
> buttons might not be “controls” in the Mac sense.

Hi Jeremy, 
I'm quite sure this was not like that in the past, but good to know, thanks! 

It seems it's not the 4D tabbable (T) property but the focusable (F) one that 
is "stronger than" that system setting, because if you uncheck F for a button, 
4D will always unckeck T too (and/or mask it, depending on the tab display in 
properties palette). 

-- 
Arnaud 



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

Re: Trapping the 'return' key in list forms

2019-12-04 Thread Arnaud de Montard via 4D_Tech

> Le 3 déc. 2019 à 23:40, Peter Jakobsson via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 
>> On 3 Dec 2019, at 21:47, Peter Bozek  wrote:
> 
>> But doing it again, I would go for something simpler.
> 
> …and that “something simpler” turns out to be Jeremy Roussak’s tip of 
> removing the “Focusable” property from the default button on the form.

Hi Peter, 
I'm not sure it always works on mac, because focusable property is managed by 
system and "stronger" than 4d's one. You may check if I'm wrong using Apple 
menu/Keyboard/Shortcuts/Full control access/All controls = ON. Quite everything 
becomes focusable then, except 4d invisible buttons. 

Pref screenshot:


Not only 4D (page seems old, but you get the idea):


-- 
Arnaud de Montard 




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

Re: Selection Based ListBox - How do I extract and apply values to a single cell?

2019-11-12 Thread Arnaud de Montard via 4D_Tech

> Le 12 nov. 2019 à 09:22, rooftop99--- via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi All
> 
> I feel like a rookie, but here is the deal...
> 
> I have used array Listboxes many times with success.  A current project 
> requires the use of a Selection based listbox. How do I execute Cell level 
> logic?  For example:  Let’s say I want to create a simple “fill down" 
> function.  The user highlights several rows and right-clicks a one of the 
> cells on the top row, then chooses “Fill down” from the menu presented using 
> the command “Pop Up Menu”.  "ListBox Get Cell Position” command gives me the 
> row and column plus a pointer to the field clicked on.  With all that 
> information how do I get the value of the clicked on Cell (field) so I can 
> stuff it in a variable and how do I walk down every row (record) in the 
> highlighted selection and apply this value.

Hi, 
schematically, I do this:
  save selection
  use userset
  selection to array
  replace values in array
  array to selection
  use selection
  highlight userset

-- 
Arnaud de Montard 




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

Re: Event handler method in component

2019-11-11 Thread Arnaud de Montard via 4D_Tech

> Le 10 nov. 2019 à 19:07, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I’d like to have a method set by ON EVENT CALL to live in a component. It 
> works, in that the method is called on each event, but the system variables 
> Modifiers and KeyCode are undefined so testing for the event itself is tricky.
> 
> I can get round the absence of Modifiers by using Macintosh control down, but 
> I’m not sure how I get the keystroke that triggered the event.
> 
> Is it possible?

Hi Jeremy, 
I had a similar problem with an ON ERROR CALL method, after a while I put that 
method back in the host  :-(
Maybe I missed something, like using an object reference in v17… 

-- 
Arnaud de Montard 





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

Re: Unable to download from kb

2019-11-09 Thread Arnaud de Montard via 4D_Tech

> Le 9 nov. 2019 à 16:28, UKVetDerm via 4D_Tech <4d_tech@lists.4d.com> a écrit :
> 
> Thanks Chip and Narinder
> There seems to be a problem which is not obvious to me!
> I'll try again in the week and have a look at our security device in some 
> detail!

I could download that note. When 4D does not recognise me I delete all cookies 
containing "4D", usually it stops being blind and deaf. 

-- 
Arnaud de Montard 



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

Re: v15 how do I feed a SQL query result to a listbox?

2019-11-08 Thread Arnaud de Montard via 4D_Tech

> Le 8 nov. 2019 à 02:30, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 
> Thanks!

Hi Chip, 
I'd add 2 things… 
1/ the INTO LISTBOX target variable must not be a local one
2/ after the SQL populates the listbox, resulting headers/columns names are 
"automatic" and uneasy to predict; I also remember in previous 4d versions they 
could use existing names in the form without throwing an error; anyway I prefer 
to rename them after the query:

 //LB_renameCH (LBname_t)
 //rename columns + headers of a listbox using listbox name
C_TEXT($1)
$LBname_t:=$1
$nbCol_l:= LISTBOX Get number of columns(*;$LBname_t)
ARRAY TEXT($obj_at;0)
LISTBOX GET OBJECTS(*;$LBname_t;$obj_at) 
For ($i_l;1;$nbCol_l)
$arr_p:=OBJET Get pointer(Object named;$obj_at{$i_l*3-2})
$head_p:= OBJET Get pointer(Object named;$obj_at{$i_l*3-1})
$title_t:=OBJET Get title(*;$obj_at{$i_l*3-1})
$Cname_t:=$LBname_t+"_C"+String($i_l)
$Hname_t:=$LBname_t+"_H"+ String($i_l)
LISTBOX INSERT 
COLUMN(*;$LBname_t;$nbCol_l+$i_l;$Cname_t;$arr_p->;$Hname_t;$head_p->)
OBJET SET TITLE(*;$Hname_t;$title_t)
LISTBOX DELETE COLUMN(*;$LBname_t;1)
End for

-- 
Arnaud de Montard 





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

Re: creating csv files

2019-11-08 Thread Arnaud de Montard via 4D_Tech

> Le 6 nov. 2019 à 22:27, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi All,
> [...]
> 6.1089E+12
> instead of
> 6108900015297

Hi Chuck,
both Luc and Dani are right, I'd add it depends on what your csv is made for: 
- to be opened in a spreadsheet, insert a single quote (or use some "0" 
format once opened in spreadsheet)
- to transfer data to another system, nothing to change 
As Dani, I avoid the use spreadsheet to control a csv, the "automatic cell type 
recognition" (text, num, bool…) will often "disguise" the truth. 

-- 
Arnaud de Montard 




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

Re: QUERY WITH ARRAY - SQL Equivalent?

2019-09-21 Thread Arnaud de Montard via 4D_Tech

> Le 18 sept. 2019 à 18:43, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> ID is a reserved word in sql so if that’s the name of your field you need to 
> escape it (I use brackets in 4D). 

I don't like having to use brackets, I always change reserved names in tables 
and fields - I run code like this until none found:
 
I use "PK" for primary key and "FK_[tableOneName]" for foreign key. I have a 
friend whose initials are PK, he found that awesome. 

To query with array, another solution:


-- 
Arnaud de Montard




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

Re: Regex expert needed??

2019-08-23 Thread Arnaud de Montard via 4D_Tech

> Le 23 août 2019 à 06:52, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> And as I think about it you need to deal with the multiple match issue
> better:

Hi Kirk, 
still not well awake and too lazy understand if your algorithm was based on 
chars or words. If it's the former, I'd suggest the use of GET TEXT KEYWORDS to 
produce 2 arrays of words to compare. In the resulting array words keep ordered 
as in the text, it may help if the wanted match is the sequence of words. 

-- 
Arnaud de Montard 



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

Re: Find in Design and Replace

2019-07-26 Thread Arnaud de Montard via 4D_Tech


> Le 26 juil. 2019 à 03:34, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> keisuke,
> Thanks.
> I thought of that, but...
> 
> Basically I am modifying 50 or so method calls, and the modification adds 
> 'Count parameters' as a parameter, this make the method calls aesthetically 
> displeasing to me as they are "too long"; so this is a 'One off' instance.
> 
> I just did not want to manually add a "\ + Cr" to wrap the code, and I 
> probably will not.
> 
> It is not a big deal, I was just hoping someone had managed to get either 
> Find in design, or find and replace to accept as a replacement character a 
> return.
> 
> The '\' character is actually no problem to get inserted, it is the return 
> that neither replace service wants to handle.
> I did try inserting "\r", but that just inserted those specific characters.  
> :)

Hi Chip, 
you may write a macro for that, schematically:
- open method, select the line, execute macro
- macro method reads the line, makes what you want, replaces the original. 
I did something like that to transform OB set/get in dot notation:


-- 
Arnaud de Montard 




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

Re: PDF Viewer

2019-07-23 Thread Arnaud de Montard via 4D_Tech


> Le 23 juil. 2019 à 14:53, Koen Van Hooreweghe via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
> I personally do prefer PDF Viewer instead of picture fields or web areas (on 
> mac).

Another solution here:


-- 
Arnaud de Montard 




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

Re: Invalid JSON?

2019-06-02 Thread Arnaud de Montard via 4D_Tech


> Le 3 juin 2019 à 07:49, JOHN BAUGHMAN via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> HI Keisuke,
> 
>   Perhaps I should know, but what is a BOM? 

BOM stands for byte order mark: 
In most text editor (BBEdit, notepad c++…) there's an option in the "save as" 
to add it or not. 

-- 
Arnaud de Montard 




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

Re: Listbox - moving columns - is it possible?

2019-05-27 Thread Arnaud de Montard via 4D_Tech


> Le 27 mai 2019 à 13:42, Koen Van Hooreweghe via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
> Hi Paul,
> 
> If must have the headers visible. Then you click and drag the column header 
> to move the column. At least on array based listbox.

Same with other listbox "flavours" (selection, collection or entity sel). 

-- 
Arnaud de Montard 





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

Re: Miyako Excel Component

2019-05-24 Thread Arnaud de Montard via 4D_Tech

> Le 24 mai 2019 à 19:24, Peter Jakobsson via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi
> 
> I have a one-off need to create 2 very small (about 9 rows each, 2 columns) 
> spreadsheets from 4D in native Excel format.
> 
> Is Miyako’s component still available anywhere ? The sources.4d.com site 
> seems to have gone away. (Or maybe I’m just not accessing it correctly…is it 
> FTP ?)

There are many xl things in Miyako's shop (I only know the freeXL one, it reads 
.xls):


I'd use Rob Lavaux's XL plugin, the demo mode is enough for your need (and it's 
worth it):


-- 
Arnaud de Montard 




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

Re: Benefits of 64-bit 4D Remote

2019-05-23 Thread Arnaud de Montard via 4D_Tech

> Le 23 mai 2019 à 07:35, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] Am I missing anything else if we stick to 32-bit 4D Remote? 

If it's mac (?), your client will not be able to use a newly bought mac, next 
os will not run 32b apps - Mojave was already supposed to… 

More generally, I don't know if your client can hear that, but he should be 
sensitized to prepare the near future. I'm moving many apps on 17R4 because 
it's 32+64, write plugin works and write pro is mature. 

-- 
Arnaud de Montard 





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

Re: Arrow on Windows

2019-04-29 Thread Arnaud de Montard via 4D_Tech


> Le 29 avr. 2019 à 09:59, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> unicode give you plenty of choices:

Very true, unicode is our friend. As an example, a method I use to represent 
some keyboard keys. The link to wiki in comments is a french-but-interesting 
page. Dingbats are represented in unicode too:


++
  //UI_KeyboardGetChar (keyCode_l) -> code
  //$0 : unicode value of the char representing the wanted keyboard key
  //$1 : use 4D constant for the corresponding char
  //example : Char(UI_KeyboardGetChar (Tab key)) -> "⇥"
  //http://fr.wikipedia.org/wiki/Table_des_caractères_Unicode_(2000-2FFF)
  //© arnaud * 27/07/2012
C_LONGINT($0)
C_LONGINT($1)

C_LONGINT($in_l)
C_LONGINT($out_l)

If (False)
C_LONGINT(UI_KeyboardGetChar ;$0)
C_LONGINT(UI_KeyboardGetChar ;$1)
End if 
  //_
If (Count parameters<1)
$out_l:=Character code("¿")

Else 

$in_l:=$1
  //$char:=Caractère(UI_KeyboardGetChar (Tabulation))
Case of 

: ($in_l=Help key)
$out_l:=Character code("?")
: ($in_l=Escape key)
$out_l:=0x238B
  //$out_l:=0x241B  //esc in letters
: ($in_l=127)  //erase to the right
$out_l:=0x2326
: ($in_l=Backspace key)  //erase to the left
$out_l:=0x232B
: ($in_l=Return key)
$out_l:=0x21A9
  //$out_l:=0x23CE//alternate
: ($in_l=Enter key)
$out_l:=0x2305
: ($in_l=Tab key)
$out_l:=0x21E5
: ($in_l=Left arrow key)
$out_l:=0x2190
: ($in_l=Up arrow key)
$out_l:=0x2191
: ($in_l=Right arrow key)
$out_l:=0x2192
: ($in_l=Down arrow key)
$out_l:=0x2193
: ($in_l=Home key)
$out_l:=0x2196
: ($in_l=End key)
$out_l:=0x2198
: ($in_l=Page up key)
$out_l:=0x21DE
: ($in_l=Page down key)
$out_l:=0x21DF
Else 
$out_l:=Character code("¿")  //unknown
End case 
End if 

$0:=$out_l
  //_
++

-- 
Arnaud de Montard 






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

Re: Form and DIALOG

2019-04-29 Thread Arnaud de Montard via 4D_Tech


> Le 29 avr. 2019 à 10:05, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Is it safe to use the object returned by the Form command as a means of 
> passing data back to the caller?[...]there’s nothing in the documentation, as 
> far as I can see, to indicate whether this is sanctioned or likely to change.

Hi Jeremy, 
see here:

"By combining the formData object and the Form command, you can send parameters 
to the form or read parameters from the form at any moment with clean and safe 
code."

Documented = more than safe  ;-)

-- 
Arnaud de Montard 



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

Re: not enough space in memory

2019-04-19 Thread Arnaud de Montard via 4D_Tech

> Le 16 avr. 2019 à 20:14, Peter Mew via 4D_Tech <4d_tech@lists.4d.com> a écrit 
> :
> 
> Hi
> I'm trying to load a large, 1.5G, audio file into a blob using document to
> blob

Hi Peter, 
what for?
You could load parts of the document: 
  RECEIVE PACKET ( docRef ; receptBlob ; aLotOfBytesButNotTooMuch ) 
but it depends what's your goal. I had to use that with huge text document to 
import. Even in 64bits, the limit is about 1Gb (I suppose the documentation 2Gb 
limit means bytes, not chars). 

-- 
Arnaud de Montard 





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

Re: ORDA and 4D selections

2019-04-10 Thread Arnaud de Montard via 4D_Tech

> Le 10 avr. 2019 à 02:46, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Chuck,
> There is no reason to use ORDA if you need a regular selection. Just use
> the classic 4D query commands.

It depends, for example you have a nice modern orda based interface and want to 
print it… then you realise that many printing commands use "legacy" selection / 
current record. 

-- 
Arnaud de Montard 





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

Re: ORDA and 4D selections

2019-04-10 Thread Arnaud de Montard via 4D_Tech

> Le 9 avr. 2019 à 21:21, Douglas von Roeder via 4D_Tech <4d_tech@lists.4d.com> 
> a écrit :
> 
> “There are simply too many notes.”

  :-)

I'd naturally try in code editor something starting with "entity selection 
to..." or "selection from...". I dislike command naming starting with a verb 
when the chapter offers an obvious prefix (as listbox, web services, dom, etc). 
I'm tired to go through the whole Köchel catalog to find an unpredictable 
command name. 

-- 
Arnaud de Montard 





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

Re: Printing Structure Diagram

2019-04-03 Thread Arnaud de Montard via 4D_Tech

> Le 30 mars 2019 à 21:05, rooftop99--- via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 
> Thank you Chip,
> 
> I am aware of the xml and html exports.  I have used the xml export for 
> several purposes.  My question is, how do I get the printed visual structure 
> digram I need using either of these.  Surely there are database schema 
> [structure] diagram printing applications out there someplace that someone 
> has used successfully.  I am also open to 4D based solutions.

See this Vincent's contribution:


-- 
Arnaud de Montard 



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

Re: PDF viewing alternative in v17/64 bit

2019-03-27 Thread Arnaud de Montard via 4D_Tech

> Le 27 mars 2019 à 15:01, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Just ran into a nice surprise in 4D v17 on 64-bit using the embedded "Blink" 
> web area... it has a very nice cross-platform PDF viewer built in. Just pass 
> the path of a PDF into WA Open URL and it will display exactly the same on 
> both Mac and Windows -- no plug-ins or extra configuration required.

Great… 
Unfortunately we're still stuck for a while (write->write pro) to 32 bits. 
I'd like to thank you for this, BTW:


Strangely, using right click to print, the pdf document is printed 50% reduced 
at center of page: any idea, someone? 

-- 
Arnaud de Montard 




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

Re: Printing a PDF document from 4D

2019-03-20 Thread Arnaud de Montard via 4D_Tech

> Le 19 mars 2019 à 15:03, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> so I think it is preferable to generate PDF by code than to "print" it, if 
> possible. (like with the pluggers plugin)

I have not used it myself, but as far as I can remember when a friend showed 
me, this plugin allows to work in a very similar way to Print object. 

-- 
Arnaud de Montard 




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

Re: Reporting progress

2019-03-20 Thread Arnaud de Montard via 4D_Tech

> Le 20 mars 2019 à 11:00, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I’d like to give feedback about the process of a multi-step task - something 
> like
> [...]
> I’m sure this must have been done often before and I don’t want to re-invent 
> the wheel. Any suggestions gratefully received. 

See this from Miyako:


-- 
Arnaud de Montard 



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

Re: Printing forms modified with Duplicate Object

2019-03-07 Thread Arnaud de Montard via 4D_Tech

> Le 7 mars 2019 à 15:48, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> it was useful, because the old label editor could only position objects in 
> mac points (1/72 of an inch)
> 
> but I see that the doc says C_LONGINT.
> 
> https://doc.4d.com/4Dv17/4D/17.1/Print-object.301-4179612.en.html
> 
> B <== Print object : 27 : ( * ; a ) | Y ; L' ; L' ; L' ; L'
> 
> so I seems like I was wrong.

I've noticed the same, I suppose the command rounds the value if it has 
decimals. It was nice anyway to use real numbers and let the command do the 
rounding job. And once printed, a pixel is small (~0.35mm)… 

Strangely I've noticed that GET MOUSE(x;y;b) returns x & y as real numbers: 
something to do with retina? Else?

-- 
Arnaud de Montard 




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

Re: "Attempting to retype using a pointer"

2019-02-28 Thread Arnaud de Montard via 4D_Tech

> Le 28 févr. 2019 à 08:53, Jeremy Roussak via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]Those values happened to be pointers to variables (created by OBJECT 
> DUPLICATE and so necessarily referenced using pointers)[...]

Hi Jeremy, 
just curious, why not names instead of pointers on variables? If later you 
decide to use Form.object, which is not a variable but an expression, the 
pointer will no longer work. While the name will still be ok.  

-- 
Arnaud de Montard 



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

Re: Epoch time in milliseconds

2019-02-22 Thread Arnaud de Montard via 4D_Tech

> Le 22 févr. 2019 à 15:43, Alan Tilson via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> It seems Timestamp always returns the GMT time zone, correct?

Yes: "Timestamp returns the current UTC time…". Good thing BTW… 


> So to get a localized timestamp one would need to adjust the result?

Yes too  ;-)

--
Arnaud de Montard 




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

Re: Write Hex Bytes

2019-02-21 Thread Arnaud de Montard via 4D_Tech

> Le 21 févr. 2019 à 22:09, Peter Mew via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi
> This is driving me mad, so I hope someone will point me in the right
> direction.
> I have a string of text.
> I can find its length in Hex. now I want to write this length as 4 hex
> bytes, into the string, with the aim of doing a text to blob, later on.
> If I just add the Hex Number to the string it takes 8 bytes
> (String+HexByte0+HexByte1+HexByte2+HexByte3)
> If I convert the Hex Numbers to decimal and Do
> String+char(DecByte0)+char(DecByte1) etc.
> It takes up 4 Bytes but the Numbers written to the string are wrong.

Something like that? 

$hello:="hello world!"
$len:=Length($hello)
$hex:=String($len;"&x")
$hex:=Substring($hex;3)
$string:=$hex+$hello+"x"
C_BLOB($blb)
$charset:="utf-8"
CONVERT FROM TEXT($string;$charset;$blb)
$string2:=Convert to text($blb;$charset)
$offset:=4
$hex2:=Substring($string2;1;$offset)
$len2:=hexaToDecimal ($hex2)
$hello2:=Substring($string2;$offset+1;$len2)
ASSERT($len2=$len)
ASSERT($hex2=$hex)
ASSERT($hello2=$hello)

-- 
Arnaud de Montard 



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

Re: Epoch time in milliseconds

2019-02-20 Thread Arnaud de Montard via 4D_Tech

> Le 19 févr. 2019 à 23:51, Peter Jakobsson via 4D_Tech <4d_tech@lists.4d.com> 
> a écrit :
> 
> 
> Actually I just realised this may be a timezone issue rather than a precision 
> issue.
> 
> I’ve done it this way: [...]

You may be interested by 2 methods from Bruno Legay about epoch in the code 
sharing zone:



-- 
Arnaud de Montard 



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

Re: Set Time question

2019-02-14 Thread Arnaud de Montard via 4D_Tech

> Le 10 févr. 2019 à 18:41, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Just to add a little more to this.

Me too, forgot to mention CALL FORM: has a message queue, can receive 
parameters, can call its own window, allows to execute almost any method in the 
context of the form… In a recent 4d training, someone told me he had replaced a 
lot of "On timer" old code with it. 

-- 
Arnaud de Montard 




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

Re: Relation naming for ORDA in v17? Best Practices anyone?

2019-02-09 Thread Arnaud de Montard via 4D_Tech

> Le 9 févr. 2019 à 15:31, John DeSoi via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I always use singular table names and the relationship names are singular or 
> plural based on their type. [...]

Hi, 
using grammatical rules makes reading code closer to human langage. But I 
prefer to have the target table name in the relation name, as Christian said it 
allows generic treatments:
- in french many names have the same singular and plural (mouse -> 
souris/souris, contest -> concours/concours)
- in english it seems easier but there are many plurals that will not allow to 
get the table easily (tooth/teeth, story/stories, fish/fishes) 

-- 
Arnaud de Montard 





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

Re: Remote Runtime Error (What is an "entity set"?)

2019-02-09 Thread Arnaud de Montard via 4D_Tech

> Le 9 févr. 2019 à 05:52, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> Questions:
> 
> 1) What is an “entity set”? (Note the word “set” rather than “collection” in 
> the error message.)

Hi again, 
from this page:

"Entity selections can be "sorted" or "unsorted" (this point is discussed 
below)"
and the § "Ordered vs Unordered entity selections"
I suppose "set" in the error refers to the unsorted flavour. 

-- 
Arnaud de Montard 





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

Re: Remote Runtime Error (What is an "entity set"?)

2019-02-09 Thread Arnaud de Montard via 4D_Tech

> Le 9 févr. 2019 à 05:52, Jeremy French via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] 2) Why are “Edit” and “Trace” buttons disabled? 

Hi Jeremy, 
I've seen that quite often (component, server, others…). I suppose in this case 
internal error from DB engine is displayed to client but not considered as code 
that you can trace. You should try the usual shortcut (alt+cmd+right click) in 
that window, I'm quite sure trace will occur on next line of code. 

-- 
Arnaud de Montard 



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

Re: Relation naming for ORDA in v17? Best Practices anyone?

2019-02-08 Thread Arnaud de Montard via 4D_Tech

> Le 8 févr. 2019 à 20:18, Christian Sakowski via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
>> I went much simpler…
> 
> This is quite the same, but the problem with this approach is, that i cannot 
> parse relations generically.

I do agree, a name that allows to identify the function is great:
  find regex("^FK_";property;1) -> foreign key
  find regex("_p$";property;1) -> many to one relation
And these names are not supposed to change every day…  

-- 
Arnaud de Montard 





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

Re: Relation naming for ORDA in v17? Best Practices anyone?

2019-02-08 Thread Arnaud de Montard via 4D_Tech

> Le 8 févr. 2019 à 19:50, Ed Hammond via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Have any of you come up with a convention for naming relations for use with 
> ORDA? What have you found that works? or doesn't?

Hi Ed, 
the relation name is the direction in which we go from one field to another. 
Thus I stick to my table and fields naming to identify in the relation name:
- the destination table
- the direction (many to one ≠ one to many)
The "from" is unnecessary (redundant) because ORDA starts with it:
  ds.dataclass.{property}

For example:
  [company]PK  primary key
  [employee]FK_company ... foreign key
  company_p .. relation to one   {from ds.employee}
  employee_f . relation to many  {from ds.company}

ORDA will be like this:
  ds.employee.company_p … (many to one, to Primary…)
  ds.company.employee_f … (one to many, to Foreign…)

BTW, in french, "p" stands for "père" (father) an "f" for "fils" (sons), it 
suits me. Maybe an english reader would prefer O, M, for one, many, use a 
prefix instead. Some like plural/singular I've seen, like "company" and 
"allEmployees". Too much grammar for me  ;-) 

As two fields in the same table can't have the same name, two properties in the 
same entity must have different names. In case of multiple relation, I still 
follow my foreign keys naming, I add to the names what makes them different. 
For example this table:
  [Human]
   PK
   FK_humanFather
   FK_humanMother
Relations:
  from PK to FK_humanFather: humanFather_f
  from PK to FK_humanMother: humanMother_f
  from FK_humanFather to PK: human_p, father_p, etc.
  from FK_humanMother to PK: human_p, mother_p, etc.

-- 
Arnaud de Montard 



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

Re: Set Time question

2019-02-08 Thread Arnaud de Montard via 4D_Tech

> Le 8 févr. 2019 à 17:48, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] Is there a way to trap use actions like that so I can block the
> On timer code from running?

Each new SET TIMER "kills" the previously set one, so it allows to postpone or 
cancel next 'On timer'. For example when the user types into a search box, send 
the query after he has stopped input since one or 2 seconds. 

Maybe something like this in form method could work:

jobPostponed:=60*2  //2 seconds, for example
case of
  on keystroke
set timer(jobPostponed)
  on timer 
set timer(0)
job.do(please)
set timer(jobPostponed)
end case

Thinking after, there is surely more events to consider (On click, double clic, 
menu, etc.)

-- 
Arnaud de Montard 


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

Re: How to display read-only input form

2019-02-07 Thread Arnaud de Montard via 4D_Tech

> Le 6 févr. 2019 à 22:31, Jim Crate via 4D_Tech <4d_tech@lists.4d.com> a écrit 
> :
> 
> [...]
> I thought about using DIALOG, [...]

I would stop using legacy display commands (display/modify selection, 
add/modify record… maybe I forget some). IMHO 4D modern way to display a form 
is dialog, dialog or dialog. 

-- 
Arnaud de Montard 



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

Re: Command Symbol as part of Title of Button

2019-01-17 Thread Arnaud de Montard via 4D_Tech
Hi John, 
I use the following method to get the unicode value from some 4D constants: 

+
  //UI_KeyboardGetChar (keyCode_l) -> code
  //$0 code representing the keyCode_l
  //keyCode_l: 4D constant
  //example: Char(UI_KeyboardCharCode (Tab key)) -> "⇥"
  //http://fr.wikipedia.org/wiki/Table_des_caractères_Unicode_(2000-2FFF)

C_LONGINT($0)
C_LONGINT($1)

C_LONGINT($in_l)
C_LONGINT($out_l)

If (False)
C_LONGINT(UI_KeyboardGetChar ;$0)
C_LONGINT(UI_KeyboardGetChar ;$1)
End if 
  //_
If (Count parameters<1)
$out_l:=Character code("¿")
Else 
$in_l:=$1
  //$char:=Caractère(UI_KeyboardGetChar (Tabulation))
Case of 
: ($in_l=Help key)
$out_l:=Character code("?")
: ($in_l=Escape key)
$out_l:=0x238B
  //$out_l:=0x241B  //esc in letters
: ($in_l=127)  //erase to the right
$out_l:=0x2326
: ($in_l=Backspace key)  //erase to the left
$out_l:=0x232B
: ($in_l=Return key)
$out_l:=0x21A9
  //$out_l:=0x23CE//alternate
: ($in_l=Enter key)
$out_l:=0x2305
: ($in_l=Tab key)
$out_l:=0x21E5
: ($in_l=Left arrow key)
$out_l:=0x2190
: ($in_l=Up arrow key)
$out_l:=0x2191
: ($in_l=Right arrow key)
$out_l:=0x2192
: ($in_l=Down arrow key)
$out_l:=0x2193
: ($in_l=Home key)
$out_l:=0x2196
: ($in_l=End key)
$out_l:=0x2198
: ($in_l=Page up key)
$out_l:=0x21DE
: ($in_l=Page down key)
$out_l:=0x21DF
Else 
$out_l:=Character code("¿")  //unknown
  //$out_l:=0x2328
End case 
End if 

$0:=$out_l
  //_

+

I use it this way:
$buttonTitle:=:="Validate "+Char(UI_KeyboardGetChar (Enter key))
OBJECT SET TITLE(*;"buttonName";$buttonTitle)

-- 
Arnaud de Montard 



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

Re: v13- Chasing Relations

2019-01-10 Thread Arnaud de Montard via 4D_Tech

> Le 10 janv. 2019 à 20:21, cjmiller--- via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> You could run it on server 

Running a method on server is great if there a lot of data to read and/or 
write, because it avoids the transfer of these data through network. Here the 
data is very small, time to ask server to run the method and time to get that 
little data will be the same. Some times:
- using SQL ~ 250 ms 1st time, then ~60 ms (I don't know why 1st time is 
longer, BTW)
- loop ~ 9 ms (and the server can do something better for other clients)

-- 
Arnaud de Montard 





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

Re: v13- Chasing Relations

2019-01-10 Thread Arnaud de Montard via 4D_Tech

> Le 10 janv. 2019 à 19:52, Charles Miller via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> You can use data form the following two 4d tables without having to
> loop through each of your tables/fields [...]

Yes, but it's always slower in C/S (specially when it's far far away): using 
system tables with SQL involves a request to the server, that ugly loop 
doesn't. And if you compile it in a component it's reduced to nothing… 

-- 
Arnaud de Montard 




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

Re: v13- Chasing Relations

2019-01-10 Thread Arnaud de Montard via 4D_Tech

> Le 8 janv. 2019 à 21:47, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> given a pointer to a table, or a pointer to a field of a table,
> I want to be able, for the current record of this table, to :

Hi Chip, 
I use this for foreign keys: 

//DB_getForeignKeys (aTable_p)
$parentTable_l:=Table($1)
$FKarray_p:=$2
CLEAR VARIABLE($FKarray_p->)
For ($table_l;1;Get last table number)
Case of
: (Not(Is table number valid($table_l)))
: ($table_l=$parentTable_l)
Else
For ($field_l;1;Get last field number($table_l))
If (Is field number valid($table_l;$field_l))
GET RELATION 
PROPERTIES($table_l;$field_l;$destinationTable_l;$destinationField_l)
If ($parentTable_l=$destinationTable_l)
APPEND TO 
ARRAY($FKarray_p->;Field($table_l;$field_l))
End if
End if
End for
End case
End for
$0:=Size of array($FKarray_p->)

Primary is easier, just loop through fields of the start table and check if a 
relation exists for the current one (as above). 

-- 
Arnaud de Montard 



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

Re: Pasting Spreadsheet Data into 4D Records

2018-12-25 Thread Arnaud de Montard via 4D_Tech

> Le 24 déc. 2018 à 20:44, Alan Tilson via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> I probably should have said that I potentially have hundreds of copy/paste
> operations to do!

When users have to do it very often, it's more efficient to copy in spreadsheet 
/ paste in 4D than export the document as csv and open it after. They do like 
it. 

-- 
Arnaud de Montard 




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

Re: Storing Dates and Times From Different Time Zones

2018-12-21 Thread Arnaud de Montard via 4D_Tech

> Le 20 déc. 2018 à 18:54, Nate Rheaume via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> We have clients that are accessing the same server database from different 
> time zones. We would like to store date/time using GMT and then display it in 
> the users local time zone.


As I understand, these timestamps are stored as strings. You may find 
interesting to use long integer fields instead, as in the examples here:

I use that since a very long time and never regretted. It's numbers, I can add 
or subtract easily. BTW date and time in a spreadsheet are of the same family: 
a number where integer portion = day and fractional portion = hour. 

-- 
Arnaud de Montard 




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

Re: Understanding Unicode Characters

2018-12-21 Thread Arnaud de Montard via 4D_Tech

> Le 20 déc. 2018 à 00:07, Robert ListMail via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] why is the unicode value written as “U+2022”, do you ever have to type 
> “U+”?


Hi Robert, 
you can use an hex value in 4d code by replacing "U+" with "0x":
  ASSERT(8226=0x2022)
  $bullet:=Character(0x2022)
  $bullet:=Character(8226)

In the good old ascii, decimal 165 (hex 0xA5) was represented by a bullet, as 
you cas see in the range 128..255:

But in this range, the resulting char could vary, depending on the OS "flavour" 
(see bottom of list, many codes were represented on mac with no equivalent on 
windows). 
In unicode, one code = one char and, definitely, 165 is "¥" and 0x2022 is "•". 

-- 
Arnaud de Montard 



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

Re: Appearance of Tab Control objects

2018-12-18 Thread Arnaud de Montard via 4D_Tech


> Le 17 déc. 2018 à 23:54, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Using v17 -
> Is there any way to control the appearance of tab control objects? 

Hi Pat, 
I don't think it's possible, I seem to remember it's "system inherited". But 
there was a nice example of tab control made in svg in the "svg goodies" demo. 

-- 
Arnaud de Montard 




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

Re: Coding/Development Style Guide?

2018-12-15 Thread Arnaud de Montard via 4D_Tech

> Le 14 déc. 2018 à 18:35, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Hi Chip,
> 
> Thanks for pointing out that forms can be inherited. 

I still have inherited, but in recent jobs I use subforms instead. They offer 
more solutions to design "shared parts" of UI. 

-- 
Arnaud de Montard 




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

Re: Coding/Development Style Guide?

2018-12-14 Thread Arnaud de Montard via 4D_Tech

> Le 14 déc. 2018 à 16:48, Pat Bensky via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> We have a family simple but effective set of rules for naming variables.
> [...]

Hi, 
we're using something similar for variables (except it's suffixes: myText_t, 
myDate_d, myTwoDimentionalArrayText_a2t, myObject_o, etc.)

Structure items 
- tables uppercase
- fields camelCase
- primary keys "PK"
- foreign keys "FK_primaryKeyTableName"
- relations 1 to N "tableNname__F" (foreign)
- relations N to 1 "table1name__P" (primary)

For methods, often a prefix representing a group of the same "module"… 

-- 
Arnaud de Montard 



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

Re: 4D Structure Export...

2018-12-08 Thread Arnaud de Montard via 4D_Tech


> Le 7 déc. 2018 à 23:11, Tom Benedict via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
>> [...]
> I see how one would get the modified date for the method using METHOD GET 
> MODIFICATION DATE, but I don’t see a METHOD GET MODIFIED BY. 

Thinking that Current user works already on server side… If we had events 
triggered (add, modify, delete) by structure objects (methods, forms) on server 
too, life would be simple. 

-- 
Arnaud de Montard 




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

Re: v17 kind of gotcha

2018-12-06 Thread Arnaud de Montard via 4D_Tech

> Le 6 déc. 2018 à 18:48, Charles Miller via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Ok thanks for the update but I am having these problems in a v17 dB. The
> error does not occur in v16 or v15

I suppose v17 throws an error because it's less permissive.  
Did you check there is no duplicate names at runtime (FORM GET OBJECTS)?

-- 
Arnaud de Montard 



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

Re: v17 kind of gotcha

2018-12-05 Thread Arnaud de Montard via 4D_Tech

> Le 5 déc. 2018 à 19:18, Chuck Miller via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I know one should never have two objects on a form with the same name. I have 
> code that creates list boxes on forms. In v16 compiled or source, I get no 
> errors. In v17 I get error as I had named columns the same thing on multiple 
> pages in different list boxes on the same form

I remember that bug, I had to rename listbox columns filled with "SELECT ... 
INTO listbox":

bug ACI0096810, fixed here:


-- 
Arnaud de Montard 




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

Re: [TIP]: Esoteric method for calculating Excel column references

2018-12-05 Thread Arnaud de Montard via 4D_Tech

> Le 2 déc. 2018 à 00:00, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I had need to calculate column references for an Excel spreadsheet for
> columns greater than 26. You know, so you can come up with the reference
> like: A1:AG1.

Hi Kirk, 
I had the same problem in the past… I used a similar solution, but recursive: 

++
  //Utl_spreadsheetColumn (column_l) -> text
  //convert column number to spreadsheet reference
C_TEXT($0;$out_t)
C_LONGINT($1;$unit_l;$base_l;$column_l)
  //_
$out_t:=""
Case of 
: (Count parameters<1)
  //nope
: ($1<1)
  //nope
Else 
$column_l:=$1
$unit_l:=(($column_l-1)%26)+1
$base_l:=($column_l-1)\26
If ($base_l>0)
$out_t:=Utl_spreadsheetColumn ($base_l)+$out_t
End if 
$out_t:=$out_t+Char($unit_l+64)
End case 
$0:=$out_t
++

unit test:
++
APPEND TO ARRAY($col_al;1)
APPEND TO ARRAY($ut_at;"a")
APPEND TO ARRAY($col_al;26)
APPEND TO ARRAY($ut_at;"z")
APPEND TO ARRAY($col_al;27)
APPEND TO ARRAY($ut_at;"aa")
APPEND TO ARRAY($col_al;702)
APPEND TO ARRAY($ut_at;"zz")
APPEND TO ARRAY($col_al;703)
APPEND TO ARRAY($ut_at;"aaa")
APPEND TO ARRAY($ut_at;"aaa")
APPEND TO ARRAY($col_al;1024)
For ($i_l;1;Size of array($col_al))
$ref_t:=Utl_spreadsheetColumn ($col_al{$i_l})
ASSERT($ref_t=$ut_at{$i_l})
End for 
++

-- 
Arnaud de Montard 




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

Re: Related Fields in a Listbox (Manual Relations)

2018-11-18 Thread Arnaud de Montard via 4D_Tech

> Le 16 nov. 2018 à 20:36, Keith Culotta via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Actually, "ok" and "better" are reversed in the examples.  More efficient to 
> let the Automatic Relations do the work.

Yes, I was surprised when I read  ;-) 

Sannyasin, 
• using on display detail will call the server every time a record is displayed 
and will result in a very slow list (not to say insupportable if you access 
server through WAN)
• using SET AUTOMATIC RELATIONS, lines content are calculated on server, much 
better 

-- 
Arnaud de Montard 





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

Re: Current time (*) incorrect today on v17?

2018-11-05 Thread Arnaud de Montard via 4D_Tech

> Le 5 nov. 2018 à 09:42, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com 
> > a écrit :
> 
> 16R4 and later offers Timestamp
> 
> http://doc.4d.com/4Dv17/4D/17/Timestamp.301-3730728.en.html 
> 
> 
> https://blog.4d.com/timestamp-is-now-available/ 
> 
I had forgotten  :-(

-- 
Arnaud de Montard 




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

Re: Current time (*) incorrect today on v17?

2018-11-05 Thread Arnaud de Montard via 4D_Tech

> Le 4 nov. 2018 à 20:01, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Seems like Current time(*) from a client might be cached incorrectly as an 
> optimization, since Current time and Current time(*) on the server both 
> returned correct values.

Looks like. But I'm wondering about that "optimisation", given Current time(*) 
is slower than Current time and seems to send a request to the server. 


> This completely broke credit card processing


I don't like to use local time since I noticed that nightly processes could 
create records with timestamps prior to records created before (sic), I use 
timestamps UTC based instead. I'd like to have 4D functions for UTC:

In waiting, see Miyako's nice use of XML DECODE in the same thread. I used it 
to get zone offset in seconds:
 

-- 
Arnaud de Montard 



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

Re: Current time (*) incorrect today on v17?

2018-11-04 Thread Arnaud de Montard via 4D_Tech

> Le 4 nov. 2018 à 18:34, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Looks like restarting the server fixes it.

Sorry, I did not see you mentioned v17. For my own I see my alert twice a year 
since v12: seems to be a deep solid bug. I've heard in Europe Daylight Saving 
Time (DST) could be abandoned next year - good for 4D.  

-- 
Arnaud de Montard 



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

Re: Current time (*) incorrect today on v17?

2018-11-04 Thread Arnaud de Montard via 4D_Tech

> Le 4 nov. 2018 à 17:23, Jeffrey Kain via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Is anyone else seeing that current time (*) called from a Mac client to a 
> Windows server running 4D v17 (HF3) is returning a time that's an hour ahead?
> 
> The Windows time on the server is current, and current time on the server 
> returns the correct time.  But current time(*) from a client is an hour ahead.

Did you restart the client and/or server? And what version? 
I have an old code that compares client/server hours at client startup (alert 
if different). At each time change, the alert throws: server not updated, I 
have to restart it. I don't know if this bug is corrected and, if it is, since 
when. 

-- 
Arnaud de Montard 



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

Re: Opening a verify log

2018-10-31 Thread Arnaud de Montard via 4D_Tech

> Le 29 oct. 2018 à 23:18, Robert McKeever via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> 4D v16.3, Mac OS 10.11.6.
> 
> [...]
> 
> But, what can I use to see the log files without using BBEdit? Even when 
> verifying the data file, its log file opens blank in a browser as well.

Firefox works, AFAICR. 

Another problem will come with CSM in v17: nice new format but no anchors… 

-- 
Arnaud de Montard 




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

Re: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Arnaud de Montard via 4D_Tech

> Le 17 oct. 2018 à 21:45, Robert ListMail via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> 
> Also, the client originally said the new database would not have to migrate 
> data forward from the old system and now they are wanting to have the data 
> too.

Most of the I write the new application in the old one when existing data must 
be recovered. I can for example keep correctly designed tables, create a table 
to replace a subtable and pour records from subtable in it, avoid the 
export/import nightmare from different structures, etc. 
The old stuff (tables, forms, etc.) will be deleted after the new app is 
released. 

-- 
Arnaud de Montard 



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

Re: Sets and the twinned process (Execute on server)

2018-10-17 Thread Arnaud de Montard via 4D_Tech

> Le 17 oct. 2018 à 17:58, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] a process set created on the
> client side is available to a trigger method which runs on the server.
> 
> I have an EOS method that does some queries and creates a set. I notice
> that set is visible to the client as well.

EoS method and trigger are executed in the same twin process, see "Execution 
Context" here:

this may explain that. 

-- 
Arnaud de Montard 



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

Re: v13 - Change Button Shortcut

2018-10-14 Thread Arnaud de Montard via 4D_Tech

> Le 12 oct. 2018 à 22:47, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> Is there a way to globally change the key shortcut assigned to a button 
> across multiple forms.
> 
> I inadvertently use Command (control) + Esc as short cut rather then 
> just Esc for form cancel buttons...
> I just found this.
> I would prefer NOT to have to manually go through every entry and 
> listing form to reset this value.
> The buttons are invisible, are all named the same, and are ubiquitous 
> on all of my entry and listing forms.

object set shortcut (*;"allNamedTheSame"; Shortcut with Carriage Return)  ;-)

I noticed this works better with all keyboards than hardcoded setting (legacy 
dialog)

-- 
Arnaud de Montard 





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

Re: Where is best place to save data outside data file

2018-10-10 Thread Arnaud de Montard via 4D_Tech

> Le 9 oct. 2018 à 17:50, Jody Bevan via 4D_Tech <4d_tech@lists.4d.com> a écrit 
> :
> 
> [...]
> 1. Is this the right location I should be saving this kind of information?

Unless it represents a huge amout of data / traffic, I think I'd choose to 
write this on server side. 

-- 
Arnaud de Montard 



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

Re: v13 - Relate One Selection issue

2018-10-03 Thread Arnaud de Montard via 4D_Tech

> Le 2 oct. 2018 à 20:10, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> 
> I ask because it is not, even after a restart of 4D

The doc says it should:
"The RELATE ONE SELECTION command creates a new selection of records for the 
table oneTable, based on the selection of records in the table manyTable and 
*** loads the first record of the new selection as the current record ***."

I'd try something like this:

 QUERY([Sample_Animal_Link];[Sample_Animal_Link]Sample_ID=[Samples]Sample_ID)
 If(found records([Sample_Animal_Link])>0)
   RELATE ONE SELECTION([Sample_Animal_Link];[Animal])
   If(found records([Animal])>0)
 ASSERT([Animal]primaryKey not empty)
   End if
 End if

Or [Sample_Animal_Link] orphan of animal?

BTW:
   //given a [Samples] selection
 RELATE ONE SELECTION([Samples];[Animal])  //Samples..Sample_Animal_Link..Animal
This use of RELATE ONE SELECTION is not documented but works (or used to work, 
it's a while since I didn't try)

-- 
Arnaud de Montard 



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

Anyone using int64 field?

2018-09-25 Thread Arnaud de Montard via 4D_Tech
(the object says it all)

-- 
Arnaud de Montard 




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

Re: 2 Factor Authentication

2018-09-19 Thread Arnaud de Montard via 4D_Tech

> Le 19 sept. 2018 à 20:39, Peter Bozek via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> On Wed, Sep 19, 2018 at 7:49 PM Timothy Penner via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> Did you go to the 4D Summit?
>> 
>> If so, then you should have access to this:
>> http://kb.4d.com/assetid=78020
> 
> Hmm, I went to Summit in Paris and do not have access to the article.

Do you have many mail adresses?
If I use the registered email, it works. 

-- 
Arnaud de Montard 




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

Re: Do I want to use SELECTION TO ARRAY instead of GOTO SELECTED RECORD server-side in V17

2018-09-19 Thread Arnaud de Montard via 4D_Tech

> Le 18 sept. 2018 à 18:50, Dani Beaubien  a 
> écrit :
> 
> This has been a very interesting discussion. I decided to test the various 
> techniques using the code I pasted below.
> [...]

Thanks for testing  :-) 

Some thoughts… 
- I had surprises with tests using a single string of the same length 
($textToAdd:="123456789") vs "true" samples (various length)
- the more you concatenate, the slower it is
- the longer the string you add too, the slower it is
 
- I use the "growing blob" in 32bits since a while now, no blob size problem
- I don't remember of a situation were strings to concatenate were not in a 
text array before, this is some code to test filling such an array:
 $textToAdd:="123456789"*100  //changing length here does not seem to change 
the speed; try random too…
 $end_l:=Tickcount+(60*10)
 $i_l:=0
 $ms_l:=Milliseconds
 ARRAY TEXT($concat_at;0)
 ARRAY LONGINT($ms_al;0)
 Repeat
$i_l:=$i_l+1
APPEND TO ARRAY($concat_at;$textToAdd)
If ($i_l%2000=0)
APPEND TO ARRAY($ms_al;Milliseconds-$ms_l)
$ms_l:=Milliseconds
End if
 Until (Tickcount>$end_l)
 $average_r:=Average($ms_al)
 $max_r:=Max($ms_al)
 $min_r:=Min($ms_al)
 TRACE
- SSD disks are great if memory can be a problem 
 loop
   add to text array
   if(text array size is more than xxx)
 concatenate text array into text  //using blob of course  ;-)
 append text to file
 set text array to zero
   end if
 end loop
- see also >http://forums.4d.com/Post/FR/19466463/1/19466704#19466704>, I 
didn't test 

-- 
Arnaud de Montard 



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

Re: Do I want to use SELECTION TO ARRAY instead of GOTO SELECTED RECORD server-side in V17

2018-09-17 Thread Arnaud de Montard via 4D_Tech

> Le 17 sept. 2018 à 16:15, Bart Davis via 4D_Tech <4d_tech@lists.4d.com 
> > a écrit :
> 
> No need to write to a file.  Appending text to a text variable is very slow, 
> but using TEXT TO BLOB($textToAdd;$blob;UTF8 text without length;*)  is very 
> fast.  Give that a try and see the huge speed difference.

You can also append in a text array, then implode that array using that blob 
technique.
>
Huge amount of text can be hold this way, very fast. 

About the 2Gb limit of text, I noticed the limit in number of chars is about 
the half. 

-- 
Arnaud de Montard 



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

good job needs good doc

2018-09-12 Thread Arnaud de Montard via 4D_Tech
When I use 4dv16r6, I'd like the alt clic shortcut on a command to open the 
good version of doc. 
Of course not, it drives me nuts. 
Any idea? 
Where are documented the links we can use?

-- 
Arnaud de Montard 




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

Re: table/field token

2018-09-07 Thread Arnaud de Montard via 4D_Tech

> Le 7 sept. 2018 à 00:28, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I tested with a recent nightly build (17.226877)
> 
> I have [Table_1] but as I type [xx:1] and hit enter, it tokenises as [Table_1]
> same with [:1]


Hi Miyako, 
many thanks for testing  :-)
I didn't mention I tested also:
v16r2 -> OK
v17.0 -> ko
so from your test I suppose it began between v16r2 and v16r6, and was corrected 
after v17.0. 


> so even though the main place I'd expect tokens to work
> is in the context of 4D tags and formula of form objects,
> it seems to work in the code editor too.


In fact I've seen that in selection listbox formulas columns after converting 
in v16r6, 1st line was displaying "wrong expression" (or something like that) 
and the following an empty string. So I typed these tokens in editor and saw 
they were not recognised. I may be wrong but I suppose formulas and editor rely 
on common stuff… 

-- 
Arnaud de Montard 





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

Re: table/field token

2018-09-06 Thread Arnaud de Montard via 4D_Tech

> Le 6 sept. 2018 à 17:38, Richard Wright via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I thought you were saying that these characters were not allowed as of v16 R4 
> even without enabling the new feature. I’m just hoping that 4D will never 
> require us to enable the new feature or, if they do, that they give us plenty 
> of advance notice. It’s not trivial to make changes like this to a 30 year 
> old application with hundreds of tables and a million lines of code. 


Hi Richard, 
in the table+field token I'm talking about, brackets are *around*, while in my 
understanding those chars are forbidden *inside* names themselves. And keeping 
"bad names" will forbid the use of ORDA, quite sad…   

BTW, changing names in a many 4DB since v11 did not took a long time to me 
(while I must admit I had not a lot of "external code", like SQL or html…). I 
used the code under to establish the bad names list
>
then I began to rename… 
(note: such a "mass" renaming could be easier in explorer than in structure)

-- 
Arnaud de Montard 




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

Re: table/field token

2018-09-06 Thread Arnaud de Montard via 4D_Tech

> Le 6 sept. 2018 à 08:20, Arnaud de Montard via 4D_Tech <4d_tech@lists.4d.com> 
> a écrit :
> 
> Hi Tim, 
> I did not get your first response from the list. No matter as I can read it 
> cited under Richard's response, but I wonder about that gap?? 

oops I'm wrong. Sorry. 

-- 
Arnaud de Montard 




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

Re: table/field token

2018-09-06 Thread Arnaud de Montard via 4D_Tech

> Le 6 sept. 2018 à 01:31, Keisuke Miyako via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> 
> e.g. [contacts:2] but maybe [contacts] is NOT table #2

Hi Miyako, 
to be clearer, this is screen capture of method editor (supposing it's a 
similar mechanism to the interpreter):
>
why line 6 is not recognised?
I thought I could put anything before the token, but it sounds like I have to 
use the hardcoded table name or the wildcard, and nothing else. 

-- 
Arnaud de Montard 



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

Re: table/field token

2018-09-05 Thread Arnaud de Montard via 4D_Tech
Hi Tim, 
I did not get your first response from the list. No matter as I can read it 
cited under Richard's response, but I wonder about that gap?? 

-- 
Arnaud de Montard 


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

table/field token

2018-09-05 Thread Arnaud de Montard via 4D_Tech
Migrating from v14r5 to v16r6, dot notation on. 

In fomulas referencing fields, I have things like this:
  TimeStampToText([:2]:3)

In v16r6, such token is no longer recognised ; I've found 2 turnarounds :
1/ add the table/field names before the token:
  TimeStampToText ([aTable:2]aField:3)
2/ use wildcard:
  TimeStampToText ([@:2]@:3)

Surely something to do with dot notation, but I wonder if it's a bug or 
something I miss? 

-- 
Arnaud de Montard 



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

Re: UUID query ignores characters 33 to n.... didn't know that!

2018-09-03 Thread Arnaud de Montard via 4D_Tech

> Le 3 sept. 2018 à 00:45, Jim Labos - infobase via 4D_Tech 
> <4d_tech@lists.4d.com> a écrit :
> 
> [...]
> 
> What do you all think? Is this a bug? An annoying gotcha? Did you already
> all know this and I am the only one who didn't?

QUERY([aTable];[aTable]longint=Num("123xxx")
We are not surprised that values = 123 are found. If you consider that 4D uuid 
field is a 2^128 integer (scalar number), it's the same thing that happens to 
your trailing "xxx" and those above. 

BTW, I think that uuid fields with an alpha icon in structure it is a source of 
confusion. 

-- 
Arnaud de Montard 



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

Re: [offish] Code to make your head hurt

2018-08-16 Thread Arnaud de Montard via 4D_Tech

> Le 16 août 2018 à 01:29, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> interpretably it does work - with locals!
> 
> tomorrow Ill try compiled...

Second syntax of MULTI SORT ARRAY does not work?

-- 
Arnaud de Montard 





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

Re: SVG IDs in Listbox Cells

2018-08-15 Thread Arnaud de Montard via 4D_Tech

> Le 15 août 2018 à 16:21, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com 
> > a écrit :
> 
> LISTBOX GET CELL COORDINATES

Hi Cannon, 
I'm afraid I had not seen this command exists since v14r5 - I must get old and 
blind. Thanks for better code  :-)

BTW, it seems finally you use a picture var over the cell? Makes me think that 
besides getting blind, my english is ununderstandable  ;-)
>

-- 
Arnaud de Montard 



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

Re: SVG IDs in Listbox Cells

2018-08-15 Thread Arnaud de Montard via 4D_Tech

> Le 15 août 2018 à 11:36, jim.dorrance--- via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...] calculate the scrollbar positions and find the cell. 

2 methods (c4d format) for that…
>

-- 
Arnaud de Montard 




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

Re: Conversion to WritePro

2018-08-15 Thread Arnaud de Montard via 4D_Tech

> Le 15 août 2018 à 15:30, Bernd Fröhlich via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> Seems like the space between lines is not kept as before.
> 
> Don´t quite know how to proceed now.
> Luckily the old 4D Write still works in V17.
> I guess I just stick to it until (hopefully) the conversion will keep the 
> spacing in some future version.

Line spacing in 4D write plugin is "automatic" (not far from 1,2*font size; 
once, twice, etc.). If the "display engine" has changed, maybe this explains 
that… 
Anyway I've always missed a *fixed* line spacing in the plugin: does it exist 
in write pro? 

-- 
Arnaud de Montard 





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

Re: SVG IDs in Listbox Cells

2018-08-13 Thread Arnaud de Montard via 4D_Tech

> Le 13 août 2018 à 19:01, Cannon Smith via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> You know how you can give SVG elements IDs and then use SVG Find element ID 
> by coordinates during a click or mouse over event to figure out what element 
> the mouse is over in an SVG picture? I’d like to do this, except that the SVG 
> picture is in a list box.

I have a doubt about using events mouse enter/leave/move svg events in such 
context, IMHO listbox events will "win". But superimposing a picture variable 
over the listbox cell one, same coordinates, same picture, could work. 

-- 
Arnaud de Montard 



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

Re: Scheduled ISP Maintenance @ 4D Office (France)

2018-08-06 Thread Arnaud de Montard via 4D_Tech

> Le 4 août 2018 à 00:25, Timothy Penner via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> 
> The ISP @ our French Headquarters is doing a scheduled maintenance that 
> started 20 minutes ago and is planned to last another 4 hours 10 minutes. 

It seems they found refuge in an ice cream shop.  

-- 
Arnaud de Montard 




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

Re: Fields Missing Getters and setters

2018-08-05 Thread Arnaud de Montard via 4D_Tech

> Le 3 août 2018 à 18:36, Chip Scheide via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> I am trying to insure that all of my intended primary key fields - are 
> primary keys.
> [...]
> 
> Am I missing something?

Yes  ;-) 
I think it's better to use structure xml description instead of SQL: 

This xml embeds more informations than SQL (4D is more than SQL, or different 
at least) and you get it all at once (one request to server) 

Two examples based on that command:
• 
• on 4DBB, search for "flatStructure" (off today, I can't paste a link), it's a 
component that gets xml, converts it to object, then reads table, fields, 
relations and indexes from it. 

-- 
Arnaud de Montard 



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

  1   2   3   4   >