当前位置:文档之家› delphi IDHTTP登录网站教程代码

delphi IDHTTP登录网站教程代码

delphi IDHTTP登录网站教程代码
delphi IDHTTP登录网站教程代码

【转】 delphi IDHTTP登录网站教程代码

2010-08-12 14:51

转载自s_jqzhang

最终编辑zxp922

下面代码是delphi2010的,主要区别也就在于stringstream的初使化,Response := TStringStream.Create(”, TEncoding.UTF8); 改成

Response := TStringStream.Create(‘ ‘);

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP,

StdCtrls;

type

TForm1 = class(TForm)

mmo1: TMemo;

btn1: TButton;

IdHTTP1: TIdHTTP;

Label1: TLabel;

Edit1: TEdit;

Label2: TLabel;

Edit2: TEdit;

procedure btn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn1Click(Sender: TObject);

var

code:string;

done:Boolean;

postList: TStrings;

Response: TStringStream;

begin

mmo1.clear;

// 开始登录代码

Response := TStringStream.Create('', TEncoding.UTF8);

postList := TStringList.Create;

try

IdHTTP1.HandleRedirects:=True;

postList.add('cktime=31536000');

postList.add('forward=');

postList.add('hideid=0');

postList.add('jumpurl=https://www.doczj.com/doc/7a16524219.html,/index.php'); postList.add('lgt=0');

postList.add('pwpwd='+edit2.Text);

postList.add('pwuser='+edit1.Text);

postList.add('step=2');

postList.add('submit=?');

IdHTTP1.Post('https://www.doczj.com/doc/7a16524219.html,/login.php?', postList, Response);

done :=True;

except

done :=false;

end;

if(done)and(Pos('200 OK', IdHTTP1.ResponseText) <> 0)then begin

code := IdHTTP1.Get('https://www.doczj.com/doc/7a16524219.html,/index.php'); mmo1.lines.add(code);

end

else

begin

mmo1.lines.add('logon error,error code:'+

IdHTTP1.Response.RawHeaders.Text);

end;

Response.Free;

postList.Free;

end;

Delphi_程序设计基础教程_习题答案(hzd)

Delphi 程序设计基础教程 第 1 章Delphi 集成开发环境 1. 填空题 (1) Delphi 是一个集成开发环境,从3程序设计、代码编译、调试,到最布程序的全部工作都可以在这个集成环境中完成。 (2) 在Delphi 集成环境的主要组成部分中有许多功能强大的工具,如:3主窗体、 对象树状视图、对象观察器、窗体设计器、代码编辑器工具等。 (3) Delphi 集成开发环境的界面分为4个部分,分别是。主窗口、窗体窗口、代码编辑窗口和对象查看器窗口 (4) 对象查看器的功能是:编辑设置窗体、组件的属性,并为窗体、组件添加事件的响应处理过程 (5) Delphi 主窗口由:标题栏、菜单栏、工具栏和组件板组成,它是打开其他窗口和退出D elphi 集成环境的主要界面。 2. 选择题 D(1) 对象查看器由组成。 A. 标题栏、菜单栏、属性标签和事件标签 B. 标题栏、菜单栏、对象选择器和事件标签 C. 标题栏、菜单栏、对象选择器和属性标签 D. 标题栏、对象选择器、属性标签和事件标签 D(2) Delphi 用来管理用户开发的应用程序中的各个文件,有序地管理可以极大地提高应用程序开发的质量和速度。 A. 单元 B. 组件 C. 属性 D. 项目 B(3) 用来编写应用程序的代码。 A. 调试器窗口 B. 代码编辑窗口

C. 报表生成器窗口 D. 数据库桌面窗口 B(4) 代码编辑窗口分为左、右两部分:。 A. 左边是单元代码窗口,右边是单元浏览器窗口 B. 左边是单元浏览器窗口,右边是单元代码窗口 C. 左边是单元调试窗口,右边是单元浏览器窗口 D. 左边是单元浏览器窗口,右边是单元调试窗口 A(5) 属性选项卡即标签名为“Properties”的选项卡,用于设置当前组件的属性,属性选项卡是一个两列的表格,。 A. 左列是属性标题,右列是属性值 B. 左列是组件名称,右列是事件名 C. 左列是属性标题,右列是事件名 D. 左列是组件名称,右列是属性值 C(6) 事件选项卡即标签名为“Events”的选项卡,用于为当前组件添加各种响应事件(如单击、拖曳事件等),它随对象选择器中的所选组件而发生变化。事件选项卡为一个两列的表格,,默认时右列为空,在空格处双击则可以为当前组件添加事件,并进入代码编辑器窗口。 A. 左列是属性标题,右列是属性值 B. 左列是组件名称,右列是事件名 C. 左列是事件名称,右列是事件处理过程 D. 左列是组件名称,右列是属性值 ab(7) 在项目管理器中列出了当前项目中的各个,用户可以对它们进行操作。 A. 项目文件和单元文件 B. 项目文件和窗体文件 C. 项目文件和对象映射文件 D. 单元文件和窗体文件 3. 判断题 (1) Delphi 的状态栏不过是把一些常用的菜单命令以图标按钮的方式显示出来,以便于快速访问。(F )

完整的delphi程序设计教程课后习题答案

239页1题小时钟 procedure TForm1.Timer1Timer(Sender: TObject); var xt,yt:integer; h,m,s,ms:word; begin decodetime(time,h,m,s,ms); xt:=paintbox1.clientwidth div 2; yt:=paintbox1.clientheight div 2; paintbox1.refresh; paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=3; paintbox1.canvas.lineto(xt+round(sin((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2*pi)*100)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=2; paintbox1.canvas.lineto(xt+round(sin(m/60*2*pi)*140), yt-round(cos(m/60*2*pi)*140)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=1; paintbox1.canvas.lineto(xt+round(sin(s/60*2*pi)*180), yt-round(cos(s/60*2*pi)*180)); end; end. 239页3题求两点间的距离 procedure TForm1.Button1Click(Sender: TObject); begin paintbox1.Refresh; formpaint(sender); end; procedure TForm1.FormPaint(Sender: TObject); var xt,yt:integer; ax,ay,bx,by:integer; begin xt:=paintbox1.ClientWidth div 2; yt:=paintbox1.Clientheight div 2; paintbox1.canvas.MoveTo(xt,0); paintbox1.canvas.lineTo(xt,2*yt); paintbox1.canvas.MoveTo(0,yt); paintbox1.canvas.lineTo(2*xt,yt); ax:=strtoint(edit1.text);

Delphi程序设计试题及解答1-1-111

《Delphi 程序设计》试题及解答 卷6 一、填空题(20分,每空2分) 1、现实世界中对象具有自己的状态和行为。对应着,面向对象技术中的对象可以具有自己的属性和 。 2、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。 3、Delphi 应用程序中单元文件的扩展名是 。 4、与数学表达式 53)(cos 2++x b a 对应的Object Pascal 表达式是 。 5、对于下面的条件表达式: ((3 <= x )AND (x < 0)) OR (x in [1..10]) 当x = 3 时, 该表达式的值为 。 6、ListBox 对象列表框中的内容是通过 属性来进行设置的。 7、如果想设计DBGrid 对象的列标题和对齐方式,可以对DBGrid 对象的 属性进行设置。 8、时钟组件(Timer )能有规律的以一定时间间隔触发 事件 9、能够实现格式化输入的编辑框组件是 10、利用 对象的LineTo 等方法,可以绘制基本图形。 二、单项选择题(20分,每题2分) 1、Delphi 程序设计的基本特点是( )。 A . 可视化程序设计 B . 代码程序设计 C . 事件驱动编程 D . A 和C 2、进度显示组件ProgressBar 的当前进度可以通过( )属性设置。 A . Step B .Scroll C . Position D .Max 3、下列变量命名正确的是( )。 A .7ABC B . My7 C . page@2 D .cmd..1 4、“x 是小于200的非负数”的Object Pascal 表达式是( )。 A .0 ≤ x < 200 B . x >= 0, x<200 C .(x >=0) AN D (x < 200) D . (x >= 0 ) OR (x<200) 5、在窗体上建立多页面的用户界面,需要首先建立的对象是( ) A . TabControl B .PageControl C . HeaderControl D .PageScroller 6、能够删除edit1中内容的语句是( )。 A . edit1.Clear ; B .edit1. Focused ; C . edit1.Text= null ; D .edit1.text :='\0' ; 7、现建立一个简单报表,仅包含数据列标题栏、数据栏和汇总栏,则在Bands 属性的子属

完整的delphi程序设计教程课后习题答案

1.239页1题小时钟 procedure TForm1.Timer1Timer(Sender: TObject); var xt,yt:integer; h,m,s,ms:word; begin decodetime(time,h,m,s,ms); xt:=paintbox1.clientwidth div 2; yt:=paintbox1.clientheight div 2; paintbox1.refresh; paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=3; paintbox1.canvas.lineto(xt+round(s in((60*h+m)/(12*60)*2*pi)*100), yt-round(cos((60*h+m)/(12*60)*2 *pi)*100)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=2; paintbox1.canvas.lineto(xt+round(s in(m/60*2*pi)*140), yt-round(cos(m/60*2*pi)*140)); paintbox1.canvas.moveto(xt,yt); paintbox1.canvas.pen.width:=1; paintbox1.canvas.lineto(xt+round(s in(s/60*2*pi)*180), yt-round(cos(s/60*2*pi)*180)); end; end. 2.239页3题求两点间的距离procedure TForm1.Button1Click(Sender: TObject); begin paintbox1.Refresh; formpaint(sender); end; procedure TForm1.FormPaint(Sender: TObject); var xt,yt:integer; ax,ay,bx,by:integer; begin xt:=paintbox1.ClientWidth div 2; yt:=paintbox1.Clientheight div 2; paintbox1.canvas.MoveTo(xt,0); paintbox1.canvas.lineTo(xt,2*yt); paintbox1.canvas.MoveTo(0,yt); paintbox1.canvas.lineTo(2*xt,yt); ax:=strtoint(edit1.text); ay:=strtoint(edit2.text); bx:=strtoint(edit3.text); by:=strtoint(edit4.text); edit5.Text:=floattostr(sqrt((ax-bx)* (ax-bx)+(ay-by)*(ay-by))); paintbox1.canvas.MoveTo(xt+ax*1 0,yt-ay*10); paintbox1.canvas.lineTo(xt+bx*10, yt-by*10); end; end. 3.226页5题输入学生成绩 var Form1: TForm1; type studentrecord=record xh,xm:string[6]; xb:boolean; yy,sx,dz:integer; end; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var t:studentrecord; f,f1:file of studentrecord; p1,p2:boolean; begin assignfile(f,'c:\my documents\stu.dat'); reset(f); assignfile(f1,'c:\my documents\stu1.dat'); rewrite(f1); while not eof(f) do begin read(f,t); p1:=(t.sx>=85)and(t.yy>=85)and(t. dz>=85); p2:=t.sx+t.yy+t.dz>=270; if p1 or p2 then write(f1,t); end; closefile(f); closefile(f1); end; procedure TForm1.FormCreate(Sender: TObject); var t:studentrecord; f:file of studentrecord; xingbie:string; begin assignfile(f,'c:\my documents\stu.dat'); reset(f); while not eof(f) do begin read(f,t); if t.xb then xingbie:='男' else xingbie:='女'; listbox1.Items.Add(t.xh+' '+t.xm+' '+xingbie+' '+inttostr(t.sx)+ ' '+inttostr(t.yy)+' '+inttostr(t.dz)); end; closefile(f); end; procedure TForm1.Button2Click(Sender: TObject); begin close; end; end. 4.226页8题保存获得奖学金者 var Form1: TForm1; type studentrecord=record xh,xm:string[6]; xb:boolean; yy,sx,dz:integer; end; implementation {$R *.dfm} procedure

Delphi程序设计试题一及答案

Delphi 程序设计试题一及答案 一、填空题(20分,每空2分) 1、现实世界中对象具有自己的状态和行为。对应着,面向对象技术中的对象可以具有自己的属性和 。 2、Delphi 应用程序中项目文件的扩展名是 。 3、结构化程序设计要求程序中仅采用顺序、分支和循环三种控制结构,其中每种结构只能有 和一个出口。 4、在Delphi 集成开发环境中,如果想要直接设置或者修改对象的属性,可以通过对象查看器(Object Inspector )中的 窗口直接进行设置。 5、ListBox 对象列表框中的内容是通过 属性来进行设置的。 6、时钟组件(Timer)能有规律的以一定时间间隔触发 事件。 7、如果让界面上的一个按钮变为不可用,需要将它的 属性设为False 。 8、Image 组件可通过设置其 属性为True 使Image 组件根据图像的大小自动调整显示窗口大小。 9、Delphi 的一个项目由若干文件组成,其中文件名后缀含有“~”的文件为 。 10、与数学表达式 53)(cos 2++x b a 对应的Object Pascal 表达式是 二、单项选择题(30分,每题3分) 1、Delphi 程序设计的基本特点是( )。 A . 可视化程序设计 B . 代码程序设计 C . 事件驱动编程 D . A 和C 2、修改窗体的标题时,应当设置form 的属性是( )。 A .Caption B . Name C . Text D . Label 3、下列哪个常量说明语句是正确的( )。

A. const x := (c < 16); B. const x : 16 ; C. const x := 16 ; D const x = 16 ; 4、“x 是小于100的非负数”的Object Pascal表达式是()。 A.0 ≤x < 100 B.x >= 0, x<100 C.(x >=0) AND (x < 100)D.(x >= 0 ) OR (x<100) 5、编辑框(Edit)中的文本发生改变时引发的事件是()。 A.AutoSize B.OnChange C.SetFocus D.SetText 6、表达式30 +19 div 2的值是()。 A.37 B.49 C.39D.40 7、在Timer组件中,用户需要设定每秒钟触发一次事件,应将Interval属性值设置为()。 A.1 B.10 C.100 D.1000 8、下面哪个功能键可以调出Delphi 的联机帮助信息()。 A.F1键B.F2键 C.F3键D.F4键 9、数据库,添加数据的SQL语句是()。 A.Insert语句B.Update语句 C.Add语句D.Select语句 10、以下控件中没有Items属性的是()。 A.ComboBox B.ListBox C.RadioGroup D.Memo 三、判断题(10分,每题2分) 请给下列论述中正确的打上“√”,错误的打上“ ”(10分,每题1分) 1、()一个数组中的各元素的数据类型必须相同。 2、()在一个项目中,可以根据需要将任何一个窗体定义为主窗体。 3、()在Object Pascal语言中,用户必须通过函数来实现乘方运算。

Delphi7基础语法教程

第1章 Delphi 基础知识 1.1 为什么选择Delphi Delphi是美国Borland公司推出的一种基于客户/服务器体系的Windows快速应用开发工具(RAD Rapid Application Development),是一种面向对象的可视化编程工具,即根据Delphi的可视性,又结合Object Pascal 语言的编程技巧,可以开发出功能强大的Windows应用程序和数据库应用程序。 Delphi是第一个集可视化开发环境、优化的源代码编译器和可扩展的数据库访问引擎于一身的Windows开发工具。它具有以下优点: 1.优秀的可视化开发环境 2.高效率的编译器 3.结构良好的编程语言 4.对数据库和网络编程的灵活支持 5.层次清晰和可扩展的框架 1.2 Delphi 发展史 Delphi发展至今,从Delphi1、Delphi2到现在的Delphi xe,不断添加和改进各种特性,功能越来越强大。 Delphi 1.0 1995年一个开发工具中的超级明星在Borland诞生了,这就是 Delphi 1.0。在Delphi1.0中Borland放弃了OWL(Object Window Library),取而带之的是全新的Visual Component Library,从此开始了组件(Component)技术的时代,其意义深远;Delphi1.0是完全面向对象的。它是Delphi 的最早版本。 Delphi 2.0 1996年Delphi2.0完成了16位到32位的跨越,提供了32位操作系统的完整支持,只能在Windows 95以上的操作系统中使用,它如同Delphi 1.0一样大获成功。 在Delphi2.0中Borland为它增加了可视的Form的继承,并且面向对象更彻底。由于所有函数支持"虚函数"特性,对程序编写和维护非常方便,大量类似的报表也采用了此技术。 Delphi 2.0中,增加了Data Modules的概念,可以将数据包装在一个模块中,在系统启动时或空闲时将它打开,这样,所有使用这些Table的模块都可以公用它,避免重复打开和关闭。并且,由于所有数据Table位于一个模块中,非常便于管理维护和迁移升级。 Delphi 3.0 1997年:在微软COM/DCOM技术日益成熟的情况和企业对分布式应用程序开发工具的需求下,Borland的开发人员巧妙的平衡了二者的关系,使Delphi3.0成为Windows平台的第一款提供分布式开发的开发工具。 Delphi 4.0 1998年:由于决策的错误,Delphi 4.0是一个不成熟的产品,其中有大量的bug,尽管Borland 也不停的发补丁,但不稳定的恶名很快在delphi用户传开, delphi4.0给delphi蒙上了阴影,也使Visual Basic有了喘息之机。 Delphi 5.0 1999年:在失败的Delphi4以后,Borland小心的推出了Delphi5.0,重新建立delphi的声望,delphi受到delphi开发人员一致推崇。在这个版本中Delphi对IDE(集成开发环境)进行了很多改进,扩展了对数据库的支持(ADO和InterBase数据库),转换功能,框架概念以及很多的新组件与新特性。 Delphi 6.0

《delphi程序设计》教学大纲

《Delphi程序设计》课程教学大纲 (一)说明 1、课程概述 (1)课程属性及课程介绍 Delphi是全新的可视化编程环境,提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language),是当今世界上最快的编辑器,最为领先的数据库技术,最先进的网络技术。Delphi简单易学,开发者不必自己建立对象,只要在提供的程序框架中加入完成功能的代码,其余的都交给Delphi去做即可,对于广大的程序开发人员来说,使用Delphi开发应用软件,会大大地提高编程效率。 这门课程主要讲述窗体设计,构件的使用,创建数据库应用程序等。 本课程是计算机科学与技术专业基础选修课。 (2)适用对象:计算机科学与技术专业 (3)先修课程与后续课程: 先修课程:计算机文化基础、C程序设计、数据库应用系统 后续课程:Java程序设计 2、教学目的、意义、任务 通过本课程的学习,应使学生掌握利用Delphi进行数据库操作及软件设计的基础知识和基本方法,使学生掌握Delphi的基本功能,学会创建数据库、表、窗体等,面向对象的基础知识,各种工具的使用,可视化编程技术,开发应用系统的方法等,使它成为学生开发数据库应用系统有力的工具,培养学生具有利用软件开发环境解决实际问题的能力,为进一步学习其他计算机知识及今后使用或开发数据库应用程序奠定基础,满足高等院校计算机专业可视化编程的教学要求。 本课程的任务是从应用角度出发,使学生掌握基本的数据库应用系统技术,在理论和实践上掌握面向对象理论基础、Delphi数据库系统的基本操作技能,建立应用系统的基本概念,理解和掌握简单的数据库应用系统技术,掌握面向对象的概念,具备基本程序设计能力,使学生能够设计和组建简单的Delphi数据库应用系统。 3、主要教学方法、手段:理论教学采用启发式、互动式、案例驱动、讲解式、实际 演示等多种教学方法结合,实践教学采用任务式、参与式;采用多媒体辅助教学为 主要教学手段,个别章节利用黑板与多媒体结合。 4、教学中注意的问题:教材中的理论与实际问题的有机结合。 5、学时与分配 总学时:60 理论教学40学时占全部学时的67% 实验教学20学时占全部学时的33% 6、实践教学:2周 (二)本文 第一章Delphi7.0简介(2学时) 了解Delphi应用系统的基本概念;了解Delphi7.0的特点;Delphi7.0的集成开发环境。掌握Delphi的可视化编程的界面组成、工作方式、辅助设计工具以及如何运行。目的是通过实例使学生对数据库系统特别是Delphi有一个入门性的认识,为后续内容打下基础。 1.1Delphi7.0的特点

相关主题
文本预览
相关文档 最新文档