Solved

Newbie needs some info..

Posted on 1998-09-18
8
155 Views
Last Modified: 2010-04-06
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.
0
Comment
Question by:frw
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
8 Comments
 

Author Comment

by:frw
ID: 1340164
Adjusted points to 100
0
 
LVL 10

Accepted Solution

by:
viktornet earned 100 total points
ID: 1340165
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
 
LVL 10

Expert Comment

by:viktornet
ID: 1340166
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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 10

Expert Comment

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

//Vik
0
 
LVL 2

Expert Comment

by:kjteng
ID: 1340168
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
 
LVL 10

Expert Comment

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

Regards,
Viktor Ivanov
0
 

Expert Comment

by:gmsacoda
ID: 1340170
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
 
LVL 10

Expert Comment

by:viktornet
ID: 1340171
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

Featured Post

On Demand Webinar: Networking for the Cloud Era

Did you know SD-WANs can improve network connectivity? Check out this webinar to learn how an SD-WAN simplified, one-click tool can help you migrate and manage data in the cloud.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question