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

Тут можно читать онлайн Валентин Озеров - Советы по Delphi. Версия 1.4.3 от 1.1.2001 - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Советы по Delphi. Версия 1.4.3 от 1.1.2001
  • Автор:
  • Жанр:
  • Издательство:
    неизвестно
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    4/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Советы по Delphi. Версия 1.4.3 от 1.1.2001 - описание и краткое содержание, автор Валентин Озеров, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

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

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

Интервал:

Закладка:

Сделать

DBGrid1: TDBGrid;

DBGrid2: TDBGrid;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBNavigator1: TDBNavigator;

procedureFormClose(Sender: TObject; varAction: TCloseAction);

private{ Private declarations }

public{ Public declarations }

{!} DM:TDataModule1;

{!} constructorCreate(AOwner:TComponent); override;

end;

implementation

{$IFDEF XOXOXOX} // DataM должен находиться в секции interface. Необходимо для среды

usesDataM; // времени проектирования. Определение "XOXOXOX" подразумевает,{$ENDIF}

// что это никогда не будет определено, но чтобы компилятор видел это.

{$R *.DFM}

{!} constructorTMDIChild.Create;

{!} begin

{!} DM := TDataModule1.Create(Application);

{!} inheritedCreate(AOwner);

{!} DM.Name := '';

{!} end;

procedureTMDIChild.FormClose(Sender: TObject; varAction: TCloseAction);

begin

Action := caFree;

end;

end.

– Pat Ritchey

Как передать UserName и Password в удаленный модуль данных (remote datamodule)?

Nomadicотвечает:

В Удаленный Модуль Данных бросьте компонент TDatabase, затем добавьте процедуру автоматизации (пункт главного меню Edit | Add To Interface) для Login.

Убедитесь, что свойство HandleShared компонента TDatabase установлено в True.

procedureLogin(UserName, Password: WideString);

begin

{ DB = TDatabase }

{ Something unique between clients }

DB.DatabaseName := UserName + 'DB';

DB.Params.Values['USER NAME'] := UserName;

DB.Params.Values['PASSWORD'] := Password;

DB.Open;

end;

После того, как Вы создали этот метод автоматизации, Вы можете вызывать его с помощью:

RemoteServer1.AppServer.Login('USERNAME','PASSWORD');

Paradox

Byte-поля Paradox

Delphi 2

Что за магия при записи в поле Paradox Byte? По этому поводу в документации ничего не сказано.

Есть 2 пути получить доступ к данным в TBytesField.

Просто вызовите метод GetData, передавая ему указатель на буфер, где сам буфер должен иметь размер, достаточный для хранения данных:

procedureSetCheckBoxStates;

varCBStates: array[1..13] ofByte;

begin

CBStateField.GetData(CBStates);

{ Здесь обрабатываем данные… }

end;

Для записи значений вы должны использовать SetData.

Используйте свойство Value, возвращающее вариантный массив байт (variant array of bytes):

procedureSetCheckBoxStates;

varCBStates: Variant;

begin

CBStates := CBStateField.Value;

{ Здесь обрабатываем данные… }

end;

Первый метод, вероятно, для вас будет легче, поскольку вы сразу докапываетесь до уровня байт. Запись данных также получится сложнее, поскольку вам нужно будет работать с variant-методами типа VarArrayCreate и др.

– Mark Edington

Доступ к таблицам Paradox на CD или c флагом только для чтения

Тема: Доступ к таблицам Paradox на CD или на дисках c флагом только для чтения

Данный совет поможет вам разобраться в таком вопросе, как доступ к таблицам Paradox, расположенным на CD-ROM или диске, имеющем флаг "только для чтения".

Механиз блокирования файлов Paradox требует наличие файла PDOXUSRS.LCK, осуществляющий логику работы блокировки. Данный файл обычно создается во время выполнения приложения и располагается в том же каталоге, где и таблицы. Тем не менее, в случае с CD-ROM, во время выполнения программы нет никакой возможности создать на нем описанный выше файл. Решение простое: мы создаем этот файл и помещаем его на CD-ROM во время его (CD) создания. Следующая простейшая программка позволит создать вам файл PDOXUSRS.LCK и поместить его в образ компакта для его последующего копирования на CD-ROM:

1. Стартуйте пустой проект и добавьте на форму следующие компоненты: TEdit, TButton и TDatabase.

2. В обработчике кнопки OnClick используйте следующий код:

procedureTForm1.Button1Click(Sender: TObject);

begin

ifChkPath thenCheck(DbiAcqPersistTableLock(Database1.Handle, 'PARADOX.DRO','PARADOX'));

end;

3. Функция ChkPath является методом, определенным пользователем для формы. Она просто проверяет путь, введенный пользователем в поле редактирования и убеждается, что он существует. Вот функция:

functionTForm1.ChkPath : Boolean;

vars: array[0..100] ofchar;

begin

IfDirectoryExists(Edit1.Text) then begin

DataBase1.DatabaseName:= 'TempDB';

DataBase1.DriverName:= 'Standard';

DataBase1.LoginPrompt:= false;

DataBase1.Connected := False;

DataBase1.Params.Add('Path=' + Edit1.Text);

DataBase1.Connected := TRUE;Result := TRUE;

end else begin

StrPCopy(s,'Каталог : ' + Edit1.text + ' не найден');

Application.MessageBox(s, 'Ошибка!', MB_ICONSTOP);

Result := FALSE;

end;

end;

{ Примечание: Не забудьте добавить объявление функции в секцию public формы.}

4. Перед компиляцией необходимо вспомнить еще об одной вещи: в список Uses нужно добавить следующие модули:

Delphi 1.0: FileCtrl, DbiProcs, DbiTypes, DbiErrs.

Delphi 2.0: FileCtrl, BDE

После компиляции и выполнения, программа создаст два файла в определенном вами каталоге. Создаваемые два файла: PDOXUSRS.LCK и PARADOX.LCK.

Примечание: Файл PARADOX.LCK необходим только для доступа к таблицам Paradox for DOS, так что вы можете его удалить.

5. Вам осталась сделать только одну последнюю вещь: скопировать оставшийся файл (PDOXUSRS.LCK) в образ CD-ROM. Естественно, ваши таблицы будут только для чтения.

Примечание: Если вы собираетесь довольно часто пользоваться данной утилитой, то для удобства вы можете изменить свойство Text компонента Edit на ваш «любимый» каталог, а свойство Caption кнопки поменять на что-нибудь более «интеллектуальное».

Вот окончательная версия кода:

unitUnit1;

interface

usesWindows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, DB, StdCtrls, FileCtrl,

{$IFDEF WIN32}

BDE;

{$ELSE}

DbiProcs, DbiTypes, DbiErrs;

{$ENDIF }

typeTForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Database1: TDatabase;

procedureButton1Click(Sender: TObject);

private{ Private declarations }

public{ Public declarations }

functionChkPath : Boolean;

end;

varForm1: TForm1;

implementation

{$R *.DFM}

functionTForm1.ChkPath : Boolean;

vars: array[0..100] ofchar;

begin

IfDirectoryExists(Edit1.Text) then begin

DataBase1.DatabaseName:= 'TempDB';

DataBase1.DriverName:= 'Standard';

DataBase1.LoginPrompt:= false;

DataBase1.Connected := False;

DataBase1.Params.Add('Path=' + Edit1.Text);

DataBase1.Connected := TRUE;

Result := TRUE;

end else begin

StrPCopy(s,'Каталог : ' + Edit1.text + ' не найден');

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

Интервал:

Закладка:

Сделать


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

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




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x