Showing posts with label Delphi. Show all posts
Showing posts with label Delphi. Show all posts

November 24, 2007

Reading and writting from TiniFile (to persists the data)

TIniFile is a low-level wrapper for the 16-bit Windows 3.x INI file system that enables storage and retrieval of application-specific information and settings in an application-specific INI file.

Unit
inifiles

Description
TIniFile enables handling the storage and retrieval of application-specific information and settings in a Windows 3.x INI file. The INI file text format is the standard way for Windows 3.x applications to store and retrieve application settings from session to session. An INI file stores information in logical groupings, called “sections.” For example, the WIN.INI file contains a section called “[Desktop]”. Within each section, actual data values are stored in named keys. Keys take the form:

[keynamegt]=[value]

The FileName passed to a TIniFile object when it is created is the name of the INI file the object accesses.

Note: Under 32-bit Windows systems, applications typically replace INI files with the system registry where all applications store and retrieve their settings. Delphi provides additional classes for handling the system registry. TRegistry encapsulates the system registry. TRegistryIniFile also encapsulates the registry, but shares a common ancestor with TIniFile so that the same code can access entries stored in either format.

Ex:

This example reads strings in the DELPHI32.INI file and displays them on the form.Before you run this example, you must add the IniFiles unit to the uses clause of your unit.

procedure TForm1.FormActivate(Sender: TObject);
var DelphiIni: TIniFile;

begin

Canvas.TextOut(20, 10, 'VARIOUS DELPHI SETTINGS');

DelphiIni := TIniFile.Create('Delphi32.Ini');

with DelphiIni do begin

with Canvas do

begin

TextOut(10, 50, 'Editor Font = ' + ReadString('Editor', 'FontName', 'ERROR')); TextOut(10, 70, 'Search Path = ' + ReadString('Library', 'SearchPath', 'ERROR')); TextOut(10, 90, 'Component Library = ' +
ReadString('Library', 'ComponentLibrary', 'ERROR')); TextOut(10, 110, 'VBX Directory = ' + ReadString('VBX', 'VBXDir', 'ERROR'));

TextOut(10, 130, 'VBX Unit Directory = ' + ReadString('VBX', 'UnitDir', 'ERROR')); end;

end;

DelphiIni.Free;

end;

Ex2:

This example reads the Transfer section of the DELPHI32.INI file into a memo and changes one of the strings in the INI file when Button1 is clicked. When Button2 is clicked, the DELPHI32.INI file is restored to its initial state, using the values stored in the memo.Before you run this example, you must add the IniFiles unit to the uses clause of your unit.
Warning: Do not click button2 before you have clicked button1!

procedure TForm1.Button1Click(Sender: TObject);
var DelphiIni: TIniFile;

begin DelphiIni := TIniFile.Create('c:\windows\delphi32.ini');

Memo1.Clear;

DelphiIni.ReadSectionValues('Transfer', Memo1.Lines);

if Memo1.Lines.Values['Title1'] <> 'Picture Painter' then

DelphiIni.WriteString('Transfer', 'Title1', 'Picture Painter');

DelphiIni.Free;

end;


procedure TForm1.Button2Click(Sender: TObject);
var DelphiIni: TIniFile;

begin
DelphiIni := TIniFile.Create('c:\windows\delphi32.ini');
{ if the entry wasn’t there before, delete it now }

if Memo1.Lines.Values['Title1'] = '' then

DelphiIni.DeleteKey('Transfer', 'Title1') { otherwise, restore the old value }

else

DelphiIni.WriteString('Transfer', 'Title1', Memo1.Lines.Values['Title1']);

DelphiIni.Free;

end;

November 19, 2007

Delphi


Language Overview


Delphi is a high-level, compiled, strongly typed language that supports structured and object-oriented design.

Based on Object Pascal, its benefits include easy-to-read code, quick compilation, and the use of multiple unit files formodular programming.
Delphi has special features that support Borland's component framework and RADenvironment. For the most part, descriptions and examples in this language guide assume that you are using Borlanddevelopment tools.

Most developers using Borland software development tools write and compile their code in the integrateddevelopment environment (IDE). Borland development tools handle many details of setting up projects and sourcefiles, such as maintenance of dependency information among units. The product also places constraints on programorganization that are not, strictly speaking, part of the Object Pascal language specification. For example, Borlanddevelopment tools enforce certain file- and program-naming conventions that you can avoid if you write yourprograms outside of the IDE and compile them from the command prompt.

This language guide generally assumes that you are working in the IDE and that you are building applications thatuse the Borland Visual Component Library (VCL). Occasionally, however, Delphi-specific rules are distinguishedfrom rules that apply to all Object Pascal programming. This text covers both the Win32 Delphi language compiler,and the Delphi for .NET language compiler. Platform-specific language differences and features are noted wherenecessary.This section covers the following topics:Program Organization. Covers the basic language features that allow you to partition your application into unitsand namespaces.Example Programs. Small examples of both console and GUI applications are shown, with basic instructionson running the compiler from the command-line.Program OrganizationDelphi programs are usually divided into source-code modules called units.

Most programs begin with a programheading, which specifies a name for the program. The program heading is followed by an optional uses clause, thena block of declarations and statements. The uses clause lists units that are linked into the program; these units,which can be shared by different programs, often have uses clauses of their own.The uses clause provides the compiler with information about dependencies among modules. Because thisinformation is stored in the modules themselves, most Delphi language programs do not require makefiles, headerfiles, or preprocessor "include" directives.Delphi Source FilesThe compiler expects to find

Delphi source code in files of three kinds:Unit source files (which end with the .pas extension)Project files (which end with the .dpr extension)Package source files (which end with the .dpk extension)Unit source files typically contain most of the code in an application. Each application has a single project file andseveral unit files; the project file, which corresponds to the program file in traditional Pascal, organizes the unit filesinto an application. Borland development tools automatically maintain a project file for each application.If you are compiling a program from the command line, you can put all your source code into unit (.pas) files. If youuse the IDE to build your application, it will produce a project (.dpr) file.Package source files are similar to project files, but they are used to construct special dynamically linkable librariescalled packages.