|  | 		    
					
        
         
          
         
	
          | |  | ANSI til ASCII Fra : Tom
 | 
 Dato :  21-12-05 16:28
 | 
 |  | Jeg får en fil fra et UNIX system i ANSI som jeg godt ville konvertere til
 ASCII så danske tegn bliver læsbare i det DOS program som skal bruge filen.
 Det skal lavers i TP7 og det er vel bare noget med at lave tabel opslag. Men
 hvilken værdier skal konverteres til hvad ?
 Der er sikkert andre som har lavet den slags konverterings programmer før,
 men da jeg også skal kontrollere / modificere andre felter i filen, ville
 jeg gerne lave det hele i samme program.
 Er der nogen i gruppen her som kan give mig lidt info?
 
 /Tom
 
 
 
 
 |  |  | 
  Nico de Jong (21-12-2005) 
 
	
          | |  | Kommentar Fra : Nico de Jong
 | 
 Dato :  21-12-05 18:46
 | 
 |  | 
 "Tom" <rsunderscorefilex@post9.tele.dk> skrev i en meddelelse
 news:43a97478$0$38692$edfadb0f@dread12.news.tele.dk...
 > Jeg får en fil fra et UNIX system i ANSI som jeg godt ville konvertere
 til
 > ASCII så danske tegn bliver læsbare i det DOS program som skal bruge
 filen.
 > Det skal lavers i TP7 og det er vel bare noget med at lave tabel opslag.
 Men
 > hvilken værdier skal konverteres til hvad ?
 > Der er sikkert andre som har lavet den slags konverterings programmer
 før,
 > men da jeg også skal kontrollere / modificere andre felter i filen,
 ville
 > jeg gerne lave det hele i samme program.
 > Er der nogen i gruppen her som kan give mig lidt info?
 >
 Hvis jeg husker korrekt, er det kun ÆØÅ der er problemet. De står efter Z
 hhv z, så sekvensen er ...XYZ[\] og xy{|}
 
 Der er mange måder at gøre det på; den rigtige måde er fsv afhængig af om
 der skal laves mere af samme slags.
 
 var
 i, j : integer;
 ch : char;
 
 for i := 1 to length(inputfelt) do
 begin
 ch := inputfelt[i];
 j := ord(ch);
 case j of
 begin
 91 : ch := 'Æ';
 92 : ch := 'Ø':
 93 : ch := 'Å';
 123 : ch := 'æ';
 124 : ch := 'ø';
 125 : ch := 'å';
 else;
 inputfelt[i] := ch;
 end;
 
 Hvis det skal være mere sofistikeret, kan du lave en string STRB
 indeholdende alle ASCII tegn, men på Unix's plads, dvs
 0123....ABC...XYZÆØÅabc...æøå  (resten udfylder du selv)
 Det du så kan, er at sige
 
 outputfelt := inputfelt;  (* for at få den rigtige længde *)
 for i := 1 to length(inputfelt) do
 outputfelt[i] := STRB[ord(inputfelt[i])];
 
 Så har du en tegnkonverteringstabel der bare kan det hele.
 
 Nico
 
 
 
 
 
 
 
 
 |  |  | 
 |  |