Delphi for delphier

September 27, 2008

Embarcadero Announces High-Performance InterBase® SMP 2009 Database for Embedded and Enterprise Applications

Filed under: Umum — ekoindri @ 1:29 am

Embarcadero Announces High-Performance InterBase® SMP 2009 Database for Embedded and Enterprise Applications

Abstract:New security, portability, performance and uptime capabilities

Sys.WebForms.PageRequestManager._initialize(‘ctl31’, document.getElementById(‘ctl26’));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], [], 90);

Rebecca Scanlan

Chase Communications


Embarcadero AnnouncesHigh-Performance InterBase® SMP 2009 Database for Embedded and Enterprise Applications

New security, portability, performance and uptime capabilities

SAN FRANCISCO – Sept. 8, 2008 — Embarcadero Technologies today announced the worldwide availability of InterBase SMP 2009, the newest version of its fast, feature-rich, SQL database for embedded and small-to-medium enterprise applications. The new InterBase SMP 2009 relational database from Embarcadero’s CodeGear™ product line provides extra levels of data security, portability, performance, and uptime to VARs, ISVs, OEMs and enterprise businesses.

New security features include bolstered column- and database-level encryption, Over The Wire (OTW) encryption and support for the Advanced Encryption Standard (AES), which provides comprehensive data security. Additionally, InterBase now has built-in support for symmetric multiprocessing (SMP), making it one of the fastest native databases available. A new ToGo Edition of the database features a small footprint (less than 3MB) to give ISVs and OEMs the flexibility to ship an embedded and highly reliable SQL-compliant transactional database.

“For more than ten years, we have shipped applications based on InterBase to a wide variety of customers,” said Craig Stuntz, Senior Developer, Vertex Systems Inc. “Its minimal configuration and maintenance requirements, combined with real-world experience, give us confidence that it will continue to perform well without the need for care and feeding by a dedicated IT staff. Larger customers, on the other hand, appreciate the SMP support, incremental backup, and journaling features. Performance monitoring allows us to diagnose issues in the field. And its affordable price helps us to remain competitive in our market.”

InterBase is an industrial-strength RDBMS that uniquely delivers high performance and rich features in a lightweight footprint designed to operate with minimal to zero administration. It has been shipping for more than two decades and today powers millions of applications globally. InterBase is most frequently used by developers for building packaged software that need silent installs for embedded and bundled database redistribution, and by small-to-medium-sized enterprises that need a powerful solution with minimal RDBMS support requirements.

“With InterBase SMP 2009, we are introducing high-end RDBMS features such as SMP scalability, high availability, AES encryption and OTW security for both embedded and server applications at a highly affordable price point,” said Michael Swindell, Embarcadero Technologies’ Vice President of Products. “In addition, InterBase can now also be paired with PowerSQL™, our powerful new SQL IDE designed to speed SQL development while reducing errors, as well as with ER/Studio®, which provides a complete data modeling environment for analyzing, designing, creating, and maintaining database architecture.”

Additional product features and benefits include:

  • High performance and scalability:InterBase SMP 2009 now incorporates native support for SMP at no additional cost. With this addition, developers can take advantage of today’s multi-core architectures and scale applications transparently across multiple CPUs.
  • Near zero maintenance:By combining simple installation and automatic crash recovery, along with a self-tuning, self-maintaining engine, InterBase SMP 2009 is very well suited for the embedded market.
  • High availability: InterBase SMP 2009 offers increased availability through log-based journaling for short-term recovery, and journal archiving for long-term recovery, in the event of hardware system failures. Online Dump of database files and Point-in-Time Recovery from archives help minimize downtime should a disaster occur.

For a full list of features, please visit

Availability and Pricing

InterBase SMP 2009 Developer, Desktop and Server Editions are available today worldwide through Embarcadero or one of its global partners. The ToGo Edition is currently scheduled to be available in October 2008.

InterBase SMP Developer Edition comes free of charge as a bundle with CodeGear IDEs.  A free 90-day trial version is also available for anyone to download at Pricing for InterBase SMP Server Edition (for Microsoft® Windows®, Linux, Solaris™, and Mac® OS X) starts at $200 (USD), while the Desktop and ToGo Editions (for Microsoft Windows) start at $60 (USD). Upgrade pricing is also available.

About Embarcadero Technologies

Embarcadero Technologies, Inc. empowers application developers and database professionals with tools to design, build and run software applications in the environment they choose. A community of more than three million worldwide and 90 of the Fortune 100 rely on Embarcadero’s CodeGear™ and DatabaseGear™ product lines to increase productivity, openly collaborate and be free to innovate. Founded in 1993, Embarcadero is headquartered in San Francisco, with offices located around the globe. Embarcadero is online at


Embarcadero, the Embarcadero Technologies logos and all other Embarcadero Technologies product or service names are trademarks or registered trademarks of Embarcadero Technologies, Inc. All other trademarks are property of their respective owners.

September 26, 2008

RAD Studio 2009 12.0.3170.16989

Filed under: Umum — ekoindri @ 8:55 pm

Bagian 01
Bagian 02
Bagian 03
Bagian 04
Bagian 05
Bagian 06
Bagian 07
Bagian 08
Bagian 09
Bagian 10
Bagian 11
Bagian 12
Bagian 13
Bagian 14
Bagian 15
Bagian 16
Bagian 17
Bagian 18
Bagian 19
Bagian 20

What’s New in the VCL in Delphi and C++Builder 2009

Filed under: Umum — ekoindri @ 8:26 pm

By: Tim DelChiaro

Abstract: See new components, new Vista support and upgrades to existing components to help you build rich and elegant UIs that simplify application use and reduce end-user learning curves


Hosted by David I

Hello and thanks for joining us for the Delphi and C++Builder 2009 video series. You’re now among the first to see what’s new in Delphi 2009 and C++Builder 2009.

New videos will be added each week so be sure to sign up at the bottom of the page for reminders when we post new videos and to be notified when Delphi and C++Builder 2009 trial editions are available for download.

This week’s video:

Hide image

What’s new in the VCL for Delphi and C++Builder 2009

See new components, new Vista support and upgrades to existing components to help you build rich and elegant UIs that simplify application use and reduce end-user learning curves.

View the Video

English, Spanish, Portuguese, Japanese

Download the Video

English, Spanish, Portuguese, Japanese

PDF Processing with Gnostice PDFtoolkit – Part 1

Filed under: Umum — ekoindri @ 1:54 am

By: Girish Patil

Abstract:In the first part of this article, we will see what Gnostice PDFtoolkit VCL can do for you. We will be using code examples to illustrate the ease with which PDFtoolkit will help you accomplish your PDF-related tasks.

Why PDF?

PDF is best known for its ability to retain high fidelity on all platforms. It is also a final form document format in that people do not expect PDF documents to undergo further change. That is why PDF is a popular choice for making invoices and user manuals, and also for transmitting documents over the Internet. PDF is also liked for its features such as font embedding, bookmarks, thumbnails, attachments, watermarks, annotations, encryption, and digital signatures. Last but not the least, PDF is an open format.

For these reasons, PDF has become a part of our technology-oriented lives. From e-books to web forms to sophisticated workflow transports, PDF has seen applications in innumerable ways.

Although the format supports a lot of features, most applications that produce PDF documents make use of only a few features. Usually, it is just text and images. At other times, we may have just text and form fields. PDF users often require more value, such as encryption, compression, bookmarks, stamps, or watermarks. In a workflow-like environment, the demands to cut, chop, and mince PDF documents are even more.

To meet this need, there is a flourishing market for PDF processors. In this arena, Gnostice PDFtoolkit has long established its name as a leader.

Gnostice PDFtoolkit VCL

PDFtoolkit works with existing PDF documents. PDFtoolkit helps in

  • Manipulation
  • Content Extraction (text and images)
  • Transformation (merging and splitting)
  • Enhancement (adding bookmarks, hyperlinks, comments, stamps and watermarks; encryption; compression)
  • Forms Processing (adding/editing/deleting/flattening form fields)
  • Viewing and Printing (visual components)
  • Text Search (visual component)

Reading a PDF document is straightforward, as shown in the code snippet below. Create a TgtPDFDocument object, load a document, and we are ready to roll.

...   // Create a PDF document object  gtPDFDocument1 := TgtPDFDocument.Create(Nil);  try// Load a document    gtPDFDocument1.LoadFromFile('sample_doc.pdf');     // Check if the document is loadedif gtPDFDocument1.IsLoaded then// Display page number     Writeln('Number of pages: '+ IntToStr(gtPDFDocument1.PageCount)); ...            

I. Manipulation of PDF Documents

After a PDF document has been loaded, document contents and their properties can be read and modified using the properties and methods of TgtPDFDocument object.

In the next code snippet, we first specify the measurement unit that will be used when rendering elements on a PDF page. Next, a HTML-formatted string is written on the last page. The number of the last page is obtained from the property TgtPDFDocument.PageCount().

...     // Set document measurement units to pixelsgtPDFDocument1.MeasurementUnit := muPixels;     // Write formatted text at the center of the last pagegtPDFDocument1.TextOut(      '<i>Hello, <b>World!</b></i>',         // HTML-formatted string      IntToStr(gtPDFDocument1.PageCount),    // Page range      gtPDFDocument1.                        // X-coordinateGetPageSize(gtPDFDocument1.PageCount, muPixels).Width/2,      gtPDFDocument1.                        // Y-coordinateGetPagesize(gtPDFDocument1.PageCount, muPixels).Height/2);     // Save the modified document    gtPDFDocument1.SaveToFile('modified_doc.pdf'); ...             

The formatted string is written at the center of the last page. To obtain the location of the center of the page, we first call TgtPDFDocument.GetPageSize().

functionGetPageSize(PageNo: Integer; MMUnit: TgtMeasurementUnit): TgtPageSize; TgtMeasurementUnit = (muPixels, muPoints, muInches, muMM, muTwips); TgtPageSize = recordWidth,  Height: Double;end;             

This method returns a TgtPageSize record, whose fields TgtPageSize.Width and TgtPageSize.Height provide the dimensions of the specified page. From this information, it is easy to calculate the location of the center of the page.

As you can see, PDFtoolkit provides an elegant interface that hides the complexities imposed by the format specification.

II. Content Extraction from PDF Documents

The TgtPDFDocument.GetPageElements() is another example of a very capable PDFtoolkit method.

functionGetPageElements(APageNo: Integer; ElementTypes: TgtElementTypes; MMUnit: TgtMeasurementUnit): TgtPDFPageElementList; TgtPDFElementType=(etText, etImage, etPath, etFormField);             

This method returns a list of PDF page elements from a specified page. If the page element returned by the method is a text element, then its properties expose details such as location, font, and color. If it were an image, then you can get hold of its coordinates, scaling factor, and the actual image in the form of a TGraphic object. That’s the level of control you get with PDFtoolkit.

PDFtoolkit offers more than one way of doing the same thing, each one more useful in a special situation. The TgtPDFDocument.SearchAll() method can perform a variety of text searches for a given search string.

FunctionSearchAll(    Const SearchText: String; AOptions: TgtSearchTypes; SearchList: TStringList):Integer; TgtPDFSearchTypes = (stCaseSensitive, stWholeWord, stNone);             

You can also extract all text in one go.

// Returns a list of text extracted from a specified pagefunction ExtractText(APageNo: Integer): TStringList;// Returns formatted text extracted from a specified pagefunctionExtractTextFormatted(APageNo: Integer): TStringList;              

Click to see full-sized image


III. Document Transformation

PDFtoolkit makes merging and splitting files a breeze. Here is a code snippet that shows how to merge several documents into one.

... vargtPDFDocument1: TgtPDFDocument;    StringList1: TStringList;begin// Create a document object  gtPDFDocument1 := TgtPDFDocument.Create(Nil);  // Load a list with names of the// documents that need to be mergedStringList1 := TStringList.Create();  StringList1.Add('sample_doc1.pdf');  StringList1.Add('sample_doc2.pdf');  StringList1.Add('sample_doc3.pdf');   try// Merge the documentsgtPDFDocument1.MergeDocs(StringList1);    // Save the merged document to file    gtPDFDocument1.SaveToFile('merged_doc.pdf'); ...             

IV. Document Enhancement

PDFtoolkit can enhance a PDF document in a number of useful ways, such as

  • Marking up text
  • Hyperlinking images and text
  • Adding bookmarks, stamps, and watermarks
  • Embedding files as attachments

In this code snippet, we see how to add bookmarks for all pages in a document.

... varI: Integer;gtPDFDocument1: TgtPDFDocument;    // Bookmark gtPDFOutline1: TgtPDFOutline;    // Destination linked by a bookmarkgtPDFDestination1: TgtPDFDestination;    // Display style of a bookmark in bookmark panel    gtBookmarkAttribute1: TgtBookmarkAttribute;begin  gtPDFDocument1 := TgtPDFDocument.Create(Nil);  try    gtPDFDocument1.LoadFromFile('sample_doc.pdf');    if gtPDFDocument1.IsLoaded thenbegin// For each page in the documentfor I := 1 to gtPDFDocument1.PageCount dobegin// Create a bookmark that links to the top-left// corner of the page in the current iterationgtPDFDestination1 :=TgtPDFDestination.Create(           I,      // Number of the page           dtXYZ,  // Destination type (use x-y coordinates and zoom)           0,      // X-coordinate of the destination           0,      // Y-coordinate of the destination           100);   // Zoom// Create bookmarks with maroon-colored, bold-italic textgtBookmarkAttribute1 :=TgtBookmarkAttribute.Create([fsBold, fsItalic], clMaroon);       if I = 1 thenbegin// If it's the first page, then create a new bookmarkgtPDFOutline1 := gtPDFDocument1.CreateNewBookmark(                     'Page #' + IntToStr(I),  // Bookmark title textgtPDFDestination1,gtBookmarkAttribute1);           endelsebegin// For other pages, add a bookmark next to the// previously created bookmarkgtPDFOutline1 := gtPDFOutline1.AddNext(                    'Page #' + IntToStr(I),  // Bookmark title textgtPDFDestination1,gtBookmarkAttribute1);      end;     end;    end;    // Save the modified document    gtPDFDocument1.SaveToFile('modified_doc.pdf'); ...             

Here is how to encrypt a PDF document.

...uses...gtPDFCrypt,gtPDFDoc; var    gtPDFDocument1: TgtPDFDocument;begin// Create a document object  gtPDFDocument1 := TgtPDFDocument.Create(Nil);   try// Load input document    gtPDFDocument1.LoadFromFile('unencrypted_doc.pdf');     if gtPDFDocument1.IsLoaded thenbegin// Modify documents encryption settings with// the TgtPDFEncryption object returned by// TgtPDFDocument.Encryption propertywith gtPDFDocument1.Encryption dobeginEnabled := True;        Level := el128bit;   // 128-bit encryption level        OwnerPassword := 'Owner';        UserPassword := 'User';UserPermissions:= [AllowAccessibility,AllowPrint,AllowHighResPrint];       end;    end;     // Save the encrypted document to file    gtPDFDocument1.SaveToFile('encrypted_doc.pdf'); ...             

This code snippet shows how to mark page numbers on all pages in a PDF document.

... varI: Integer;    gtPDFDocument1: TgtPDFDocument;begin  gtPDFDocument1 := TgtPDFDocument.Create(Nil);  try    gtPDFDocument1.LoadFromFile('sample_doc.pdf');    if gtPDFDocument1.IsLoaded thenbegingtPDFDocument1.MeasurementUnit := muPixels;     // Write formatted string on all pages// at specified locationgtPDFDocument1.TextOut(        'Page <%PageNo%> of <%TotPage%>', // page number        gtPDFDocument1.                   // x-coordinateGetPageSize(I, muPixels).Width - 150,        100);                             // y-coordinateend;    // Save the modified document    gtPDFDocument1.SaveToFile('numbered_pages_doc.pdf'); ...             

The text string is written by an overloaded TgtPDFDocument.TextOut() method. The string contains two built-in placeholders for the current page number and the total page number. PDFtoolkit substitutes built-in placeholders with their values at run time.

You can use placeholders with any TgtPDFDocument method that writes text to a document. You can create your own placeholders and have them substituted at run time by writing a handler for the TgtPDFDocument OnCalcVariables() event.

property OnCalcVariables: TgtOnCalcVariablesEvent read FOnCalcVariables writeSetOnCalcVariables;             

V. Processing PDF Forms Documents (AcroForms)

PDFtoolkit can add, edit, fill, and flatten PDF form fields. Editing a PDF form field involves changing its properties such as its looks, position, or interactivity. Filling a PDF form field involves specifying a particular value for the form field and saving the modified form field to the document. Flattening a form field removes all interactivity from the form field but ensures that the form field still looks its original self.

In this code snippet, we see how to add form fields to a document.

... vargtPDFDocument1: TgtPDFDocument;  // List box form fieldgtPDFFormListBox1: TgtPDFFormListBox;  // Push button form fieldgtPDFFormPushButton1: TgtPDFFormPushButton;  // RectanglesgtRect1: TgtRect;  gtRect2: TgtRect;  begin  gtPDFDocument1 := TgtPDFDocument.Create(Nil);  try    gtPDFDocument1.LoadFromFile('sample_doc.pdf');    if gtPDFDocument1.IsLoaded thenbegin// Set document measurement unitgtPDFDocument1.MeasurementUnit := muInches;       // Specify rectangle position for list boxgtRect1.Left := 1;gtRect1.Right := 2;gtRect1.Top := 1;gtRect1.Bottom := 2;       // Create a list box form fieldgtPDFFormListBox1 := TgtPDFFormListBox.Create();      // Specify name for the list box in the document      gtPDFFormListBox1.FieldName := 'lstCountry';      // Add options to the list box      gtPDFFormListBox1.AddItem('India');      gtPDFFormListBox1.AddItem('USA');      gtPDFFormListBox1.AddItem('Russia');      gtPDFFormListBox1.AddItem('Germany');      gtPDFFormListBox1.AddItem('Japan');      gtPDFFormListBox1.AddItem('China');      // Specify background color for the list boxgtPDFFormListBox1.BackgroundColor := clWindow;gtPDFFormListBox1.BorderColor := clWindowFrame;      gtPDFFormListBox1.DefaultValue := 'Select a country';       // Specify location of the list boxgtPDFFormListBox1.Rect := gtRect1;       // Add the list box to the last pagegtPDFDocument1.AddFormField(gtPDFFormListBox1,         gtPDFDocument1.PageCount); // page number// Specify rectangle position for submit buttongtRect2.Left := 1;gtRect2.Right := 2;gtRect2.Top := 3;gtRect2.Bottom := 3.25;       // Create a push buttongtPDFFormPushButton1 := TgtPDFFormPushButton.Create();      gtPDFFormPushButton1.FieldName := 'btnSubmit';      gtPDFFormPushButton1.NormalCaption := 'Submit';gtPDFFormPushButton1.Rect := gtRect2;      // Set button to submit form contents when// it is clicked inside a viewer applicationgtPDFFormPushButton1.Action := pbaSubmit;      // Specify URL where form contents should be// submittedgtPDFFormPushButton1.SubmitURL         := ''+            '/demos/200804/forms_test.asp';       // Add push button to documentgtPDFDocument1.AddFormField(gtPDFFormPushButton1,gtPDFDocument1.PageCount);       // Save the modified document to file      gtPDFDocument1.SaveToFile('forms_doc.pdf');    end; ...             

VI. Viewing and Printing PDF Documents

PDFtoolkit’s viewer is a visual component that can be used to display PDF documents on a VCL forms application. It does not require Adobe® Readerto be installed on the client machine. The viewer’s API provides methods to implement navigation, zooming, and other toolbar-driven functionality.

... gtPDFDocument1: TgtPDFDocument;gtPDFViewer1: TgtPDFViewer;OpenDialog1: TOpenDialog;edFilePath: TEdit;edNumberOfPages: TEdit; ... // Select a PDF documentifnot OpenDialog1.Execute thenexit;  // Update text fieldedFilePath.Text := OpenDialog1.FileName;  // Unload any previously loaded documentif gtPDFDocument1.IsLoaded thengtPDFDocument1.Reset;  try// Load the selected PDF documentgtPDFDocument1.LoadFromFile(edFilePath.Text);    // Check if document has been successfully loadedif gtPDFDocument1.IsLoaded thenbegin// Display number of pagesedNumberOfPages.Text := IntToStr(gtPDFDocument1.PageCount);     // Specify document that needs to be// displayed by the viewergtPDFViewer1.PDFDocument :=  gtPDFDocument1;     // Activate viewergtPDFViewer1.Active := True; ...             

Click to see full-sized image

PDFtoolkit’s PDF printer is a non-visual component. It has methods and properties that allow a VCL application to query available printers, select a printer, specify print settings, and print a specified set of pages to the selected printer. The most attractive thing about the printer component is that it can print PDF documents without requiring external components such as GhostScript or Adobe® Reader.

VI. Other Capabilities

PDFtoolkit includes a visual component meant for providing interactive text search capabilities to VCL forms applications. It needs to be used in conjunction with the PDFtoolkit’s viewer component. The functionality of the search panel is similar to the one found in Adobe Reader. See screenshot.

PDFtoolkit has several other components such as the PDFOutlineViewer, which can be used to display a bookmark panel for a PDF document.

In summary, Gnostice PDFtoolkit is a component suite that has well-rounded capabilities in PDF processing.

What’s Next

The next version of PDFtoolkit is currently in beta. Gnostice PDFtoolkit v3.0 will use a whole new PDF processing engine that is separate from the PDFtoolkit API logic. The key objective in writing the new PDF processor was also modularization of logic. The advantage of this approach has been phenomenal increase in speed, scalability, robustness, and scope for optimization. In the next part of this article, we will learn more about this.

Source Article

NTPort Library

Filed under: Umum — ekoindri @ 12:41 am
Turbo Delphi Professional Turbo Delphi Pro for .NET Turbo C++ Professional Turbo C# Professional for .NET
NTPort Library Product Logo
NTPort Library enables your Windows application to real-time direct access to PC I/O ports without using the Windows Drivers Development Kit(DDK) – NTPort Library provides support for Windows 95/98/Me and Windows NT/2000/XP/Server 2003. NTPort Library is easy to use. Under Windows NT, NTPort Library driver can be load and unload dynamically, so you need not any configuration. NTPort Library is also an ideal replacement of old BASIC INP or OUT statement. The tool also supports getting the base address of LPT ports.
Embarcadero Product(s): Delphi 2009, C++Builder 2009, JBuilder 2007, Turbo Delphi Professional, Turbo Delphi Pro for .NET, Turbo C++ Professional, Turbo C# Professional for .NET
Platform(s): Java J2SE, Windows, Microsoft .NET Framework
Category(s): Communication Tool, Data Acquisition, Hardware Control
Industry(s): Telecommunications, Manufacturing, Engineering
real-time direct access to PC I/O ports

Zeal Soft Studio
No.1607 Unit 133
Beijing Institute of Tech.
Beijing, PR 100081
Phone: +86 10 68911885
Corporate Email:
Sales Email:
Zeal SoftStudio is leading ActiveX and .NET components manufacturer. Zeal SoftStudio announces a series of controls, including CheckListBox, Font List & Combo, NTPort Library, Color ComboBox, and so on.
Laman Berikutnya »

Buat situs web atau blog gratis di