Sviluppo4d.it
Sito indipendente di informazioni tecniche per sviluppatori 4th Dimension italiani  

Sviluppatori 4D

Utility 4D

Risorse 4D



4d logo
Naviga: Prev Next

Titolo: Calcolo lunghezza massima dei testi nei campi

Categoria: Codice Ultimo Aggiornamento: 11/12/05


Quando si importano in 4d file di testo la creazione delle tabelle viene fatto in automatico le lunghezze dei campi Alpha è di default 80. Ecco un metodo da usare per analizzare il contenuto di tutte le tabelle di un database per trovare per i campi testo o alpha la stringa più lunga (con l'esempio più lungo) e quante volte il campo è usato.

`Nexus srl www.nexusonline.it
`Umberto Migliore 29 nov 2005
READ ONLY(*)
$doc:=Create document("")
If (ok=1)
  $cr:=Char(Carriage return )
  $tab:=Char(Tab )
  
  For ($t;1;Count tables)
    $table_ptr:=Table($t)
    DEFAULT TABLE($table_ptr->)
    SEND PACKET($doc;Table name($t)+$tab+String(Records in table)+" recs"+$cr)
    $quanti:=Count fields($t)
    ARRAY LONGINT($quantiUsati_al;$quanti)
    ARRAY LONGINT($maxLun_al;$quanti)
    ARRAY TEXT($maxTesto_at;$quanti)
    For ($f;1;$quanti)
      $quantiUsati_al{$f}:=0
      $maxLun_al{$f}:=0
      $maxTesto_at{$f}:=""
    End for
    
    ALL RECORDS
    While (Not(End selection))
      If (Mod(Selected record number;100)=0)
        MESSAGE(Table name($t)+": "+String(Selected record number)+"/"+String(Records in table))
      End if
      
      For ($f;1;$quanti)
        $field_ptr:=Field($t;$f)
        If ((Type($field_ptr->)=Is Alpha Field ) | (Type($field_ptr->)=Is Text ))
          $text:=u_EliminaSpazi ($field_ptr->)
          $len:=Length($text)
          If ($len>0)
           $quantiUsati_al{$f}:=$quantiUsati_al+1
           If ($len>$maxLun_al{$f})
           $maxLun_al{$f}:=$len
           $maxTesto_at{$f}:=$text
           End if
          End if
        Else
          $maxLun_al{$f}:=-1
        End if
        
      End for
      
      NEXT RECORD($table_ptr->)
    End while
    
    For ($f;1;$quanti)
      SEND PACKET($doc;Field name($t;$f)+$tab+String($quantiUsati_al{$f})+$tab+String($maxLun_al{$f})+$tab+$maxTesto_at{$f}+$cr)
    End for
    
  End for
  CLOSE DOCUMENT($doc)
End if

Inviato da: Umberto Migliore Visite: 6318

Se accedi con utente e password, puoi aggiungere dei commenti.


Accesso

User: Nuovo
Pass: Accedi

Utenti Registrati

Cerca

Se non trovi le informazioni che cerchi scrivi a aiuto@sviluppo4d.it

4D Principali

4D Discussioni

Faq random


Crediti

Dominio registrato da ZetaNet
Sito realizzato da Nexus srl
4D SQL 11.8.0 offerto da 4D & Italsoftware
Icone di FAMFAMFAM
Moderato da Umberto Migliore
264 utenti registrati

Pagina servita il 25/07/17 alle 23:07:43 Valid HTML 4.01! Valid CSS!

Mutuo Facile, Serie Filmcards, Serie Singloids e altre app di Nexus srl per iPhone e iPad

Cidroid, distributore italiano lettori barcode per Apple iPhone, iPod, iPad della IPC