Newsgroup: it.comp.software.newsreader
Titolo: [Dialog] Modificare lo script  "messageIDtoClips.ds"

Succede che ho copiato, compilato e salvato lo script
"MessageIDtoClips.ds", che sembra fare egregiamente il suo lavoro, solo che
preferirei avere l'ID del mex nella forma news:_mexID , anziché nella forma
<mexID>, compreso tra i due simboli "<" e ">". Questo perché quando passo
con il mouse sopra il mexID nella forma <mexID>, Dialog me lo riconosce
come se fosse un indirizzo di email valido (!!!), e apre il programma
prestabilito su WindowsXP, OE 6.0, invece se fosse nella forma corretta
mexID news:mexID, Dialog me lo riconoscerebbe come mexID di un messaggio da
ricercare o nei gruppi di Google, oppure in locale nei corpi dei messaggi.
Spero di essermi spiegato... ^__^
Un caro saluto a tutti.
-- 
Giovanni Aragonesi 
aka Natanaele < email ~
anac...@email.it
~ >
"Cos'è il mio nulla, dinanzi allo stupore che vi attende?" (Rimbaud)


di MLC del 8 Oct 2004 20:24:08 +0200 

 di MLC del 8 Oct 2004 20:24:08 +0200
Se John/Giovanni aka Natanaele vuole, gli sistemerň il M-ID col "news:"
davanti, perň deve avere un po' di pazienza perché dopo aver cambiato PC sto
reinstallando piano piano tutto il software [Dialog naturalmente č stato il
primo :-) ] e allora ho poco tempo.
Cataldo, la n di news deve essere maiuscola o č indifferente?
Altra domanda: le angolari vanno lasciate?
Grazie!
-- 
Maria Luisa C - 04/02/2005 19.37.22

 domanda: le angolari vanno lasciate?
Prendendo come fonte:
                          Usenet Best Practice
                  <draft-ietf-usefor-useage--1.03.txt>
| The followup agent SHOULD also precede the quoted content by an
|    "attribution line" (however, readers are warned not to assume that
|    they are accurate, especially within multiply nested quotations). The
|    following convention for such lines is intended to facilitate their
|    automatic recognition and processing by sophisticated reading agents.
|    The attribution SHOULD contain the name and/or the email address of
|    the precursor's poster, as in
|       Joe D. Bloggs <jdbl...@foo.example> wrote:
|    or
|       Helmut Schmidt <hel...@bar.example> schrieb:
| 
|    The attribution MAY contain also a single newsgroup-name (the one
|    from which the followup is being made), the precursor's message
|    identifier and/or the precursor's Date and Time. Any of these that
|    are present, SHOULD precede the name and/or email address. However,
|    the inclusion or not of such fields SHOULD always be under the
|    control of the poster.
| 
|    To enable this line, and the message identifier and the email address
|    within it, to be recognized (for example to enable suitable reading
|    agents to retrieve the precursor or email its poster by clicking on
|    them), the following conventions SHOULD be observed:
|      o The precursor's message identifier SHOULD be enclosed within
|        <...> or <news:...>
|      o The precursor's poster's email address SHOULD be enclosed within
|        <...>
|      o The various fields may be separated by arbitrary text and they
|        may be folded in the same way as headers, but attributions SHOULD
|        always be terminated by a ":" followed by CRLF.
che ho ritrascritto ancora una volta, a beneficio dei nuovi lettori,
direi che le angolari vadano lasciate, e che la n di news forse non è
importantissimo, ma già che ci siamo meglio metterla minuscola

 importantissimo, ma già che ci siamo meglio metterla minuscola
Thanks!
-- 
Maria Luisa C - 05/02/2005 20.40.13

 ricercare o nei gruppi di Google, oppure in locale nei corpi dei messaggi.
Allora ecco la nuova versione.
Attento perň che funziona solo se gli header *NON* sono visibili (altrimenti
ti ritrovi nella clipboard solo /<news:/
Infatti ho tolto il controllo se sono o no visibili per rendere lo script
piů semplice e perché ho trovato che il controllo non č del tutto
affidabile.
Program GetMID;
uses Forms, StdCtrls;
var
 myForm: TForm;
 myMemo: TMemo;
 MID: string;
Function EmptyClipboard:boolean; external 'EmptyCl...@user32.dll stdcall';
Function OpenClipboard(hWndNewOwner: INTEGER):boolean; external 'OpenCl...@user32.dll stdcall';
Function CloseClipboard:boolean; external 'CloseCl...@user32.dll stdcall';
Procedure ClearCLipboard;
begin
 OpenClipboard(0);
 EmptyClipboard;
 CloseClipboard;
end;
Procedure GetMsgBody;
begin
 ClearClipboard;
 myMemo.Clear;
 ADo('ArticlePane');
 ADo('SelectAll');
 Ado('Copy');
 myMemo.PasteFromClipboard;
end;
Function GetMsgID(var LocMemo: tMemo): string;
var 
 i: integer;
begin
 i := 0;
 result := '';
 while (i < LocMemo.Lines.count-1) and (Result = '') do
 begin
  if Pos('Message-ID:',LocMemo.lines.Strings[i]) = 1 then
   Result := LocMemo.lines.Strings[i]
  else
    i := i+1;
 end; //while
 result := '<news:'+copy(result, 14, Length(result));
end;
Procedure BuildContainers;
begin
 myMemo := tMemo.Create(myForm);
 myMemo.Parent := myForm;
 myMemo.Width := Application.Mainform.width;
end;
Begin
  myForm := tForm.Create(nil);
  lockdisplay;
  try
   BuildContainers;
   ADo('ShowHeaders');
   GetMsgBody;
   ADo('ShowHeaders');
   MID := GetMsgID(myMemo);
   ClearClipboard;
   myMemo.Clear;
   myMemo.Lines.Add(MID);
   myMemo.SelectAll;
   myMemo.CopyToClipboard;
  finally
   unlockdisplay;
   myform.free;
  end;
End.
-- 
Maria Luisa C - 05/02/2005 23.30.07

 Allora ecco la nuova versione.
Grande. Funziona,
grazie.


 di Linux, così imparo qualcosa anch'io :-)
Povero linux prima lo usano con l'hardware peggiore e poi dicono che non
gira in modo decente :-P
-- 
It's hard to make a comeback when you haven't been anywhere.
 
 |\ |       |HomePage   : 
http://nem01.altervista.org
 | \|emesis |XPN (my nr): 
http://xpn.altervista.org