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

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

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

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

Перемещение таблиц

Советы » Таблицы » Перемещение таблиц

Здесь я привожу примеры программ, которые я использую для копирования и удаления таблиц. Необходимые для работы модули: DB, DBTables, DbiProcs,DbiErrs, и DbiTypes. Вам всего лишь необходимо указать каталог расположения, исходное имя таблицы, каталог назначения и имя таблицы, куда будет скопирована исходная таблица и BDE скопирует таблицу целиком со всеми индексами. Процедура удаления в качестве входных параметров использует каталог расположения и имя таблицы, при этом BDE удаляет как саму таблицу, так и все файлы, связанные с ней (индексы и т.п.). Для тестирования данные процедуры были помещены в новое приложение и мне пришлось их немного отредактировать, чтобы удалить некоторые зависимости, которые были связаны с главной формой приложения. Теперь процедуры являются полностью автономными и могут быть помещены в отдельный модуль. (Не забудьте включить его в список используемых модулей). Пользуйтесь на здоровье!

procedure

TConvertForm.CopyTable(FromDir, SrcTblName, ToDir, DestTblName: string

); var

DBHandle: HDBIDB; ResultCode: DBIResult; Src, Dest, Err: array

[0..255] of

Char; SrcTbl, DestTbl: TTable; begin

SrcTbl := TTable.Create(Application); DestTbl := TTable.Create(Application); try

SrcTbl.DatabaseName := FromDir; SrcTbl.TableName := SrcTblName; SrcTbl.Open; DBHandle := SrcTbl.DBHandle; SrcTbl.Close; ResultCode := DbiCopyTable(DBHandle, false

, StrPCopy(Src, FromDir + '' + SrcTblName), nil

, StrPCopy(Dest, ToDir + '' + DestTblName)); if

(ResultCode <> DBIERR_NONE) then

begin

DbiGetErrorString(ResultCode, Err); raise

EDatabaseError.Create('При копировании ' + FromDir + '' + SrcTblName + ' в ' + ToDir + '' + DestTblName + ' ,' + 'BDE сгенерировал ошибку ''' + StrPas(Err) + ''''); end

; finally

SrcTbl.Free; DestTbl.Free; end

; end

; procedure

TConvertForm.DeleteTable(Dir, TblName: string

); var

DBHandle: HDBIDB; ResultCode: DBIResult; tbl, Err: array

[0..255] of

Char; SrcTbl, DestTbl: TTable; SrcTbl := TTable.Create(Application); begin

try

SrcTbl.DatabaseName := Dir; SrcTbl.TableName := TblName; SrcTbl.Open; DBHandle := SrcTbl.DBHandle; SrcTbl.Close; ResultCode := DbiDeleteTable(DBHandle, StrPCopy(Tbl, Dir + '' + TblName), nil

); if

(ResultCode <> DBIERR_NONE) then

begin

DbiGetErrorString(ResultCode, Err); raise

EDatabaseError.Create('Удаляя ' + Dir + '' + TblName + ', BDE ' + 'сгенерировал ошибку ''' + StrPas(Err) + ''''); end

; finally

SrcTbl.Free; end

; end

;

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

Категории

Статьи

Советы

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