home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD-ROM Magazin 1996 September
/
CD_06_96.ISO
/
demos
/
profiin
/
bibdemop.pa_
/
bibdemop.pa
Wrap
Text File
|
1996-02-21
|
10KB
|
221 lines
{ ------------------------------------------------------------------------ }
{ }
{ **** *** * * ***** **** **** *** *** * * }
{ * * * * * * * * * * * * * * * * * }
{ * * * * * * * * * * * * * * * * }
{ **** * * * * **** **** *** **** ***** * *** }
{ * * * * * * * * * * * * * * * }
{ * * * ** ** * * * * * * * * * * }
{ * *** * * ***** * * * * * *** * * }
{ }
{ Profi Install fⁿr Windows }
{ Version 3.0 }
{ }
{ ⌐ 1993-96 Aguacate Jahn und Resch GdbR }
{ }
{ Adresse: Haid-und-Neu-Str. 7 - 9 }
{ D-76131 Karlsruhe }
{ Telefon: 0721 / 698359 }
{ Telefax: 0721 / 174263 }
{ }
{ ------------------------------------------------------------------------ }
{ }
{ LIBRARY: BIBDEMOP.PAS }
{ }
{ ------------------------------------------------------------------------ }
{ }
{ BESCHREIBUNG: }
{ Quelltext zur Erzeugung einer Bibliothek mit Profi-Install- }
{ Aufrufkonventionen. }
{ Compiler: Borland Pascal 7.0 }
{ }
{ ------------------------------------------------------------------------ }
library BIBDEMOP;
{ Ressource dazubinden }
{$R BIBDEMOP.RES}
{ ------------------------------------------------------------------------ }
{ EINGEBUNDENE BIBLIOTHEKEN }
{ ------------------------------------------------------------------------ }
uses
WinTypes, WinProcs, OWindows, ODialogs, Strings, DLLApp;
{ ------------------------------------------------------------------------ }
{ TYPENDEKLARATION }
{ ------------------------------------------------------------------------ }
type
{ PI - Variablenfeld }
PPIVars = ^TPIVars;
TPIVars = array [0..53] of PChar;
{ ------------------------------------------------------------------------ }
{ KONSTANTENDEKLARATION }
{ ------------------------------------------------------------------------ }
const
{ Feldindexkonstanten fⁿr die PI - Variablen }
KQuelle = 0;
KZiel = 1;
KAktQuellVz = 2;
KAktZielVz = 3;
KVar1 = 4;
KVar2 = 5;
KVar3 = 6;
KVar4 = 7;
KVar5 = 8;
KVar6 = 9;
KVar7 = 10;
KVar8 = 11;
KVar9 = 12;
KVar10 = 13;
KVar11 = 14;
KVar12 = 15;
KVar13 = 16;
KVar14 = 17;
KVar15 = 18;
KVar16 = 19;
KVar17 = 20;
KVar18 = 21;
KVar19 = 22;
KVar20 = 23;
KVar21 = 24;
KVar22 = 25;
KVar23 = 26;
KVar24 = 27;
KVar25 = 28;
KVar26 = 29;
KVar27 = 30;
KVar28 = 31;
KVar29 = 32;
KVar30 = 33;
KVar31 = 34;
KVar32 = 35;
KVar33 = 36;
KVar34 = 37;
KVar35 = 38;
KVar36 = 39;
KVar37 = 40;
KVar38 = 41;
KVar39 = 42;
KVar40 = 43;
KVar41 = 44;
KVar42 = 45;
KVar43 = 46;
KVar44 = 47;
KVar45 = 48;
KVar46 = 49;
KVar47 = 50;
KVar48 = 51;
KVar49 = 52;
KVar50 = 53;
{ ------------------------------------------------------------------------ }
{ VARIABLEN-DEKLARATION }
{ ------------------------------------------------------------------------ }
var
{ Applikationsobjekt zur Verwendung von OWL in DLLs }
VDLLApplication : DLLAp_TDLLApp;
{ ------------------------------------------------------------------------ }
{ OBJEKTE }
{ ------------------------------------------------------------------------ }
type
TDialName =
object (TDialog)
Name: PChar;
constructor Init(AParent: PWindowsObject; AName: PChar);
procedure SetUpWindow; virtual;
procedure Ok(var Msg:TMessage); virtual id_First+id_Ok;
end;
{ ------------------------------------------------------------------------ }
{ Init }
{ ------------------------------------------------------------------------ }
constructor TDialName.Init(AParent: PWindowsObject; AName: PChar);
begin
inherited Init(AParent, MakeIntResource(1)); { Dialog laden }
Name := AName; { Zeiger auf Namenstext merken }
end;
{ ------------------------------------------------------------------------ }
{ SetUpWindow }
{ ------------------------------------------------------------------------ }
procedure TDialName.SetUpWindow;
begin
inherited SetUpWindow;
SetDlgItemText(HWindow, 200, Name); { ⁿbergebener Name vorwΣhlen }
SendDlgItemMsg(HWindow, 200, em_LimitText, 100); { und Eingabe auf 100 }
{ Zeichen begrenzen }
end;
{ ------------------------------------------------------------------------ }
{ OK }
{ ------------------------------------------------------------------------ }
procedure TDialName.OK(var Msg:TMessage);
begin
GetDlgItemText(HWindow, 200, Name, 255); { bei OK Name ⁿbernehmen }
inherited OK(Msg);
end;
{ ------------------------------------------------------------------------ }
{ Bibliotheksfunktionen }
{ ------------------------------------------------------------------------ }
{ ------------------------------------------------------------------------ }
{ Kleinschreibung }
{ ------------------------------------------------------------------------ }
function Kleinschreibung(Wnd: hWnd; PIVars: PPIVars): Integer; export;
begin
AnsiLower(PIVars^[KVar40]);{ Text von Var. 43 in Kleinbuchstaben wandeln }
Kleinschreibung := 0; { kein Fehler aufgetreten }
end;
{ ------------------------------------------------------------------------ }
{ FrageName }
{ ------------------------------------------------------------------------ }
function FrageName(Wnd: hWnd; PIVars: PPIVars): Integer; export;
var
DLLParent : PWindowsObject;
Dialog : TDialName;
begin
DLLParent := DLLAp_FMakeDLLParent(Wnd); { Fenster zum Handle erzeugen }
Dialog.Init(DLLParent, PIVars^[KVar41]); { Dialog initialisieren }
if Dialog.Execute = id_Ok { und ausfⁿhren }
then StrCopy(PIVars^[KVar40], 'OK') { GewΣhlte SchaltflΣche in }
else StrCopy(PIVars^[KVar40], 'Abbrechen'); { Var. 40 schreiben }
Dialog.Done;
Dispose(DLLParent, Done); { Dummyfenster wieder freigeben }
FrageName := 0; { kein Fehler aufgetreten }
end;
{ ------------------------------------------------------------------------ }
{ EXPORTDEKLARATION }
{ ------------------------------------------------------------------------ }
exports
Kleinschreibung index 10, { Indexvergabe beliebig, da die Funktionen }
FrageName index 11; { ⁿber den Namen gebunden werden }
{ ------------------------------------------------------------------------ }
{ HAUPTPROGRAMM }
{ ------------------------------------------------------------------------ }
begin
VDLLApplication.Init ('BIBDEMO'); { Dummy-Applikation starten, da▀ OWL }
{ von Borland Pascal auch in DLLs verwendbar ist }
end.