Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Создание таблицы с автоинкрементальным полем

Советы » Таблицы » Создание таблицы с автоинкрементальным полем

Допустим у вас имеется форма с кнопкой. Щелчок на кнопке с помощью DbiCreateTable должен создать таблицу Paradox с автоинкрементальным (приращиваемым) полем.

unit

Autoinc; interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms, Dialogs, DBTables, DB, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, DbiTypes, DbiErrs, DBIProcs; const

szTblName = 'CR8PXTBL'; { Имя создаваемой таблицы. } szTblType = szPARADOX; { Используемый тип таблицы. } { При создании таблицы используется полное описание поля } const

fldDes: array

[0..1] of

FLDDesc = ( ({ Поле 1 - AUTOINC } iFldNum: 1; { Номер поля } szName: 'AUTOINC'; { Имя поля } iFldType: fldINT32; { Тип поля } iSubType: fldstAUTOINC; { Подтип поля } iUnits1: 0; { Размер поля } iUnits2: 0; { Десятичный порядок следования ( 0 ) } iOffset: 0; { Смещение в записи ( 0 ) } iLen: 0; { Длина в байтах ( 0 ) } iNullOffset: 0; { Для Null-битов ( 0 ) } efldvVchk: fldvNOCHECKS; { Проверка корректности ( 0 ) } efldrRights: fldrREADWRITE { Права } ), ({ Поле 2 - ALPHA } iFldNum: 2; szName: 'ALPHA'; iFldType: fldZSTRING; iSubType: fldUNKNOWN; iUnits1: 10; iUnits2: 0; iOffset: 0; iLen: 0; iNullOffset: 0; efldvVchk: fldvNOCHECKS; efldrRights: fldrREADWRITE )); type

TForm1 = class

(TForm) Button1: TButton; Database1: TDatabase; procedure

Button1Click(Sender: TObject); private

{ Private declarations } public

{ Public declarations } end

; var

Form1: TForm1; implementation

{$R *.DFM} procedure

TForm1.Button1Click(Sender: TObject); var

TblDesc: CRTblDesc; uNumFields: Integer; Rslt: DbiResult; ErrorString: array

[0..dbiMaxMsgLen] of

Char; begin

FillChar(TblDesc, sizeof(CRTblDesc), #0); lStrCpy(TblDesc.szTblName, szTblName); lStrCpy(TblDesc.szTblType, szTblType); uNumFields := trunc(sizeof(fldDes) / sizeof(fldDes[0])); TblDesc.iFldCount := uNumFields; TblDesc.pfldDesc := @fldDes; Rslt := DbiCreateTable(Database1.Handle, TRUE

, TblDesc); if

Rslt <> dbiErr_None then

begin

DbiGetErrorString(Rslt, ErrorString); MessageDlg(StrPas(ErrorString), mtWarning, [mbOk], 0); end

; end

; end

.

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com