Liste des commandes 4D pour snippets?

je te l’accorde. Cependant je n’ai pas dit que j’utilisais cela, juste que cela semble possible :lol:

Patrick

: Patrick EMANUEL

Il me semble même avoir vu dans un post que tu n’es pas obligé de
mettre le texte de la commande à partir du moment où tu utilises le
token
Je croyais ça aussi mais https://forums.4d.com/Post/FR/26029391/1/26029392#26029392me suis fait avoir>. Peut être un conflit avec la notation à points, vu qu’on venait d’y passer et bien que je ne vois pas lequel. J’ai corrigé sans chercher plus.

Jamais testé car comme le dis Luc, la relecture ne va pas être des plus simples. J’ai pas au programme à apprendre les tokens des commandes et des constantes. :mrgreen:

: Patrick EMANUEL

apprendre les tokens des commandes et des constantes. :mrgreen:
La recherche par numéro de token dans la doc n’étant pas prévue, pas le choix, il faut mé-mo-ri-ser. En 4 ans, je sais par cœur que Sum=1, Average=2, Max=3, Min=4, c’est très encourageant.

ca va être dur d’apprendre le tout avant la retraite :wink:

: Luc STELL

si quelqu’un peut obtenir la liste des arguments pour chaque
commande, je les ajouterai.
Avec de quoi convertir le xml en objet, ça commence plutôt bien :
[]28345413;“Your comment here…”[/]
<code 4D>
//XML_toObjectMain
//conversion xml -> objet
C_TEXTE($1)
C_TEXTE($path_t)
$path_t:=$1
ASSERT(Tester chemin acces($path_t)=Est un document)
Si (ok=1)
ASSERT(Tester chemin acces($path_t)=Est un document)
$XMLroot_t:=DOM Analyser source XML($path_t)
Si (ok=0)
$error_t:=“DOM Analyser source XML”
Fin de si
TABLEAU TEXTE($Xpath_at;0)
Si (ok=1)
C_OBJET($out_o)
$out_o:=Xml_ToObject ($XMLroot_t)
Fin de si

Si (Longueur($XMLroot_t)>0)
	DOM FERMER XML($XMLroot_t)
Fin de si 
$0:=$out_o
Fin de si 

//_
</code 4D>
https://forums.4d.com/Post/FR/18847378/1/18847379#18847379

Ben je t’avoue que la conversion en object permet ensuite de travailler plus facilement la chose. En gros, tu dégages ce qui ne t’intéresses pas et dans l’object, tu conserves uniquement tout ce qui se rapporte aux commandes.
Après, ce n’est qu’une question de goût et de besoins :wink:

Ce n’est pas tant que l’un soit mieux que l’autre, c’est surtout 4D qui oriente le choix - quand il existe, bien sûr. D’un coté une doc xml dédiée et riche de commandes aux noms kilométriques, des zattribut et des zéléments dont je ne sais jamais pourquoi l’un plutôt que l’autre, une structure en mémoire qu’il faut penser à nettoyer. De l’autre le json qui n’a que des propriétés, la dot notation bien intégrée au langage, du code beaucoup plus véloce et une mémoire autonettoyante.

Pour moi, le XML est quelque chose que je n’aime pas trop. En règle générale, je prends ce dont j’ai besoin puis je travaille l’info d’une autre manière. En plus, je suis beaucoup plus à l’aise avec les objects qui peuvent, comme tu le dis, autonettoyant.

Patrick

Ok super, je vais taper dans le fichier XML directement car celui-ci existe aussi dans les projets des autres langues.

Ca me donne quelques idées complémentaires dont je m’occuperai quand je serai un peu mieux.

J’ai vu que Gabriel (parent avec Maurice ? si oui, passe lui le bonjour !) avait fait du très bon travail pour Sublime Text.
Ca fait déjà 2 excellents éditeurs de texte avec la syntaxe 4D. :smiley:

merci pour votre aide en tous cas, et j’espère que ca va servi à beaucoup pour leurs pages web.

Ca serait cool de faire un forum dédié au Web avec 4D (Frameworks -Angular, Vue, React…-, Mise en forme SCSS -Bootstrap, Foundation,…-- avec les retours d’expériences de chacun.

: Luc STELL

Ca serait cool de faire un forum dédié au Web avec 4D
Bin, c’est https://forums.4d.com/Forum/FR/579/0/0/celui là>, non ?

euh… oui j’avais même pas vu :mrgreen:
faut que je change mes lunettes :roll:

À propos de “snippets”… Vincent (qui a plus d’un tour dans son sac) me l’a dit mais je ne parviens plus à me souvenir : comment, quand on saisi dans l’éditeur de code 4D, “injecter” des valeurs à la liste proposée (exemple : les member functions). Le papa de 4D pop me lit-il ?

Je viens de creer un Post dans le forum 4D Web à ce sujet avec une nouvelle version contenant :

  • parametres des commandes
  • Type de variable + signe d’affectation pour les fonctions
  • Description sommaire de la commande

voir https://forums.4d.com/Post/FR/28358488/1/28358489 ici

En attendant que l’auto-complétion des member functions soit implémentée, j’ai créé une méthode https://forums.4d.com/4DBB_Main/x_User/3930/files/28359191.zipINIT_AUTO_COMPLETION> dans ma base et ce code appelé au démarrage :

<code 4D>
If (Not(Is compiled mode))

METHOD OPEN PATH("INIT_AUTO_COMPLETION")

End if
</code 4D>

Merci papa pop, mais l’archive refuse de se “déplier” !

<code 4D>
//%attributes = {“invisible”:true}
C_LONGINT:C283($l)
C_OBJECT:C1216($o)
C_COLLECTION:C1488($c)

If (False:C215)

  // Collections
$c.average()
$c.clear()
$c.combine()
$c.concat()
$c.copy()
$c.count()
$c.countValues()
$c.distinct()
$c.equal()
$c.every()
$c.extract()
$c.fill()
$c.filter()
$c.find()
$c.findIndex()
$c.indexOf()
$c.indices()
$c.insert()
$c.join()
$c.lastIndexOf()
$c.map()
$c.max()
$c.min()
$c.orderBy()
$c.orderByMethod()
$c.pop()
$c.push()
$c.query()
$c.reduce()
$c.remove()
$c.resize()
$c.reverse()
$c.shift()
$c.slice()
$c.some()
$c.sort()
$c.sum()
$c.unshift()

$l:=$c.length

End if

If (False:C215)

  // DataStore
$o:=ds:C1482
$o:=ds:C1482[""].getInfo()

End if

If (False:C215)

  // DataClass
$o:=$o.all()
$o:=$o.fromCollection()
$o:=$o.get()
$o:=$o.new()
$o:=$o.newSelection()
$o:=$o.query()

  // DataClassAttribute
$o.kind()
$o.name()

End if

If (False:C215)

  // Entity
$o.clone()
$o.diff()
$o.drop()
$o.first()
$o.fromObject()
$o.getKey()
$o.getStamp()
$o.indexOf()
$o.isNew()
$o.last()
$o.lock()
$o.next()
$o.previous()
$o.reload()
$o.save()
$o.toObject()
$o.touched()
$o.touchedAttributes()
$o.unlock()

End if

If (False:C215)

  // EntitySelection
$o.queryPath()
$o.queryPlan()
$o.add()
$o.and()
$o.average()
$o.contains()
$o.count()
$o.distinct()
$o.drop()
$o.first()
$o.isOrdered()
$o.last()
$o.max()
$o.min()
$o.minus()
$o.or()
$o.orderBy()
$o.query()
$o.slice()
$o.sum()
$o.toCollection()

End if
</code 4D>

C’est paaaarfait, un gros merci et un bon week-end.

Bon, c’est nettement moins utile, mais je me suis faut un mémo ORDA/collections, vu que j’étais complètement largué (ça n’a guère changé, au demeurant). Je le joins, si ça peut intéresser.
https://forums.4d.com/4DBB_Main/x_User/4467/files/28361004.pdf