home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 160.lha / am-pc.c < prev    next >
C/C++ Source or Header  |  1988-04-27  |  5KB  |  154 lines

  1. #include <df2:lattice/stdio.h>
  2. main(argc,argv) /* AM-PC v1.0 -- Michel Laliberté, 21 août 1988 */
  3. int argc;
  4. char *argv[];
  5. {
  6.  int conv;
  7.  register char b;
  8.  register char a;
  9.  register char c;
  10.  FILE *fp;
  11.  if(argc!=3) 
  12.  {
  13.  printf("\f");
  14.  printf(" AM-PC v1.0  - août 1988\n");
  15.  printf("                               INSTRUCTIONS \n\n");
  16.  printf("      Ce programme convertit les fichiers à accents français\n");
  17.  printf("      Word Perfect Amiga en fichiers WP MS-DOS, et vice-versa.\n");
  18.  printf("      Utiliser DOS-2-DOS ou un modem pour convertir le disque.\n\n");
  19.  printf(" FORMAT D'UTILISATION:\n\n");
  20.  printf("   1> am-pc  >cv1  nom_du_fichier  n  Place dans le fichier cv1\n");
  21.  printf("                                      la version convertie de\n");
  22.  printf("                                      <nom_du_fichier>.\n\n");
  23.  printf("      Si n = 1, le sens de la conversion est: Amiga -> PC.\n");
  24.  printf("      Si n = 2, on prend le sens contraire:   PC -> Amiga.\n\n");
  25.  printf("      Pour des résultats plus rapides, travailler en RAM:\n");
  26.  printf("      ex.: 1> am-pc  >ram:cv1  ram:n_du_fichier  1\n");
  27.  printf("            CE PROGRAMME EST GRATUIT - REVENTE INTERDITE\n");
  28.  printf("      Code source Lattice-C disponible:\n");
  29.  printf("      Michel Laliberté, Montréal - tél.: (514) 274-0288\n\n");
  30.  exit(0);
  31.  }
  32.       conv=atoi(argv[2]);
  33.       if (conv!=1 && conv!=2) {
  34.       printf("FORMAT: 1> am-pc  nom_du_fichier  n : n doit être 1 ou 2.\n\n");
  35.         exit(0);
  36.       }       
  37.       if((fp=fopen(argv[1],"r")) == NULL) {
  38.         printf("          Impossible d'ouvrir le fichier...\n");
  39.         exit(0);
  40.       }
  41.       if (conv==1)
  42.       {
  43.         a='@'; /* fichiers non-WP: if (b>='à' || b=='É') */
  44.         b=getc(fp); 
  45.         while (b!=EOF) {
  46.         if (a=='á' && (b>='à'|| b=='É')) switch(b) {
  47.                   case 'é': 
  48.                      b=130;
  49.                      break;
  50.                   case 'à':
  51.                      b=133;
  52.                      break;
  53.                   case 'è':
  54.                      b=138;
  55.                      break;
  56.                   case 'ê':
  57.                      b=136;
  58.                      break;
  59.                   case 'â':
  60.                      b=131;
  61.                      break;
  62.                   case 'ç':
  63.                      b=135;
  64.                      break;
  65.                   case 'î':
  66.                      b=140;
  67.                      break;
  68.                   case 'ô':
  69.                      b=147;
  70.                      break;
  71.                   case 'û':
  72.                      b=150;
  73.                      break;
  74.                   case 'É':
  75.                      b=144;
  76.                      break;
  77.                   case 'ù':
  78.                      b=151;
  79.                      break;
  80.                   case 'ë':
  81.                      b=137;
  82.                      break;
  83.                   case 'ï':
  84.                      b=139;
  85.                      break;
  86.                   case 'ü':
  87.                      b=129;      
  88.                }
  89.                putchar(b); 
  90.                a=b;
  91.                b=getc(fp);
  92.           }
  93.       fclose(fp);
  94.       }
  95.       if (conv==2)
  96.       {
  97.         a='@'; /* fichiers non-WP: if (c>='@' && c<='W') */
  98.         b=getc(fp);        
  99.         while (b!=EOF) {
  100.             c=(b-64);
  101.             if (c>='@' && c<='W' && a=='á') {
  102.                switch(c) {  
  103.                   case 'B':
  104.                      c=233;
  105.                      break;
  106.                   case 'E':
  107.                      c=224;
  108.                      break;
  109.                   case 'J':
  110.                      c=232;
  111.                      break;
  112.                   case 'H':
  113.                      c=234;
  114.                      break;
  115.                   case 'C':
  116.                      c=226;
  117.                      break;
  118.                   case 'G':
  119.                      c=231;
  120.                      break;
  121.                   case 'L':
  122.                      c=238;
  123.                      break;
  124.                   case 'S':
  125.                      c=244;
  126.                      break;
  127.                   case 'V':
  128.                      c=251;
  129.                      break;
  130.                   case 'P':
  131.                      c=201;
  132.                      break;
  133.                   case 'W':
  134.                      c=249;
  135.                      break;
  136.                   case 'I':
  137.                      c=235;
  138.                      break;
  139.                   case 'K':
  140.                      c=239;
  141.                      break;
  142.                   case 'A':
  143.                      c=252;
  144.                }
  145.             b=c;
  146.             }   
  147.          a=b;
  148.          putchar(b);   
  149.          b=getc(fp);
  150.          }
  151.        fclose(fp);
  152.        }
  153. }
  154.