使用 IntraWeb (45) - 活用 IntraWeb】的更多相关文章

asp.net 刚开始时, 也是拖拉控件, 但后来有了 MVC.xNext. 换个思路使用 IntraWeb 吧: 界面全部用 html+js+css 实现(有些会是用 Delphi 动态生成), 然后用 js 通过 Ajax 调用 Delphi 的方法. 测试程序要使用的模板 IWForm1.html: 添加 删除 {%IWLabel1%} 1.在程序所在目录建立 Templates 文件夹, 把 IWForm1.html 放其中. 2.在程序所在目录建立 wwwroot 文件夹, 把模板中用…
用做网页开发经历了三个阶段:第一阶:傻干阶段使用Intraweb,傻瓜型,无需知道javascript,html,css,会pascal就可以了. 第二阶:困惑阶段使用Intraweb,有很多限制,比如资料少,界面不容易做漂亮,没有源代码等等.于是转向研究其他开发工具.首先吸引眼球的是Nodejs,前后台用一种语言Javascript,爽,运行速度也不赖.随着PHP7的发布,注意力也被PHP7的高性能所吸引,玩了一阵PHP7.当然还有以前摸过的Tomcat/asp.net,各种框架一大堆.还有,…
打开Delphi的安装目录,如C:\Program Files\Borland\Delphi7,你将会看到目录下包含了一些文件和文件夹: ²        Source:存放的是Delpi提供的所有源码,包括VCL.WEBSNAP.IntraWeb.ToolsAPI等的源码,我们平时要查找delphi的源码就可以到这里查找.还有一些Delphi提供的工具的源码也放在其下,如borland socket server(ScktSrvr.exe)的源码.IntraWeb的调试用的Web服务器(HTT…
Delphi7目录结构 打开Delphi的安装目录,如C:\Program Files\Borland\Delphi7,你将会看到目录下包含了一些文件和文件夹:Source:存放的是Delpi提供的所有源码,包括VCL.WEBSNAP.IntraWeb.ToolsAPI等的源码,我们平时要查找delphi的源码就可以到这里查找.还有一些Delphi提供的工具的源码也放在其下,如borland socket server(ScktSrvr.exe)的源码.IntraWeb的调试用的Web服务器(H…
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. 在上一讲当中我做了个简单的微信文本消息回显应用,当时是以微信明文方式实现的,其实微信推荐的是消息应该加密传输以增加安全性,所以这讲说说微信消息的加解密. 在微信的帮助页面上可以下载微信消息加解密的例程,可惜的是没有Delphi语言的示例,网上搜索一番,没有人贡献出写好的Delphi版的微信加解密算法单元,好在有官方示例的C#版的,那就…
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. 在第二讲使用delphi+intraweb进行微信开发2—intraweb以.net方式发布(以asp.net mvc4模式部署)在IIS(.net虚拟主机)上 我们成功把iw应用部署在了云虚拟主机上,在这一讲里,我们将延续第一讲的内容回归微信开发,这次讲解微信消息处理. 首先明确几个知识点: 1.微信服务器转发用户消息使用的http…
在第一讲使用delphi+intraweb进行微信开发1--微信平台接入中我们编写了一个简单的微信接口程序,这个程序我是用Stand Alone Server / Service 方式编译的程序,并且将端口设置成80进行的微信接口测试,但是实际使用时为了更好的服务器性能我们一般采用iis作为web服务器,以往的情况下iw需要编译成isapi部署在iis上.但是由于自打iis7以后iis对isapi的态度发生了很大变化(推荐使用fastcgi了)导致编译好的isapi很难在iis7.5上部署成功,…
示例代码已经放出!请移步使用delphi+intraweb进行微信开发1~4代码示例进行下载,虽为示例代码但是是从我项目中移出来的,封装很完备适于自行扩展和修改. iw14.0.50来了,在新的版本中最吸引我的就是增加了完善的httphandler功能:终于可以直接在地址栏输入url打开iw功能页面了:可以自由使用EasyUI等js框架了:显示模式对话框也不再七绕八绕惹人烦了:呵呵,我感觉iw第一次接近主流web开发工具了! 兴奋过了,来尝试一下吧.其实iw的坑还是挺多的,虽然已经接近主流了,但…
为通过 FireDAC(XE5开始支持的) 使用 SqLite, 现在已换成 XE6 + IntraWeb v14.0.32 Ultimate. 首先把官方提供的 C:\Users\Public\Documents\Embarcadero\Studio\14.0\Samples\data\FDDemo.sdb 复制到程序目录下, 用于测试. 在空白窗体上添加控件: FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink; FDGUIxWaitCursor…
在其它服务器脚本语言中熟悉的 Request.Response(THttpRequest.THttpReply) 在 IntraWeb 中算是幕后英雄了, 用户基本不需要直接操作它们了. IW 默认 Post 传值(WebApplication.Request.HttpMethod = hmPost, 只读), 但像表单字段之类, 在 IW 中直接根据控件名称读取就是了, 用不着麻烦 Request. 但如果需要, 可以使用 WebApplication.Request.QueryFields.…
一.下载 首先从这里下载14.0.32版本的IntraWeb: 链接:http://pan.baidu.com/s/1c0rjnKO 密码:8kv2 二.卸载旧版 1. 我的Delphi版本是XE6,解压缩下载的程序,进入“IWBundledRemovalTool”文件夹,运行“IWBundledRemovalTool.exe”,卸载旧版. 2. 运行Delphi,Component→Install Packages,删除IntraWeb14.0,退出Delphi. 三.安装新版 1. 运行“i…
一.XE7下Intraweb开发这里就不说了,重点是在开发Intraweb时与ISAPI不同之处要选择 IW library,编译成DLL文件. 二.网站的配置 1.这是站点的物理路径,c:\site 2.添加应用程序池,然后右键,高级设置,开启32位兼容模式 3.将进程表示登录为管理员模式 4.选择.net版本 4.0 5.配置好之后,验证一下登陆,没问题 三.站点文件目录路径,这是c:\site路径下的文件夹及文件.bin不可少,里面放有Intraweb官方提供的三个dll文件,MyWebA…
最近学习DelphiXE7下Intraweb开发,Intraweb完全服务器端运行使得FastReport报表系统无法在客户端运行,当然网上也有一大堆解决方案,例如导出到PDF后,给出连接,让客户点击下载等,个人感觉不完美.由于我做的B/S系统主要运行在windows平台,所以还是考虑ActiveX插件,来的直观.一.DelphiXE7下 ActiveX开发 1.new-other-打开窗口,选择ActiveX Library,点击OK按钮 2.出现这样一个界面,此时Delphi建立一个无窗口的…
每个应用须有且只有一个 Server Controller. TIWServerControllerBase 所在单元及继承链: IWServerControllerBase.TIWServerControllerBase 主要成员: property ContentPath: string //网站静态内容全路径: ...\wwwroot\ property Locked: Boolean //only read, 无用. property StartDateTime: TDateTime /…
最简单的 Url 映射是使用 TIWAppForm 的 class 方法: SetURL; THandlers 是 IntraWeb XIV 新增的内容处理器, 它能完成的不仅仅是 Url 映射(转发?). THandlers 通过虚拟路径.虚拟文件名, 可以转到或处理任何文件. 这个过程中会用到一个 TContentBase 类型的参数, TContentForm.TContentRedirect 是它的子类; 有时会需要从 TContentBase 继承出解决更多问题的子类. THandle…
TIWAppInfo //IntraWeb 12.2.15 开始使用 TIWAppInfo 来获取应用的相关信息, 和 IWServerController.WebApplication 的某些属性有重复 TIWMimeTypes //IntraWeb 14.0.11 新增, 可方便处理 Http Mime Types; Mime 类型? 我的理解是: 浏览器接受到一个文件或数据流, 如果让浏览器解析(而不是下载), 浏览器该按什么类型来解析呢? 所以需要指定类型. TIWAppCache //…
TIWFileUploader 是基于 Ajax 的上传控件, 最初是 Andrew Valums 开发, 从 IntraWeb XIV 纳入并替换 TIWFile. 虽然从组件面板上还能看到 TIWFile, 官方说已不能使用. 现在的 TIWFileUploader 非常方便, 能拖拽上传, 能批量上传, 会自动显示上传进度, 界面也可以很漂亮. 我测试拖拽上传时, 发现有些浏览器不支持. TIWFileUploader 所在单元及继承链: IWCompFileUploader.TIWFil…
IW 依赖 js 构建(我数了数, 在当前版本它的资源文件默认携带了 26 个 js); 但 IW 尽可能地让用户少用或不用 js, 但如果你对 js 也不陌生, IW 提供了多种途径与方便. 我给它分两大类: 1.直接写入 js 代码(站点级.页面级, 还可以精确地指定插入位置); 2.链接 *.js 文件(外链.内链, 还可以是资源文件). 首先应该说明: IW 已经霸占了 window.onload, 用户在 js 中不能再使用 onload. 如果你有一个 js 文件或模板没有如期运作,…
我们可以自定义系统错误模板, 编辑 IWError.html 放到模板文件夹后, 它将替换默认的模板. {在主页面, 这是要模拟一个系统错误} procedure TIWForm1.IWButton1Click(Sender: TObject); begin Release; end; 修改前后的 IWError.html 对比: 我想办法抠出了 IWError.html 源文件, 从里面可以了解到更多关于模板的问题: body, div, span, object, iframe, h1, h…
新建 StandAlone Application 工程后, 再通过 File > New > Other.. > IntraWeb > New Form 添加两个窗体. 然后 TIWForm1 上放两个 TIWButton, 在 TIWForm2 和 TIWForm3 上各放一个 TIWButton. 测试代码用到三个窗体的 OnCreate 和每个按钮的 OnClick 事件. Unit1 中的代码: uses ServerController, Unit2, Unit3; p…
IntraWeb 比我相像中的更贴近 VCL, 传统的非可视组件在这里大都可用(其内部很多复合属性是 TStringList 类型的), 它的诸多可视控件也是从 TControl 继承下来的. 这或许是它曾被改名为 VCL For Web 的原因. 建立测试工程时, 一般要使用 StandAlone Application, 这方便调试; 具体发布时只需稍稍修改. 我建立了一个交 MyTest1 的工程, 自动生成的主要文件有: MyTest1.dpr.ServerController.pas.…
IntraWeb 14 可以部署为 Asp.Net 的应用程序, 需要 NET Framework 4.5 和 ASP.NET MVC 4 或之上版本的支持; 这下, 只能用虚拟主机的朋友有福了! 我的测试环境: XE4 + IntraWeb v14.0.23 Ultimate 中途换成了: XE6 + IntraWeb v14.0.32 Ultimate, 官方提供的部署方法与辅助文件都有变化, 真实发布时 bin 下还需其他 dll. 附上一个我在虚拟主机上真实测试的配置吧: MySite(…
基于 Intraweb 和 JQuery 的开发套件 http://www.cgdevtools.com/ 开发速度无敌,界面也非常美. 我的web短板终于解决了.....!!!!..!!! 做一个小型网站还是非常厉害的. ---------------------------------------- uniGUI 这个更厉害,超越intraweb + Jquery 的方式 ,靠…
资源地址:http://download.csdn.net/detail/marszzx/9472912 本资源来自互联网,整理后上传,本资源仅供学习使用,请勿作用商业用途 delphi开发网站,似乎14年开始intraweb很火于是果断开始研究intraweb,做了几个demo,感觉吊炸天呀!1.卸载之前的intraweb(install package里面先删除intraweb控件)2.复杂文件末尾的bat代码,制作删除控件的bat3.运行iw11.0.63.exe安装intraweb4.I…
intraweb可以说是Delphi Web开发的好帮手,但是自带的控件搭建页面,感觉不是那么美观,于是想引用一个UI框架,Delphi来提供后台访问,但是发现一个问题,如果intraweb用模版,Layui弹出弹出层来编辑数据,向后台提交数据的时候,js获取不到Lyuij界面的编辑后的值,跟踪界面源码,可以看到intraweb生成的界面HTML自动带了<FORM>标签,而layui获取界面编辑数据是通过标签<form class="layui-form" >获…
新建--选择--确定 简单放几个控件在TIWForm1上面,运行,生成一个项目服务器:    复制 URL  http://127.0.0.1:8888/$/start 打开网页.…
在前4讲中我们已经使iw开发的应用成功和微信进行了对接,再接下来的章节中我们开始逐一尝试和实现微信的各个API,开始前先来点准备工作 首先需要明确的是,微信的API都是通过https调用实现的,分为post方法调用和get方法调用.不需要上传数据的采用get方法(例如获取AccessToken),而需要向微信服务器提交数据的采用post方法(例如创建菜单). 微信方法调用均需传递AccessToken(URL参数方式),这个AccessToken不是我们微信接入时使用的Token,这个Acces…
前几讲重点阐述的是使用iw进行微信开发的技术难点及解决方法,提供的都是代码片段(微信消息加解密是完整代码),实际上我始终感觉按照教程实作是掌握一门技术的最重要的方法!不过对于刚刚接触这类开发的朋友来说可能学习曲线陡峭了点,既然如此,特意放出了前4讲的示例代码,去掉了数据库相关操作,保留了最精华的代码部分,直接编译即可进行测试. 下载地址:http://download.csdn.net/detail/netwizard/9475970 此虽为示例代码但是是从我一个即将完工的商业项目中拷贝出来的,…
使用数据连接池(TIWDataModulePool). 新建工程时勾选 Pool Data Connections: 新增的 Pool(TIWDataModulePool) 被放在 ServerController 的窗体上(其实它也是个数据模块), 需要知道的变化是它增加了两个函数: function LockDataModule: TDataModule1; procedure UnlockDataModule(ADataModule: TDataModule1); 同时 Wizard 还自…
一般情况下, 数据源相关控件应该有数据模块中统一管理, 这也方便其他窗体调用; UserSessionUnit 就是一个现成的数据模块. 现在把数据源相关控件放在 UserSessionUnit 的窗体上: FDPhysSQLiteDriverLink1: TFDPhysSQLiteDriverLink; FDGUIxWaitCursor1: TFDGUIxWaitCursor; FDConnection1: TFDConnection; DataSource1: TDataSource; FD…