Sonderzeichen

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

Sonderzeichen

Beitragvon Manfred » Di, 08. Mär 2016 8:32

mein Projekt stammt eigentlich aus Clipper Zeiten. Mein Vorgänger hatte dann wohl auch einen Editor, der mit einem OEM Zeichensatz arbeitete. Die VX arbeitet aber im Ansi Zeichensatz. Jetzt habe ich natürlich jede Menge Sonderzeichen Umlaute usw. darin, die man so nicht entziffern kann. Also werden die wohl alle umgewandelt werden müssen. Das geht ja noch aber wie mache ich das mit dem Euro Zeichen? Wenn ich das eintippe erscheinen auf dem Bildschirm wilde Zeichen. Und jedesmal Chr(128) eintippen ist auch nicht gerade die tolle Lösung.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16068
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Sonderzeichen

Beitragvon Martin Altmann » Di, 08. Mär 2016 8:49

Moin,
hast Du die Zeile bei Dir drin?
Code: Alles auswählen
SetLocale( NLS_ICURRENCYEURO, "1" )

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12834
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Sonderzeichen

Beitragvon Manfred » Di, 08. Mär 2016 8:53

ja, die habe ich am Anfang eingebaut. Ich dachte auch, damit wäre es erledigt.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16068
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Sonderzeichen

Beitragvon Martin Altmann » Di, 08. Mär 2016 8:58

Für die Ausgabe: Das Eurosymbol selber ist chr( 213 ) (zumindest bei OEM)

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: http://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: http://meldungen.altem.de/

Mitglied der XUG Osnabrück
stellv. Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
 
Beiträge: 12834
Registriert: Fr, 23. Sep 2005 3:58
Wohnort: Berlin

Re: Sonderzeichen

Beitragvon Manfred » Di, 08. Mär 2016 9:00

in dem Fall CHR(128) aber so mache ich das derzeit. Nur wenn man TExtkombinationen usw.macht, dann wird das recht aufwändig und unübersichtlich.
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16068
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Sonderzeichen

Beitragvon AUGE_OHR » Di, 08. Mär 2016 9:24

Manfred hat geschrieben:in dem Fall CHR(128) aber so mache ich das derzeit. Nur wenn man TExtkombinationen usw.macht, dann wird das recht aufwändig und unübersichtlich.
wie wäre es mit
Code: Alles auswählen
#define EuroZeichen CHR(128)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10205
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: Sonderzeichen

Beitragvon Manfred » Di, 08. Mär 2016 10:28

ja Jimmy, manchmal ist es schon echt peinlich. :banghead:
Gruß Manfred
Mitglied der XUG Leverkusen
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Moderator
Foren-Moderator
 
Beiträge: 16068
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel

Re: Sonderzeichen

Beitragvon brandelh » Mi, 09. Mär 2016 7:07

Wenn die EXE auf ANSI eingestellt ist, kann ich € direkt eintippen (Workbench) und das wird einwandfrei angezeigt (Quellcode ANSI).

Wenn du diesen einfachen DEFINE machst, musst du das in jeder PRG machen und bei einer Umstellung auf ANSI alle ändern.
Ich würde daher eine Funktionvorschlagen, die das Euro Zeichen zurückgibt:

Code: Alles auswählen
*--------------------------------------------------------------------------------
function IsOEM()
return ( set(_SET_CHARSET) = 1 )
*--------------------------------------------------------------------------------
function IsAnsi()
return ( set(_SET_CHARSET) = 0 )
*--------------------------------------------------------------------------------
function EuroZeichen()
   If IsOEM()
      cEuroZeichen := chr( 213 )
   else
      cEuroZeichen := chr(128)     
   endif   
return cEuroZeichen


NLS_ICURRENCYEURO muss natürlich auch noch stimmen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13319
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim


Zurück zu Migration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast