Delphi™ for Linux®

Total Page:16

File Type:pdf, Size:1020Kb

Delphi™ for Linux® Developer’s Guide Borland® Kylix™ Delphi™ for Linux® Borland Software Corporation 100 Enterprise Way, Scotts Valley, CA 95066-3249 Refer to the file DEPLOY located in the root directory of your Kylix product for a complete list of files that you can distribute in accordance with the Kylix License Statement and Limited Warranty. Borland Software Corporation may have patents and/or pending patent applications covering subject matter in this document. The furnishing of this document does not give you any license to these patents. COPYRIGHT © 1983, 2001 Borland Software Corporation. All rights reserved. All Inprise and Borland brand and product names are trademarks or registered trademarks of Borland Software Corporation. Other brand and product names are trademarks or registered trademarks of their respective holders. PrintedintheU.S.A. HDB7010WW21001 1E0R0201 0102030405-9 8 7654321 PDF Contents Chapter 1 TWidgetControlbranch............3-17 Introduction 1-1 Usingcomponents................3-17 Components on the component palette. 3-18 What’sinthismanual?..............1-1 Textcontrols..................3-19 Manualconventions................ 1-2 Textcontrolproperties...........3-19 Developersupportservices............ 1-2 Propertiesofmemocontrols.......3-20 Orderingprinteddocumentation........ 1-2 Specializedinputcontrols..........3-20 Part I Scrollbars..................3-20 Trackbars..................3-20 Programming with Kylix Spin edit controls .............3-21 Buttonsandsimilarcontrols.........3-21 Chapter 2 Buttoncontrols...............3-22 Developing applications with Kylix 2-1 Bitmapbuttons...............3-22 Integrateddevelopmentenvironment......2-1 Speedbuttons...............3-22 Designingapplications..............2-2 Checkboxes................3-22 Developingapplications............. 2-2 Radiobuttons...............3-23 Creatingprojects................ 2-3 Toolbars...................3-23 Editing code. ................ 2-3 Splittercontrols................3-23 Compiling applications . .......... 2-4 Handlinglists.................3-24 Debuggingapplications............ 2-4 Listboxesandcheck-listboxes......3-24 Deployingapplications............ 2-5 Comboboxes................3-25 Treeviews..................3-25 Chapter 3 Listviews..................3-25 Using CLX 3-1 Groupingcomponents............3-26 UnderstandingCLX................ 3-1 Groupboxesandradiogroups......3-26 Properties,methods,andevents.......3-3 Panels....................3-26 Properties.................. 3-3 Scrollboxes.................3-27 Methods...................3-4 Tabcontrols.................3-27 Events....................3-4 Pagecontrols................3-27 Widgetevents................ 3-4 Headercontrols..............3-27 Systemevents................ 3-4 Providingvisualfeedback..........3-28 Whatisanobject?............... 3-5 Labels....................3-28 ExaminingaKylixobject.......... 3-5 Statusbars.................3-28 Changing the name of a component . 3-7 Progressbars................3-29 Inheriting data and code from an object . 3-8 Helpandhintproperties.........3-29 Scopeandqualifiers.............. 3-8 Grids......................3-29 Private, protected, public, and published Drawgrids.................3-29 declarations.................. 3-9 Stringgrids.................3-30 Usingobjectvariables.............3-10 Graphicsdisplay................3-30 Creating, instantiating, and destroying Images....................3-30 objects.....................3-11 Shapes....................3-30 Componentsandownership.........3-11 Bevels....................3-31 MajorbranchesoftheCLXhierarchy......3-12 Paintboxes.................3-31 TObjectbranch.................3-13 Dialogboxes..................3-31 TPersistentbranch...............3-14 Usingopendialogboxes.........3-31 TComponentbranch..............3-14 Usinghelperobjects...............3-32 TControlbranch................3-16 Workingwithlists...............3-32 iii Workingwithstringlists...........3-32 Memory management of interface Loadingandsavingstringlists......3-33 objects.....................4-23 Creatinganewstringlist.........3-33 Usingreferencecounting.........4-23 Manipulatingstringsinalist.......3-35 Notusingreferencecounting.......4-24 Associating objects with a string list . .3-37 Workingwithstrings...............4-24 Creatingdrawingspaces...........3-37 Charactertypes................4-25 Printing.....................3-38 Stringtypes..................4-25 Usingstreams..................3-38 Shortstrings................4-26 Longstrings................4-26 Chapter 4 WideString.................4-27 Common programming tasks 4-1 PChartypes.................4-27 Understandingclasses............... 4-1 OpenString.................4-27 Definingclasses.................. 4-2 Runtime library string handling Handlingexceptions................ 4-4 routines....................4-27 Protectingblocksofcode........... 4-4 Widecharacterroutines..........4-28 Respondingtoexceptions......... 4-5 Commonly used long string Exceptionsandtheflowofcontrol.... 4-5 routines..................4-28 Nestingexceptionresponses....... 4-6 Declaringandinitializingstrings......4-31 Protectingresourceallocations........ 4-7 Mixingandconvertingstringtypes.....4-32 What kind of resources need StringtoPCharconversions.........4-32 protection?.................4-7 Stringdependencies............4-32 Creating a resource protection block . 4-8 Returning a PChar local variable. 4-33 HandlingRTLexceptions........... 4-8 Passing a local variable as a PChar . 4-33 WhatareRTLexceptions?......... 4-9 Compilerdirectivesforstrings........4-34 Creatinganexceptionhandler........4-10 Strings and characters: related topics . 4-34 Exceptionhandlingstatements......4-10 Workingwithfiles................4-35 Usingtheexceptioninstance.......4-11 Manipulatingfiles...............4-35 Scopeofexceptionhandlers........4-12 Deletingafile................4-35 Providing default exception Findingafile................4-36 handlers..................4-12 Changingfileattributes..........4-37 Handlingclassesofexceptions......4-13 Renamingafile...............4-38 Reraisingtheexception..........4-13 Filedate-timeroutines..........4-38 Handlingcomponentexceptions.......4-14 FiletypeswithfileI/O............4-38 Exception handling with external Usingfilestreams...............4-39 sources.....................4-14 Creatingandopeningfiles........4-39 Silentexceptions................4-15 Usingthefilehandle...........4-40 Definingyourownexceptions........4-16 Readingandwritingtofiles.......4-40 Declaringanexceptionobjecttype....4-16 Readingandwritingstrings.......4-41 Raisinganexception............4-16 Seekingafile................4-41 Usinginterfaces..................4-17 Filepositionandsize...........4-42 Interfacesasalanguagefeature........4-17 Copying...................4-42 Implementing interfaces across ObjectPascaldatatypes.............4-43 thehierarchy................4-18 Usinginterfaceswithprocedures.....4-19 Chapter 5 ImplementingIInterface............4-20 Building applications and shared objects TInterfacedObject...............4-20 5-1 Usingtheasoperator.............4-21 Creatingapplications................5-1 Reusingcodeanddelegation.........4-22 GUIapplications.................5-1 Usingimplementsfordelegation.....4-22 Userinterfacemodels............5-2 iv Setting IDE, project, and compilation UsingHelpinaCLXApplication........5-18 options...................5-2 How TApplication processes Help . 5-18 Consoleapplications.............. 5-2 HowcontrolsprocessHelp..........5-18 Creatingpackagesandsharedobjectfiles....5-3 CallingtheHelpsystemdirectly.......5-19 Workingwithsharedobjectlibraries.....5-3 UsingIHelpSystem..............5-19 When to use packages and shared CustomizingtheIDEHelpsystem.......5-20 objects..................... 5-4 Writingdatabaseapplications.......... 5-4 Chapter 6 Building distributed applications . ..... 5-5 Developing the application Distributing applications using TCP/IP . 5-5 user interface 6-1 Usingsocketsinapplications.......5-5 Controlling application behavior .........6-1 CreatingWebserverapplications.....5-6 Usingthemainform..............6-1 Using data modules and remote data Addingforms..................6-2 modules...................... 5-6 Linkingforms................6-2 Creatingdatamodules............. 5-7 Hidingthemainform..............6-3 Creating business rules in a data Workingattheapplicationlevel........6-3 module................... 5-7 Setting up the look and feel of your Accessingadatamodulefromaform....5-7 application...................6-3 Programmingtemplates.............. 5-8 Handlingthescreen...............6-4 Sharing code: Using the Object Repository . 5-8 Managinglayout................6-4 Sharingitemswithinaproject........ 5-8 Usingforms.....................6-4 Adding items to the Object Repository . 5-8 Controlling when forms reside in Sharing objects in a team environment . 5-9 memory.....................6-5 Using an Object Repository item in a Displayinganauto-createdform......6-5 project..................... 5-9 Creatingformsdynamically........6-5 Copyinganitem..............5-9 Creating modeless forms such as Inheritinganitem..............5-10 windows..................6-6 Usinganitem................5-10 Using a local variable to create a form Usingprojecttemplates............5-10 instance...................6-6 Modifyingshareditems............5-10 Passing additional arguments to forms . 6-7 Specifying a default project, new form, Retrievingdatafromforms...........6-8 andmainform................5-11 Retrieving data from modeless forms
Recommended publications
  • Universidade Salvador – Unifacs Programa De Pós-Graduação Em Redes De Computadores Mestrado Profissional Em Redes De Computadores
    UNIVERSIDADE SALVADOR – UNIFACS PROGRAMA DE PÓS-GRADUAÇÃO EM REDES DE COMPUTADORES MESTRADO PROFISSIONAL EM REDES DE COMPUTADORES DEMIAN LESSA INTERFACES GRÁFICAS COM O USUÁRIO: UMA ABORDAGEM BASEADA EM PADRÕES Salvador 2005 DEMIAN LESSA INTERFACES GRÁFICAS COM O USUÁRIO: UMA ABORDAGEM BASEADA EM PADRÕES Dissertação apresentada ao Mestrado Profissional em Redes de Computadores da Universidade Salvador – UNIFACS, como requisito parcial para obtenção do grau de Mestre. Orientador: Prof. Dr. Manoel Gomes de Mendonça. Salvador 2005 Lessa, Demian Interfaces gráficas com o usuário: uma abordagem baseada em padrões / Demian Lessa. – Salvador, 2005. 202 f.: il. Dissertação apresentada ao Mestrado Profissional em Redes de Computadores da Universidade Salvador – UNIFACS, como requisito parcial para a obtenção do grau de Mestre. Orientador: Prof. Dr. Manoel Gomes de Mendonça. 1. Interfaces gráficas para usuário - Sistema de computador. I. Mendonça, Manoel Gomes de, orient. II. Título. TERMO DE APROVAÇÃO DEMIAN LESSA INTERFACES GRÁFICAS COM O USUÁRIO: UMA ABORDAGEM BASEADA EM PADRÕES Dissertação aprovada como requisito parcial para obtenção do grau de Mestre em em Redes de Computadores da Universidade Salvador – UNIFACS, pela seguinte banca examinadora: Manoel Gomes de Mendonça – Orientador _________________________________ Doutor em Ciência da Computação pela Universidade de Maryland em College Park, Estados Unidos Universidade Salvador - UNIFACS Celso Alberto Saibel Santos ____________________________________________ Doutor em Informatique Fondamentalle et Parallelisme pelo Université Paul Sabatier de Toulouse III, França Universidade Federal da Bahia – UFBA Flávio Morais de Assis Silva _____________________________________________ Doutor em Informática pelo Technische Universität Berlin, Alemanha Universidade Federal da Bahia – UFBA Salvador de de 2005 A meus pais, Luiz e Ines, pelo constante incentivo intelectual e, muito especialmente, por todo amor e carinho repetidamente demonstrados.
    [Show full text]
  • Delphi 8 for .NET HOE WERKT DELPHI 8 for .NET EN WAT ZIJN DE VERSCHILLEN MET VISUAL STUDIO.NET?
    Bob Swart is auteur, trainer en consultant bij Bob Swart Training & Consultancy. Delphi 8 for .NET HOE WERKT DELPHI 8 FOR .NET EN WAT ZIJN DE VERSCHILLEN MET VISUAL STUDIO.NET? Dit artikel introduceert Delphi 8 for .NET, en laat zien hoe we .NET-toepassingen kunnen ontwikkelen met de nieuwste IDE voor het .NET Framework. Omdat de meeste lezers op de hoogte zullen zijn van de mogelijkheden van Visual Studio.NET, gaat dit artikel met name in op de verschillen, zowel in positieve als wat minder positieve zin. elphi 8 for the Microsoft .NET Framework is de officiële niet alleen als twee druppels water op die van Visual Studio, maar naam, maar de meeste ontwikkelaars noemen het gewoon is daadwerkelijk de designer van Microsoft. Dat heeft als voordeel DDelphi 8 of Delphi 8 for .NET (alleen Delphi for .NET is dat gebruikers van Visual Studio zonder al teveel problemen de niet volledig, want bij Delphi 7 zat eind 2002 al een Delphi for .NET proefversie van Delphi 8 for .NET kunnen gebruiken om eens te preview command-line compiler, die echter niet te vergelijken is met proeven hoe het werkt.1 wat nu als Delphi 8 for .NET beschikbaar is). Alhoewel Delphi 8 for .NET een relatieve nieuwkomer is op het .NET Framework, geldt dat In afbeelding 1 zien we de Object Inspector, WinForms Designer, niet voor de taal Delphi zelf. Delphi 1.0 wordt op Valentijns dag in een Tool Palette met componenten en rechtsboven een venstertje 1995 gelanceerd, en was in feite de 8ste generatie van Turbo Pascal waarin je met de Project Manager, Model View (daarover later) of compiler, die het eerste daglicht ziet in het begin van de 80-er jaren.
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    Each feature in the following table has an indication if it is available in Delphi and/or C++Builder . RAD Studio editions include both languages. Each column covers multiple, similar editions, with any difference specifically called out. Community edition is available only for single personalities and has a limited license. Some of the features are only available for download from the IDE in the GetIt Package Manager, requiring an Internet connection. TABLE OF CONTENT INTEGRATED COMPILERS AND TOOLCHAINS APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, LICENSING AND TOOL MANAGEABILITY DESIGNERS AND SDKS FMX APPLICATION PLATFORM (FIREMONKEY) VISUAL COMPONENT LIBRARY (VCL) COM/DCOM SUPPORT INTERNET OF THINGS (IOT) SUPPORT VISUAL LIVEBINDINGS INTEGRATED BUILD TOOLS AND PROJECT SUPPORT RECENT C++ LANGUAGE AND CORE RTL FEATURES RECENT DELPHI LANGUAGE AND CORE RTL FEATURES INTEGRATED DEVELOPMENT ENVIRONMENT SHARED RUNTIME LIBRARY FEATURES AND DEVELOPER PRODUCTIVITY SOURCE CODE MANAGEMENT INTERNATIONAL DEVELOPMENT REFACTORINGS UML MODELING INTEGRATED DEBUGGING INTEGRATED UNIT TESTING DOCUMENTATION DATABASE APPLICATION DEVELOPMENT AND CONNECTIVITY FIREDAC MULTI-DEVICE DATA ACCESS LIBRARY DBEXPRESS AND IBX RAD SERVER DATASNAP MULTI-TIER DATABASE TOOLS INCLUDED DATABASES REST CLIENT LIBRARY AND BAAS CLOUD SUPPORT XML AND SOAP IP*WORKS! COMMUNICATION COMPONENTS FILE COMPARE WITH BEYOND COMPARE TEXT COMPARE LOGGING WITH CODESITE EXPRESS FASTREPORT REPORTING SOLUTIONS TEECHART CHARTING COMPONENTS DATABASE APPLICATION DEVELOPMENT DATABASE DESIGN AND DEVELOPMENT
    [Show full text]
  • Why Is Borland Moving Towards Eclipse? by Mike Rozlog of Borland
    Why is Borland Moving Towards Eclipse? by Mike Rozlog of Borland It is normally bad practice to answer a question with a question, but read the article and find out why it is the perfect time to ask the following question. What is development? This is one of the most important questions being asked at Borland. Development as defined by the dictionary states: it is a noun that has synonyms including evolution, augmentation, and maturation. Taking the definition of development and its synonyms and applying them to the question of "Why is Borland moving towards Eclipse?" reveals answers that many people may not have thought about. First, it is always important to understand the history behind a current position. Take for example an auto race. Usually the winner is not the person that initially leads from the starting position; it is a person who has made important adjustments throughout the race to put them into the best position to win. Now, this is not to say that a poleleader can not win the race, it just means they have to make other adjustments throughout the race to also put themselves into a position of winning it. Understanding that analogy, it is no wonder why Borland is going to start to use Eclipse as a customer facing technology. Keep in mind that Eclipse is not just a JBuilder issue at Borland; it will be used in various areas that have interaction with the customer. However, it is important to understand the background of JBuilder and put it into perspective of why it has been very important over the years, for supporting the Java platform.
    [Show full text]
  • Husain Gholoom
    E-mail: [email protected] Mobile : (512) – 903-8588 Husain Gholoom Professional Experience Computer Science Lecturer August 2012 - Current Computer Science Department Texas State University – San Marcos • Teaching Fundamentals of Computer Science , Foundations of Computer Science , Data Structures , and Unix Classes Computer Science Lecturer September 2005 – September / 2010 Computer Science Department PAAET - Kuwait • Taught Operating Systems, Java, Advanced Java, Advanced COBOL, Pascal, Advanced Pascal, and Databases Management Systems , Introduction to Computer Science , and Computer Science Application ( Microsoft Office Suite – Word , Excel, PowerPoint, Access ) courses • Prepared class schedule for the Computer Science Department • Served as member of Higher Committee for Revision and Follow-up of Class Scheduling and Final Examination for College of Business Studies • Advised and Provided students with information to assist them in successfully completing the requirements for degree within the Computer Science Department • Designed, developed, and implemented a website for College of Business Studies, and also implemented Faculty Database Management System for PAAET using Microsoft Access Instructor & Vice Chairman February 2001 – August 2005 Computer Science Department PAAET - Kuwait • Taught advanced COBOL, Pascal, and Databases courses • Resolved Computer Science Departmental issues with students and various other departments of the college • Served as a member of recruitment committee • Prepared class schedule for the Computer
    [Show full text]
  • Pascalabc.NET (Версия 3.0)
    К.Ю. Поляков Новые возможности PascalABC.NET (версия 3.0) По материалам С.С. Михалковича (http://pascalabc.net) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 2 «Стандартный» Паскаль сегодня . классический учебный язык . популярен в школах России . хватает для сдачи ЕГЭ Тенденции в программировании: . Размер программы и скорость работы не критичны . Важна скорость разработки и надёжность . Нет современных типов данных (словари, списки, стеки и т.д.) . Нет высокоуровневых средств . Нет стандартных библиотек (типа STL) К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 3 Паскаль сегодня: среды . АЛГО (В. Петрив) Python . Delphi C# • цена ??? • тяжеловесная (4 Гбайт) . Free Pascal • оболочка в стиле 1990-х • по пути Delphi • практически не развивается . PascalABC.NET • поддержка «старого» Паскаля • новые конструкции языка • новые структуры данных (коллекции) • использование библиотек .NET К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET (версия 3.0) Средства на каждый день К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 5 Внутриблочные переменные begin var x: integer = 1; begin Область var y: integer; действия y y := x + 2; writeln(y); end; end. ! Понадобилась переменная – описал! К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 6 Внутриблочные переменные в циклах for var i:=1 to 10 do begin writeln(i*i); Область ... действия i end; К.Ю. Поляков, 2015 http://kpolyakov.spb.ru Новые возможности PascalABC.NET 7 Автовывод типов begin var p := 1; // integer var t := 1.234; // real var s := 'Привет!'; // string // чтение с клавиатуры var n := ReadInteger('Введите n:'); var x := ReadReal; ..
    [Show full text]
  • Developers Choice
    IDE Scorecard Developers’ Choice IDE Scorecard Definitive Rankings of the Top 11 IDEs by Over 1,200 Developers June 2006 Evans Data Corp, 740 Front St, Santa Cruz, CA 95060 www.evansdata.com (800) 831 3080 IDE Scorecard I NSIDE T HIS R EPORT Overview 1 Overview Abstract and Methodology 3 Overall Usage In Spring 2006, Evans Data Corp conducted primary market research on IDEs, interviewing over 1200 developers worldwide and asking them to rate 4 Feature Rankings the top IDEs. Developers only rated the features of those IDEs that they had 5 Further Information used. They were asked to rank sixteen different features commonly found in IDEs. Each feature could be ranked as “excellent, “very good” “adequate”, “needs improvement” or “NA”. During processing, the first four rankings were assigned a numerical value according to their relative significance. The last value (“N/A”) was discarded. Values were then combined to produce a score for each element for every IDE and also for an overall total score. The top 11 IDEs ranked were: “Eclipse is well on its Adobe/Macromedia Studio 8 way to becoming one Borland Delphi of the most popular Borland JBuilder IDEs for any Eclipse language..” IBM Rational Application Developer IBM WebSphere Studio Microsoft Visual Studio .NET NetBeans Oracle JDeveloper Sun Java Studio Sybase PowerBuilder Features and capabilities rated were: Compiler/Interpreter Debugger Editor Make/Build Functions Documentation Application Modeling Tools Web Design Tools Sample Applications Profiler 1 IDE Scorecard IDE Scorecard Overview Cont’ Compiler Performance Performance of Resulting Applications Ease of Use Ability to Integrate 3rd Party Tools Availability of 3rd Party Tools Quality of Technical Support Options Size and Quality of Developer Community In addition, developers were asked to rate the IDEs based on how well suited they are for creating a particular type of application (server-centric, desktop, thin-client, rich-client, and embedded systems).
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    RAD Studio, Delphi, C++Builder XE8 The Connected App Platform for Windows and Beyond Products Feature Matrix Each feature has an indication if it is available in the Delphi (D) and/or the C++Builder (C) personality, or in the HTML5 Builder (H) tool. RAD Studio editions include all three personalities, while single product editions (Delphi and C++Builder) have only the features marked for the corresponding personality. Enterprise+ indicates Enterprise and above editions (Ultimate, Architect). Starter edition is available only for single personalities, not for RAD Studio. See also the notes description at the bottom of this page. Feature Enterprise+ Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Delphi 32-bit native code optimizing compiler (dcc32), including high performance x86 Assembler D D D Delphi 64-bit compiler (dcc64) D D Delphi command line toolchains for Windows D D D5 Delphi OS X compiler (dccosx) D D Delphi command line toolchains for Mac OS X D D Delphi iOS ARM Compiler (dccios32, dcciosarm) D D1 Delphi command line toolchains for iOS D D1 Delphi Android ARM compiler for Device (dccaarm) D D1 Delphi command line toolchains for Android D D1 Embarcadero C++ Compiler for Win64 (bcc64) C C Embarcadero C++ Compiler for Win32 (bcc32) C C C C++ command line toolchains for Windows C C C5 C++ OS X compiler (bccosx) C C C++ command line toolchains for OS X C C C++Builder iOS ARM Compiler (bcciosarm) C C1 C++Builder command line toolchain for iOS C C1 Introduced in XE6! C++Builder Android ARM Compiler (bccaarm) C C1 Introduced in XE6! C++Builder command line toolchain for Android C C1 New in XE8! iOS 64 bit Object Pascal compiler and toolchain D D1 X New in XE8! iOS 64 bit C++ compiler and toolchain C C1 New in XE8! Support for iOS Universal Apps (including both 32 bit and 64 bit binaries in an app bundle) C D C D X APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, DESIGNERS AND SDKS FMX Application Platform for creating 32-bit Windows applications for Windows 8 and 8.1 and Windows 7; C D C D C D Server 2008 and 2012.
    [Show full text]
  • Essential Delphi – Copyright 1996-2002 Marco Cantù – 1
    Marco Cantù's Essential Delphi – Copyright 1996-2002 Marco Cantù – www.marcocantu.com/edelphi 1 MMARCOARCO CCANTÙANTÙ''SS EESSENTIALSSENTIAL DDELPHIELPHI A Friendly Introductory Guide to Borland Delphi http://www.marcocantu.com/edelphi Copyright 1996-2002 Marco Cantù Revision 1.03 - April 13, 2002 Marco Cantù's Essential Delphi – Copyright 1996-2002 Marco Cantù – www.marcocantu.com/edelphi 2 INTRODUCTION fter the successful publishing of the e-book Essential Pascal (available on my web site at the address http://www.marcocantu.com/epascal), I decided to follow up with an Aintroduction to Delphi. Again most of the material you'll find here was in the first editions of my “printed” book Mastering Delphi, the best selling Delphi book I have written. Due to space constraints and because many Delphi programmers look for more advanced information, in the latest edition this material was completely omitted. To overcome the absence of this information, I have started putting together this second on- line book, titled Essential Delphi. Copyright The text and the source code of this book are copyrighted by Marco Cantù. Of course, you can use the programs and adapt them to your own needs with no limitation, only you are not allowed to use them in books, training material, and other copyrighted formats without my permission (or in case you are using limited portions, referring to the original). Feel free to link your site with this one, but please do not duplicate the material (on your web site, on a CD) as it is subject to frequent changes and updates. Passing a copy to a friend, occasionally, is certainly something you can do if you do not modify it in any way.
    [Show full text]
  • C++Builder XE5 Feature Matrix | Multi-Device, True Native App
    C++Builder® XE5 Multi-device, true native app development with C++ Feature Matrix Feature Architect Ultimate Enterprise Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Introduced in XE3! C++ 64-bit compiler for Windows X X X X Enhanced in XE3! C++ OS X compiler X X X X Enhanced in XE5! Embarcadero C++ Compiler 6.70 (bcc64) X X X X Enhanced in XE5! Embarcadero C++ Compiler 6.70 (bcc32) X X X X Enhanced in XE3! C++ command line toolchains for Windows X X X X X Enhanced in XE3! C++ command line toolchains for OS X (bccosx) X X X X Create 32-bit optimized native executables that can run on both 32 X X X X X and 64-bit Windows operating systems Enhanced in XE3! ANSI/ISO C++11 and 99 Standard language X X X X conformance and Boost support for 64-bit #pragma once support that allows for better compatibility with MSVC X X X X X and also acts as a header guard [[deprecated]] attribute to flag constructs as deprecated X X X X X Build C++ packages for 32-bit applications X X X X X Secure C library functions X X X X X Enhanced compiler switches for XML representation of source code X X X X X Custom evaluators for C++ Strings types X X X X X Linker error handling to improve memory management flexibility and X X X X X resolution APPLICATION PLATFORMS, INTEGRATED FRAMEWORKS, DESIGNERS AND SDKS Enhanced in XE3! FM Application Platform for creating 32-bit Windows applications for Windows 8, Windows 7, Windows Vista and X X X X X XP; Server 2008 and 2012.
    [Show full text]
  • Migrating Borland® Database Engine Applications to Dbexpress
    ® Borland® dbExpress–a new vision Migrating Borland Past attempts to create a common API for multiple databases have all had one or more problems. Some approaches have been large, Database Engine slow, and difficult to deploy because they tried to do too much. Others have offered a least common denominator approach that denied developers access to the specialized features of some Applications to databases. Others have suffered from the complexity of writing drivers, making them either limited in functionality, slow, or buggy. dbExpress Borland® dbExpress overcomes these problems by combining a new approach to providing a common API for many databases New approach uses with the proven provide/resolve architecture from Borland for provide/resolve architecture managing the data editing and update process. This paper examines the architecture of dbExpress and the provide/resolve mechanism, by Bill Todd, President, The Database Group, Inc. demonstrates how to create a database application using the for Borland Software Coporation dbExpress components and describes the process of converting a September 2002 database application that uses the Borland® Database Engine to dbExpress. Contents The dbExpress architecture Borland® dbExpress—a new vision 1 dbExpress (formerly dbExpress) was designed to meet the The dbExpress architecture 1 following six goals. How provide/resolve architecture works 2 Building a dbExpress application 3 • Minimize size and system resource use. Borland® Database Engine versus dbExpress 12 • Maximize speed. Migrating a SQL Links application • Provide cross-platform support. for Borland Database Engine to dbExpress 12 • Provide easier deployment. Migrating a desktop database application to dbExpress 15 • Make driver development easier. Summary 17 • Give the developer more control over memory usage About the author 17 and network traffic.
    [Show full text]
  • RAD Studio, Delphi, C++Builder XE8 Feature Matrix
    RAD Studio / Delphi / C++Builder Products Feature Matrix Each feature has an indication if it is available in the Delphi (D) and/or the C++Builder (C) personality, or in the HTML5 Builder (H) tool. RAD Studio editions include all three personalities, while single product editions (Delphi and C++Builder) have only the features marked for the corresponding personality. Enterprise+ indicates Enterprise and above editions (Ultimate, Architect). Starter edition is available only for single personalities, not for RAD Studio. See also the notes description at the bottom of this page. Feature Enterprise+ Professional Starter INTEGRATED COMPILERS AND TOOLCHAINS Delphi 32-bit native code optimizing compiler (dcc32), including high performance x86 Assembler D D D Delphi 64-bit compiler (dcc64) D D Delphi command line toolchains for Windows D D D5 Delphi OS X compiler (dccosx) D D Delphi command line toolchains for Mac OS X D D Delphi iOS ARM compiler (dccios32, dcciosarm) D D1 Delphi command line toolchains for iOS D D1 Introduced in XE8! iOS 64 bit Object Pascal compiler and toolchain D D1 Delphi Android ARM compiler for Device (dccaarm) D D1 Delphi command line toolchains for Android D D1 Embarcadero C++ compiler for Win64 (bcc64) C C Embarcadero C++ compiler for Win32 (bcc32) C C C New in 10 Seattle! C++ 11 CLANG-based compiler for Win32 (bcc32c) C C C Enhanced in 10 Seattle! Upgrade to v3.3 of CLANG and LLVM for Win64 and Win32 C C C5 C++ command line toolchains for Windows C C C5 C++ OS X compiler (bccosx) C C C++ command line toolchains for
    [Show full text]