# Newbie needs some info..

Hello,
I really need some info to get me going. I am building a
conversion program and have a couple of questions:
1/ From a combobox with a list of 12 conversions the user
would enter a number to convert in an edit box then select from the
combobox which conversion to do then print the result on
screen. (eg..in to mm and meters to in.)
I need to understand how to code this. Can anyone supply
an example of this? I can get this to work only for the first combobox selection.Also I am using the StrToInt function with the Edit box but if my formula includes a
decimal point eg/ Value1 * 3.28 this will not compile unless
I use a 3 with no decimals.
###### Who is Participating?

Commented:
Here is an example....I have an EditBox on the form and its name is Edit1..here is some code to show you an example convertions....
---------
function CmToMeter(Cm : double):double;
begin
Result := Cm / 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
//Use the case statement...
//case ConvertionKind of
//CmToMeterConv : ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text))));
//InchToMeterConv: ...
ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text)))+ ' Meter(s)');
except
On EConvertError do MessageDlg('Syntax Error', mtWarning, [mbOK], 0);
end;
end;
---------
Regards,
Viktor Ivanov
0

Author Commented:
0

Commented:
I just wanted to give you the code and the comments separately so you don't think one is code and another is comment.....
---------Code----------
//This code is an example that works...just try it out...
function CmToMeter(Cm : double):double;
begin
Result := Cm / 100;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
try
ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text)))+ ' Meter(s)');
except
On EConvertError do
MessageDlg('Syntax Error', mtWarning, [mbOK], 0);
end;
end;
//Use the case statement...
//case ConvertionKind of
//  CmToMeterConv  : ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text))));
//  InchToMeterConv: ...
-------End-----

Regards,
Viktor Ivanov
0

Commented:
If you need other convertions just tell me the formula and I'll show you how to make the code..

//Vik
0

Commented:
1. Add a onClick even for the ComboBox. Something like this:

procedure TForm1.ComboBox1Click(Sender: TObject);
var i: integer;
begin
i := ComboBox1.ItemIndex;
case i of
0: {do type 0 conversion here};
1: {do type 0 conversion here};
2: {do type 0 conversion here};
3: {do type 0 conversion here};
...
...
end; {case}
end;

Please also set the  style property of the combobox to: csDropDownList

2. To use StrToInt(x) function, x must be a str containing nothing other than numeric digits. If you want to convert a float to string. Depending on the types of data you want to convert to and convert from, you may use these function:
str, textToFloat, strToFloat etc.

0

Commented:
I got an application for you....Just tell me your e-mail address and I'll send it to you...

Regards,
Viktor Ivanov
0

Commented:
I will explain using the default names created by DELPHI3

- Create a new aplication

- On a FORM1 create : COMBOBOX1, EDIT1, LABEL1

- select the FORM1 in object inspector
- doubleclick on the field ONCREATE
- insert the folowing code lines:
...

- select the combobox1 in object inspector
- doubleclick on the field ONCHANGE
- insert the folowing code lines:
CASE COMBOBOX1.ITEMINDEX OF
0:LABEL1.CAPTION:=FLOATTOSTR(STRTOFLOAT(EDIT1.TEXT)/2.54);
1:LABEL1.CAPTION:=FLOATTOSTR(STRTOFLOAT(EDIT1.TEXT)*2.54);
...
END; {case}

Regards
Gilberto
0

Commented:
Hello frw!

I still got a ready application I created for you to show you a basic program that can convert CmToMeter, MeterToCm, PoundToKg, KgToPound... If you wanted just tell me your e-mail and I'll send it to you with full source code :-)

Regards,
Viktor Ivanov
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.