Autor Beitrag
florian
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 30

Win XP Home
D5 Enterprise
BeitragVerfasst: Mo 18.08.03 14:26 
Hi,

ich habe folgendes Problem:
ich versuche ein DOS-Rechnungsprogramm in Delphi neu zu schreiben. Die Datenbanken sind als DBase vorhanden und lassen sich auch öffnen, dann erscheint aber die Sonderzeichen wie folgt:

Anh„nger,zur�ck,usw.

Wie kann ich jetzt nen anderen Zeichensatz leden oder die Datenbank konvertieren, oder so??? :?:

Ich kann zwar die Zeichen richtig anzeigen, wenn ich bei Font den Charset auf OEM_Charset umstelle, die Zeichen (Umlaute), die ich dann neu eingebe werden aber nicht richtig angezeigt, sondern so, wie vorher die alten. Weiß irgendjemand wie man viell. bei der Tastatureingabe den Zeichensatz umstellen kann?

ciao
flo

_________________
"640Kb should be enough for anybody." Bill Gates (in den 80'ern)
hwb
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 91

Win98 SE, Win2000
D5 Prof
BeitragVerfasst: Fr 22.08.03 07:44 
Welche DBase-Version sind deine Tabellen, welche Indexdateien willst du benutzen ?

Ich hab meine DOS-DBF-Tabellen mit ADS weiter bearbeitet. Da diese Tabellen mit Clipper erstellt wurden, war das auch kein Problem.
Da ist ADS voll kompatibel, und braucht auch die BDE nicht.

HWB
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Fr 22.08.03 08:01 
Du mußt sie so umformen, wobei Dein Effekt in dem CASE deutlich zu sehen ist, im Dos-Modus steht da {ä} usw. :

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
function AsciiToAnsi(s: string): string;
var
  result : string;
  i: integer;
begin
  Result := '';
  for i := 1 to Length(s) do
  begin
    case s[i] of
      #142: Result := Result + #196; {Ž}
      #153: Result := Result + #214; {™}
      #154: Result := Result + #220; {š}
      #132: Result := Result + #228; {„}
      #148: Result := Result + #246; {”}
      #129: Result := Result + #252; {�}
      #225: Result := Result + #223; {á}
    else
      Result := Result + s[i];
    end;
  end;
  AsciiToAnsi := result;
end;

_________________
Gruß
Hansa