[NEU/UPDATE] @Karl-Heinz - http://kh-rademacher.de/4d/generateOwnMID.html

29/01/2009 - 11:38 von Hermann Hippen | Report spam
Moin Moin :-),

http://kh-rademacher.de/4d/generateOwnMID.html

Zum Ersetzen des alten Script's oder stelle es zusàtzlich ein.

Das angehàngte Script erzeugt eine individuelle MID in der Form, wie du
sie ja aus Swiss_Knife kennst. Dieses ist für L1 gedacht und stellt die
MID in leicht abgewandelter Form da (keine Punkte in NG Kürzel,NG-Name
kleingeschrieben), es zàhlt die Postings in den einzelnen Gruppen. Die
Anzahl der geposteten Artikel für die jeweilige Gruppe erscheint in der
MID.
In der automatisch, im Dialog Verzeichnis, erstellten 'midcounter.ini',
werden alle Gruppen, in die gepostet wird, automatisch eingetragen und
zwar nach Gruppennamen aufsteigend sortiert mit angehàngtem Zàhler für
die jeweilige Gruppe.
Beispiel:

| [STARTGROUPCOUNTER]
| at.test78
| de.alt.test9
| de.comm.software.40tude-dialog'71
| de.comm.software.forte-agent0
| de.comm.software.mozilla.browserB
| de.comm.software.mozilla.mailnews
| de.test23
| hamster.de.configa
| hamster.de.misc#0
| hamster.de.newuserG
| hamster.de.talkq
| hamster.de.tools“
| hamster.test%9
| mail4
| microsoft.public.de.windows.vista.sonstiges=2
| [ENDGROUPCOUNTER]

Es ist etwas einfacher gestrickt und nur etwa halb so gross wie das auf
deiner Seite Eingestellte und benötigt auch keine DLL.

Die von dem Script auf deiner Seite verwendete DLL, beinhaltet ohnehin
Funktionen die zum größten Teil im normalen Sprachumfang des Dialog
Scripteditors enthalten sind. Die im Script auf deiner Seite aus der DLL
verwendetete Funktion zur bildung einer 'Zufallszahl', wird in diesem
Script durch eine zur Erstellung eines Counters ersetzt, so das die DLL
überflüssig ist.

Leider hat DiDi noch nichts zu seiner Lösung für die relative
Pfadnutzung veröffentlicht also muss in diesem Script leider noch der
absolute Pfad, im Kopf des Script's engegeben werden.

| Funktion:

Diese Script erzeugt ein individuelle MID:

<290109.002137.dcs4-d.2771@hesa.ath.cx>

Sie besteht aus Datum.Zeit.Gruppenkürzel.Gruppencounter@Dein FQDN

Der Gruppencounter zeigt in der Mid an, wie viele Postings in einer
Gruppe abgesetzt wurden.
Die FQDNs aus den in den Identitàten eingegeben FQDNs werden benutzt.

Dazu muss im Dialog unter:
Einstellungen->Server, Identitàten, Signaturen..->Identitàten
unten rechts bei 'Generieren aus:' der gewünschte FQDN der Identitàt
eingegeben werden und der Haken gesetzt werden.
Bei 'Dialog generiert Message-IDs' muss ebenfalls der Haken gesetzt
werden.
Dieses Script extrahiert nun den FQDN und bildet mit ihm eine neue MID
in der oben gezeigten Form.

Wird nur bei 'Dialog generiert Message-IDs' ein Haken und bei
'Generieren aus:' kein Haken gesetzt, wird ein von Dialog generierter
FQDN (40tude.net) zur Bildung der individuellen MID benutzt.

Beim ersten Einsatz des Script's (beim ersten Versand eines Postings)
wird automatisch die Datei 'midcounter.ini' (Erlàuterung siehe oben)
angelegt.

Ob es für Mail und/oder News eingesetzt wird, wird wie neuerdings üblich
über den Aufruf gesteuert:

SetIndividualMid( Message, IsEmail ); // NEWS & MAIL
If IsEmail Then SetIndividualMid( Message, IsEmail ); // NUR MAIL
If Not IsEmail Then SetIndividualMid( Message, IsEmail ); // NUR NEWS

Eingebunden wird das Script in OnBeforeSendingMessage:

| Program OnBeforeSendingMessage;
| uses textfile, Forms, Extctrls;

| {$I IndividualMid_include}


| Function OnBeforeSendingMessage(var Message:TStringlist;Servername:string;IsEmail:boolean):boolean;
| Begin
| Result:=True;

| SetIndividualMid( Message, IsEmail ); // NEWS & MAIL | End;


| Begin
| End.


8<-[ IndividualMid_include ]->8
// IndividualMid_include - Stand 29.01.2009
Function MidCountPath:String;
Var Pfad:String;
Begin
// Hier den Pfad zu deinem Dialog Verzeichnis eingeben.
Pfad := 'E:\Programme\40tude Dialog\';
// Ab hier nichts veràndern!
Result := Pfad + 'midcounter.ini';
End;
//--
Function MidCountUpdate(F,NG: String): String;
Var LIST,ListSort : TStringList;
I,Start,Ende : Integer;
Begin
Try
LIST := TStringList.Create;
With List do
Begin
If FileExists(MidCountPath) Then LoadFromFile(F);
If Values[NG]>'' Then Values[NG]:=IntToStr(StrToInt(Values[NG])+1)
Else Begin
ListSort := TStringList.Create;
ListSort.Sorted := True;
If IndexOf('[STARTGROUPCOUNTER]') = -1 Then Add('[STARTGROUPCOUNTER]');
If IndexOf('[ENDGROUPCOUNTER]') = -1 Then Add('[ENDGROUPCOUNTER]');
SaveToFile(F); LoadFromFile(F);
Start:= IndexOf('[STARTGROUPCOUNTER]') ;
Insert(Start + 1,NG + '=1');
Ende := IndexOf('[ENDGROUPCOUNTER]');
For I := Start + 1 To Ende - 1 do ListSort.Add(List[i]);
Repeat Delete(Start + 1) Until Strings[Start + 1]='[ENDGROUPCOUNTER]';
For I := ListSort.Count-1 DownTo 0 Do Insert(Start + 1,ListSort[i]);
ListSort.Free;
End;
SaveToFile(F);
End;
Finally
Result:=List.Values[NG];
LIST.Free;
End;
End;
Function BuildMid( NG:String; FQ:String ):String;
Var I : Integer;
DT, MID, NG_BF, CO : String;
Begin
If NG = 'mail' Then NG_BF := NG Else
Begin
If AnsiPos(',',NG) > 0 Then NG:= Copy( NG, 1, Pos(',',NG) - 1);
NG_BF := NG[1];
For I := 2 To Length(NG) do If ((NG[i] = '-' ) or (NG[i] = '+' ) or (NG[i] = '.' )) Then
NG_BF := Lowercase(NG_BF + NG[i] + NG[i + 1]);
NG_BF := StringReplace(NG_BF,'.','',[rfreplaceall]);
End;
CO := MidCountUpdate(MidCountPath,NG);
DT := FormatDateTime('ddmmYY', DATE) + '.' + FormatDateTime('hhnnss', TIME) + '.';
MID := '<' + DT + NG_BF + '.' + CO + '@' + FQ;
Result := MID;
End;
Procedure SetIndividualMid(Var M:TStringList; IsEmail:Boolean);
Var I : Integer;
NewsG : String;
Begin
I := 0;
If IsEMail Then NewsG:='mail' Else
Repeat
If Pos('Newsgroups:',M[i]) > 0 Then NewsG:=Trim(Copy(M[i],13,Length(M[i])));
I := I + 1;
Until (M[i]='');
I := 0;
Repeat
If Pos('Message-ID:',M[i]) > 0 Then
Begin
M[i] := 'Message-ID: ' + BuildMid(NewsG,Trim(Copy(M[i],Pos('@',M[i])+1,Length(M[i]))));
Exit;
End;
I := I + 1;
Until M[i]='';
End;
8<>8










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

Lesen sie die antworten

#1 Karl-Heinz Rademacher
30/01/2009 - 01:10 | Warnen spam
Hallo °º€øHermannø€º°,

Hermann Hippen schrieb:
http://kh-rademacher.de/4d/generateOwnMID.html

Zum Ersetzen des alten Script's oder stelle es zusàtzlich ein.



Ich muß mal ne Nacht drüber schlafen, vorab schon mal herzlichen
Dank.:-)

Mit freundlichen Gruß,
Karl-Heinz Rademacher.
,--[ Die 40tude Dialog - Seiten! ]
Š http://kh-rademacher.de/4d
Š http://kh-rademacher.de/face
`-

Ähnliche fragen