Plugin-Funktionen

library textdll;

uses
SysUtils,
Classes,
Types,
Dialogs;

{$R *.res}

var
strPuffer : string; //DIE STRINGVARIABLE MUß GLOBAL SEIN, UM EINE GRÖßERE TEXTMENGE ZURÜCKGEBEN ZU KÖNNEN, SONST ABSTURZ

{##############################################################################################################}
{##############################################################################################################}

{ GÜLTIG AB AT HTML EDITOR 32.3 }

{##############################################################################################################}
{##############################################################################################################}

//---------------------------------------------------------------------
// BEARBEITET DEN STRING OHNE FORMULAR UND GIBT IHN ZURÜCK
// DIE MAX. GRÖßE EINES STRINGS, DER ZU VB OHNE FEHLER ZURÜCKGEGEBEN
// WERDEN KANN, IST 1200 ZEICHEN (1200 BYTE - SCHON MAL 10000 BYTE) -
// SPEICHERHANDLING VON VB
// DAGEGEN KANN EIN STRING VON MAX. 64000 ZEICHEN PROBLEMLOS
// ÜBERNOMMEN WERDEN
//---------------------------------------------------------------------
function pluginrun(text:PChar):PChar; stdcall;
begin
//****************************************************************************************************
// RÜCKGABE-TYPEN -> UNBEDINGT BEACHTEN -> MUß MIT RÜCKGABETYPEN IN DER FUNKTION pluginbackvalue
// ÜBEREINSTIMMEN !!!
//****************************************************************************************************
//------------------------------------------------------------------------------------------
//WENN EINE WERTERÜCKGABE AN AT HTML EDITOR ERFOLGEN SOLL, MUß DIESE result-ZEILE AKTIVIERT
//WERDEN UND DIE NACHFOLGENDE AUSKOMENTIERT
//BETRIFFT result := 1; UND result := 2; IN DER FUNKTION pluginbackvalue
//------------------------------------------------------------------------------------------
strPuffer := '<html><body>' + #13#10 + text + #13#10 + '</body></html>'; //VORHER IN EINE GLOBALE STRINGVARIABLE PUFFERN,
//SONST ABSTURZ BEI GRÖßERER TEXTMENGE
result := PChar(strPuffer); //WERT ZURÜCKGEBEN

//------------------------------------------------------------------------------------------
//WENN KEINE RÜCKGABE ERFOLGEN SOLL, MUß DIESE result-ZEILE AKTIVIERT WERDEN UND DIE OBER
//AUSKOMMENTIERT
//BETRIFFT result := 0; UND result := 3; IN DER FUNKTION pluginbackvalue
//------------------------------------------------------------------------------------------
//result := nil; //NICHTS ZURÜCKGEBEN
//****************************************************************************************************

end;

{##############################################################################################################}
{##############################################################################################################}

//---------------------------------------------------------------------
// VARIABLE, DIE FESTLEGT, OB EINE WERTERÜCKGABE ERFOLGEN SOLL ODER
// NICHT - ALSO NUR TEXT WIRD ZUR WEITERVEARBEITUNG ÜBERNOMMEN
//---------------------------------------------------------------------
function pluginbackvalue : Integer; stdcall;
begin

//*********************************************************************************
//MITTELS DER RÜCKGABETYPEN KANN DAS VERHALTEN VON AT HTML EDITOR BEEINFLUßT WERDEN
//*********************************************************************************

// RÜCKGABETYP | ERKLÄRUNG | EINSTELLUNG IN ANDERER FUNKTION
//-------------------------------------------------------------------------------------------------------------
// result := 0; | ES WIRD KEIN WERT ZURÜCKGEGEBEN | FUNKTION: pluginrun, RÜCKGABE: result := nil;
// result := 1; | TEXT WIRD ZURÜCKGEGEBEN | FUNKTION: pluginrun, RÜCKGABE: result := PChar(Text);
// result := 2; | DATEINAME WIRD ZURÜCKGEGEBEN | FUNKTION: pluginrun, RÜCKGABE: result := PChar(Dateiname);
// result := 3; | DATEINAME WIRD AN PLUGIN ÜBERGEBEN| FUNKTION: pluginrun, RÜCKGABE: result := nil;

// ZU BEACHTEN IST, DAß BEI result := 2; DIE DATEI MIT DEM KOMPLETTEN PFAD ZURÜCKGEGEBEN WERDEN MUß !
// WENN TEXT AN DAS PLUGIN ÜBERGEBEN WERDEN SOLL, MUß DIESER ZUVOR MARKIERT WERDEN. WIRD KEIN TEXT
// MARKIERT, WIRD AUCH KEIN TEXT AN DAS PLUGIN ÜBERGEBEN !

//result := 0;
result := 1;
//result := 2;
//result := 3;
end;

{##############################################################################################################}
{##############################################################################################################}

//---------------------------------------------------------------------
// NAME DES PLUGINS
//---------------------------------------------------------------------
function pluginname : PChar; stdcall;
begin
result := PChar('HTML-Body');
end;

//---------------------------------------------------------------------
// KURZE BESCHREIBUNG DER FUNKTIONALITÄT DES PLUGINS
//---------------------------------------------------------------------
function plugindescription : PChar; stdcall;
begin
result := PChar('Bettet den selektierten Text in einen HTML-Body ein, so daß sie als HTML-Seite angezeigt werden kann.');
end;

{##############################################################################################################}
{##############################################################################################################}

//---------------------------------------------------------------------
// EXPORTIERT DIE FUNKTION, DIE DURCH DAS EXTERNE PROGRAMM
// ANGESPROCHEN WERDEN SOLLEN
//---------------------------------------------------------------------
exports
pluginrun,
pluginname,
plugindescription,
pluginbackvalue;

{##############################################################################################################}
{##############################################################################################################}

begin
end.