Techtip pour générer un fichier disque listant les champs uniques non-indexés : http://kb.4d.com/assetid=77024, (en anglais) ou ci-dessous code en français :
C_ENTIER LONG($maxTableNumber_l;$currentTable_l)
C_ENTIER LONG($maxFieldCount_l;$currentField_l)
C_ENTIER LONG($dontCare_l)
C_BOOLEEN($dontCare_f;$isIndexed_f;$isUnique_f)
C_TEXTE($logHeader_t;$logRecord_t;$logfile_t)
C_TEXTE($delim_t;$lf_t)
C_HEURE($logfile_h)
C_TEXTE($tableName_t;$fieldName_t;$note_t)
$delim_t:=Caractere(Tabulation)
$lf_t:=Caractere(Retour chariot)+Caractere(Retour à la ligne)
$logHeader_t:="Champs uniques sans index :"+$lf_t
$logfile_t:=Dossier 4D(Dossier Logs)+"UniqueNonIndex.txt"
$logfile_h:=Creer document($logfile_t)
Si(OK=1)
ENVOYER PAQUET($logfile_h;$logHeader_t)
$maxTableNumber_l:=Lire numero derniere table
Boucle($currentTable_l;1;$maxTableNumber_l)
Si(Est un numero de table valide($currentTable_l))
$maxFieldCount_l:=Lire numero dernier champ(Table($currentTable_l))
Boucle($currentField_l;1;$maxFieldCount_l)
Si(Est un numero de champ valide($currentTable_l;$currentField_l))
LIRE PROPRIETES CHAMP($currentTable_l;$currentField_l;$dontCare_l;\
$dontCare_l;$isIndexed_f;$isUnique_f;$dontCare_f)
Si(($isUnique_f)&(Non($isIndexed_f)))
$tableName_t:=Nom de la table(Table($currentTable_l))
$fieldName_t:=Nom du champ(Champ($currentTable_l;$currentField_l))
$logRecord_t:="["+$tableName_t+"]"+$fieldName_t+$lf_t
ENVOYER PAQUET($logfile_h;$logRecord_t)
Fin de si
Fin de si
Fin de boucle
Fin de si
Fin de boucle
Fin de si
FERMER DOCUMENT($logfile_h)
TechTip pour créer les index manquants sur les champs déclarés "Unique" mais non-indexés : http://kb.4d.com/assetid=77023 (en anglais), ou ci-dessous code en français :
C_ENTIER LONG($maxTableNumber_l;$currentTable_l)
C_ENTIER LONG($maxFieldCount_l;$currentField_l)
C_ENTIER LONG($dontCare_l)
C_BOOLEEN($dontCare_f;$isIndexed_f;$isUnique_f)
C_TEXTE($logHeader_t;$logRecord_t;$logfile_t)
C_TEXTE($delim_t;$lf_t)
C_TEXTE($tableName_t;$fieldName_t;$note_t)
$maxTableNumber_l:=Lire numero derniere table
Boucle($currentTable_l;1;$maxTableNumber_l)
Si(Est un numero de table valide($currentTable_l))
$maxFieldCount_l:=Lire numero dernier champ(Table($currentTable_l))
boucle($currentField_l;1;$maxFieldCount_l)
Si(Est un numero de champ valide($currentTable_l;$currentField_l))
LIRE PROPRIETES CHAMP($currentTable_l;$currentField_l;$dontCare_l;\
$dontCare_l;$isIndexed_f;$isUnique_f;$dontCare_f)
Si($isUnique_f)&(Non($isIndexed_f))
$tablePtr:=Table($currentTable_l)
$fieldPtr:=Champ($currentTable_l;$currentField_l)
$tableName_t:=Nom de la table($tablePtr)
$fieldName_t:=Nom du champ($fieldPtr)
$indexName_t:="["+$tableName_t+"]"+$fieldName_t+" indexé car unicité"
TABLEAU POINTEUR($fieldsArray_p;1)
$fieldsArray_p{1}:=$fieldPtr
CREER INDEX($tablePtr->;$fieldsArray_p;Index BTree standard;$indexName_t;*)
Fin de si
Fin de si
Fin de boucle
Fin de si
Fin de boucle
A faire en version 32-bit (donc avant passage en 64 bits).
1 - transférer vos images statiques sur les formulaires dans la bibliothèque d'images :

2 - une fois vos images tranférées, convertissez-les en .png ou .jpeg :
C_ENTIER LONG($i;$SOA;$RIS;$PictRef)
C_TEXTE($PictName)
C_IMAGE($Pict)
TABLEAU ENTIER LONG($aL_PictRef;0)
TABLEAU TEXTE($aT_PictName;0)
TABLEAU TEXTE($at_Codecs;0)
LISTE IMAGES DANS BIBLIOTHEQUE($aL_PictRef;$aT_PictName)
$SOA:=Taille tableau($aL_PictRef)
Si($SOA>0)
Boucle($i;1;$SOA)
$PictRef:=$aL_PictRef{$i}
$PictName:=$aT_PictName{$i}
LIRE IMAGE DANS BIBLIOTHEQUE($aL_PictRef{$i};$Pict)
LIRE FORMATS IMAGE($Pict;$at_Codecs)
Boucle($j;1;Taille tableau($at_Codecs))
Si($at_Codecs{$j}=".pict")
CONVERTIR IMAGE($Pict;".png")
ECRIRE IMAGE DANS BIBLIOTHEQUE($Pict;$PictRef;$PictName)
Fin de si
Fin de boucle
Fin de boucle
Sinon
ALERTE("La bibliothèque d'images est vide.")
Fin de si
Voir Langue des commandes et des constantes. Dans le contexte du déploiement d'applications fusionnées, pour utiliser les paramètres régionaux vous pouvez éditer le contenu du fichier de préférences de 4D v1x sur chaque machine locale et fixer la clé "use_localized_language" à "true". Par exemple :
$UserPreference:=Dossier 4D(Dossier 4D actif)+"4D Preferences v17.4DPreferences"
$ref:=DOM Analyser source XML($UserPreference;Vrai)
$refElem:=DOM Chercher element XML($ref;"preferences/com.4d/method_editor/options";arrElementRefs)
DOM LIRE ATTRIBUT XML PAR NOM($refElem;"use_localized_language";$attrValue)
Si($attrValue="false")
DOM ECRIRE ATTRIBUT XML($refElem;"use_localized_language";"true")
Fin de si
DOM EXPORTER VERS FICHIER($ref;$UserPreference)
DOM FERMER XML($ref)