Hexa-Werte

Hi, bitte eine kleine Hilfe für mich. Ich erstelle ein Text-File. Dieses wird nach Navision-Standard in ASCII ausgegeben. Weil ich aber dieses File in ANSI benötige, dachte ich daran den kompletten Record vorm WRITE mit CONVERTSTR umzusetzen. Dazu bräuchte ich dann nur für “ToCharacters” die Hexawerte. Jetzt die Frage : wie gebe ich im CAL-Code Hexawerte ein ( Syntax ), ich habs bis jetzt nirgends gefunden. Vielleicht hat auch einer von euch schon mal sowas gemacht und kann mir die FromCharacters und ToCharacters ( from ASCII to ANSI )als File senden. Vielleicht hat auch einer eine ganz andere, einfache Idee, wie es gehen kann ? E-Mail: heinsohn@wibo-werk.com Danke im voraus Rolf

Wir haben hier eine Codeunit “69100 Allgemein”, Versionsliste “BANK2.04,SCHN1.00”, die Konvertierungsfunktionen ASCII <-> ANSI enthält. Ich weiß allerdings nicht, ob die zu einem speziellen Modul/Granule/Wasauchimmer gehört. Dein NSC kann Dir sicher weiterhelfen - vielleicht gibt’s auch ein anderes, vergleichbares Modul.

Hi Such’ mal im “Developer-Forum”. Dort gibt es sowas schon. Die Funktion schreibt ANSI[Nr]<->ASCII[Nr] um (in beide Richtungen) g Ben


Procedure OEM2Ansi (OEMString : Text250) : Text250;
VAR
  FromChars : Text 250;
  ToChars : Text 250;

FromChars := '';
FromChars [1] := 192;
FromChars [2] := 193;
FromChars [3] := 196;
FromChars [4] := 197;
FromChars [5] := 198;
FromChars [6] := 199;
FromChars [7] := 200;
FromChars [8] := 201;
FromChars [9] := 202;
FromChars [10] := 203;
FromChars [11] := 204;
FromChars [12] := 205;
FromChars [13] := 206;
FromChars [14] := 207;
FromChars [15] := 209;
FromChars [16] := 210;
FromChars [17] := 211;
FromChars [18] := 212;
FromChars [19] := 214;
FromChars [20] := 220;
FromChars [21] := 223;
FromChars [22] := 224;
FromChars [23] := 225;
FromChars [24] := 226;
FromChars [25] := 228;
FromChars [26] := 229;
FromChars [27] := 230;
FromChars [28] := 231;
FromChars [29] := 232;
FromChars [30] := 233;
FromChars [31] := 234;
FromChars [32] := 235;
FromChars [33] := 236;
FromChars [34] := 237;
FromChars [35] := 238;
FromChars [36] := 239;
FromChars [37] := 241;
FromChars [38] := 242;
FromChars [39] := 243;
FromChars [40] := 244;
FromChars [41] := 245;
FromChars [42] := 246;
FromChars [43] := 249;
FromChars [44] := 250;
FromChars [45] := 251;
FromChars [46] := 252;

ToChars := '';
ToChars [1] := 183;
ToChars [2] := 181;
ToChars [3] := 142;
ToChars [4] := 143;
ToChars [5] := 146;
ToChars [6] := 128;
ToChars [7] := 212;
ToChars [8] := 144;
ToChars [9] := 210;
ToChars [10] := 211;
ToChars [11] := 222;
ToChars [12] := 214;
ToChars [13] := 215;
ToChars [14] := 216;
ToChars [15] := 165;
ToChars [16] := 227;
ToChars [17] := 224;
ToChars [18] := 226;
ToChars [19] := 153;
ToChars [20] := 154;
ToChars [21] := 225;
ToChars [22] := 133;
ToChars [23] := 160;
ToChars [24] := 131;
ToChars [25] := 132;
ToChars [26] := 134;
ToChars [27] := 145;
ToChars [28] := 135;
ToChars [29] := 138;
ToChars [30] := 130;
ToChars [31] := 136;
ToChars [32] := 137;
ToChars [33] := 141;
ToChars [34] := 161;
ToChars [35] := 140;
ToChars [36] := 139;
ToChars [37] := 164;
ToChars [38] := 149;
ToChars [39] := 162;
ToChars [40] := 147;
ToChars [41] := 228;
ToChars [42] := 148;
ToChars [43] := 151;
ToChars [44] := 163;
ToChars [45] := 150;
ToChars [46] := 129;

EXIT (CONVERTSTR (OEMString, ToChars, FromChars));

Im Prinzip könnte man die die ToChars und FromChars auch direkt als String-Konstante eingeben (ich hoffe, das kommt hier in der Message einigermassen an):


FromChars := 'ƒ%¡+£-+¦)·+ª«¬=¬e°±²nnµ(·˜vº»¼½=¿+¦¦¦ÄÅÆÇ+É-+¦+++-ÑpaGsÖP¥dTOÜfFßàáâ¦äåæçèéêëìíîï-ñòóôSö÷¢ùúûü8tÿ';
ToChars   := 'â%íóúñѪº¿¬¬½¼¡«»¦¦¦¦¦¦¦++¦¦++++++--+-+¦¦++--¦-+----++i+++++¦_¦¦eaßGpSsµtFTOd8fen=±==()÷˜°··vn²¦ ';

Das Problem dabei ist allerdings, dass beim Export/Import des FOB’s diese Konstanten zerstört werden. Deshalb ist die “lange” Variante die sicherere. Tschüss

Hallo an euch alle, grossen Dank für die Hilfe. Ein bisschen modifiziert und es läuft wie verrückt. Rolf