# writing a procedure for dec to hex

Yes I'm here again...

I need to write a procedure to input a decimal number via a suitable const parameter and output the hexadecimal equivalent to the console window...

Now, I can do the maths and figure I need to use a loop of some type, but can anyone help me on how i can store the numbers separately within the loop to put together at the end of the procedure...?
For example... you need to mod the number by 16 to get the remainder and then div by 16 and repeat with new num... how do you store the remainders and convert them into the hex equivalent without having lines and lines of code?

Any advice would be appreciated... As I've said before I am pretty new to this and really wanna learn the language...

• : Yes I'm here again...
:
: I need to write a procedure to input a decimal number via a suitable const parameter and output the hexadecimal equivalent to the console window...
:
: Now, I can do the maths and figure I need to use a loop of some type, but can anyone help me on how i can store the numbers separately within the loop to put together at the end of the procedure...?
: For example... you need to mod the number by 16 to get the remainder and then div by 16 and repeat with new num... how do you store the remainders and convert them into the hex equivalent without having lines and lines of code?
:
: Any advice would be appreciated... As I've said before I am pretty new to this and really wanna learn the language...
:

here is a sample code:
[code]
var
i: integer;
Number: integer;
HexValue: string;
begin
HexStr := '';
while Number > 0 do
begin
HexStr := HexValues[Number mod 16+1] + HexStr;
Number := Number div 16+1
end;
end;
[/code]
I'm not sure if the resulting hex string will be inverted or not. The code should be easy enough to follow and understand.
• : : Yes I'm here again...
: :
: : I need to write a procedure to input a decimal number via a suitable const parameter and output the hexadecimal equivalent to the console window...
: :
: : Now, I can do the maths and figure I need to use a loop of some type, but can anyone help me on how i can store the numbers separately within the loop to put together at the end of the procedure...?
: : For example... you need to mod the number by 16 to get the remainder and then div by 16 and repeat with new num... how do you store the remainders and convert them into the hex equivalent without having lines and lines of code?
: :
: : Any advice would be appreciated... As I've said before I am pretty new to this and really wanna learn the language...
: :
:
: here is a sample code:
: [code]
: var
: i: integer;
: Number: integer;
: HexValue: string;
: begin
: HexStr := '';
: while Number > 0 do
: begin
: HexStr := HexValues[Number mod 16+1] + HexStr;
: Number := Number div 16+1
: end;
: end;
: [/code]
: I'm not sure if the resulting hex string will be inverted or not. The code should be easy enough to follow and understand.
:
should i declare the hexstr(ie the values) as a const within the procedure?

And again how do i call to the procedure from a user input?

• [b][red]This message was edited by DirtyK at 2004-12-1 14:43:54[/red][/b][hr]
: : Yes I'm here again...
: :
: : I need to write a procedure to input a decimal number via a suitable const parameter and output the hexadecimal equivalent to the console window...
: :
: : Now, I can do the maths and figure I need to use a loop of some type, but can anyone help me on how i can store the numbers separately within the loop to put together at the end of the procedure...?
: : For example... you need to mod the number by 16 to get the remainder and then div by 16 and repeat with new num... how do you store the remainders and convert them into the hex equivalent without having lines and lines of code?
: :
: : Any advice would be appreciated... As I've said before I am pretty new to this and really wanna learn the language...
: :
:
: here is a sample code:
: [code]
: var
: i: integer;
: Number: integer;
: HexValue: string;
: begin
: HexStr := '';
: while Number > 0 do
: begin
: HexStr := HexValues[Number mod 16+1] + HexStr;
: Number := Number div 16+1
: end;
: end;
: [/code]
: I'm not sure if the resulting hex string will be inverted or not. The code should be easy enough to follow and understand.
:

I have this code now does this seem fairly right?
Whereabouts and how do I read in the hex values...? And if this code isn't looking right... can you give me a pointer as to where am i going wrong?

uses
SysUtils;
var
user : integer;

procedure DecToHex (Number : integer);

var

Hexstr, prop : string;
HexValue: string;
begin
HexStr := '';
while Number > 0 do
begin
HexStr := HexValue[Number mod 16+1] + HexStr;
Number := Number div 16+1
end;
end;
begin
writeln (' enter a number');
DecToHex (user);

end.

cheers!