已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PASCAL三大病毒软件1.programbingdu;vara:integer;begina:=1;whilea=1dowrite(!);end.Program menudemo;$APPTYPE GUI$MODE DELPHIUses Strings,Windows,CommDlg,CommCtrl;Const AppName = Welcome A+!;Var AMessage: Msg; hWindow,hStatus,Hedit: HWnd; WindowClass: WndClass; Menu: hMenu;Const EditMenus: Array200.203 Of pchar = (Cut,Copy,Paste,Select All);Type TFileName = Array0.Max_Path Of Char;Function SelectFile(Var FName:TFileName; Open:Boolean): Boolean;Const Filter: PChar = Text files (*.txt)#0*.txt#0All files (*.*)#0*.*#0; Ext: PChar = txt;Var NameRec: OpenFileName;Begin FillChar(NameRec,SizeOf(NameRec),0); FName0 := #0; With NameRec Do Begin LStructSize := SizeOf(NameRec); HWndOwner := HWindow; LpStrFilter := Filter; LpStrFile := FName; NMaxFile := Max_Path; Flags := OFN_Explorer Or OFN_HideReadOnly; If Open Then Begin Flags := Flags Or OFN_FileMustExist; End; LpStrDefExt := Ext; End; If Open Then SelectFile := GetOpenFileName(NameRec) Else SelectFile := GetSaveFileName(NameRec);End;Procedure SaveText;Var Len: Longint; P: PChar; F: File; FName: TFileName;Begin If SelectFile(FName,False) Then Begin Assign(F,FName); Rewrite(F,1); Len := GetWindowTextLength(HEdit); GetMem(P,Len+1); PLen := #0; If Len0 Then Begin GetWindowText(HEdit,P,Len+1); BlockWrite(F,P,Len); End; Close(F); FreeMem(P,Len+1); End;End;Procedure AskSave;Begin If MessageBox(HWindow,是否保存文件?,Edited,MB_IconQuestion Or MB_YesNo)=IdYes Then Begin SaveText; End;End;Procedure LoadText;Var FName: TFileName; F: File; Len: LongInt; P: PChar;Begin AskSave; If SelectFile(FName,True) Then Begin Assign(F,FName); Reset(F,1); Len := FileSize(F); GetMem(P,Len+1); PLen := #0; If Len0 Then BlockRead(F,P,Len); Close(F); SetWindowText(HEdit,P); FreeMem(P,Len+1); End;End;Procedure NewText;Const Empty: PChar = ;Begin AskSave; SendMessage(HEdit,WM_SetText,1,LongInt(Empty);End;Function WindowProc (Window:HWnd;AMessage : UINT; WParam : WParam; LParam:LParam): LResult;stdcall;export;Var ps: paintstruct; r: rect; StatH: Word; nrmenu : longint;Begin WindowProc := 0; Case AMessage Of wm_Paint: Begin BeginPaint(Window,ps); GetClientRect(Window,r); EndPaint(Window,ps); Exit; End; wm_Close: Begin AskSave; End; wm_Destroy: Begin PostQuitMessage (0); Exit; End; wm_Size: Begin if HStatus0 then begin GetClientRect(HStatus,R); StatH := R.Bottom-R.Top; GetClientRect(Window,R); MoveWindow (hStatus,r.left,r.bottom-StatH,r.right,r.bottom,true); if HEdit0 then MoveWindow (HEdit,0,0,r.right-r.left,r.bottom-r.top-StatH,true); end; End; wm_Command: Begin NrMenu := WParam And $FFFF; Case NrMenu Of 101 : NewText; 102 : LoadText; 103 : SaveText; 104 : PostMessage(Window,WM_Close,0,0); 201.203: MessageBox(Window,EditMenusNrMenu, Edit operation not implemented,MB_OK Or MB_IconInformation); End; End; End; WindowProc := DefWindowProc(Window,AMessage,WParam,LParam);End;Function WinRegister: Boolean;Begin With WindowClass Do Begin Style := cs_hRedraw Or cs_vRedraw; lpfnWndProc := WndProc(WindowProc); cbClsExtra := 0; cbWndExtra := 0; hInstance := system.MainInstance; hIcon := LoadIcon (0,idi_Application); hCursor := LoadCursor (0,idc_Arrow); hbrBackground := GetStockObject(GRAY_BRUSH); lpszMenuName := Files; lpszClassName := AppName; End; Result := RegisterClass (WindowClass)0;End;Function EditCreate(ParentWindow,Status:HWnd): HWnd;Const CS_Start = WS_Child or WS_HScroll or WS_VScroll or ES_MultiLine or ES_Left; EdiTText: PChar = ;Var HEdit: HWND; R: TRect; StatH: Word;Begin GetClientRect(Status,R); StatH := R.Bottom-R.Top; GetClientRect(ParentWindow,R); HEdit := CreateWindow (EDIT,EditText,CS_Start,0,0, R.Right-R.Left,R.Bottom-R.top-StatH,ParentWindow,0, System.MainInstance,Nil); If HEdit0 Then Begin ShowWindow(Hedit,cmdShow); UpdateWindow(HEdit); End; Result := HEdit;End;Function WinCreate: HWnd;Var hWindow: HWnd; SubMenu: hMenu;Begin hWindow := CreateWindow (AppName,MenuDemo,ws_OverlappedWindow, cw_UseDefault,cw_UseDefault,cw_UseDefault, cw_UseDefault,0,0,system.MainInstance,Nil); If hWindow0 Then Begin Menu := CreateMenu; SubMenu := CreateMenu; AppendMenu(Submenu,MF_STRING,101,&New.); AppendMenu(Submenu,MF_STRING,102,&Open.); AppendMenu(Submenu,MF_STRING,103,&Save.); AppendMenu(Submenu,MF_STRING,103,&Change window); AppendMenu(Submenu,MF_SEPARATOR,0,Nil); AppendMenu(SubMenu,MF_String,104,E&xit); AppendMenu(Menu,MF_POPUP,SubMenu,&File); SubMenu := CreateMenu; AppendMenu(SubMenu,MF_String,201,&Cut); AppendMenu(SubMenu,MF_String,202,&Copy); AppendMenu(SubMenu,MF_STRING,203,&Paste); AppendMenu(SubMenu,MF_STRING,204,&Board.); AppendMenu(SubMenu,MF_STRING,204,&Select All); AppendMenu(Menu,MF_POPUP,SubMenu,&Edit); SubMenu := CreateMenu; AppendMenu(SubMenu,MF_String,301,&Mode.Debug); AppendMenu(SubMenu,MF_String,302,&Compiler.); AppendMenu(SubMenu,MF_String,303,&Memory sizes.); AppendMenu(SubMenu,MF_String,304,&Linker.); AppendMenu(SubMenu,MF_String,305,&Debugger.); AppendMenu(SubMenu,MF_String,306,&Directories.); AppendMenu(SubMenu,MF_String,307,&Browser.); AppendMenu(SubMenu,MF_String,308,&Tools.); AppendMenu(Menu,MF_POPUP,SubMenu,&O&ptions); AppendMenu(SubMenu,MF_String,309,&Environment -); AppendMenu(SubMenu,MF_String,310,&Open.); AppendMenu(SubMenu,MF_String,311,&Save.); AppendMenu(SubMenu,MF_String,312,&Save as.); AppendMenu(Menu,MF_POPUP,SubMenu,&Options); SubMenu:=CreateMenu; AppendMenu(SubMenu,MF_String,312,&Index.); AppendMenu(SubMenu,MF_String,312,&About.); AppendMenu(Menu,MF_STRING,0,&Help); SetMenu(hWindow,menu); ShowWindow(hWindow,CmdShow); ShowWindow(hWindow,SW_SHOW);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年编辑撰稿人岗位招聘面试参考试题及参考答案
- 2025年交流与传播经理岗位招聘面试参考试题及参考答案
- 2025年社交运营专员岗位招聘面试参考题库及参考答案
- 襄阳电梯考试题目及答案
- 2025年护士专业考试真题及答案
- 2025年母婴护理专员岗位招聘面试参考题库及参考答案
- 2025年生物信息学专家岗位招聘面试参考题库及参考答案
- 2025年案例分析师岗位招聘面试参考试题及参考答案
- 2025年合作伙伴关系经理岗位招聘面试参考题库及参考答案
- 2025年智慧城市项目经理岗位招聘面试参考试题及参考答案
- 企业注销登记申请书(适用于公司、非公司企业法人、合伙企业、个人独资企业)
- 热镀锌产品质量证明书
- 【课件】宣纸的工艺讲解
- 需求管理制度
- 2024手机摄影课ppt课件完整版
- 预防流感的中医保健与养生方法
- 作文方格纸400字
- 国家公务员考试申论真题副省级
- 2023-2024学年广西壮族自治区柳州市小学语文二年级期末通关考试题详细参考答案解析
- 审计模拟实训教程第4版马春静课后部分参考答案
- 疾控中心专业试题及答案
评论
0/150
提交评论