Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΎΠ²Π΅Ρ‚Ρ‹ ΠΏΠΎ Delphi. ВСрсия 1.0.6Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 15

Автор Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½ ΠžΠ·Π΅Ρ€ΠΎΠ²

Π’Π½Π΅ Delphi созданиС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ псСвдонимов осущСствляСтся ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ BDECFG.EXE. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, примСняя ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TDatabase, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π² вашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдоним, Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² IDAPI.CFG.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ создав псСвдоним, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ сСансС вашСго прилоТСния. ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΡŽΡ‚ располоТСниС Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связи с сСрвСром Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ прСимущСства использования псСвдонимов Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… вашСго прилоТСния Π±Π΅Π· нСобходимости Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡ‚ΡŒΡΡ ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΈΡ… Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ IDAPI.CFG Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ прилоТСния.

НСкоторыС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 создаСт ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ псСвдоним для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… STANDARD (.DB, .DBF). ПсСвдоним Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ TTable.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 создаСт ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ псСвдоним для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… INTERBASE (.gdb). ПсСвдоним Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ TQuery для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π΄Π²ΡƒΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 создаСт ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ псСвдоним для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… STANDARD (.DB, .DBF). ДСмонстрация Π²Π²ΠΎΠ΄Π° псСвдонима ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π΅Π³ΠΎ конфигурация Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… .DB ΠΈΠ»ΠΈ .DBF (STANDARD)

1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

2. РасполагаСм Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: – TDatabase, TTable, TDataSource, TDBGrid, and TButton.

3. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TDatabase ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню (правая ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΡ‹ΡˆΠΈ) Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

4. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… имя 'MyNewAlias'. Π­Ρ‚ΠΎ имя Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ псСвдонима Π² свойствС DatabaseName для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TTable, TQuery, TStoredProc.

5. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Driver Name (имя Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°) ΠΏΡƒΠ½ΠΊΡ‚ STANDARD.

6. Π©Π΅Π»ΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Defaults. Π­Ρ‚ΠΎ автоматичСски добавляСт ΠΏΡƒΡ‚ΡŒ (PATH=) Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΠΎΠΊΠ½ΠΎ Parameter Overrides).

7. УстанавливаСм PATH= to C:\DELPHI\DEMOS\DATA (PATH=C:\DELPHI\DEMOS\DATA).

8. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ OK ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

9. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TTable свойству DatabaseName присваиваСм 'MyNewAlias'.

10. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TDataSource свойству DataSet присваиваСм 'Table1'.

11. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ DBGrid свойству DataSource присваиваСм 'DataSource1'.

12. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TButton ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick.

procedure TForm1.Button1Click(Sender: TObject);

begin

 Table1.Tablename:= 'CUSTOMER';

 Table1.Active:= True;

end;

13. ЗапускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

*** Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ шагам 3 – 11, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС эти дСйствия Π² сам ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ:

procedure TForm1.Button1Click(Sender: TObject);

begin

 Database1.DatabaseName:= 'MyNewAlias';

 Database1.DriverName:= 'STANDARD';

 Database1.Params.Clear;

 Database1.Params.Add('PATH=C:\DELPHI\DEMOS\DATA');

 Table1.DatabaseName:= 'MyNewAlias';

 Table1.TableName:= 'CUSTOMER';

 Table1.Active:= True;

 DataSource1.DataSet:= Table1;

 DBGrid1.DataSource:= DataSource1;

end;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… INTERBASE

1. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

2. РасполагаСм Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: – TDatabase, TQuery, TDataSource, TDBGrid, and TButton.

3. Π”Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TDatabase ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню (правая ΠΊΠ½ΠΎΠΏΠΊΠ° ΠΌΡ‹ΡˆΠΈ) Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

4. ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… имя 'MyNewAlias'. Π­Ρ‚ΠΎ имя Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ€ΠΎΠ»ΡŒ псСвдонима Π² свойствС DatabaseName для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° TTable, TQuery, TStoredProc.

5. Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅ Driver Name (имя Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°) ΠΏΡƒΠ½ΠΊΡ‚ INTRBASE.

6. Π©Π΅Π»ΠΊΠ°Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Defaults. Π­Ρ‚ΠΎ автоматичСски добавляСт ΠΏΡƒΡ‚ΡŒ (PATH=) Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (ΠΎΠΊΠ½ΠΎ Parameter Overrides).

SERVER NAME=IB_SERVEER:/PATH/DATABASE.GDB

USER NAME=MYNAME

OPEN MODE=READ/WRITE

SCHEMA CACHE SIZE=8

LANGDRIVER=

SQLQRYMODE=

SQLPASSTHRU MODE=NOT SHARED

SCHEMA CACHE TIME=-1

PASSWORD=

7. УстанавливаСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

SERVER NAME=C:\IBLOCAL\EXAMPLES\EMPLOYEE.GDB

USER NAME=SYSDBA

OPEN MODE=READ/WRITE

SCHEMA CACHE SIZE=8

LANGDRIVER=

SQLQRYMODE=

SQLPASSTHRU MODE=NOT SHARED

SCHEMA CACHE TIME=-1

PASSWORD=masterkey

8. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TDatabase свойство LoginPrompt устанавливаСм Π² 'False'. Если Π² сСкции ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² (Parameter Overrides) Π·Π°Π΄Π°Π½ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ (ΠΊΠ»ΡŽΡ‡ PASSWORD) ΠΈ свойство LoginPrompt установлСно Π² 'False', ΠΏΡ€ΠΈ соСдинСнии с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: ΠΏΡ€ΠΈ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΏΠ°Ρ€ΠΎΠ»Π΅ Π² сСкции Parameter Overrides ΠΈ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ свойствС LoginPrompt Π²Ρ‹ Π½Π΅ смоТСтС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅Ρ‚ возмоТности ввСсти ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ – Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ "Π’Π²ΠΎΠ΄ пароля" ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ свойством LoginPrompt.

9. НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ OK ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.

10. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TQuery свойству DatabaseName присваиваСм 'MyNewAlias'.

11. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TDataSource свойству DataSet присваиваСм 'Query1'.

12. Π’ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ DBGrid свойству DataSource присваиваСм 'DataSource1'.

13. Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ TButton ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick.

procedure TForm1.Button1Click(Sender: TObject);

begin

 Query1.SQL.Clear;

 Query1.SQL.ADD('SELECT DISTINCT * FROM CUSTOMER C, SALES S WHERE (S.CUST_NO = C.CUST_NO) ORDER BY C.CUST_NO, C.CUSTOMER');

 Query1.Active:= True;

end;

14. ЗапускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3: Π’Π²ΠΎΠ΄ псСвдонима ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΈ создаСт псСвдоним Π½Π° основС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

ДирСктория, имя сСрвСра, ΠΏΡƒΡ‚ΡŒ, имя Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ другая нСобходимая информация для получСния псСвдонима ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎ ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ .INI Ρ„Π°ΠΉΠ»Π°.


1. ВыполняСм шаги 1-11 ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° #1.

2. ПишСм ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события OnClick ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° TButton:

procedure TForm1.Button1Click(Sender: TObject);

var

 NewString: string;

 ClickedOK: Boolean;

begin

 NewString:= 'C:\';

 ClickedOK:= InputQuery('Database Path', 'Path: –> C:\DELPHI\DEMOS\DATA', NewString);

 if ClickedOK then begin

  Database1.DatabaseName:= 'MyNewAlias';

  Database1.DriverName:= 'STANDARD';

  Database1.Params.Clear;

  Database1.Params.Add('Path=' + NewString);

  Table1.DatabaseName:= 'MyNewAlias';

  Table1.TableName:= 'CUSTOMER';

  Table1.Active:= True;

  DataSource1.DataSet:= Table1;

  DBGrid1.DataSource:= DataSource1;

 end;

end;

3. ЗапускаСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ псСвдонимах BDE

Как Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ IDAPI ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ физичСский ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ располоТСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, зная Π΅Π΅ псСвдоним?

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ GetAliasParams класса TSession.

ВозвращСнная строка Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ искомый ΠΏΡƒΡ‚ΡŒ.

Π― ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ:

uses DbiProcs, DBiTypes;


function GetDataBaseDir(const Alias : string): String;

(* Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ располоТСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ псСвдониму

  (Π±Π΅Π· ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ слСша) *)

var

 sp: PChar;

 Res: pDBDesc;

begin

 try

  New(Res);

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

  StrPCopy(sp,Alias);

  if DbiGetDatabaseDesc(sp,Res) =  0 then Result:= StrPas(Res^.szPhyName)

  else Result:= '';

 finally

  StrDispose(sp);

  Dispose(Res);

 end;

end;

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ°

Аудио-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° диска

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ находящСгося Π² CD-ROM'Π΅ Π°ΡƒΠ΄ΠΈΠΎ-ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π°?

const

 MCI_INFO_PRODUCT              = $00000100;

 MCI_INFO_FILE                 = $00000200;

 MCI_INFO_MEDIA_UPC            = $00000400;

 MCI_INFO_MEDIA_IDENTITY       = $00000800;

 MCI_INFO_NAME                 = $00001000;

 MCI_INFO_COPYRIGHT            = $00002000;

{ Π±Π»ΠΎΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠ³ΠΎ сообщСния MCI_INFO }

type

 PMCI_Info_ParmsA = ^TMCI_Info_ParmsA;

 PMCI_Info_ParmsW = ^TMCI_Info_ParmsW;

 PMCI_Info_Parms  = PMCI_Info_ParmsA;

 TMCI_Info_ParmsA = record

  dwCallback: DWORD;

  lpstrReturn: PAnsiChar;

  dwRetSize: DWORD;

 end;

 TMCI_Info_ParmsW = record

  dwCallback: DWORD;

  lpstrReturn: PWideChar;

  dwRetSize: DWORD;

 end;

 TMCI_Info_Parms = TMCI_Info_ParmsA;

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ возвращаСтся Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ MCI_INFO_MEDIA_IDENTITY Π² Π²ΠΈΠ΄Π΅ строки с дСсятичным числом. Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ элСктронной справкС (Win32 ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ TMediaPlayer).

АппаратноС обСспСчСниС

CD-ROM

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄Π° CD-ROM

Π•ΡΡ‚ΡŒ Π»ΠΈ Win32 API функция, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ НО И Π—ΠΠšΠ Π«Π’Π¬ CD-ROM? Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹ Π½Π΅ Ρ‚ΡΠ½ΡƒΡ‚ΡŒΡΡ Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ ΠΊ Π Π‘, Π° Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ TMediaPlayer ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ Ρ…ΠΎΡ‡Ρƒ, Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒβ€¦

Для закрытия CD-ROM:

mciSendString('Set cdaudio door open wait', nil, 0, handle);

Для открытия CD-ROM:

mciSendString('Set cdaudio door closed wait', nil, 0, handle);

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ MMSystem Π² список ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ (uses).

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ систСма

Π‘ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°