Einzelnen Beitrag anzeigen

Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#2

Re: Exportieren von Access in Paradox --> Umlaute funkt.

  Alt 10. Okt 2005, 11:15
Hallo Christian18,

ich habe mich zwar nicht mit Access befaßt, aber ich hatte ein ähnliches Problem bei der Datenübernahme aus DBF-Dateien (nach Paradox).

Delphi-Quellcode:
{ASCII zu ANSI}
function KorrUml1(sa:string):string;
var
  s : string;
  j : integer;
  b : byte;
begin
  s:='';
  for j:=1 to length(sa) do begin
    b := ord(sa[j]);
    case b of
     {ASCII           ANSI     }
      $82: s:=s + chr($E9); //é;
    //$??: s:=s + chr($E8); //è
      $84: s:=s + chr($E4); {ä}
      $94: s:=s + chr($F6); {ö}
      $81: s:=s + chr($FC); {ü}
      $E1: s:=s + chr($DF); {ß}
      $8E: s:=s + chr($C4); {Ä}
      $99: s:=s + chr($D6); {Ö}
      $9A: s:=s + chr($DC); {Ü   220 = Alt-154}
      $F8: s:=s + chr($B0); {°   186 = Alt-248}
      $9B: s:=s + chr($F8); {ø   248 = Alt-155}
      $AB: s:=s + chr($BD); {½   189 = Alt-171}
      $AC: s:=s + chr($BC); {¼   188 = Alt-172}
      $5F: s:=s + chr($80); {€   128 = Alt-95 hat nicht fkt.}
    else
      s := s + sa[j];
    end;
  end;
  KorrUml1 := s;
end;

{ANSI zu ASCII}
function KorrUml2(sa:string):string;
var
  s : string;
  j : integer;
  b : byte;
begin
  s:='';
  for j:=1 to length(sa) do begin
    b := ord(sa[j]);
    case b of
  // ANSI ASCII
  //
      $E4: s:=s + chr($84); {ä   228}
      $F6: s:=s + chr($94); {ö   246}
      $FC: s:=s + chr($81); {ü   252}
      $DF: s:=s + chr($E1); {ß   223}
      $C4: s:=s + chr($8E); {Ä   196}
      $D6: s:=s + chr($99); {Ö   214}
      $DC: s:=s + chr($9A); {Ü   220 = Alt-154}
      $B0: s:=s + chr($F8); {°   186 = Alt-248}
      $F8: s:=s + chr($9B); {ø   248 = Alt-155}
      $BD: s:=s + chr($AB); {½   189 = Alt-171}
      $BC: s:=s + chr($AC); {¼   188 = Alt-172}
      $80: s:=s + chr($5F); {€   128 = Alt-95 hat nicht fkt.}
    else
      s := s + sa[j];
    end;
  end;
  KorrUml2 := s;
end;
Vielleicht hilft es ja bei der Lösung Deines Problems weiter.

mfg
eddy
  Mit Zitat antworten Zitat