`
ruilin215
  • 浏览: 1143215 次
  • 性别: Icon_minigender_2
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

试用EF开发WEB应用程序(7): Query String应用,简单计算器

阅读更多

题记:用“易语言.飞扬”(EF)开发WEB应用程序,此前还没有先例。但因为EF本地开发包(EFNDK)已经发布,用C/C++开发一个EF类库,使其支持EF开发WEB应用程序,应该并非难事。当然也可想而知,其中必有诸多难点有待解决。此系列文章,为本人探索过程之记录,对外人未必有多大价值。如有网友乐观其事,还请理性待之。作者:liigo。转载请务必注明出处:http://blog.csdn.net/liigo/在线留言


试用EF开发WEB应用程序(7):Query String应用,简单计算器

  前面的系列文章讲了很多Query String,现在给大家看一个Query String的实际应用,简单计算器。这个小小的网络程序功能很简单,就是对用户输入的两个数值进行加减乘除运算,输出计算结果。

下面请看“易语言.飞扬”源代码:

引入fastcgi;

公开类启动类
{
公开静态启动()
{
FCGIfcgi
=newFCGI;
while(fcgi.Accept()>=0)
{
文本html
=html_template.替换全部("$(title)","简单计算器(由EF开发)");
文本result
="?";
if(fcgi.QUERY_STRING!="")
result
=doCalc(fcgi.QUERY_STRING("op"),fcgi.QUERY_STRING("op1"),fcgi.QUERY_STRING("op2"));
html
=html.替换("$(op1)",fcgi.QUERY_STRING("op1"));
html
=html.替换("$(op2)",fcgi.QUERY_STRING("op2"));
html
=html.替换("$(result)",result);
html
=setSelectedOp(html,fcgi.QUERY_STRING("op"));
fcgi.Output(html.到UTF8());
}
}

静态文本doCalc(文本op,文本op1,文本op2)
{
假如(op)
{
"+":返回(op1.到小数()+op2.到小数()).到文本();
"-":返回(op1.到小数()-op2.到小数()).到文本();
"*":返回(op1.到小数()*op2.到小数()).到文本();
"/":返回(op1.到小数()/op2.到小数()).到文本();
为其他:返回
"[error]";
}
}

静态文本setSelectedOp(文本html,文本op)
{
文本s1,s2,s3,s4;

假如(op)
{
"+":s1="selected";
"-":s2="selected";
"*":s3="selected";
"/":s4="selected";
}

html
=html.替换("$(isSelected+)",s1);
html
=html.替换("$(isSelected-)",s2);
html
=html.替换("$(isSelected*)",s3);
html
=html.替换("$(isSelected/)",s4);

返回html;
}

常量文本html_template
=["Content-type:text/html

<html><head>
<metahttp-equiv="content-type"content="text/html;charset=utf-8">
<title>$(title)</title>
</head>
<body>
<h1>$(title)</h1>
<hr></hr>

<form>
<inputtype="text"name="op1"size=10maxlength=10value="$(op1)">

<selectname="op">
<optionvalue="+"$(isSelected+)>+</option>
<optionvalue="-"$(isSelected-)>-</option>
<optionvalue="*"$(isSelected*)>*</option>
<optionvalue="/"$(isSelected/)>/</option>
</select>

<inputtype="text"name="op2"size=10maxlength=10value="$(op2)">

=$(result)

<p><inputtype="submit"value="计算"></input></p>
</form>

<hr></hr>
<p>byliigo,<ahref="http://blog.csdn.net/liigo/">http://blog.csdn.net/liigo/</a></p>
</body>
</html>
"];
}

有机会将提供在线演示地址(欢迎推荐支持FastCGI的优秀的虚拟空间),现在只能先看图片了,下面是运行结果:

认为以上EF代码太多太复杂的想法可以休矣。我写这个程序时,花费了很多的笔墨,用于提高程序可操作性,其中包括:自带FORM,记忆上次提交的操作数和运算符,显示计算结果。如果仅仅只是显示计算结果的话,代码其实可以大大地简化:

引入fastcgi;

公开类启动类
{
公开静态启动()
{
FCGIfcgi
=newFCGI;
while(fcgi.Accept()>=0)
{
文本op1
=fcgi.QUERY_STRING("op1");
文本op2
=fcgi.QUERY_STRING("op2");
文本op
=fcgi.QUERY_STRING("op");

fcgi.Output(
"Content-type:text/plain ");
if(op1!=""&&op2!=""&&op!="")
fcgi.Output(op1
+""+op+""+op2+"="+doCalc(op,op1,op2));
else
fcgi.Output(
"[parameterserror]");
}
}

静态文本doCalc(文本op,文本op1,文本op2)
{
假如(op)
{
"+":返回(op1.到小数()+op2.到小数()).到文本();
"-":返回(op1.到小数()-op2.到小数()).到文本();
"*":返回(op1.到小数()*op2.到小数()).到文本();
"/":返回(op1.到小数()/op2.到小数()).到文本();
为其他:返回
"[error]";
}
}
}

上面这个代码就简单多了,当然可操作性就弱了很多,只能显示计算结果而已。使用此程序时需提供URL参数或通过FORM提交参数。这个简化后的“简单计算器”(在线演示)的执行结果见下图:

下文预告:CGI环境变量

分享到:
评论

相关推荐

    基于.netCore 6 +EF 实现webApi增删查改基础应用,开箱即用

    在本文中,我们将深入探讨如何使用`.NET Core 6`框架和`Entity Framework (EF)`来构建一个功能完备的Web API服务,实现数据的增、删、查、改(CRUD)操作。`.NET Core 6`是微软推出的一个高性能、跨平台的开源开发...

    【ASP.Net Core Web应用程序】 创建数据库

    ASP.NET Core Web应用程序是Microsoft开发的一个跨平台的框架,用于构建现代、高性能的Web应用。在本场景中,我们关注的重点是如何在ASP.NET Core中创建数据库。这通常涉及到使用Entity Framework Core (EF Core),...

    全堆栈ASP。NET核心(.NET 8)web应用程序,具有CRUD、N轮胎体系结构、验证功能.zip

    这个项目展示了如何利用ASP.NET Core MVC(Model-View-Controller)模式来构建一个完整的Web应用程序,涵盖了CRUD(创建、读取、更新和删除)操作,同时实现了N轮胎(N-Tier)架构和验证功能。 **ASP.NET Core MVC*...

    EFCore+WebAPi增删改查

    综上所述,这个项目展示了如何将EFCore与Web API结合,通过Ajax和AngularJS实现在Web应用中的数据管理。开发者可以通过研究源码学习到如何配置EFCore数据库上下文、定义实体模型、创建Web API控制器以及使用...

    ASP.NET数据库应用程序开发教程

    ASP.NET是一种由微软开发的服务器端Web应用框架,主要用于构建动态网站、Web应用程序和服务。它提供了丰富的工具和功能,使得开发者能够高效地构建与数据库交互的Web应用。本教程将深入探讨如何使用ASP.NET进行...

    使用C#开发数据库应用程序系统ACCP8.0

    在IT行业中,数据库应用程序系统是不可或缺的一部分,它们用于存储、管理和检索数据,为各种业务...对于希望在IT领域从事数据库应用开发的人员来说,“使用C#开发数据库应用程序系统ACCP8.0”是一次宝贵的学习经历。

    一个应用.Net中C#技术开发的实用Web案例

    在.NET框架下,C#是一种广泛使用的编程语言,尤其在开发Web应用程序时。这个案例——"一个应用.Net中C#技术开发的实用Web案例",展示了如何利用C#的强大力量来构建一个功能完善的B2C(Business to Consumer)在线...

    C++ 标准库string replace成员的几个用法

    总的来说,`std::string` 的 `replace` 函数提供了高度的灵活性,允许开发人员根据需要精确地替换字符串的任意部分。无论是通过索引、长度、迭代器还是 C 风格的子串,都能有效地进行字符串操作,这是 C++ 编程中...

    Asp.Net Core Web应用程序入门源码

    这个源码包“KibaAspNetCore-master”是针对初学者设计的,旨在帮助他们理解并入门Asp.Net Core Web应用程序的开发。 1. **Asp.Net Core基础** Asp.Net Core是对经典Asp.Net的重构,它采用模块化设计,允许开发者...

    asp.net源码:WebSamples,是WEB程序开发的好示例。

    ASP.NET 是微软公司推出的用于构建动态网站、Web应用程序和Web服务的一种强大框架。WebSamples 是一个包含多个ASP.NET示例的集合,它为开发者提供了学习和理解ASP.NET特性和功能的宝贵资源。在这个压缩包中,...

    web聊天室(.net core MVC + signalr + EF + Authorize)

    总的来说,这个Web聊天室项目展示了如何结合使用.NET Core MVC、SignalR、EF和Authorize来构建一个功能完善的、具有实时通信、数据库管理和权限控制的Web应用程序。开发者可以从中学习到如何设计和实现这类交互式...

    Laborator-DAW:实验室和材料-Web应用程序开发

    实验室和材料-Web应用程序开发 :warning: :warning: 考试信息(技巧和窍门) 使用脚手架或尝试重现自动创建部分(使用实体框架的带有视图的控制器) 对于数据表,您可以使用以下示例: 在REPO的解决方案领域中...

    学习C# .Net6+EFcore+MySQL.zip

    这是一套完整的教程,旨在帮助初学者和有一定经验的开发者掌握现代Web应用程序开发的核心技术。 C#是微软公司推出的面向对象的编程语言,广泛应用于Windows平台、移动设备以及游戏开发。.NET 6是.NET框架的最新版本...

    Dome-ASP.NET CORE 6 webapi 使用 EF DBFirst 配合 sql server

    ASP.NET Core 6是微软推出的轻量级、高性能的开源框架,用于构建Web应用程序,包括WebAPI。它支持跨平台,并提供了依赖注入、中间件、单元测试等现代开发特性。在ASP.NET Core 6中创建WebAPI,你可以定义控制器来...

    c# MVC完整项目 EF连接数据库 webapi

    首先,C# MVC(Model-View-Controller)是一种用于构建可维护性和可测试性的Web应用程序的设计模式。它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑和数据...

    C# 最新应用程序最新最新

    3. ASP.NET Core:对于Web应用开发,ASP.NET Core是基于.NET Core的最新框架,提供了更快的性能和更好的可移植性。它支持MVC(Model-View-Controller)和Web API架构,可以构建RESTful服务。 4. Blazor:C#的最新...

    mvc4+ef+linq(b/s) 简单的一个模仿程序

    **标题与描述解析** 标题中的“mvc4+ef+linq(b/s) 简单的一...这个项目是一个很好的实践平台,涵盖了Web开发中的多个核心技术和最佳实践,对于提升开发者在ASP.NET MVC、EF、LINQ以及Web应用开发中的技能非常有帮助。

    一个应用程序框架,您可以将它集成到任何 .NET/C# 应用程序中

    标签“web应用开发”和“web开发框架”表明Furion特别适合构建Web应用程序。在Web开发领域,Furion提供了诸如路由管理、中间件支持、视图渲染等功能,能够快速搭建前后端分离的架构。对于Web API的开发,Furion提供...

    web网页设计(c#):学生管理系统

    4. **ASP.NET**:ASP.NET是微软的Web应用程序框架,它提供了开发Web应用的高效工具和库,支持C#语言。在学生管理系统中,ASP.NET可以用来构建Web API,为前端提供数据接口。 5. **Entity Framework (EF)**:EF是...

    利用Java语言开发智能卡应用程序.pdf

    ### 利用Java语言开发智能卡应用程序 #### 内容提要 本文旨在介绍智能卡的基本概念、分类、文件系统、接口协议以及如何使用Java语言进行智能卡应用程序的开发。文章详细介绍了Java Card平台的特点及开发环境(JCDK)...

Global site tag (gtag.js) - Google Analytics