Валентин Озеров - Советы по 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», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

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

Интервал:

Закладка:

Сделать

GetAliasParams(AliasName,ParamList);

Result := UpperCase(ParamList.Values['PATH'])+'\';

finally

Paramlist.Free;

end;

end;

functionGetDBPath2(AliasName: string): TFileName;

var

ParamList: TStringList;

i: integer;

begin

ParamList := TStringList.Create;

withSession do try

try

GetAliasParams(AliasName,ParamList);

except

fori:=0 topred(DatabaseCount) do

if(Databases[i].DatabaseName = AliasName) then

ParamList.Assign(Databases[i].Params);

end;

Result := UpperCase(ParamList.Values['PATH'])+'\';

finally

Paramlist.Free;

end;

end;

functionGetDBPath3(ATable: TTable): TFileName;

var

TblProps: CURProps;

pTblName, pFullName: DBITblName;

begin

withATable do begin

AnsiToNative(Locale, TableName, pTblName, 255);

Check(DBIGetCursorProps(Handle, TblProps));

Check(DBIFormFullName(DBHandle,pTblName,TblProps.szTableType,pFullName));

Result := ExtractFilePath(StrPas(pFullName));

end;

end;

Reinhard Kalinke

Получение пути псевдонима и таблицы II

Вот маленький примерчик того, как в Delphi можно получить информацию о псевдонимах. Для начала создайте новый проект с ListBox и тремя метками (с именамиListBox1, Label1, Label2 и Label3). Затем создайте обработчик события формы OnCreate с примерно следующим кодом:

procedureTForm1.FormCreate(Sender: TObject);

begin

Session.GetAliasNames(ListBox1.Items);

end;

Теперь создайте обработчик OnClick для ListBox:

procedureTForm1.ListBox1Click(Sender: TObject);

var

tStr: array[0..100] ofchar;

Desc: DBDesc;

begin

ifListBox1.Items.Count = 0 thenexit;

StrPLCopy(tStr, ListBox1.Items.Strings[ListBox1.ItemIndex], High(tStr));

DbiGetDatabaseDesc(tStr, @Desc);

withDesc do begin

Label1.Caption := StrPas(Desc.szName);

Label2.Caption := StrPas(Desc.szPhyName);

Label3.Caption := StrPas(Desc.szDbType);

end;

end;

Добавьте следующие модули в секцию 'uses' в верхней части модуля:

DB, DBTables, DBITypes, DBIProcs;

Теперь вы можете увидеть путь для всех ваших стандартных псевдонимов (Paradox и dBase).

Получение пути псевдонима и таблицы III

Delphi 1

Используйте Session.GetAliasParams. В ответ вы получите объект Tstrings, откуда вы можете получить значение для переменной 'PATH". Для получения дополнительной информации обратитесь к электронной справке к разделу, описывающему TSession. Объект Session объявлен в модуле DB.

usesdb;

varaliaspath : string[128];

begin

aliaspath := Session.GetAliasParams['MyAlias'].values['PATH'];

end;

usesSysUtils,DbiProcs, 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;

Получение пути псевдонима и таблицы IV

Nomadicсоветует:

1. По таблице (фактически по Database) получить физическое местонахождение.

Примечание: Database можно создать явно, если нет, Дельфи сама его создаст, доступ к ней по Table(Query).Database

usesDbiProcs;

functionGetDirByDatabase(Database: TDatabase): string;

varpszDir: PChar;

begin

pszDir := StrAlloc(255);

try

DbiGetDirectory(Database.Handle, True, pszDir);

Result := StrPas(pszDir);

finally

StrDispose(pszDir);

end;

end;

2. По алиасу.

functionGetPhNameByAlias(sAlias: string): string;

var

Database: TDatabase;

pszDir: PChar;

begin

Database := TDatabase.Create( nil); {allocate memory}

pszDir := StrAlloc(255);

try

Database.AliasName := sAlias;

Database.DatabaseName := 'TEMP'; {requires a name – is ignored}

Database.Connected := True; {connect without opening any table}

DbiGetDirectory(Database.Handle, True, pszDir); {get the dir.}

Database.Connected := False; {disconnect}

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

Интервал:

Закладка:

Сделать

Похожие книги на «Советы по 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