[TEST] OjE-Bug-Include.ds

29/07/2008 - 12:46 von Hermann Hippen | Report spam
Ich hab jetzt mal folgendes eingebaut und mit den Postings von Oliver &
Andreas in de.test und alabama.test getestet.

Zum Testen könnt ihr in den genannten Gruppen mal die Bodys der Postings,
in der ein OjE Bug Test erfolgreich war, löschen und über 'Online->Bodies
markierter Artikel laden' nachladen.

Die Zeilen zwischen Begin und End werden nicht gelöscht sondern lediglich
sichtbar gemacht. Das geschieht dadurch, daß vor dem 'begin' ein [OjE]
eingefügt wird. Der Bug ist somit unwirksam, der Versuch als socher
kenntlich gemacht und die Zeilen, zwischen Begin und end, sichtbar.

Zunàchst brauchen wir wieder die ztools.dll
http://www.ewetel.net/~hermann.hippen/zTools.dll , die im Dialogverzeichnis
stehen muss. Bei einigen wurde es in dem Verzeichnis nicht gefunden, dann
kann man es in das c:\windows\system32 Verzeichnis kopieren, dort sollte es
dann auf jeden Fall gefunden werden.

Das folgende Script bitte kopieren:

//
Function RegexMatch( pSubject, pRegex: PChar; IgnoreCase: Boolean ):
Boolean;
external 'zRegexMatch@zTools.dll stdcall';
//
Function oje_bug_match(S:String):Boolean;
Begin
Result:=False;
If RegexMatch(S,'^begin\s{2,100}\d{1,100}\W.+[a-z]',True) Then
Result:=True;
End;
//
Procedure KillOjeBug(var Msg: TStringlist);
Var
i : Integer;
Begin
With Msg do
Begin
For i := 0 to Count - 1 do
Begin
If oje_bug_match(Strings[i]) Then
Begin
Strings[i]:='[OjE] '+ Strings[i];
break;
End;
End;
End;
End;
//

In der Scriptverwaltung auf 'Eigene Scripte' gehen dann Datei->Neues Script
anklicken, den Namen 'oje_bug_include' eingeben.
Jetzt den Inhalt des rechten Fensters durch den Inhalt der Zwischenablage,
komplett überschreiben und das Script nur speichern, nicht compilieren.


Die oje_bug_include.ds wird in OnBeforeSavingMessage (Ereignisscripte), wie
unten dargestellt, eingebunden und aufgerufen.

| program OnBeforeSavingMessage;
| uses textfile, Forms, StdCtrls;
|
| // weitere Include-Files-Namen hier nachfolgend eintragen
| {$I Quote_Correction_Include.ds}
| {$I oje_bug_include.ds}
| procedure OnBeforeSavingMessage( var Message : TStringlist;
| const Servername : String;
| const IsEmail : Boolean );
|
| begin
| KillOjeBug ( Message );
| QuoteCorrection ( Message, IsEmail );
| end;
|
| begin
| end.

Dieses Programm, nach den Änderungen, speichern, compilieren und starten.

Cu, Hermann Hippen.
Lehrer gehen genauso ungern in die Schule wie Schüler.
 

Lesen sie die antworten

#1 Hermann Hippen
29/07/2008 - 13:00 | Warnen spam
Hermann Hippen schrieb in d.c.s.4-d:

[OjeBug]

Zum testen eignet sich z.B. <1n9oqux8ryid2$ in
alabama.test. Von dem Artikel einfach mal den Body löschen und nach Einbau
des Scripts, mit 'Online->Bodys markierter Artikel laden', den Body
nachladen.
Dann sollte, bei erfolgreichem Einbau und bei gefundener ztolls.dll, der
Inhalt des Artikels so aussehen:

[OjE] begin 123:4 Der "Dateiname"
Doppeltes Leerzeichen, Zahl mit Doppelpunkt, "end", Text hinter der Zahl
end

Cu, Hermann Hippen.
Jedes Stück, das mit NEU und/oder
VERBESSERT beschriftet ist, ist es nicht.

Ähnliche fragen