面向对象VC++ JAVA Delphi语言比较

谈到面向对象,某过于几种语言而已,核心是一样的,C是面向过程的,用C实现面向对象,费力不讨好,然后后期出现了个VC++,嗯,这个继承于面向对象与面向过程中,而且可以派生,友元函数,至今VC++仍然是老大,不过每种语言有每种语言的好处,不能单一的说那种高级语言好。
记得刚开始接触的是VB,那时只百度上的朋友都说不是完全面向对象的,那时自己却感觉不出来,因为之前接触的都是面向过程的编程思想,后期转了ASP,也没感觉到多少,因为ASP用到的大部分VBS脚本,小部分JAVASCRIPT脚本,这个都用做美工了,没单独去学这个,然后现在转了Delphi,PHP,VC++才真正的感觉到了面向对象与面向过程与不完全的面向对象之间的区别,学了VC++,看看ThinkPHP,很多东西都是一样的,基础没必要去看了,学了VC++,哪怕只有基础,甚至不用C++工作,学了这门语言绝对是不会吃亏的,因为他支持的比较完整,后期出现的JAVA是因为VC++的麻烦而诞生的,JAVA自动回收内存机制,给程序员们较少了出错率,这个外国用的比较多,中国的JAVA,我不太了解了,然后就是Delphi,这个语言不错,继承了VB的优点,继承了VC++的类库,面向对象三种语言大比拼,下面简单的比较一下。
VC++无所不能的大牛,缺点是开发周期比较长,但是易于维护;
JAVA网络编程强悍,加上了自动回收内存机制,不用程序员们去检查指针,同样缺点需要在虚拟机中介解释执行代码,没有指针,执行效率肯定不可以与VC++相比了。
然后是Delphi了,这个据朋友(茂国)说高手都在台湾,中国浪费了这门好语言,嗯,Delphi的优点是继承了VB的可视化编程,而且是完全面向对象的,缺点是…这个淡定一下,不然茂茂要发火了,Delphi其实很完美的,可视化编程,而且也有指针,要啥有啥,可是我MFC搞了一个计算器和Delphi都搞了一个同样的记事本,MFC的这个大小是:116K,Delphi的记事本大小是:413K,不过Delphi做的非常快,快很多,然后执行速度上,就不做程序测试了。
面向对象VC++,JAVA,Delphi谁煮沉浮,不管这些了,不管学了那种语言,都不是坏处,特别是VC++,现在学的虽然都是基础的基础,但是看看别的,甚至语法都是一样的。好好学,加油,程序人生。
 

Delphi记事本编程代码

新建文件:form1.memo1.lines.Clear; //清空MEMO1
打开文件:
form1.OpenDialog1.execute;
form1.Memo1.Lines.LoadFromFile(form1.OpenDialog1.filename);
保存文件:
form1.saveDialog1.execute;
form1.Memo1.Lines.savetoFile(form1.saveDialog1.filename);
退出:close; //关闭
编辑操作:
form1.Memo1.cuttoclipboard; //剪切
form1.Memo1.CopyToClipboard; //复制
form1.Memo1.PasteFromClipboard;// 粘贴
form1.Memo1.clearselection; //删除选中内容
字体相关设置:
memo1.Font.style:=memo1.Font.Style +[fsbold];//加粗
memo1.Font.style:=memo1.Font.Style +[fsitalic]; //加斜
memo1.Font.style:=memo1.Font.Style +[fsunderline]; //加下划线
fontdialog1.Execute;
memo1.Font:=fontdialog1.Font; //字体选择代码
memo1.font.color:=clred; //设置字体颜色为红色

初学Delphi一点笔记

初学Delphi一点笔记
F1?? 调用帮助MSDN
Inc(variadle,加量),Dec(variadle,减量)? 增减函数
Concat(str1,str2) 字符串连接函数
Dispose(指针)? 释放内存
Low(A)和High() 数组最小值和最大值
Result返回值
利用句柄可以防止程序运行多个实例
 
Delhpi基本控件
showmessage(‘显示消息函数’);
MainMeun 贴窗体导航菜单控件 – 绑定事件
PopupMenu 弹出菜单? – 绑定事件
颜色控件 form1.Color := ColorBox1.Selected;
 
Delphi 关键字(加粗显示)
Unit 单元 end. //单元部分代码
interface //单元内的过程,变量,函数等
uses //(系统级别单元)引用单元,Ctrl+单元名称(查看单元底层代码)
type //声明对象类型 TFrom1 = class(TForm) 窗口类 实例化
private //定义只供本单元使用的函数或者过程
public? //定义其他单元可引用的函数或者过程
implementation //已完成头部文件定义
 
Delphi常用快捷键
ctrl+shift+上/下方向键: 在声明与实现之间切换
ctrl+shift+数字键:设置标签
ctrl+数字键:转到标签
ctrl+y:删除该行
ctrl+z:恢复删除
F11:在对象与属性之间切换
F12:在界面与单元之间切换
 
数据类型
integer,Boolean,Double,TDateTime
function函数(有参数)和procedure过程(无参数)
ctrl+shift+c (跳到过程);
 
数组 循环赋值:
for i:= Low(array1) to High(array1) do
array1[i]:=i;
 
WebBrowser控件显示网页
WebBrowser1.Navigate(‘www.163.com’);
 
输入输出对话框函数应用
var str1,str2:string;
str2:=inputbox(‘提示标题’,’请输入参数’,str1);
showmessage(str2);

编译文件被感染,生成软件报毒,delphi朋友

大家检查下安装目录
lib下的SysConst.dcu文件,大小,如果为17KB,被感染了。我的是18K,目前5个杀毒,瑞星,卡巴,AVG等检测到了病毒
SysConst.dcu正式大小应该为12KB不到点点。lib/debug目录下有SysConst.dcu,SysConst.bak(改名回来)文件,替换回来就可以恢复正常!
我也不知道我是怎么感染的。
卡饭朋友的疑问
http://www.kpfans.com/bbs/thread-539760-1-1.html
http://www.unpack.cn/viewthread.php?tid=39339
基本都是8.16号后的问题。并非误报!
替换回正规SysConst.dcu问题解决了!大家查看下巴。免得自己写的东西被人说病毒
可能是某个控件带来的问题!
此文转载于:http://club.itqun.net/showtopic.aspx?forumid=48&forumpage=1&topicid=104490&go=next
卡饭论坛,杀毒太强大了,不是杀毒软件一个程序,月月也是一个病毒专家,太佩服了,病毒专家,真好,加油…

Delphi过程与函数异同

? ?过程和函数不同,函数必须有返回值,过程则没有。
可以采用变量参数的方式使过程也能返回处理过的值。
类TForm1的函数,必须采用ObjectName.functionName的方式调用(TForm1自身的函数或方法除外)。
单元Unit1的函数,可看作公共函数,只要其他单元引用了Unit1,就可以使用该函数 。

过程:

procedure Hello;
begin
ShowMessage ('Hello world!');
end;

调用:Hello;
函数:

function Double (Value: Integer) : Integer;
begin
Double := Value * 2;? //函数名做返回值
end;
function Double2 (Value: Integer) : Integer;
begin
Result := Value * 2; //Result作返回值
end;

ShellExecute函数学习

记得曾经用VB调用外部连接一句代码实现了,用到了SHELL函数,在Delphi中需要加入函数所在的单元,Delphi中ShellExecute函数所在的单元是shellapi也就是加入下面代码:
uses shellapi
下面介绍这个函数的用途:
//调用可执行文件:
ShellExecute(Handle, ‘open’, PChar(‘c:\test.exe’), nil, nil, SW_SHOW);
//记事本并打开一个文本文件 (系统知道记事本程序的位置,所以我们不必给出完整路径):
ShellExecute(Handle, ‘open’, PChar(‘notepad’), PChar(‘c:\readme.txt’), nil, SW_SHOW);
//打印一个文档:
ShellExecute(Handle, ‘print’, PChar(‘c:\test.doc’), nil, nil, SW_SHOW);
//打开一个HTML网页,本地的或远程的:
ShellExecute(Handle, ‘open’, PChar(‘http://www.0535code.com/’), nil, nil, SW_SHOW);
//打开HTML帮助文件:
ShellExecute(Handle, ‘open’, PChar(‘c:\windows\help.chm’), nil, nil, SW_SHOW);
//浏览文件夹:
ShellExecute(Handle, ‘explore’, PChar(‘c:\windows)’, nil, nil, SW_SHOW);
//运行DOS命令并立即返回:
ShellExecute(Handle, ‘open’, PChar(‘command.com’), PChar(‘/c copy file1.txt file2.txt’), nil,SW_SHOW);
//运行DOS命令,保持DOS窗口是开着的:
ShellExecute(Handle, ‘open’, PChar(‘command.com’), PChar(‘/k dir’), nil, SW_SHOW);

Delphi自动启动代码

Delphi自启动代码:

unit Unit1;
//download by wangchi http://www.0535code.com

interface

uses
Windows,Registry, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure SetAutorun(aProgTitle,aCmdLine: string; aRunOnce: boolean );
var
hKey: string;
hReg: TRegIniFile;
begin
if aRunOnce then
//程序只自动运行一次
hKey := 'Once'
else
hKey := '';
hReg := TRegIniFile.Create('');
//TregIniFile类的对象需要创建
hReg.RootKey := HKEY_LOCAL_MACHINE;
//设置根键
hReg.WriteString('Software\Microsoft\Windows\CurrentVersion\Run'
+ hKey + #0,
aProgTitle,
//程序名称,可以为自定义值
aCmdLine );
//命令行数据,必须为该程序的绝对路径+程序完整名称
hReg.destroy;
//释放创建的hReg
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SetAutorun(Application.Title,application.ExeName,false);
end;

end.