TechTip para generar un archivo disco que liste campos únicos no indexados:
C_LONGINT($maxTableNumber_l;$currentTable_l)
C_LONGINT($maxFieldCount_l;$currentField_l)
C_LONGINT($dontCare_l)
C_BOOLEAN($dontCare_f;$isIndexed_f;$isUnique_f)
C_TEXT($logHeader_t;$logRecord_t;$logfile_t)
C_TEXT($delim_t;$lf_t)
C_TIME($logfile_h)
C_TEXT($tableName_t;$fieldName_t;$note_t)
$delim_t:=Char(Tab)
$lf_t:=Char(Carriage return)+Char(Line feed)
$logHeader_t:="Unique fields without index:"+$lf_t
$logfile_t:=Get 4D folder(Logs folder)+"UniqueNotIndexed.txt"
$logfile_h:=Create document($logfile_t)
If(OK=1)
SEND PACKET($logfile_h;$logHeader_t)
$maxTableNumber_l:=Get last table number
For($currentTable_l;1;$maxTableNumber_l)
If(Is table number valid($currentTable_l))
$maxFieldCount_l:=Get last field number(Table($currentTable_l))
For($currentField_l;1;$maxFieldCount_l)
If(Is field number valid($currentTable_l;$currentField_l))
GET FIELD PROPERTIES($currentTable_l;$currentField_l;$dontCare_l;\
$dontCare_l;$isIndexed_f;$isUnique_f;$dontCare_f)
If(($isUnique_f) & (Not($isIndexed_f)))
$tableName_t:=Table name(Table($currentTable_l))
$fieldName_t:=Field name(Field($currentTable_l;$currentField_l))
$logRecord_t:="["+$tableName_t+"]"+$fieldName_t+$lf_t
SEND PACKET($logfile_h;$logRecord_t)
End if
End if
End for
End if
End for
CLOSE DOCUMENT($logfile_h)
SHOW ON DISK($logfile_t)
End if
TechTip para crear índices faltantes en los campos declarados "únicos" pero no indexados:
C_LONGINT($maxTableNumber_l;$currentTable_l)
C_LONGINT($maxFieldCount_l;$currentField_l)
C_LONGINT($dontCare_l)
C_BOOLEAN($dontCare_f;$isIndexed_f;$isUnique_f)
C_TEXT($logHeader_t;$logRecord_t;$logfile_t)
C_TEXT($delim_t;$lf_t)
C_TIME($logfile_h)
C_TEXT($tableName_t;$fieldName_t;$note_t)
$maxTableNumber_l:=Get last table number
For($currentTable_l;1;$maxTableNumber_l)
If(Is table number valid($currentTable_l))
$maxFieldCount_l:=Get last field number(Table($currentTable_l))
For($currentField_l;1;$maxFieldCount_l)
If(Is field number valid($currentTable_l;$currentField_l))</p><p>
GET FIELD PROPERTIES($currentTable_l;$currentField_l;$dontCare_l;\
$dontCare_l;$isIndexed_f;$isUnique_f;$dontCare_f)
If(($isUnique_f) & (Not($isIndexed_f)))
$tablePtr:=Table($currentTable_l)
$fieldPtr:=Field($currentTable_l;$currentField_l)
$tableName_t:=Table name($tablePtr)
$fieldName_t:=Field name($fieldPtr)
$indexName_t:="["+$tableName_t+"]"+$fieldName_t+" indexed for uniqueness (kb#77023)"
ARRAY POINTER($fieldsArray_p;1)
$fieldsArray_p{1}:=$fieldPtr
CREATE INDEX($tablePtr->;$fieldsArray_p;Standard BTree Index;$indexName_t;*)
End if
End if
End for
End if
End for
Para hacer en versión 32 bits (es decir, antes de pasar a 64 bits).
1 - Transferir sus imágenes estáticas en los formularios a la librería de imágenes:

2 - Una vez sus imágenes sean transferidas, conviértalas a .png o .jpeg:
C_LONGINT($i;$SOA;$RIS;$PictRef)
C_TEXT($PictName)
C_PICTURE($Pict)
ARRAY LONGINT($aL_PictRef;0)
ARRAY TEXT($aT_PictName;0)
ARRAY TEXT($at_Codecs;0)
PICTURE LIBRARY LIST($aL_PictRef;$aT_PictName)
$SOA:=Size of array($aL_PictRef)
If($SOA>0)
For($i;1;$SOA)
$PictRef:=$aL_PictRef{$i}
$PictName:=$aT_PictName{$i}
GET PICTURE FROM LIBRARY($aL_PictRef{$i};$Pict)
GET PICTURE FORMATS($Pict;$at_Codecs)
For($j;1;Size of array($at_Codecs))
If($at_Codecs{$j}=".pict")
CONVERT PICTURE($Pict;".png")
SET PICTURE TO LIBRARY($Pict;$PictRef;$PictName)
End if
End for
End for
Else
ALERT("The image libary is empty.")
End if
Ver Lenguaje para los comandos y constantes. En el contexto del despliegue de aplicaciones fusionadas, para usar los parámetros regionales puede editar el contenido del archivo de preferencias de 4D v1x en cada máquina local y definir la llave "use_localized_language" como "true". Por ejemplo:
$UserPreference:=Get 4D folder(Active 4D Folder)+"4D Preferences v17.4DPreferences"
$ref:=DOM Parse XML source($UserPreference;True)
$refElem:=DOM Find XML element($ref;"preferences/com.4d/method_editor/options";arrElementRefs)
DOM GET XML ATTRIBUTE BY NAME($refElem;"use_localized_language";$attrValue)
if($attrValue="false")
DOM SET XML ATTRIBUTE($refElem;"use_localized_language";"true")
End if
DOM EXPOR TO FILE($ref;$UserPreference)
DOM CLOSE XML($ref)