Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

Здесь есть возможность читать онлайн «Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Советы по Delphi. Версия 1.4.3 от 1.1.2001: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Советы по Delphi. Версия 1.4.3 от 1.1.2001»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Советы по Delphi. Версия 1.4.3 от 1.1.2001», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Result := StrPas(pszDir); {convert to a string}

finally

Database.Free; {free memory}

StrDispose(pszDir);

end;

end;

Информация о псевдониме BDE

Delphi 1

varMyAliasPath: string;

constAliasName='MyAlias';

{**** Получаем из BDE путь MyAlias}

ParamsList:= TStringList.Create;

try

withSession do begin

Session.GetAliasNames(ParamsList);

Session.GetAliasParams(AliasName,ParamsList);

MyAliasPath:=Copy(ParamsList[0],6,50)+'\';

end;

finally

ParamsList.Free;

end;

usesDbiProcs, DBiTypes;

functionGetDataBaseDir( constAlias : string): String;

(* Возвращает каталог базы данных для псевдонима

(без завершающего обратного слеша) *)

var

sp : PChar;

Res : pDBDesc;

begin

try

New(Res);

sp := StrAlloc(length(Alias)+1);

StrPCopy(sp,Alias);

ifDbiGetDatabaseDesc(sp,Res) = 0 thenResult := StrPas(Res^.szPhyName)

elseResult:= '';

finally

StrDispose(sp);

Dispose(Res);

end;

end;

Изменение каталога псевдонима во время выполнения приложения

Delphi 1

Я делаю это все время. У меня есть INI-файл, который сообщает, где можно найти таблицы и каталоги их расположения. Вот как я это делаю:

procedureCheckTable( varTable : TTable; varTName : string);

var

ChangePath: boolean;

Path: string;

ActiveState: Boolean;

begin

if(TName = '') thenTName := Table.TableName

else withTable do begin

ActiveState := Active;

Close;

Path := ExtractFilePath(TName);

ChangePath := HasAttr(DatabaseName, faDirectory) or(CompareText(DatabaseName, Path) <> 0);

if(Length(Path) > 0) andChangePath thenDatabaseName := Path;

if(CompareText(ExtractFileName(Tname), TableName) <> 0) thenTableName := ExtractFileName(Tname);

Active := ActiveState;

end;

end;

Псевдоним на лету

Delphi 2

Попробуйте это:

typeTDataMod = class(TDataModule)

Database: TDatabase;

public

procedureTempAlias(NewAlias, NewDir: String);

end;

procedureTDataMod.TempAlias(NewAlias, NewDir: String);

begin

withSession do if notIsAlias(NewAlias) then begin

ConfigMode := cmSession; (* NewAlias будет ВРЕМЕННЫМ *)

try

AddStandardAlias(NewAlias, NewDir, 'PARADOX');

Database.Close;

Database.AliasName := NewAlias;

Database.Open;

finally

ConfigMode := cmAll;

end;

end;

end;

Комментарии:

a) Поместите компонент Database на форму DataModule;

b) Задайте свойству DatabaseName имя базы данных, например, 'TempDB';

c) Задайте свойству DatabaseName компонента TTable значение = 'TempDB'

d) Для получения дополнительной информации ознакомьтесь с примером MastApp, поставляемым вместе с D2.

Псевдонимы

Delphi 2

Попробуйте следующий код:

var

theStrList : TStringList;

GPath : String;

begin

theStrList := TStringList.Create;

{Используем GetAliasParams для получения псевдонимов и ассоциированных с ними путей}

Session.GetAliasParams( <���Здесь псевдоним из выпадающего списка>,theStrList);

{Удаляем первые шесть символов, которые всегда равны «PATH="}

GPath := copy(theStrList[0],6,length(theStrList[0]))

theStrList.Free;

Ошибки

Ошибка BDE32 $2104

Delphi 2

Пример, приведенный для функции dbiGetDatabaseDesc в файле BDE32.HLP, неверен. Такой же пример содержится в файле TI3100.ASC. Я пробовал это на 3 разных компьютерах. Я использую среду Delphi. Ошибка, которую я получаю при попытке использования функции, выглядит следующим образом:

EDBEngineError с сообщением 'Возникла ошибка при попытке инициализации Borland Database Engine (ошибка $2104).'

При вызове любой из функций BDE, если вы не пользуетесь компонентами для работы с базами данных, вам необходимо инициализировать BDE вызовом dbiInit(nil).

Pat Ritchey

Проблема BDE при использовании "неживого" TQuery

У меня была та же проблема, и я нашел единственное решение как ее обойти. Я подозреваю, что причина кроется в том, что Query1.Refresh ничего не делает, если установлен режим readonly, т.е. не ожидается никаких изменений. Один способ у меня прошел успешно (в предположении, что мы имеем один вход): я использовал 3 TQuerie, две сетки и форму обновления. Это способ, когда я могу установить requestlive в истину. Вы не должны допускать, чтобы пользователь мог сам редактировать табличную сетку (если это то, что вы хотите).

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Представляем Вашему вниманию похожие книги на «Советы по Delphi. Версия 1.4.3 от 1.1.2001» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001»

Обсуждение, отзывы о книге «Советы по Delphi. Версия 1.4.3 от 1.1.2001» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x