IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Génération des fichiers filtres ASCII multiplateformes

Génération des fichiers filtres ASCII multiplateformes

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Produit : 4D 2004  ·  Plateforme : Mac & Win

Même s'il existe des commandes pour convertir des fichiers selon la plateforme (sachant que les données dans 4D sont toujours au format Macintosh), il faut quelquefois utiliser un fichier Filtre ASCII pour gérer les conversions de texte.

Voici une méthode utilitaire qui permet de créer ces fichiers de filtre ASCII.

Ici, si vous choisissez « 3 » dans le dialogue, un filtre « Filtre_Mac_vers_Windows.4FI » prêt à l'emploi sera enregistré à côté du fichier de structure.

Note : pour un filtre personnalisé, vous pouvez adapter la méthode pour un autre contenu.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
C_ENTIER LONG($i)
C_TEXTE($vtContenu_Filtre)
C_ENTIER LONG($vlplateforme)
C_TEXTE($vtChemin;$vtFiltreASCII)
C_BLOB($vxBlob)
C_ENTIER LONG($vlplateforme;$vlSystem;$vlmachine)

PROPRIETES PLATE FORME($vlplateforme;$vlSystem;$vlmachine)

$vtReponse:=Demander("1=M>ISO, 2=ISO>M, 3=M>W, 4=W>M";"1 (Mac vers ISO)";"Créer le Filtre ASCII")

Si ((Num($vtReponse)>0) & (Num($vtReponse)<5))  `Choix valide ("1", "2", "3" ou "4")
    $vlTypeFiltre:=Num($vtReponse)
    FIXER TAILLE BLOB($vxBlob;256)
    Boucle ($i;0;255)
        $vxBlob{$i}:=$i
    Fin de boucle
    $vtContenu_Filtre:=BLOB vers texte($vxBlob;Texte sans longueur )

    ` ----- remplacer le contenu des 128 derniers caractères -----
    Au cas ou
      : ($vlTypeFiltre=1)
        Boucle ($i;129;256)
            $vtContenu_Filtre[[$i]]:=Mac vers ISO(Caractere($i-1))
        Fin de boucle
        $vtFiltreASCII:="Mac vers ISO"
      : ($vlTypeFiltre=2)
        Boucle ($i;129;256)
            $vtContenu_Filtre[[$i]]:=ISO vers Mac(Caractere($i-1))
        Fin de boucle
        $vtFiltreASCII:="ISO vers Mac"
      : ($vlTypeFiltre=3)
        Boucle ($i;129;256)
            $vtContenu_Filtre[[$i]]:=Mac vers Windows(Caractere($i-1))
        Fin de boucle
        $vtFiltreASCII:="Mac vers Windows"
      : ($vlTypeFiltre=4)
        Boucle ($i;129;256)
            $vtContenu_Filtre[[$i]]:=Windows vers Mac(Caractere($i-1))
        Fin de boucle
        $vtFiltreASCII:="Windows vers Mac"
    Fin de cas

    $vtChemin:=Demander("Nom du nouveau filtre ASCII ("+$vtFiltreASCII+")";"Filtre_"+Remplacer chaine($vtFiltreASCII;" ";"_")+".4FI")

    Si (OK=1)
        $vhDocRef:=Creer document($vtChemin)  `Crée le fichier avec la bonne extension.
        Si (OK=1)
            ENVOYER PAQUET($vhDocRef;$vtContenu_Filtre)
            FERMER DOCUMENT($vhDocRef)  `Ferme le document
            Si ($vlplateforme#Windows )
                CHANGER CREATEUR DOCUMENT($vtChemin;"4D06")
                CHANGER TYPE DOCUMENT($vtChemin;"FILT")
            Fin de si
        Fin de si
    Fin de si

Fin de si

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2005 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.