现在有两个窗体,Form1,Form2(关于奇数,偶数的问题)

Linux2001 2001-08-12 07:33:14
现在在Form1上有五个TEdit,Form2上也有5个TEdti现在在Form1上的五个TEdit上输入数字,然后按下一个Button1,它现判断五个TEdit的Text属性中的东西是不是数字,如果不是,则显示不是数字不行!然后如果是数字,就判断哪些是奇数哪些是偶数,然后奇数放入Form2的TEdit中,是偶数就放在所有奇数后面
...全文
78 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Crob 2001-08-12
  • 打赏
  • 举报
回复
判断是不是数字:
try
StrToInt(Edit1.text);
except
Application.MessageBox('不是数字', nil, MB_OK);
end;

但是你干嘛不在edit中限制用户只能输入数字呢,如下:
procedure TmForm.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if ord(Key)=8 then begin //判断back space
exit;
end;

if ((ord(Key)>=48) and (ord(Key)<=57) or (ord(Key)=8) or (ord(Key)=36) or (ord(Key)=35) or (ord(Key)=38) or (ord(Key)=40) or (ord(Key)=37) or (ord(Key)=39)) then
exit
else Key:=chr(0); //如果不是以上范围的则不输出
end;

奇数和偶数的判断就不用写了吧,呵呵

ch81 2001-08-12
  • 打赏
  • 举报
回复
unit unit1;
uses unit2;
var OuShu:Array[1..5]of integer;
var Edit1Array:Array[1..5]of TEdit;
var Edit2Array:Array[1..5]of TEdit;
procedure Button1Click
var i:integer;
var j:integer;
var k:integer;
var Temp:integer;
begin
Edit1Array[1]:=Edit1;Edit1Array[2]:=Edit2;Edit1Array[3]:=Edit3;
Edit1Array[4]:=Edit4;Edit1Array[5]:=Edit5;
Edit2Array[1]:=Form2.Edit1;Edit2Array[2]:=Form2.Edit2;
Edit2Array[3]:=Form2.Edit3;Edit2Array[4]:=Form2.Edit4;
Edit2Array[5]:=Form2.Edit5;
j:=1;
k:=1;
For i:=1 to 5 do
begin
try
Temp:=StrToInt(Edit1Array[i]);
if (Temp mod 2<>0) then
begin
Edit2Array[j].Text:=Edit1Array[i];
j:=j+1;
else
begin
OuShu[k]:=Temp;
k:=k+1;
end;
except
ShowMessage('Error');
exit;
end;
end;
for i:=1 to k-1 do
begin
EditArray[j].Text:=IntToStr(OuShu[i]);
j:=j+1;
end;
end;
windindance 2001-08-12
  • 打赏
  • 举报
回复
try
n := StrToInt(Edit1.Text);
except
...

if (n MOD 2 == 0) then
...
else
...
没法下载,到这里折腾一把试试。 本文由abc2253130贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 C#(WINFORM)学习 一、 C#基础 基础 类型和变量 类型和变量 类型 C# 支持两种类型:“值类型”和“引用类型”。值类型包括简单类型(如 char、int 和 float 等)、枚举类型和结构类型。引用类型包括类 (Class)类 型、接口类型、委托类型和数组类型。 变量的类型声明 变量的类型声明 每个变量必须预先声明其类型。如 int a; int b = 100; float j = 4.5; string s1; 用 object 可以表示所有的类型。 预定义类型 下表列出了预定义类型,并说明如何使用。 类型 object 说明 所有其他类型的最终 基类型 字符串类型; 字符串是 Unicode 字符序列 8 位有符号整型 16 位有符号整型 32 位有符号整型 64 位有符号整型 示例 object o = null; 范围 string sbyte short int long string s = "hello"; sbyte val = 12; short val = 12; int val = 12; long val1 = 12; -128 到 127 -32,768 到 32,767 -2,147,483,648 2,147,483,647 -9,223,372,036,854,775,808 到 第1页 C#(WINFORM)学习 long val2 = 34L; 到 9,223,372,036,854,775,807 byte ushort 8 位无符号整型 16 位无符号整型 byte val1 = 12; ushort val1 = 12; uint val1 = 12; uint 32 位无符号整型 uint val2 = 34U; ulong val1 = 12; ulong val2 = 34U; ulong 64 位无符号整型 ulong val3 = 56L; ulong val4 = 78UL; float 单精度浮点型 float val = 1.23F;7 位 double val1 = 1.23; double 双精度浮点型 double val2 = ±5.0 × 10?324 ±1.7 × 10 308 0 到 255 0 到 65,535 0 到 4,294,967,295 0 到 18,446,744,073,709,551,615 ±1.5 × 10?45 ±3.4 × 10 38 到 到 4.56D;15-16 布尔型;bool 值或为 真或为假 字符类型;char 值是 一个 Unicode 字符 精确的小数类型, 具有 28 个有效数字 bool val1 = true; bool val2 = false; char val = 'h'; decimal val = bool char decimal DateTime ±1.0 × 10?28 ±7.9 × 10 28 到 1.23M;28-29 变量转换 简单转换: float f = 100.1234f; 可以用括号转换: short s = (short)f 也可以利用 Convert 方法来转换: string s1; s1=Convert.ToString(a); MessageBox.Show(s1); 常用 Convert 方法有: 第2页 C#(WINFORM)学习 C# Convert.ToBoolean Convert.ToByte Convert.ToChar Convert.ToDateTime Convert.ToDecimal Convert.ToDouble Convert.ToInt16 Convert.ToInt32 Convert.ToInt64 Convert.ToSByte Convert.ToSingle Convert.ToString Convert.ToUInt16 Convert.ToUInt32 Convert.ToUInt64 备注 Math 类 常用科学计算方法: C# Math.Abs Math.Sqrt Math.Ro
华报智能报表工具(ReportAll)是开发人员最理想的报表工具,具有全新的设计思想,对中国式报表和很多复杂报表有很强的针对性,他将“对象摆放”类和“电子表格”类报表开发工具完美融合,使用种类丰富且功能强大的报表对象组合生成任意复杂的报表样式。在华报智能报表工具中,无论是“带区(Band)”、“表格(Grid)”、“图表(Chart)”、“文字”及“线条”等元素都作为报表对象嵌入在报表页面之中。这些报表对象独立占据一定的区域,独立地进行分页控制。事实上,使用华报智能报表工具为报表布局不受任何限制,开发人员可以随意灵活地利用每一块页面空间。另外,华报智能报表工具提供的报表对象都是“数据感知”的,当他们和虚拟数据集中的数据建立“绑定”关系后,可以实时显示数据和感知数据的变化。 1、原理 ReportAll控件/插件是符合微软COM规范的ActiveX控件,运行时需要嵌入到应用程序的窗体或HTML页面中,并由开发人员传入用来表现报表的格式或样式的外观信息(报表文档)和用来存储报表内容的数据信息(报表数据),这两种信息既相互独立又相互关联。因此,报表的开发工作主要围绕这两种信息的生成过程而进行。   报表文档和报表数据可以通过URL(或本地文件路径)请求从Web服务器(或本地操作系统)的返回结果中加载,可以从内存中的XML字符串加载,也可以通过编程(调用API编程接口)动态生成。 ReportAll控件/插件不依赖于数据库平台,其数据从XML数据文本中获得,因此ReportAll可以灵活地适用于各种场合。 2、组成 ReportAll报表开发工具软件包主要包括以下各部分: ReportAll报表设计器:一个标准的Win32应用程序,用于对报表的文档进行编辑和调试,编辑的结果可保存到符合XML格式的文本文件中。 ReportAll报表控件/插件:嵌入到程序窗体或Web页面中的符合微软Com规范的ActiveX控件,用于展现或编辑(仅针对设计器版)报表的外观和采集数据,同时提供了API编程接口,便于开发人员对其进行各种控制。 数据源SDK源代码:这些源代码用于帮助开发人员生成加载报表数据用的XML数据文本,它们可以由开发人员根据项目的需要自由修改。目前提供语言版本包括:Delphi,VS.Net C#,Java。 帮助文档:微软标准CHM帮助文件,帮助开发人员对ReportAll进行学习。   在ReportAll报表设计器中,该文档可以提供上下文敏感的帮助信息。 范例:一些使用ReportAll进行报表开发的例子,帮助开发人员快速入门。 3、适用范围 因为ReportAll报表控件/插件是标准的ActiveX控件,所以所有支持ActiveX技术的前台开发工具(如:Delphi、C++Build、VC++、VB、、VC#、PowerBuild、JavaScript、VBScrip、Excel等)都可以使用ReportAll报表控件/插件输出报表。 4、特点 报表设计 使用“对象摆放”式和“电子表格”式相结合的方式进行报表文档的布局排版;开发人员既可以像设计Form那样灵活地摆放报表对象并设置他们的属性,也可以象使用Excel那样编辑不规则的表格。 提供了丰富的报表对象帮助您组合成任意复杂的报表样式。 采用“即点即输”的方式进行报表对象的文本编辑。 每一个报表对象都可以使用属性编辑器对其属性进行编辑(支持批量属性修改)。 支持复杂多层表头的快速设计。 支持无限级带区的快速设计。 支持单元格内的斜线排列功能。   支持行横向和纵向的窗口冻结。 使用折页器实现分栏分段 支持超文本的分页显示 支持复杂的图表功能 支持图片数据的动态加载 支持横向数据表格(记录横行动态扩展,自动分页)。 支持数据录入功能(可以下拉选择录入项)。 在套打设计时,提供辅助图底纹,可以帮助开发人员方便准确地定位报表对象。 可以在加载数据的状态下进行报表文档编辑的工作,使开发工作非常直观。 支持公制、英制、和屏幕三种单位制。 填报方式 无需预先定义数据集,通过直接对虚拟数据集操作(简单的增删和赋值操作)或从XML数据源中加载数据即可实现内容的填报。 可以在录入模式由用户通过用户界面UI输入数据至虚拟数据集中,从而实现数据的采集。 将报表对象与数据“绑定”,当加载数据或数据发生变化时,将会直接在报表页面上体现出来。 数据加载 以XML作为报表文档的存储格式。   可以通过报表设计器编辑静态的报表文档,也可以使用API编程接口动态地传入描述报表文档的XML字符串或者URL地址。 以XML作为数据交换的标准格式。可以传入符合XML格式的字符串或者URL地址实现数据的加载。 当从XML数据源中加载数据时可以采用多线程的方式(可选),在数据量较大的情况下的可以实现边加载边浏览

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧