到网上下一本windows网络编程
this are some examples about internet progarming with delphi in folders of delphi
this are some examples about internet progarming with delphi in folders of delphi
解决方案 »
- delphi我有TEdit的HWND,我怎么转成TEdit呢?
- 刚学习Delphi,大虾指教
- 万分着急 Delphi 与声音 想连就报错 怎么回事 在线等
- 复杂报表的解决方案!!!!?????
- 一个Printer的问题
- 紧急求助!!关于Delphi通过VPN连接Sql Server数据库
- 存储过程的调用问题?
- ADO+access中查找相同编号的问题,在线等待!!
- 我现急用sql6.5,我没有product id,安装时需要输入吗还有...
- 哪儿有fastreport中文操作说明的资料可供下载阅读,满意马上给分(在线等候...<等待中>)
- 当程序中调出网页时,如何调出输入法向网页中输入汉字
- 再问高手:DCOM连接的MIDAS程序如何实现一些socket的通信功能啊?
[email protected]
//---------------------------------------------------------------------------#include <vcl.h>
#pragma hdrstop#include "main.h"
#include "set.h"
#include "winsock2.h"
#include <algorithm>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
/////////////////////////////////////////////////////////////////////////////
char MyStr[65535]="POST /cgi-bin/xybook/bbs.cgi HTTP/1.1\x0d\x0a"
"Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\x0d\x0a"
"Referer: 127.0.0.1\x0d\x0a"
"Accept-Language: zh-cn\x0d\x0a"
"Content-Type: application/x-www-form-urlencoded\x0d\x0a"
"Accept-Encoding: gzip, deflate\x0d\x0a"
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)\x0d\x0a"
"Host: www.xy.gz.cn\x0d\x0a"
"Content-Length: 255\x0d\x0a"
"Connection: Keep-Alive\x0d\x0a";char strBuffer[9000];
//////////////////////////////////////////////////////////////////////////////
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
flag = true;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ExitBtnClick(TObject *Sender)
{
Application->Terminate();
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FlashWindow(HWND FormHandle,int time)
{
AnimateWindow(FormHandle,time,AW_HIDE|AW_VER_POSITIVE);
ShowMyWindow();
AnimateWindow(FormHandle,time,AW_ACTIVATE|AW_VER_NEGATIVE);
ShowMyWindow(); AnimateWindow(FormHandle,time,AW_HIDE|AW_CENTER);
ShowMyWindow();
AnimateWindow(FormHandle,time,AW_ACTIVATE|AW_CENTER);
ShowMyWindow(); AnimateWindow(FormHandle,time,AW_HIDE|AW_HOR_POSITIVE);
ShowMyWindow();
AnimateWindow(FormHandle,time,AW_ACTIVATE|AW_HOR_NEGATIVE);
ShowMyWindow(); AnimateWindow(FormHandle,time,AW_HIDE|AW_HOR_POSITIVE|AW_VER_POSITIVE);
ShowMyWindow();
AnimateWindow(FormHandle,time,AW_ACTIVATE|AW_HOR_NEGATIVE|AW_VER_NEGATIVE);
ShowMyWindow();
}
//----------------------------------------------------------------------------
void __fastcall TMainForm::ShowMyWindow(void)
{
for(int i(0);i<ComponentCount;i++)
{
if(dynamic_cast<TControl *>(Components[i])!=0){
TControl *temp = ((TControl*)Components[i]);
temp->Refresh();
}
}
}
//----------------------------------------------------------------------------
void __fastcall TMainForm::WndProc(TMessage& Message)
{
if((Message.Msg==WM_SYSCOMMAND)){
if(Message.WParam==SC_MAXIMIZE){
ShowMessage("你不可以最大化的哦~\n会很难看的嘛!");
FlashWindow(Handle,256);
return;
}else if(Message.WParam==SC_MINIMIZE){
FlashWindow(Handle,256);
}else if(Message.WParam==SC_RESTORE){
FlashWindow(Handle,256);
}
}
TForm::WndProc(Message);
}
//----------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
Application->Title = "清雨飞扬轩--帮你发帖子";
Application->Icon->Handle = LoadIcon(HInstance,"myIcon");
Application->HintColor = TColor(0xFFAABB);
Application->HintPause = 300;
Application->HintHidePause = 60000; MainForm->Caption = Application->Title;
MainForm->Color = TColor(0xFF9999); TopImage->Picture->Bitmap->Handle = LoadBitmap(HInstance,"lyr"); //DeleteFile("007.mid");
//TResourceStream *FStream = new TResourceStream((int)HInstance,"myMusic",RT_RCDATA);
//FStream->SaveToFile("007.mid");
//delete FStream; ExitBtn->Hint = "说一声再见,说一声再见\n分手时,有淡淡情意,\n萦绕在,你我心间~~~";
ExitBtn->ShowHint = true;
AboutBtn->Hint = "来如流水兮逝如风\n不知何处来兮何处终?";
AboutBtn->ShowHint = true;
SendBtn->Hint = "拉着我的手\n去你想看的地方~~";
SendBtn->ShowHint = true;
StopBtn->Hint = "我累啦~\n休息一下好么~~";
StopBtn->ShowHint = true;
SetBtn->Hint = "做自己想做的人\n做自己想做的事\n不要因外界事物\n而改变自我~~~";
SetBtn->ShowHint = true;
HelpBtn->Hint = "你真的要看帮助吗~\n你确定你真的要看吗?\n真的啊?那你就按啦~";
HelpBtn->ShowHint = true;
TopImage->Hint = "繁花谢,明月缺\n花若有情花亦老\n月如无恨月长圆\n人生虽是有情痴\n此恨也因花与月\n.........";
TopImage->ShowHint = true;
PoemText->Hint = TopImage->Hint;
TopImage->ShowHint = true; PoemText->Caption = " 繁花谢,明月缺\n 花若有情花亦老\n 月如无恨月长圆\n 人生虽是有情痴\n 此恨也因花与月\n ........."; for(int i(0);i<ComponentCount;i++)
{
if(dynamic_cast<TPanel *>(Components[i])!=0){
TPanel *temp = ((TPanel*)Components[i]);
temp->Color = TColor(0xFF9999);
}
}
SendCount = 1;
Id = "xing" ;
UserName = "迎风飞扬";
UserPsd = "1234567890";
Mail = "[email protected]";
Home = "http://qyfeiyang.yeah.net";
Emote = "27";
myTime = 3600; //MediaPlayer->FileName = "007.mid";
//MediaPlayer->Open();
//MediaPlayer->Play(); AnimateWindow(Handle,2000,AW_ACTIVATE|AW_CENTER);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::AboutBtnClick(TObject *Sender)
{
ShellAbout(Handle,("欢迎你来认识我~#" + Application->Title).c_str(),
"程序:迎风飞扬\n主页:http://qyfeiyang.yeah.net",
Application->Icon->Handle);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCloseQuery(TObject *Sender, bool &CanClose)
{
if(MessageBox(Handle,"真的要走了吗?",Application->Title.c_str(),MB_OKCANCEL)== ID_OK){
ShowMessage("要下载最新版本,请访问:http://qyfeiyang.yeah.net\n有问题,请E-MAIL至:[email protected]");
CanClose = true;
AnimateWindow(Handle,2000,AW_HIDE|AW_CENTER);
DeleteFile("007.mid");
}else{
CanClose = false;
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::HelpBtnClick(TObject *Sender)
{
ShowMessage("我靠~~~~~~~你真白痴耶!\n这么简单的程序你也想要帮助?\n我晕~~~~~~~~~~");
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SetBtnClick(TObject *Sender)
{
Timer->Enabled = false;
MySetForm = new TMySetForm(Application);
MySetForm->NameEdit->Text = UserName;
MySetForm->PsdEdit->Text = UserPsd;
MySetForm->MailEdit->Text = Mail;
MySetForm->HomeEdit->Text = "http://qyfeiyang.yeah.net";
MySetForm->TimeEdit->Text = IntToStr(myTime);
MySetForm->Show(); SetBtn->Enabled = false;
//delete MySetForm;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::WelTextClick(TObject *Sender)
{
ShellExecute(Handle,"open","http://www.xy.gz.cn/",NULL,NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::AboutTextDblClick(TObject *Sender)
{
ShellExecute(Handle,"open","mailto:[email protected]",NULL,NULL,SW_SHOWNORMAL);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SendBtnClick(TObject *Sender)
{
if(MessageBox(Handle,
"你使用本软件的话\n所造成的一切后果\n要由自己负完全责任!\n你同意按\"确定\"!\n\"否则按\"取消\"!",
Application->Title.c_str(),MB_OKCANCEL)!=ID_OK)return; if(SendCount>0){
SendCount--;
Timer->Enabled = true;
Timer->Interval = myTime; TReplaceFlags rf;
rf << rfReplaceAll;
AnsiString tempStr = ComMemo->Text; tempStr = StringReplace(tempStr,'\%',"%25",rf);
tempStr = StringReplace(tempStr,'\=',"%3d",rf);
tempStr = StringReplace(tempStr,'\&',"%26",rf);
tempStr = StringReplace(tempStr,'\\',"%5c",rf);
tempStr = StringReplace(tempStr,'\/',"%2f",rf);
tempStr = StringReplace(tempStr,'\?',"?",rf);
tempStr = StringReplace(tempStr,'\r',"%0a",rf);
tempStr = StringReplace(tempStr,'\n',"%0d",rf);
tempStr = StringReplace(tempStr,'\ ',"%20",rf);
tempStr = StringReplace(tempStr,'\<',"%3c",rf);
tempStr = StringReplace(tempStr,'\>',"%3e",rf);
tempStr = StringReplace(tempStr,'\#',"%23",rf);
tempStr = StringReplace(tempStr,'\$',"%24",rf); AddStr = ("PUT http://202.98.201.244/cgi-bin/xybook/bbs.cgi?menu=addtitle&id=" +
Id + "&username=" + UserName.c_str() + "&userpsd=" + UserPsd.c_str()
+ "&mail=" + Mail.c_str() + "&home=" + Home.c_str() + "&emote=" + Emote.c_str()
+ "&titles=" + TitleEdit->Text.c_str() + "&comment=" + tempStr.c_str() + "\r\n"); strcpy(MyStr,AddStr.c_str()); SendMyMessage();
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::StopBtnClick(TObject *Sender)
{
Timer->Enabled = false;
}
//---------------------------------------------------------------------------
bool __fastcall TMainForm::SendMyMessage(void)
{
WSADATA ws;
SOCKET s;
struct sockaddr_in addr;
int iResult;
long lResult;
lResult = WSAStartup(0x0101,&ws);
s = socket(AF_INET,SOCK_STREAM,0);
addr.sin_family = AF_INET;
addr.sin_port = htons(80);
addr.sin_addr.s_addr = inet_addr ("202.98.201.244");
iResult=connect(s,(struct sockaddr *) &addr, sizeof(addr));
if(SOCKET_ERROR == iResult){// 连接失败
WSACleanup();
ShowMessage("连接服务器失败!!!\n请检查网络是否畅通!");
return false;
}else{// 连接成功
iResult = send(s,MyStr,sizeof(MyStr),0);
do
{
strset(strBuffer,' ');
iResult = recv(s,strBuffer,sizeof(strBuffer),0);
if(flag == true){
if(AnsiPos("<META HTTP-EQUIV=Refresh", AnsiString(strBuffer))<=0){
ShowMessage("错误!发送失败!\n请检查你的配置!\n比如密码和用户名等!");
Timer->Enabled = false;
}
flag = false;
}
Application->ProcessMessages();
}
while( iResult !=0 );
}
WSACleanup();
return true;
}
//----------------------------------------------------------------------------
void __fastcall TMainForm::TimerTimer(TObject *Sender)
{
if(SendCount >0){
SendCount--;
SendMyMessage();
}else Timer->Enabled = false;
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::ComMemoDblClick(TObject *Sender)
{
Timer->Enabled = false;
if(OpenDialog->Execute()){
ComMemo->Lines->LoadFromFile(OpenDialog->FileName);
}
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FlashTimerTimer(TObject *Sender)
{
PoemText->Font->Color = TColor(random(0xFFFFFF));
//if(MediaPlayer->Mode!=mpPlaying)
// MediaPlayer->Play();
}
//---------------------------------------------------------------------------
请各位大虾提供!必有重谢,呵呵。
同时谢谢rh(强硬的毛主席万岁!伟大的周总理万岁!) ,有没有delphi版本的?:)
http://www.csdn.net/expert/topic/123/123419.shtm
我有关于socket编程的资料.