{ > I did, as I said "I couldn't get anything to work". No functions that > I called returned the expected results, or maybe I wasn't doing something > correctly, in any case it would be easier if someone was to post > information on how I do something like this: There is an easy way to convert strings using the national conversion tables using DOS function $6521 (4.0 up). I'm using these two implementations: MS-DOS function $6521 Version 4.0 up Converts string at address DS:DX of length CX } procedure cap(var s:string); { converts string S to uppercase procedure version } assembler; asm push ds lds si,s mov cl,[si] xor ch,ch jcxz @Exit lea dx,[si+1] mov ax,$6521 int 21h @Exit: pop ds end; function fcap(s:string):string; (* TP 7.0 function fcap(const s:string):string; *) { converts string S to uppercase function version } assembler; asm push ds lds si,s cld lodsb mov cl,al xor ch,ch jcxz @Exit les di,@Result stosb mov dx,di push cx rep movsb push es pop ds pop cx mov ax,$6521 int 21h @Exit: pop ds end;