home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Magazin 1996 September / CD_06_96.ISO / demos / profiin / bibdemop.pa_ / bibdemop.pa
Text File  |  1996-02-21  |  10KB  |  221 lines

  1. { ------------------------------------------------------------------------ }
  2. {                                                                          }
  3. { ****    ***   *   *  *****  ****      ****    ***    ***   *   *         }
  4. { *   *  *   *  *   *  *      *   *     *   *  *   *  *   *  *   *         }
  5. { *   *  *   *  *   *  *      *   *     *   *  *   *  *      *  *          }
  6. { ****   *   *  *   *  ****   ****  *** ****   *****  *      ***           }
  7. { *      *   *  * * *  *      *  *      *      *   *  *      *  *          }
  8. { *      *   *  ** **  *      *   *     *      *   *  *   *  *   *         }
  9. { *       ***   *   *  *****  *   *     *      *   *   ***   *   *         }
  10. {                                                                          }
  11. { Profi Install fⁿr Windows                                                }
  12. { Version 3.0                                                              }
  13. {                                                                          }
  14. { ⌐ 1993-96 Aguacate Jahn und Resch GdbR                                   }
  15. {                                                                          }
  16. { Adresse: Haid-und-Neu-Str. 7 - 9                                         }
  17. {          D-76131 Karlsruhe                                               }
  18. { Telefon: 0721 / 698359                                                   }
  19. { Telefax: 0721 / 174263                                                   }
  20. {                                                                          }
  21. { ------------------------------------------------------------------------ }
  22. {                                                                          }
  23. { LIBRARY: BIBDEMOP.PAS                                                    }
  24. {                                                                          }
  25. { ------------------------------------------------------------------------ }
  26. {                                                                          }
  27. { BESCHREIBUNG:                                                            }
  28. { Quelltext zur Erzeugung einer Bibliothek mit Profi-Install-              }
  29. { Aufrufkonventionen.                                                      }
  30. { Compiler: Borland Pascal 7.0                                             }
  31. {                                                                          }
  32. { ------------------------------------------------------------------------ }
  33.  
  34. library BIBDEMOP;
  35.  
  36. { Ressource dazubinden                                                     }
  37. {$R BIBDEMOP.RES}
  38.  
  39. { ------------------------------------------------------------------------ }
  40. { EINGEBUNDENE BIBLIOTHEKEN                                                }
  41. { ------------------------------------------------------------------------ }
  42. uses
  43.   WinTypes, WinProcs, OWindows, ODialogs, Strings, DLLApp;
  44.  
  45.  
  46. { ------------------------------------------------------------------------ }
  47. { TYPENDEKLARATION                                                         }
  48. { ------------------------------------------------------------------------ }
  49. type
  50. { PI - Variablenfeld                                                       }
  51.   PPIVars  = ^TPIVars;
  52.   TPIVars  = array [0..53] of PChar;
  53.  
  54.  
  55.  
  56. { ------------------------------------------------------------------------ }
  57. { KONSTANTENDEKLARATION                                                    }
  58. { ------------------------------------------------------------------------ }
  59. const
  60. { Feldindexkonstanten fⁿr die PI - Variablen                               }
  61.   KQuelle       = 0;
  62.   KZiel         = 1;
  63.   KAktQuellVz   = 2;
  64.   KAktZielVz    = 3;
  65.   KVar1         = 4;
  66.   KVar2         = 5;
  67.   KVar3         = 6;
  68.   KVar4         = 7;
  69.   KVar5         = 8;
  70.   KVar6         = 9;
  71.   KVar7         = 10;
  72.   KVar8         = 11;
  73.   KVar9         = 12;
  74.   KVar10        = 13;
  75.   KVar11        = 14;
  76.   KVar12        = 15;
  77.   KVar13        = 16;
  78.   KVar14        = 17;
  79.   KVar15        = 18;
  80.   KVar16        = 19;
  81.   KVar17        = 20;
  82.   KVar18        = 21;
  83.   KVar19        = 22;
  84.   KVar20        = 23;
  85.   KVar21        = 24;
  86.   KVar22        = 25;
  87.   KVar23        = 26;
  88.   KVar24        = 27;
  89.   KVar25        = 28;
  90.   KVar26        = 29;
  91.   KVar27        = 30;
  92.   KVar28        = 31;
  93.   KVar29        = 32;
  94.   KVar30        = 33;
  95.   KVar31        = 34;
  96.   KVar32        = 35;
  97.   KVar33        = 36;
  98.   KVar34        = 37;
  99.   KVar35        = 38;
  100.   KVar36        = 39;
  101.   KVar37        = 40;
  102.   KVar38        = 41;
  103.   KVar39        = 42;
  104.   KVar40        = 43;
  105.   KVar41        = 44;
  106.   KVar42        = 45;
  107.   KVar43        = 46;
  108.   KVar44        = 47;
  109.   KVar45        = 48;
  110.   KVar46        = 49;
  111.   KVar47        = 50;
  112.   KVar48        = 51;
  113.   KVar49        = 52;
  114.   KVar50        = 53;
  115.  
  116.  
  117.  
  118. { ------------------------------------------------------------------------ }
  119. { VARIABLEN-DEKLARATION                                                    }
  120. { ------------------------------------------------------------------------ }
  121. var
  122. { Applikationsobjekt zur Verwendung von OWL in DLLs                        }
  123.   VDLLApplication  : DLLAp_TDLLApp;
  124.  
  125.  
  126.  
  127. { ------------------------------------------------------------------------ }
  128. { OBJEKTE                                                                  }
  129. { ------------------------------------------------------------------------ }
  130. type
  131.   TDialName =
  132.     object (TDialog)
  133.       Name: PChar;
  134.       constructor Init(AParent: PWindowsObject; AName: PChar);
  135.       procedure   SetUpWindow; virtual;
  136.       procedure   Ok(var Msg:TMessage); virtual id_First+id_Ok;
  137.     end;
  138.  
  139. { ------------------------------------------------------------------------ }
  140. { Init                                                                     }
  141. { ------------------------------------------------------------------------ }
  142. constructor TDialName.Init(AParent: PWindowsObject; AName: PChar);
  143. begin
  144.   inherited Init(AParent, MakeIntResource(1));              { Dialog laden }
  145.   Name := AName;                            { Zeiger auf Namenstext merken }
  146. end;
  147.  
  148. { ------------------------------------------------------------------------ }
  149. { SetUpWindow                                                              }
  150. { ------------------------------------------------------------------------ }
  151. procedure TDialName.SetUpWindow;
  152. begin
  153.   inherited SetUpWindow;
  154.   SetDlgItemText(HWindow, 200, Name);         { ⁿbergebener Name vorwΣhlen }
  155.   SendDlgItemMsg(HWindow, 200, em_LimitText, 100);   { und Eingabe auf 100 }
  156.                                                        { Zeichen begrenzen }
  157. end;
  158.  
  159. { ------------------------------------------------------------------------ }
  160. { OK                                                                       }
  161. { ------------------------------------------------------------------------ }
  162. procedure TDialName.OK(var Msg:TMessage);
  163. begin
  164.   GetDlgItemText(HWindow, 200, Name, 255);        { bei OK Name ⁿbernehmen }
  165.   inherited OK(Msg);
  166. end;
  167.  
  168.  
  169.  
  170.  
  171. { ------------------------------------------------------------------------ }
  172. { Bibliotheksfunktionen                                                    }
  173. { ------------------------------------------------------------------------ }
  174.  
  175. { ------------------------------------------------------------------------ }
  176. { Kleinschreibung                                                          }
  177. { ------------------------------------------------------------------------ }
  178. function Kleinschreibung(Wnd: hWnd; PIVars: PPIVars): Integer; export;
  179. begin
  180.   AnsiLower(PIVars^[KVar40]);{ Text von Var. 43 in Kleinbuchstaben wandeln }
  181.   Kleinschreibung := 0;                          { kein Fehler aufgetreten }
  182. end;
  183.  
  184. { ------------------------------------------------------------------------ }
  185. { FrageName                                                                }
  186. { ------------------------------------------------------------------------ }
  187. function FrageName(Wnd: hWnd; PIVars: PPIVars): Integer; export;
  188. var
  189.   DLLParent : PWindowsObject;
  190.   Dialog    : TDialName;
  191. begin
  192.   DLLParent := DLLAp_FMakeDLLParent(Wnd);    { Fenster zum Handle erzeugen }
  193.   Dialog.Init(DLLParent, PIVars^[KVar41]);         { Dialog initialisieren }
  194.   if Dialog.Execute = id_Ok                                { und ausfⁿhren }
  195.     then StrCopy(PIVars^[KVar40], 'OK')         { GewΣhlte SchaltflΣche in }
  196.     else StrCopy(PIVars^[KVar40], 'Abbrechen');        { Var. 40 schreiben }
  197.   Dialog.Done;
  198.   Dispose(DLLParent, Done);                { Dummyfenster wieder freigeben }
  199.   FrageName := 0;                                { kein Fehler aufgetreten }
  200. end;
  201.  
  202.  
  203.  
  204.  
  205. { ------------------------------------------------------------------------ }
  206. { EXPORTDEKLARATION                                                        }
  207. { ------------------------------------------------------------------------ }
  208. exports
  209.   Kleinschreibung   index 10,   { Indexvergabe beliebig, da die Funktionen }
  210.   FrageName         index 11;             { ⁿber den Namen gebunden werden }
  211.  
  212.  
  213.  
  214.  
  215. { ------------------------------------------------------------------------ }
  216. { HAUPTPROGRAMM                                                            }
  217. { ------------------------------------------------------------------------ }
  218. begin
  219.   VDLLApplication.Init ('BIBDEMO');   { Dummy-Applikation starten, da▀ OWL }
  220.                           { von Borland Pascal auch in DLLs verwendbar ist }
  221. end.