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.
frwAsked:
Who is Participating?
 
viktornetConnect With a Mentor 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
 
frwAuthor Commented:
Adjusted points to 100
0
 
viktornetCommented:
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;
----Comments------
//Use the case statement...
//case ConvertionKind of
//  CmToMeterConv  : ShowMessage(FloatToStr(CmToMeter(StrToFloat(Edit1.text))));
//  InchToMeterConv: ...
-------End-----

Regards,
Viktor Ivanov
0
Cloud Class® Course: Microsoft Windows 7 Basic

This introductory course to Windows 7 environment will teach you about working with the Windows operating system. You will learn about basic functions including start menu; the desktop; managing files, folders, and libraries.

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

//Vik
0
 
kjtengCommented:
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
 
viktornetCommented:
I got an application for you....Just tell me your e-mail address and I'll send it to you...

Regards,
Viktor Ivanov
0
 
gmsacodaCommented:
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:
  COMBOBOX1.ITEMS.ADD('cm to in');
  COMBOBOX1.ITEMS.ADD('in to cm');
  ...

- 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
 
viktornetCommented:
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.

All Courses

From novice to tech pro — start learning today.