- 浏览: 138554 次
- 性别:
最新评论
文章列表
Pascal与C的指针
- 博客分类:
- Delphi
大家都认为,C语言之所以强大,以及其自由性,很大部分体现在其灵活的指针运用上。因此,说指针是C语言的灵魂,一点都不为过。同时,这种说法也让很多人产生误解,似乎只有C语言的指针才能算指针。Basic不支持指针, ...
一、流的概念
流简单说是建立在面向对象基础上的一种抽象的处理数据的工具,它定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员只需掌握对流进行操作,而不用关心流的另一头数据的真正流向。其实,流就是把整个对象转化为一个一个单字节数据,然后形成数据流,其形同把固体石块打碎成一颗颗细小的沙子一样,最后可以形成流沙。
二、流的主要功能
流的主要功能是对文件与非文件数据相互转换进行操作(即它们之间的I/O操作)。如将图片文件保存到数据库,那么数据库中的图片数据就变成非文件数据了,它只属于某记录某字段的数据。而诸如网络上传输的数据、内存中的存储的数据等也都属于非文件数据,这些数据要转 ...
一、概述 在银行,税务,邮政等行业的实际工作中,经常涉及到在印刷好具有固定格式的汇款单,储蓄凭证,税票等单据上的确定位置打印输出相关的信息。在此类需求中,精确地定位单据并打印相关信息,是解决问题]的关键。一般情况下,开发者都是通过在打印机上通过重复的测试来达到实际需求。那么,有没有简单有效而又灵活的方法实现上述功能呢? 二、基本思路 分析上述单据的特征,可以发现:此类打印输出的信息一般比较简短,不涉及到文字过长的折行处理,另外,其打印输出的位置相对固定。因此,我们可以通过用尺子以毫米为单位,测量好每个输出信息位置的横向和纵向坐标,作为信息输出的位置。但由于不同打印机在实际输出效果上,总是存 ...
如何在程序里控制打印纸张大小(A3,A4)和打印方向?不想打开设置窗口 --------------------------------------------------------------- Uses Printer; ......... procedure TForm1.Button1Click(Sender: TObject); var ADevice, ADriver, APort: array[0..255] of Char; DeviceHandle: THandle; ...
- 2011-04-02 16:37
- 浏览 5434
- 评论(0)
图像技术的应用域极为广泛。下面以其学科分支及应用领域为纲,简述其发展状况及前景。
1。计算机图像生成
以计算机图形学和“视算”为基础的计算机图像生成技术,在21世纪将更加繁荣。在大型飞行、航海仿真训 ...
- 2011-04-01 14:10
- 浏览 2360
- 评论(0)
最近版上有不少人在讨论图像处理的就业方向,似乎大部分都持悲观的态度。我想结合我今年找工作的经验谈谈我的看法。
就我看来,个人觉得图像处理的就业还是不错的。首先可以把图像看成二维、三维或者更高维的信号,从这个意义上来说,图像处理是整个信号处理里面就业形势最好的,因为你不仅要掌握(一维)信号处理的基本知识,也要掌握图像处理(二维或者高维信号处理)的知识。其次,图像处理是计算机视觉和视频处理的基础,掌握好了图像处理的基本知识,就业时就可以向这些方向发展。目前的模式识别,大部分也都是图像模式识别。在实际应用场合,采集的信息很多都是图像信息,比如指纹、条码、人脸、虹膜、车辆等等。说到应用场合,千万不能 ...
- 2011-03-31 09:30
- 浏览 1353
- 评论(0)
TStrings是一个抽象类,在实际开发中,是除了基本类型外,应用得最多的。常规的用法大家都知道,现在来讨论它的一些高级的用法。先把要讨论的几个属性列出来:1、CommaText2、Delimiter & DelimitedText3、Names & Values & ValueFromIndex
先看第一个:CommaText。怎么用呢?用代码说话:constconstr :String = 'aaa,bbb,ccc,ddd';varstrs :TStrings;i :Integer;beginstrs := TStringList.Create;strs.Comma ...
- 2011-03-30 17:47
- 浏览 683
- 评论(0)
CoCoMo模型
计算机软件的估算模型是根据以前完成项目的实际数据导出的,用于软件项目的计划阶段。模型是根据“从前的”,“局部的”数据得出的,估算模型不可能完全适用于当前所有的软件项目和全部开发环境。这些模型的计算结果仅供参考。1981年Boehm提出“构造性成本模型”(Constructive Cost Model),简称CoCoMo模型。它是在静态、单变量模型的基础上构造出来的. CoCoMo模型分为基本、中间、详细三个层次,分别用于软件开发的三个不同阶段。基本CoCoMo模型 用于系统开发的初期,估算整个系统的工作量(包括软件维护)和软件开发所需要的时间。
- 2011-03-29 14:08
- 浏览 1141
- 评论(0)
//---------------------将字体样式转化为字符串--------------------------function TFrmRptSetup.SetFontStyle(FS: TFontStyles): string;varStrFS:string;begin// StrFS:='[';
if fsBold in FS then StrFS:=StrFS +'fsBold';
if fsItalic in FS then if StrFS = '[' then StrFS:= StrFS +'fsItalic' else StrFS:= StrFS +',fsIta ...
- 2011-03-25 17:25
- 浏览 717
- 评论(0)
StringGrid通过回车键切换单元格。
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);begin
if Key=#13 then begin With StringGrid1 do begin if Col<ColCount-1 then begin Col:=Col+1; end else//换行 if Row<RowCount-1 then begin Row:=Row+1; Col:=0; end else //回到第一个单元格 if (Row=RowCount-1) and ...
- 2011-03-10 14:38
- 浏览 530
- 评论(0)
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); var Str: String; R: TRect; begin with StringGrid1 do begin Canvas.FillRect(Rect);Str := Cells[ACol,ARow]; R := Rect; DrawText(Canvas.Handle,PChar(Str),Length(Str),r,DT_CENTER or DT_SINGLELI ...
- 2011-03-10 12:58
- 浏览 761
- 评论(0)
(1)正确地设置StringGrid列宽而不截断任何一个文字方法是在对StringGrid填充完文本串后调用SetOptimalGridCellWidth过程-----------程序片断-------------------------------------------------(*$Header$Module Name : General/BSGrids.pasMain Program : Several.Description : StringGrid support functions.03/21/2000 enhanced by William Sorensen*)
un ...
- 2011-03-10 10:52
- 浏览 889
- 评论(0)
根据日常编程经验,得出一些Delphi中关于资源释放的体会。
假如有对象Obj为TObject类型:
1) Obj.Free直接释放资源后,调用OnDestroy事件,但是没有将Obj指针值置为Nil。
2) Obj.Release 等待资源不再使用后释放资源,同样不修改Obj指针为Nil,所以在OnDestroy中最好使用Release进行资源释放操作。
3) 局部变量释放资源时,可以考虑用FreeAndNil()释放资源,这样效率会高些,能提高内存的利用率。
4) 单纯通过Assigned(Obj)判断对象是否已经创建是不够的,因为如果对象通过Free/Release进行资源释放的 ...
- 2011-03-09 10:00
- 浏览 779
- 评论(0)
动态创建Fastreport分以下几个步骤:
1.首先清空Fastreport,定义全局变量,并加载数据集 frReport.Clear; frReport.DataSets.Add(frxDBDataset1); DataHeight :=28; DataWidth :=80; FirstTop := 50; FirstLeft := 15;
2.创建frxReportPage,并设置纸张大小 Page := TfrxReportPage.Create(frReport); Page.CreateUniqueName; page.Orientation := poLandscape; Pa ...
- 2011-03-08 15:00
- 浏览 1398
- 评论(0)
1.FastReport中如何共用TFrxreport及TfrxDBDataSet
一个程序中,不管多么大的程序,只要打印或预览时是模式的,则完全可以共用一个TFrxreport
变量及几个TfrxDBDataSet。只不过,要注意完成一个报表程序的步骤,主要是下面几步1)清除报表,得到一个全新的报表内容。Frxreport1.clear。2)设置要使用的TfrxDBDataSet的别名,如果不需要可以省略这一步,但一般最好不同的报表用不
同的别名。注意这一步要在加载报表文件之前,因为一般设计报表文件时已经包含了别名信息。frxDBDataSet1.UserName:=别名;3)加载报表或 ...
- 2011-03-08 14:59
- 浏览 3826
- 评论(0)