关于TEDIT的问题(75分)

  • 主题发起人 waitingu
  • 开始时间
W

waitingu

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一TEDIT控件。在程序刚运行时其TEXT属性为空。可以由用户输入
数据。然后再由用户输入的数据作为TEXT内容来对另一TEDIT的TEXT作比较,这个
TEXT内容也是由用户输入的。
如:
起初TEXT1=‘’ TEXT2=‘’
用户输入后TEXT1=‘1’ TEXT2=‘2’;
就要对TEXT1和TEXT2做比较
不要告诉我用EDIT1.TEXT>EDIT2.TEXT等方法。因为电脑只认得你刚开始的TEXT属性

请问有什么办法?
 
没看明白什么意思?
你想得到什么结果?
 
你要做什么样的比较呢?
 
TEdit提供的是字符串,要比较的话当然只能使用字符串的比较方法,万一Tedit.text
中有一个字母就不好办了。
 
原文:“不要告诉我用EDIT1.TEXT>EDIT2.TEXT等方法。
因为电脑只认得你刚开始的TEXT属性“

不明白什么意思!
EDIT1.TEXT得到的是当前EDIT1中的内容,怎么会是刚开始的呢?
另外如果要比较数值的大小,可用strtoint(EDIT1.TEXT)
 
正如上位同志所云,如果是数值的话,可以用strtoint来转换进行比较。
如果不是数值型的话,那么就要用StrComp(const Str1, Str2 : PChar): Integer;

如果<0 Str1< Str2
如果=0 Str1= Str2
如果>0 Str1 > Str2
 
因为刚开始的时候部分EDIT1为空。是由用户输入数据。
另外的EDIT2本来也是空的就是根据用户由EDIT1中输入的数据去显示经过运算后
的结果。又有EDIT3本来也为空,最后显示的就是根据EDIT2中显示数据经过运算后
显示的结果。但是由于EDIT2起初为空,就令写EDIT3的表达式的时候有所困难
就如
EDIT3.TEXT=EDIT1.TEXT+EDIT2.TEXT

EDIT1.TEXT用户输入数据后有内容。但是EDIT2.TEXT仍然为空。电脑只认得
EDIT2。TEXT刚开始的内容。认不得运算后(即根据EDIT1.TEXT运算的结果附
为EDIT2.TEXT)的内容。
各位现在明白了把。请问有什么方法
 
你可以判断EDIT2的是否为空,如果为空就可以加上‘0’ 再进行‘StrToInt’

不为空,就直用‘StrToInt’ 判断异常,来判断有没有转换成功

EDIT3 也同样的道理 ok?
 
加0有什么用啊。我就是要他转换成功。这是运算的显示啊
 
procedure TForm1.Edit2Change(Sender: TObject);
begin
if edit1.text='' then
begin
edit3.clear;
exit;
end;
edit3.text:=floattostr(strtofloat(edit1.text)+strtofloat(edit2.text));
end;

procedure TForm1.Edit1Change(Sender: TObject);
begin
edit2.text:=edit1.text;
end;
 
对啊,象风中流云兄那样,在EditChange事件中做处理啊,Delphi本来就是面向事件的嘛
 
顶部