[NEU/TEST] oje_bug_include.ds

30/07/2008 - 20:31 von Hermann Hippen | Report spam
**Supersede: Mir war die Zeile If Pos('begin ',Strings[i]) > 0 Then zu
**tief gerutscht, sie gehört natürlich vor die Repeatschleife und nicht in
**die selbe. Sorry :-( (war aber auch warm gestern)

Auf Anregung von Oliver und Andreas, danke für die Idee :-), wurde das
Script nochmals veràndert.
Die Kennzeichnung entfàllt und muß daher beim Versenden auch nicht mehr
entfernt werden.

Auch bei dieser Variante brauchen wir die ztools.dll, falls noch nicht
vorhanden:
http://www.ewetel.net/~hermann.hippen/zTools.dll , sie muß im
Dialogverzeichnis stehen. 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:

VVar
rf : TReplaceFlags;
//
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
rf := [rfReplaceAll];
With Msg do
Begin
For i := 1 to Count - 1 do
Begin
If Pos('begin ',Strings[i]) > 0 Then
If oje_bug_match(Strings[i]) Then
Repeat
Strings[i] := StringReplace (Strings[i],'begin ',
'begin ', rf);
until Pos('begin ',Strings[i]) = 0;
End;
End;
End;
//

In der Scriptverwaltung auf 'Eigene Scripte' gehen dann Datei->Neues Script
anklicken, den Namen 'oje_bug_include' eingeben (falls nicht schon
vorhanden).
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.

Cu, Hermann Hippen.
Die Tàtigkeit eines Behördenleiters ist beschrànkt.
Sie beschrànkt sich darauf, seine Mitarbeiter zu demotivieren.
 

Lesen sie die antworten

#1 Joachim Reiter
30/07/2008 - 21:20 | Warnen spam
_Hermann Hippen_ tat am 30.07.2008 20:31 Uhr dies kund:

**Supersede: Mir war die Zeile If Pos('begin ',Strings[i]) > 0 Then zu
**tief gerutscht, sie gehört natürlich vor die Repeatschleife und nicht in
**die selbe. Sorry :-( (war aber auch warm gestern)

Auf Anregung von Oliver und Andreas, danke für die Idee :-), wurde das
Script nochmals veràndert.
Die Kennzeichnung entfàllt und muß daher beim Versenden auch nicht mehr
entfernt werden.

Auch bei dieser Variante brauchen wir die ztools.dll, falls noch nicht
vorhanden:
http://www.ewetel.net/~hermann.hippen/zTools.dll , sie muß im
Dialogverzeichnis stehen. 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:

VVar



...Script

Frage... Ist das doppelte 'v' bei VVar (als Teil des Scripts so richtig?

TIA und Gruss... Joachim
Please, no Replies in private e-Mail, unless explicitly requested! Thx!
www.hobbyecke-pc.de - My own hobby, especially incl. Usenet
For information of my system look header 'X-System'!

Ähnliche fragen