[NEU] L1 Script UnUsedHeaderCount_Include

03/02/2009 - 13:35 von Hermann Hippen | Report spam
S U P E R S E D E 03022009 - 13:35
EINEN EINTRAG IN DER LISTE HINZUGEFÜGT
######################################################################

S U P E R S E D E 03022009 - 13:17
EINEN EINTRAG IN DER LISTE KORRIGIERT
CODE OPTIMIERT
######################################################################

S U P E R S E D E 03022009 - 12:40
LISTE DER HEADER NAMEN ERWEITERT - SOLLTEN JETZT ALLE RFC HEADER DRIN
SEIN UND JETZT AUCH FÜR NEWS & MAIL EINSETZBAR
######################################################################

Moin Moin :-),

Diese kleine Script, stellt eine Ergànzung zum Script
RemoveHeaders_include dar.

Dies Script findet Header im Artikel, die eigentlich überflüssig sind.
Die Namen dieser Header werden, im Verzeichnis 'logs' im Dialog Programm
Verzeichnis , in der Datei 'UUHCDAT.log' gespeichert. Hinter dem Header
Namen steht die Anzahl des Auftretens dieses Headers. So sieht man im
Laufe der Zeit nicht nur welche, teilweise exotischen, Header Namen sich
einige User haben einfallen lassen, man sieht auch wie hàufig sie
benutzt werden und ob es sich lohnt, sie in Removeheaders_include mit
einzubauen, damit sie künftig gelöscht werden.

Die Header, die laut RFC im Header sein müssen, werden im Kopf des
Script's eingetragen. Nur Header die NICHT in dieser Liste stehen,
werden in der Datei eingetragen und gezàhlt.

Sollte in der Datei mal ein Name auftauchen, der eigentlich dort nicht
hingehört, ich also einen Header Namen in der bereits angelegten Liste
im Kopf des Script's vergessen habe, ist das auch keine Drama. Man
löscht den Namen einfach aus der log Datei und fügt den Namen des
Headers im Kopf des Script's ein.

Unten angehàngten Code in den Zwischenspeicher kopieren.
Scriptverwaltung öffnen, Reiter 'Eigene Scripte' wàhlen.
Datei->Neues Script,
Namen eingeben 'UnUsedHeaderCount_include'
In das rechte Fenster den Code aus dem Zwischenspeicher kopieren, dabei
Vorhandenes überschreiben.
Datei->Speichern
Jetzt Ereignisscripte anwàhlen und hier das Ereignisscript
'OnBeforeSavingMessage'.


Das Script werkelt in OnBeforeSavingMessage, wo es wie folgt eingebunden
wird:
| Program OnBeforeSavingMessage;
| uses textfile, Forms, StdCtrls;
| {$I UnUsedHeaderCount_Include}
| Procedure OnBeforeSavingMessage( Var Message : TStringlist;
| Const Servername : String;
| Const IsEmail : Boolean );
| Begin
| If Message.Count = 0 Then Exit;
| If Not IsEmail Then UUHC(Message);
| End;
| Begin
| End.

8<--[ UnUsedHeaderCount_include ]-->8
//UnUsedHeaderCount_include Stand 03.02.2009
Procedure UUHC_INI(Var RFCHeader:TStringList; Var UUHCDATFILE:String);
Var DlgRootDir:String;
Begin
//Hier die Header eingeben die NICHT gezàhlt werden sollen.
RFCHeader.CommaText: 'Also-Control:,Alternate-Recipient:,Apparently-To:,Approved:,Article-Names:,Article-Updates:,'
+ 'Autoforwarded:,Auto-Forwarded:,bcc:,cc:,Client:,Comments:,Content-Base:,Content-Conversion:,'
+ 'Content-Description:,Content-Disposition:,Content-ID:,Content-Identifier:,Content-Language:,'
+ 'Content-Length:,Content-Location:,Content-MD5:,Content-Return:,Content-SGML-Entity:,'
+ 'Content-Transfer-Encoding:,Content-Type:,Control:,Conversion:,Conversion-With-Loss:,'
+ 'Date:,Delivery:,Delivery-Date:,Delivery-Report:,Discarded-X400-IPMS-Extensions:,'
+ 'Discarded-X400-MTS-Extensions:,Disclose-Recipients:,Disposition:,Distribution:,DL-Expansion-History:,'
+ 'DL-Expansion-History-Indication:,Encoding:,Errors-To:,Expires:,Expiry-Date:,Extension:,Fax:,'
+ 'Fcc:,Followup-To:,For-Comment:,For-Handling:,Forwarded:,From ,From:,Generate-Delivery-Report:,'
+ 'History:,ID:,Identifier:,Importance:,Incomplete-Copy:,Information-Types:,In-Reply-To:,Keywords:,'
+ 'Language:,Length:,Lines:,Mailer:,Mail-System-Version:,MD5:,Message-ID:,Message-Type:,'
+ 'MIME-Version:,Mime-Version:,Newsgroups:,Newsreader:,Obsoletes:,Organisation:,Organization:,'
+ 'Original-Encoded-Information-Types:,Originating-Client:,Path:,Phone:,Precedence:,'
+ 'Prevent-NonDelivery-Report:,Priority:,Received:,Recipient:,References:,Reply-By:,Reply-To:,'
+ 'Report:,Resent-:,Resent-bcc:,Resent-cc:,Resent-Date:,Resent-From:,Resent-Message-ID:,'
+ 'Resent-Reply-To:,Resent-Return:,Resent-To:,Return-Path:,Return-Receipt-To:,See-Also:,'
+ 'Sender:,Sensitivity:,Status:,Subject:,Summary:,Supersedes:,Telefax:,To:,'
+ 'Transfer-Encoding:,Type:,Version:X400-Content-Return:,X400-Content-Return:,X-Mailer:,'
+ 'X-Newsreader:,Xref:';

// Hier den Pfad zum Dialog-Programm Verzeichnis angeben:zur Datei UUHCDAT.TXT eingeben
DlgRootDir := 'E:\Programme\40tude Dialog\'
// ab hier nüscht mehr àndern
UUHCDATFILE := DlgRootDir + 'logs\UUHCDAT.TXT';
End;
Procedure UUHC(Var Message: TStringList);
Var RFCHeader,
UUHCDAT : TStringList;
UUHCDATFILE,
tmp : String;
i,j : Integer;
Found : Boolean;
Begin
RFCHeader := TStringList.Create;
UUHCDAT := TStringList.Create;
UUHC_INI(RFCHeader,UUHCDATFILE);
If FileExists(UUHCDATFILE) Then UUHCDAT.LoadFromFile(UUHCDATFILE);
i := 0;
Repeat
j := 0;
Found := False;
Repeat
If Pos(RFCHeader[j],Message[i]) = 1 Then Found := True;
j := j + 1;
until (j = RFCHeader.Count) Or (Found=True);
If (Found = False) And (Message[i][1] >' ') And (Message[i][1] > Chr(9)) Then
Begin
tmp := Copy( Message[i], 1, Pos(':', Message[i]));
If UUHCDAT.Values[tmp] > '' Then UUHCDAT.Values[tmp] := IntToStr(StrToInt(UUHCDAT.Values[tmp]) + 1)
Else UUHCDAT.Add(tmp + '=1');
End;
I := I + 1;
Until Message[i] = '';
UUHCDAT.Sort;
UUHCDAT.SaveToFile(UUHCDATFILE);
RFCHeader.Free;
UUHCDAT.Free;
End;
8<>8

Cu,
Hermann Hippen.
ž' š°º€ø?žžžžž?ø€º°š 'ž
ø€º° '<http://4ds.siteboard.eu>' °º€ø
'ž '40tude-Dialog Scriptwerkstatt' ž'
ø€º°' ž ž ø€º°ššššššš°º€øšž ž '°º€ø
 

Lesen sie die antworten

#1 Hermann Hippen
03/02/2009 - 13:43 | Warnen spam
Hermann »Ingrid« Hippen schrieb in d.c.s.4-d:

S U P E R S E D E 03022009 - 13:35
EINEN EINTRAG IN DER LISTE HINZUGEFÜGT
######################################################################



Das war die letzte Aktualisierung in dieser Version was BUG's oder
Optimierungen angeht, ist also die Final.

Ob und wie das Script künftig erweitert wird, weiss ich natürlich nicht.
Das kommt auf Wünsche/Vorschlàge einzelner User an.

Aber erstmal ist das Script jetzt so fertig.

Cu,
Hermann Hippen.
ž' š°º€ø?žžžžž?ø€º°š 'ž
ø€º° '<http://4ds.siteboard.eu>' °º€ø
'ž '40tude-Dialog Scriptwerkstatt' ž'
ø€º°' ž ž ø€º°ššššššš°º€øšž ž '°º€ø

Ähnliche fragen