|
KEYTAB
KEYTAB für Entwickler
Die Elemente der Struktur KEYT
Beschreibung | Einen Speicherblock von einem Zeichensatz in einen anderen
Zeichensatz wandeln
|
Aufruf C | char *src, *dest;
long src_len, dest_len;
short src_nr, dest_nr;
(kt->BlockXUtf2XUtf)(dest, &dest_len, dest_nr,
src, src_len, src_nr);
|
Aufruf Pascal | src, dest: PChar; src_len, dest_len : LongInt;
src_nr, dest_nr : Integer;
kt^.BlockXUtf2XUtf(nil, nil, 0, 0, 0,
dest, dest_len, dest_nr, src, src_len,
src_nr);
|
Aufruf GFA | kt_func% = {kt_struc%+132}
~C:kt_func%(L:dest%, dest_len%, dest_nr&,
L:src%, L:src_len&, src_nr&)
|
Die Funktion BlockXUtf2XUtf wandelt einen Speicherblock (Adresse
'src', Länge 'src_len') von einem Zeichensatz in einen anderen
um. Die Zeichensatznummern können für 'src_len' von
GetImpMinNr()..GetImpMaxNr() und für 'dest_nr' von
GetExpMinNr()..GetExpMaxNr() reichen und umfassen damit sowohl die
wirklichen Zeichensätze als auch die Unicode-Codierungen.
Falls beide Nummern für 8-Bit-Zeichensätze stehen
— d.h. nicht negativ sind —, wird ohne Umweg über
Unicode über den Atari-Zeichensatz mittels CharX2Atari und
CharAtari2X gewandelt, andernfalls wird auf BlockXUtf2U2XUtf
zurückgegriffen.
Hinweis: Falls in 'dest_len' nicht NULL bzw. NIL
übergeben wird, wird dort die Anzahl der benötigten Zeichen
eingetragen, die der Ziel-String 'dest' beinhaltet.
Hinweis: Wenn als Ziel-String 'dest' NULL bzw. NIL
übergeben wird, wird nur ermittelt, wie viele Zeichen der
Ziel-String enthalten würde.
Tip: Mit einem Aufruf von 'dest' gleich NULL bzw. NIL kann
ermittelt werden, wieviel Speicher benötigt wird. Nach dem
Allozieren des Speichers wird dann die Funktion zur Konversion
aufgerufen.
Die Funktion BlockXUtf2XUtf ist vorhanden, wenn size>=136
ist.
Copyright © Martin Elsässer (eMail-Adressen)
Letzte Aktualisierung am 12. Dezember 2006
|