MyBooks.club
Все категории

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

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001. Жанр: Программирование издательство неизвестно,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
Советы по Delphi. Версия 1.4.3 от 1.1.2001
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
17 сентябрь 2019
Количество просмотров:
205
Читать онлайн
Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001

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

Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
…начиная с 1001. Смотрите другие файлы…

Советы по Delphi. Версия 1.4.3 от 1.1.2001 читать онлайн бесплатно

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - читать книгу онлайн бесплатно, автор Валентин Озеров

 FMaxFileHandles : Integer;

 FNetFileDir : String;

 FTableLevel : String;

 FBlockSize : Integer;

 FDefaultDriver : String;

 FStrictIntegrity : Boolean;

 FAutoODBC : Boolean;

 procedure Init;

 procedure SetLocalShare(Value : Boolean);

 procedure SetMinBufSize(Value : Integer);

 procedure SetMaxBufSize(Value : Integer);

 procedure SetSystemLangDriver(Value : String);

 procedure SetParadoxLangDriver(Value : String);

 procedure SetMaxFileHandles(Value : Integer);

 procedure SetNetFileDir(Value : String);

 procedure SetTableLevel(Value : String);

 procedure SetBlockSize(Value : Integer);

 procedure SetDefaultDriver(Value : String);

 procedure SetAutoODBC(Value : Boolean);

 procedure SetStrictIntegrity(Value : Boolean);

 procedure UpdateCFGFile(path, item, value : string);

protected

public

 constructor Create(AOwner: TComponent); override;

 destructor Destroy; override;

published

 property LocalShare : Boolean read FLocalShare write SetLocalShare;

 property MinBufSize : Integer read FMinBufSize write SetMinBufSize;

 property MaxBufSize : Integer read FMaxBufSize write SetMaxBufSize;

 property SystemLangDriver : String read FSystemLangDriver write SetSystemLangDriver;

 property ParadoxLangDriver : String read FParadoxLangDriver write SetParadoxLangDriver;

 property MaxFileHandles : Integer read FMaxFileHandles write SetMaxFileHandles;

 property NetFileDir : String read FNetFileDir write SetNetFileDir;

 property TableLevel : String read FTableLevel write SetTableLevel;

 property BlockSize : Integer read FBlockSize write SetBlockSize;

 property DefaultDriver : string read FDefaultDriver write SetDefaultDriver;

 property AutoODBC : Boolean read FAutoODBC write SetAutoODBC;

 property StrictIntegrity : Boolean read FStrictIntegrity write SetStrictIntegrity;

end;


procedure Register;


implementation


function StrToBoolean(Value : string) : Boolean;

begin

 if (UpperCase(Value) = 'TRUE') or (UpperCase(Value) = 'ON') or (UpperCase(Value) = 'YES') or (UpperCase(Value) = '.T.' ) then Result := True

 else Result := False;

end;


function BooleanToStr(Value : Boolean) : String;

begin

 if Value then Result := 'TRUE'

 else Result := 'FALSE';

end;


procedure Register;

begin

 RegisterComponents('Data Access', [TBDEConfig]);

end;


procedure TBDEConfig.Init;

var

 h: hDBICur;

 pCfgDes: pCFGDesc;

 n, v : string;

begin

 Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent,'SYSTEMINIT', h));

 GetMem(pCfgDes, sizeof(CFGDesc));

 try

  FillChar(pCfgDes^, sizeof(CFGDesc), #0);

  while (DbiGetNextRecord(h, dbiWRITELOCK, pCfgDes, nil) = DBIERR_NONE) do begin

   n := StrPas(pCfgDes^.szNodeName);

   v := StrPas(pCfgDes^.szValue);

   if n = 'LOCAL SHARE' then FLocalShare := StrToBoolean(v)

   else if n = 'MINBUFSIZE' then FMinBufSize := StrToInt(v)

   else if n = 'MAXBUFSIZE' then FMaxBufSize := StrToInt(v)

   else if n = 'MAXFILEHANDLES' then FMaxFileHandles := StrToInt(v)

   else if n = 'LANGDRIVER' then FSystemLangDriver := v

   else if n = 'AUTO ODBC' then FAutoODBC := StrToBoolean(v)

   else if n = 'DEFAULT DRIVER' then FDefaultDriver := v;

  end;

  if (h <> nil) then DbiCloseCursor(h);

  Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent,'DRIVERSPARADOXINIT', h));

  FillChar(pCfgDes^, sizeof(CFGDesc), #0);

  while (DbiGetNextRecord(h, dbiWRITELOCK, pCfgDes, nil) = DBIERR_NONE) do begin

   n := StrPas(pCfgDes^.szNodeName);

   v := StrPas(pCfgDes^.szValue);

   if n = 'NET DIR' then FNetFileDir := v

   else if n = 'LANGDRIVER' then FParadoxLangDriver := v;

  end;

  if (h <> nil) then DbiCloseCursor(h);

  Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent, 'DRIVERSPARADOXTABLE CREATE', h));

  FillChar(pCfgDes^, sizeof(CFGDesc), #0);

  while (DbiGetNextRecord(h, dbiWRITELOCK, pCfgDes, nil) = DBIERR_NONE) do begin

   n := StrPas(pCfgDes^.szNodeName);

   v := StrPas(pCfgDes^.szValue);

   if n = 'LEVEL' then FTableLevel := v

   else if n = 'BLOCK SIZE' then FBlockSize := StrToInt(v)

   else if n = 'STRICTINTEGRITY' then FStrictIntegrity := StrToBoolean(v);

  end;

 finally

  FreeMem(pCfgDes, sizeof(CFGDesc));

  if (h <> nil) then DbiCloseCursor(h);

 end;

end;


procedure TBDEConfig.SetLocalShare(Value : Boolean);

begin

 UpdateCfgFile('SYSTEMINIT', 'LOCAL SHARE', BooleanToStr(Value));

 FLocalShare := Value;

end;


procedure TBDEConfig.SetMinBufSize(Value : Integer);

begin

UpdateCfgFile('SYSTEMINIT', 'MINBUFSIZE', IntToStr(Value));

 FMinBufSize := Value;

end;


procedure TBDEConfig.SetMaxBufSize(Value : Integer);

begin

 UpdateCfgFile('SYSTEMINIT', 'MAXBUFSIZE', IntToStr(Value));

 FMaxBufSize := Value;

end;


procedure TBDEConfig.SetSystemLangDriver(Value : String);

begin

 UpdateCfgFile('SYSTEMINIT', 'LANGDRIVER', Value);

 FSystemLangDriver := Value;

end;


procedure TBDEConfig.SetParadoxLangDriver(Value : String);

begin

 UpdateCfgFile('DRIVERSPARADOXINIT', 'LANGDRIVER', Value);

 FParadoxLangDriver := Value;

end;


procedure TBDEConfig.SetMaxFileHandles(Value : Integer);

begin

 UpdateCfgFile('SYSTEMINIT', 'MAXFILEHANDLES', IntToStr(Value));

 FMaxFileHandles := Value;

end;


procedure TBDEConfig.SetNetFileDir(Value : String);

begin

 UpdateCfgFile('DRIVERSPARADOXINIT', 'NET DIR', Value);

 FNetFileDir := Value;

end;


procedure TBDEConfig.SetTableLevel(Value : String);

begin

 UpdateCfgFile('DRIVERSPARADOXTABLE CREATE', 'LEVEL', Value);

 FTableLevel := Value;

end;


procedure TBDEConfig.SetBlockSize(Value : Integer);

begin

 UpdateCfgFile('DRIVERSPARADOXTABLE CREATE', 'BLOCK SIZE', IntToStr(Value));

 FBlockSize := Value;

end;


procedure TBDEConfig.SetStrictIntegrity(Value : Boolean);

begin

 UpdateCfgFile('DRIVERSPARADOXTABLE CREATE', 'STRICTINTEGRITY', BooleanToStr(Value));

 FStrictIntegrity := Value;

end;


procedure TBDEConfig.SetDefaultDriver(Value : String);

begin

 UpdateCfgFile('SYSTEMINIT', 'DEFAULT DRIVER', Value);

 FDefaultDriver := Value;

end;


procedure TBDEConfig.SetAutoODBC(Value : Boolean);

begin

 UpdateCfgFile('SYSTEMINIT', 'AUTO ODBC', BooleanToStr(Value));

 FAutoODBC := Value;

end;


procedure TBDEConfig.UpdateCFGFile;

var

 h : hDbiCur;

 pCfgDes: pCFGDesc;

 pPath : array[0..127] of char;

begin

 StrPCopy(pPath,Path);

 Check(DbiOpenCfgInfoList(nil, dbiREADWRITE, cfgPersistent, pPath, h));

 GetMem(pCfgDes, sizeof(CFGDesc));

 try

  FillChar(pCfgDes^, sizeof(CFGDesc), #0);

  while (DbiGetNextRecord(h, dbiWRITELOCK, pCfgDes, nil) = DBIERR_NONE) do begin

   if StrPas(pCfgDes^.szNodeName) = item then begin

    StrPCopy(pCfgDes^.szValue, value);

    Check(DbiModifyRecord(h, pCfgDes, True));

   end;

  end;

 finally

  FreeMem(pCfgDes, sizeof(CFGDesc));

  if (h <> nil) then DbiCloseCursor(h);

 end;

end;


constructor TBDEConfig.Create(AOwner: TComponent);

begin

 inherited Create(AOwner);

 Init;

end;


destructor TBDEConfig.Destroy;

begin

 inherited Destroy;

end;


end.


Валентин Озеров читать все книги автора по порядку

Валентин Озеров - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


Советы по Delphi. Версия 1.4.3 от 1.1.2001 отзывы

Отзывы читателей о книге Советы по Delphi. Версия 1.4.3 от 1.1.2001, автор: Валентин Озеров. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.