home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 2
/
CDPD_II_2352.bin
/
scope
/
scopedisk24
/
FrenchWP
/
am-pc.c
< prev
next >
Wrap
C/C++ Source or Header
|
1988-08-23
|
5KB
|
154 lines
#include <df2:lattice/stdio.h>
main(argc,argv) /* AM-PC v1.0 -- Michel Laliberté, 21 août 1988 */
int argc;
char *argv[];
{
int conv;
register char b;
register char a;
register char c;
FILE *fp;
if(argc!=3)
{
printf("\f");
printf("
AM-PC v1.0 - août 1988
\n");
printf(" INSTRUCTIONS \n\n");
printf(" Ce programme convertit les fichiers à accents français\n");
printf(" Word Perfect Amiga en fichiers WP MS-DOS, et vice-versa.\n");
printf(" Utiliser DOS-2-DOS ou un modem pour convertir le disque.\n\n");
printf("
FORMAT D'UTILISATION:
\n\n");
printf(" 1> am-pc >cv1 nom_du_fichier n Place dans le fichier cv1\n");
printf(" la version convertie de\n");
printf(" <nom_du_fichier>.\n\n");
printf(" Si n = 1, le sens de la conversion est: Amiga -> PC.\n");
printf(" Si n = 2, on prend le sens contraire: PC -> Amiga.\n\n");
printf(" Pour des résultats plus rapides, travailler en RAM:\n");
printf(" ex.: 1> am-pc >ram:cv1 ram:n_du_fichier 1\n");
printf("
CE PROGRAMME EST GRATUIT - REVENTE INTERDITE
\n");
printf(" Code source Lattice-C disponible:\n");
printf(" Michel Laliberté, Montréal - tél.: (514) 274-0288\n\n");
exit(0);
}
conv=atoi(argv[2]);
if (conv!=1 && conv!=2) {
printf("FORMAT: 1> am-pc nom_du_fichier n : n doit être 1 ou 2.\n\n");
exit(0);
}
if((fp=fopen(argv[1],"r")) == NULL) {
printf(" Impossible d'ouvrir le fichier...\n");
exit(0);
}
if (conv==1)
{
a='@'; /* fichiers non-WP: if (b>='à' || b=='É') */
b=getc(fp);
while (b!=EOF) {
if (a=='á' && (b>='à'|| b=='É')) switch(b) {
case 'é':
b=130;
break;
case 'à':
b=133;
break;
case 'è':
b=138;
break;
case 'ê':
b=136;
break;
case 'â':
b=131;
break;
case 'ç':
b=135;
break;
case 'î':
b=140;
break;
case 'ô':
b=147;
break;
case 'û':
b=150;
break;
case 'É':
b=144;
break;
case 'ù':
b=151;
break;
case 'ë':
b=137;
break;
case 'ï':
b=139;
break;
case 'ü':
b=129;
}
putchar(b);
a=b;
b=getc(fp);
}
fclose(fp);
}
if (conv==2)
{
a='@'; /* fichiers non-WP: if (c>='@' && c<='W') */
b=getc(fp);
while (b!=EOF) {
c=(b-64);
if (c>='@' && c<='W' && a=='á') {
switch(c) {
case 'B':
c=233;
break;
case 'E':
c=224;
break;
case 'J':
c=232;
break;
case 'H':
c=234;
break;
case 'C':
c=226;
break;
case 'G':
c=231;
break;
case 'L':
c=238;
break;
case 'S':
c=244;
break;
case 'V':
c=251;
break;
case 'P':
c=201;
break;
case 'W':
c=249;
break;
case 'I':
c=235;
break;
case 'K':
c=239;
break;
case 'A':
c=252;
}
b=c;
}
a=b;
putchar(b);
b=getc(fp);
}
fclose(fp);
}
}