This page was, is, and will always be under construction. You have been warned :)
I have been working with Delphi since version 1.0. Here are some projects I have worked on:
And back in Delphi 1.0 times:
OLE doucment sever: This projects consist of two parts:
Project is in eraly beta 0.92. TRichEditWithOle works fine, but TDelphiOle needs some more polishing. You can download entire project (source code is included) or just take a look at the latest readme file.
Delphi does not support inserting of OLE objects (bitmaps, metafiles, sounds, etc.) in rich edit control Therefore, I have created TRichEditWithOle component. TRichEditWithOle has following methods and properties:
Delphi has no built in support for OLE document servers (Do not confuse document servers whith automation servers! OLE automation servers can be easily created with Delphi 2.0 and can be accessed from other programming languges (Visual Basic, Excel etc.). Document servers are servers used to create specific type of documents. They are are displayed, when you choose Insert/object in (for example) Microsoft Word.
That's why I have created TDelphiOle. You can now create OLE document server by simply creating new object, that inherits from TDelphiOle and implementing abstract methods. I am warning you: this objects is in early beta - it has been tested by number of people, but however lacks some functional ity (such as adding Insertable key to the registry). See readme.txt for details.
Following piece of code implements OLE objects that represent itself as blue circle:
type TOleCircle=class(TDelphiOle) public class function GetCLSID:TCLSID; override; class function GetUserType:string; override; class function GetProgID:string; override; procedure Draw(dwDrawAspect: Longint;const bounds:TRect;Canvas:TCanvas); override; procedure Save(str:TStream); override; procedure Load(str:TStream); override; function DoVerb(iVerb: Longint): HResult; override; function GetExtent(dwDrawAspect: Longint):TPoint; override; // result i n HIMETRIC end; implementation procedure TOleCircle.Draw(dwDrawAspect: Longint;const bounds: TRect;Canvas:TCanvas); begin canvas.pen.color:=clBlue; canvas.brush.color:=clBlue; canvas.brush.style:=bsFDiagonal; with bounds do canvas.ellipse(left,top,right,bottom); end; procedure TOleCircle.Save(str:TStream); // we don't have anything to save begin end; procedure TOleCircle.Load(str:TStream); begin end; function TOleCircle.DoVerb(iVerb: Longint): HResult; begin result:=S_OK; // we could displayed ad message box when object is double click ed end; function TOleCircle.GetExtent(dwDrawAspect: Longint):TPoint; // result in HIME TRIC begin result.x:=500; result.y:=500; end; class function TOleCircle.GetCLSID:TCLSID; // {7CA25701-0DFB-11CF-85B0-444553540 000} const CIRCLE_CLSID:TGUID = (D1:$7CA25701;D2:$0DFB;D3:$11CF;D4:($85,$B0,$44,$45,$ 53,$54,$00,$00)); begin result:=CIRCLE_CLSID; end; class function TOleCircle.GetUserType:string; begin result:='OleDemo Circle exa mple'; end; class function TOleCircle.GetProgID:string; begin result:='OleDemo.'+className; end; |
TTelefon and TGlobalSetting components enable you to dial any telephone number you want from your Delphi applications. You can use three different dialing methods (pulse or tone dialing with modem, and dialing with sound card). TTelefon components, which actually does the work can share common settings with help of TGlobalSetting component.
That's the first component I have created with Delphi. It is usefull only in Windows 3.1, because WIndows 95 has introduced new ways for dealing with telephony (TAPI). You can download TTelefon right here. Help file is included.
I wrote this program, because no other programs can draw a mathematical function on fine, 1 mm grid. You can plot mathematical functions, add multiple sets of points, draw regression lines and export picture to.WMF (windows meta file) format. Check out About dialog. You will like it :) Only slovene version is currentlz available. Click here to download.
I am a student of Computer Science at the Faculty of Electrical & Computer Engeneering Ljubljana, Slovenija.
Matej Trampu
Glinka ulica 2/a
SI -111 Ljubljana
Slovenija
Europe
E-Mail:
Matej.Trampus@kiss.muzej.si
P>