4D v18

Anhang: Hilfreiche Methoden für die Konvertierung

Home

 
4D v18
Anhang: Hilfreiche Methoden für die Konvertierung

Anhang: Hilfreiche Methoden für die Konvertierung    


 

TechTip  um eine Datei auf der Festplatte zu erstellen, die nicht-indizierte einmalige Felder anzeigt:

 C_LONGINT($maxTableNumber_l;$currentTable_l)
 C_LONGINT($maxFieldCount_l;$currentField_l)
 C_LONGINT($dontCare_l// Für GET FIELD PROPERTIES nicht-verwendete Werte
 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))
 
  // Beachten Sie die folgenden Zeilenumbrüche über zwei Zeilen im Text,
  // Das ist eine Anweisung in der Methode:
                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 zum Erstellen fehlender Indizes auf Felder, die als einmalig deklariert, aber nicht indiziert sind

 C_LONGINT($maxTableNumber_l;$currentTable_l)
 C_LONGINT($maxFieldCount_l;$currentField_l)
 C_LONGINT($dontCare_l// Für GET FIELD PROPERTIES nicht verwendete Werte
 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))
 
  // Beachten Sie die folgenden Zeilenumbrüche über zwei Zeilen im Text,
  // Es ist eine Anweisung in der Methode:
             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

In einer 32-bit Version ausführen (z.B. vor der Umstellung auf 64 bits).

1 -  Übertragen Sie Ihre statischen Bilder in Formularen in die Bildbibliothek:

2 - Konvertieren Sie die übertragenen Bilder in .png oder .jpeg:

 C_LONGINT($i;$SOA;$RIS;$PictRef)
 C_TEXT($PictName)
 C_PICTURE($Pict)
  //------------ Arrays initialisieren ------------------
 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)
  //------------ PICT in png konvertieren ------------------
 If($SOA>0)
    For($i;1;$SOA// for each image
       $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") // ist das Format überholt
             CONVERT PICTURE($Pict;".png") // in png konvertieren
  // und in der library speichern
             SET PICTURE TO LIBRARY($Pict;$PictRef;$PictName)
          End if
       End for
    End for
 Else
    ALERT("Die Bildbiliothek ist leer.")
 End if
  //------------ Ende der Methode ------------------

-  

-

 
 

 
EIGENSCHAFTEN 

Produkt: 4D ODBC Pro
Thema: Anhang: Hilfreiche Methoden für die Konvertierung

 
GESCHICHTE 

 
ARTIKELVERWENDUNG

Konvertierung in 4D v18 ( 4D v18)