AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CharToOem / OemtoChar unter .NET

Ein Thema von Lothar · begonnen am 27. Apr 2007 · letzter Beitrag vom 5. Mai 2007
Antwort Antwort
Lothar

Registriert seit: 26. Apr 2007
Ort: München
12 Beiträge
 
Turbo Delphi für Win32
 
#1

CharToOem / OemtoChar unter .NET

  Alt 27. Apr 2007, 20:26
Hallo!

Wie sehen die Aufrufe von CharToOem/OemtoChar unter .NET aus? Das einfache CharToOem(PChar(s),PChar(s)) klappt nicht mehr.

Lothar
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: CharToOem / OemtoChar unter .NET

  Alt 28. Apr 2007, 11:06
Hallo,

NET arbeitet grundsätzlich mit Unicode. Spezielle Zeichensätze werden über die Encoding-Klasse verarbeitet (z.B. die Convert-Methode). Schau auch einmal in den System.Text-Namespace, ob eine spezielle Klasse (z.B. ASCIIEncoding) Dir schneller hilft.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
Lothar

Registriert seit: 26. Apr 2007
Ort: München
12 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: CharToOem / OemtoChar unter .NET

  Alt 28. Apr 2007, 18:29
Danke für den Tip, aber leider habe ich mich hier ergebnislos festgebissen.
ASCII ist bei .NET nur 7-Bit, d.h. alle typischen Zeichen 0..9, a...z etc. sind identisch.
Interessant ist erst das erweiterte ASCII (8-Bit, IBM Code, bis 255) mit den ganzen deutschen Umlauten ü, ä, .. ß ...
(Wenn man mit der Maus auf den gestrichelten Text fährt, bekommt man's hier ja auch schon angezeigt...)
Da ist es wohl einfacher, ich setze die benötigten Zeichen 'manuell' um (mit Case of ..).
Ich verstehe aber nicht, wieso es da nichts Automatisches gibt. (CharToOem war nur 1 Befehl!)

Lothar
  Mit Zitat antworten Zitat
ZiMD

Registriert seit: 9. Apr 2007
2 Beiträge
 
#4

Re: CharToOem / OemtoChar unter .NET

  Alt 28. Apr 2007, 19:22
Encoding.Default
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: CharToOem / OemtoChar unter .NET

  Alt 29. Apr 2007, 21:57
Für IBM OEM:
Code:
System.Text.Encoding.GetEncoding(858)
Siehe hier.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Lothar

Registriert seit: 26. Apr 2007
Ort: München
12 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: CharToOem / OemtoChar unter .NET

  Alt 5. Mai 2007, 17:11
Ich möchte noch die von mir gefundenen vollständigen Lösungen nachtragen:

Delphi-Quellcode:
function sfromA (s:string): string; { Ansi -> Oem }
var i: integer;
      asciibuffer, ansibuffer: array of byte;
begin
   SetLength(ansibuffer,LENGTH(s));
   SetLength(asciibuffer,LENGTH(s));
   for i:=1 to LENGTH(s) do ansibuffer[i-1]:=ORD(s[i]);
   asciibuffer:=System.Text.Encoding.Convert(Encoding.Default,Encoding.GetEncoding(850),ansibuffer);
   result:=String(asciibuffer);
end;

function sfromO (s:string): string; { Oem -> Ansi }
var i: integer;
      ss: ansistring;
      buffer: array of byte;
      Encoding: System.Text.Encoding;
begin
   ss:=s;
   SetLength(buffer,LENGTH(s));
   for i:=1 to LENGTH(s) do buffer[i-1]:=ORD(ss[i]);
   Encoding:=System.Text.Encoding.GetEncoding(850);
   result:=Encoding.Getstring(buffer,0,LENGTH(s));
end;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz