
-----------------------------------------------------------------------------------
Code: Select all
(***************************************************
Ant Movie Catalog importation script
www.antp.be/software/moviecatalog/
[Infos]
Authors=Fulvio53s03
Title=NomalizzaCampi
Description=Elimina spazi iniziali / cambia iniziali delle parole
Language=IT
Version=1 del 29/06/2008
Requires=3.5
Comments=Lo script nécessita di ScorEpioNCommonScript.pas
License=
GetInfo=0
[Options]
Aggiornamento=1|1|0=Oui|1=Non
Caso Scelto=3|3|0=Tutto minuscolo|1=Tout maiusculo|2=Prima lettera maiuscula|3=Prima lettera di ogni parola maiuscula
***************************************************)
program NormalizzaCampi;
uses
ScorEpioNCommonScript;
const
VersionScript = '01 del 29/05/2008';
NomScript = 'Normalizza Campi';
var
Update, NewField, OldField, NewValue, Field, Abort, FirstExec : String;
//------------------------------------------------------------------------------
// RICHIESTA DI CONFERMA
//------------------------------------------------------------------------------
function confirm(leMessage : String): Boolean;
begin
if (FirstExec <> 'N') then
begin
if (ShowConfirmation(leMessage) = True) then
begin
result := True;
end else
result := False;
end else
result := True;
end;
//------------------------------------------------------------------------------
// MET UN CHAMPS A LA CASSE VOULUE
//------------------------------------------------------------------------------
function casse(titre : String; option : Integer) : string;
begin
if (option = 0) then
begin
titre := AnsiLowerCase(titre);
end else if (option = 1) then
begin
titre := AnsiUpperCase(titre);
end else if (option = 2) then
begin
titre := AnsiUpFirstLetter(titre);
end else if (option = 3) then
begin
titre := AnsiMixedCase(titre,' -');
end;
result := titre;
end;
//------------------------------------------------------------------------------
// AGGIORNAMENTO DELLE INIZIALI DI TITOLI E NOMI
//------------------------------------------------------------------------------
procedure UpdateCasse();
begin
if (confirm('State per sostituire le iniziali di titoli e attori e normalizzare i campi.') = True) then
begin
// Titre Original
SetField(fieldOriginalTitle, casse(GetField(fieldOriginalTitle),GetOption('Caso Scelto')));
// Titre Traduit
SetField(fieldTranslatedTitle, casse(GetField(fieldTranslatedTitle),GetOption('Caso Scelto')));
// Nom des Acteurs
SetField(fieldActors, casse(GetField(fieldActors),GetOption('Caso Scelto')));
end;
end;
//------------------------------------------------------------------------------
// NORMALIZZA TITOLI, DESCRIZIONI, ATTORI
//------------------------------------------------------------------------------
procedure replaceWord;
begin
NewValue := Trim(getfield(fieldDescription)); //Descrizione
SetField(fieldDescription, NewValue);
NewValue := Trim(getfield(fieldActors)); //Interpreti
SetField(fieldActors, NewValue);
NewValue := Trim(getfield(fieldComments)); //Commenti
SetField(fieldComments, NewValue);
NewField := ''; //elimina parentesi vuote negli attori
OldField := '()';
SetField(fieldActors, StringReplace(GetField(FieldActors), OldField, NewField));
OldField := '( )';
SetField(fieldActors, StringReplace(GetField(FieldActors), OldField, NewField));
end;
//------------------------------------------------------------------------------
// PROCEDURA PER ESEGUIRE LE NORMALIZZAZIONI
//------------------------------------------------------------------------------
procedure executeTask();
begin
UpdateCasse();
replaceWord;
end;
//------------------------------------------------------------------------------
// PROGRAMMA PRINCIPALE
//------------------------------------------------------------------------------
begin
if CheckVersion(3,5,0) then
begin
if GetOption('Aggiornamento') = 0 then
begin
execMenuMAJ(VersionScript,NomScript);
exit;
end;
if (Abort <> 'O') then
begin
executeTask();
FirstExec := 'N';
end
else
begin
exit;
end;
end else
ShowMessage('Ce script requiert une version plus récente de Ant Movie Catalog (au moins la version 3.5.0)');
exit;
The Script:
1) "normalize" fields Actors, Comments, and Description deleting unnecessary spaces at the beginning and at the ending of the fields (function TRIM),
2) deletes all "()" and "( )" in the Actors fields
3) changes the first letter of every word in titles and actors.
More fileds and normalizations can be easily added.
Notice me If you find errors.
