Fido7AddQuotes
From 40tude Dialog Wiki
This script for correct russian quote.
If you get incoming message from russian newsgroups, 40tDialog does not find any quotes. In xUSSR standard citing will consist of the initials of the interlocutor, plus a symbol of citing, like "JS>".This script will automatically add the necessary symbols ">" in the accepted message and then it will be displayed correctly.

Example 1. Incoming message from groups, like fido7.ru.* as is:

Example2. Incoming message with this script:
I hope features of citing in the specified groups will be taken into account by developers in the following versions and need for this script will disappear. But I by then shall think up still something:)
{*This is russian text:
HanucaHo noKa 4ere3 }+{ony, Ho no gpyroMy He noJ\y4uJ\oCb. nuLLIuTE nuCbMa :)
А если так? - The_CyberShadow
}
I'm Boddy. The script is thought up and write 22.05.2004, by me. Remarks, offers, curses to send on boddy@ua.fm
REM: before 6.06.2004 (fix 13.06.2004) UUENCODED strings may be corrupted, update this script if you using it.
08.02.2005 - updates for Beta 38 - update this script if you using it
09.02.2005 - update for yEncode
program OnBeforeSavingMessage;
procedure AddQuot(Message:TStringlist);
{Writed by Boddy. You can find me - boddy@ua.fm}
var i,posQ, uue1,uue2,uue3:integer;
Temp,Quote,Content:widestring;
IsUUEPresent: boolean;
begin
// WriteToLog('sc start',2);
IsUUEPresent:=false;
// 13.06.2004 - changed (fix) check for UUENCODED strings
// 08.02.2005 - update for Beta 38
// 09.02.2005 - update for yEncode
Temp:=LowerCase(trim(Message.text));
uue1 := pos('section',temp);
if uue1>0 then begin
uue2 := pos('of',temp);
if uue2>0 then begin
uue3 := pos('file',temp);
if (uue1<uue2) and (uue2<uue3) then IsUUEPresent:=true;
end;
end;
i:=0;
uue1 := pos('begin ',temp);
if uue1>0 then begin
uue2 := pos('end',temp);
if uue2>0 then begin
uue3 := 0;
while Message.Strings[i]<>'' do i:=i+1;
while (i<Message.Count-1) and (not IsUUEPresent) do begin
i:=i+1;
if (length(Message.Strings[i])=61) and (pos('m',Message.Strings[i])=1) then
uue3:=uue3+1;
end;
if (uue1<uue2) and (uue3>0) then IsUUEPresent:=true;
end;
end;
i:=0;
uue1 := pos('ybegin ',temp);
if uue1>0 then begin
uue2 := pos('yend',temp);
if uue2>0 then begin
if (uue1<uue2) then IsUUEPresent:=true;
end;
end;
// before 6.06.2004 (fix 13.06.2004) UUENCODED strings may be corrupted,
// update this script if you using it
// 08.02.2005 - update for Beta 38
// update this script if you using it
// 09.02.2005 - update for yEncode
// update this script if you using it
i:=0;
while Message.Strings[i]<>'' do i:=i+1;
while (i<Message.Count-1) and (not IsUUEPresent) do
begin
i:=i+1;
Temp:=trim(Message.Strings[i]);
Content:=Message.Strings[i];
Quote:='';
posQ := pos('>',temp);
if (posQ<>1) and (not IsUUEPresent) then begin
while posQ>0 do
begin
if (posQ<6) then Quote:= Quote+'>';
Temp := copy(Temp,posQ+1,Length(temp)-posQ);
posQ := pos('>',temp);
end;
if ((pos('M', Content)<>1) then
if (length(Content)<>61)) then Message.Strings[i] := Quote+Content;
end;
end;
end;
procedure OnBeforeSavingMessage(var Message: TStringlist; Servername: string; IsEmail: boolean);
begin
AddQuot(Message);
end;
begin
end.