Newsgroup: it.comp.software.newsreader
Titolo: X MLC (sullo script)


-- 
,---- [*Firma*] ---------------------------.
| In questo istante Alien321 sta sentendo  |
| Nulla                                    |
`------------------------------------------´


La vedi cosě perché in text/plain viene visualizzata col wrapping.
Se guardi gli header in raw vedi che č un'unica stringa su una sola linea.
Purtroppo il problema non č lě.
Lo puoi verificare anche facendo visualizzare le References nella finestra
di PostShow aggiungendo una riga in fondo a OnBeforeSavingMessage (quella
che inizia con |> ):
...
|if fileexists(filePost) then list.LoadFromFile(filePost);
|  inf:='P=' +IntToStr(d)+'  -  ' + GetMessageFrom(Message)+'  - '+GetMessageNG(Message);
|  inf:=inf+#13+#10+GetMessageSubject(Message)+'  -  '+GetMessageDate(Message)+#13+#10;
|> inf:=inf+GetReferences(Message);
|  list.Add(inf);
|  list.SaveToFile(filePost);
...
-- 
Maria Luisa C - 17/03/04 21.37.24, here.
Tutorial e FAQ in italiano su Dialog:
http://fido.altervista.org/Dialog/dialog.php
http://www.lillathedog.net/dialog/faq.html

 
Si ho visto anche in raw mode ma potrebbe esserci delle differenze fra
l'uno e l'altro infatti in un script che avevo scaricato si faceva un
algoritmo differenete per questa eventualità
-- 
box1:
Firma
-
In questo istante Alien321 sta sentendo 
%Titolo
-

 algoritmo differenete per questa eventualità
A me non risulta. Gli script che ho visto tengono conto di questa
eventualità dopo che le References sono state copiate in un Memo o se
vengono prese dagli header nell'article pane. Io le prendo prima che il
messaggio venga salvato: al ritrovamento sono una stringa e basta, secondo
me non ha senso parlare di wrapping di una variabile stringa prima che venga
incollata da qualche parte. Se mi sbaglio, fatemelo sapere.
Approfitto di questo messaggio per far sapere ai "betatester" :) che se
vogliono è pronta una versione (richiesta da daRkSidE) che ha in terza riga
il Message-ID e facendoci doppio clic sopra si apre la finestrella di
ricerca messaggio, poi con Ctrl+V e Invio si viene catapultati direttamente
al messaggio in questione. Se si fa doppio clic su qualunque cosa che non
sia un Message-ID la finestra di PostShow si chiude, come se si fosse
premuto il pulsante "Continua".
Grazie a daRkSidE per avermi dato l'idea.
-- 
Maria Luisa C - 18/03/04 17.03.18, here.


 premuto il pulsante "Continua".
Io ho fatto la stessa cosa +- solo che ho sostituito Il Tmemo Con un
TListBox (volevo mettere un TViewList ma non c'è nel motore di sciprt) ho
messo un po di ordine e ho fatto la ricerca del Message-ID in automatico 
te la devo spedire e vedi se ti piace
-- 
,---- [*Firma*] ---------------------------.
| In questo istante Alien321 sta sentendo  |
| Nulla                                    |
`------------------------------------------´

 te la devo spedire e vedi se ti piace
Lo aspetto.
-- 
Maria Luisa C - 19/03/04 18.05.53, here.


 A me non risulta.
Eppure il folding degli header troppo lunghi è possibile :)
-- 
Fare Well!    FIAG 
http://www.fiag.it
 ~ X-Privat 
http://www.x-privat.org
G             40tude Dialog 2.0.10.1it (beta 33) 
http://snurl.com/dialog
Programmi gratuiti, freeware e non... news:it-alt.comp.software.gratuito

 te la devo spedire e vedi se ti piace
L'ho ricevuto oggi.
Allora:
Sulle References mi cospargo umilmente il capo di cenere perché avevate
ragione tu e Gandalf: evidentemente da qualche parte c'è un folding perché
ho testato la funzione GetReferences che ne tiene conto e ora sembra
funzionare anche nel thread 'maledetto' delle faccine.
Ero così testardamente convinta che non ci potesse essere un folding che mi
sono sempre rifiutata di prenderlo in considerazione...
A questo punto vedi se riesci a risolvere anche il problema di farlo
comparire col timer. Se in timer2 per es. metti:
ADo('GetNewHeadersInSubscribedGroups');
ADo('Script_PostShow');
il problema è che la finestra popup compare mentre ancora si stanno
scaricando i messaggi, quindi con le informazioni della volta precedente.
Non si può usare Sleep perché per quel tempo non puoi interagire con Dialog.
Application.ProcessMessages non serve a un tubo...
Mettere un nuovo timer nel form dà un Access Violation quando lo esegui...
Per il resto ho visto il tuo uso della ListBox, però preferisco continuare
con la Memo perché non ha il problema della mancanza della scrollbar
orizzontale, e perché nel frattempo sono andata avanti con quella
aggiungendo altra roba.
Grazie e facci sapere se trovi una soluzione col timer.
-- 
Maria Luisa C - 21/03/04 15.47.29, here.


 te la devo spedire e vedi se ti piace
L'ho ricevuto oggi.
Allora:
Sulle References mi cospargo umilmente il capo di cenere perché avevate
ragione tu e Gandalf: evidentemente da qualche parte c'è un folding perché
ho testato la funzione GetReferences che ne tiene conto e ora sembra
funzionare anche nel thread 'maledetto' delle faccine.
Ero così testardamente convinta che non ci potesse essere un folding che mi
sono sempre rifiutata di prenderlo in considerazione...
A questo punto vedi se riesci a risolvere anche il problema di farlo
comparire col timer. Se in timer2 per es. metti:
ADo('GetNewHeadersInSubscribedGroups');
ADo('Script_PostShow');
il problema è che la finestra popup compare mentre ancora si stanno
scaricando i messaggi, quindi con le informazioni della volta precedente.
Non si può usare Sleep perché per quel tempo non puoi interagire con Dialog.
Application.ProcessMessages non serve a un tubo...
Mettere un nuovo timer nel form dà un Access Violation quando lo esegui...
Per il resto ho visto il tuo uso della ListBox, però preferisco continuare
con la Memo perché non ha il problema della mancanza della scrollbar
orizzontale, e perché nel frattempo sono andata avanti con quella
aggiungendo altra roba.
Grazie e facci sapere se trovi una soluzione col timer.
-- 
Maria Luisa C - 21/03/04 16.20.29, here.


 funzionare anche nel thread 'maledetto' delle faccine.
WOW! :)



Già! :)
Ma sapessi quanta cenere...
Provala anche tu, devi solo cambiare GetReferences in OnBeforeSavingMessage:
| function GetReferences(Message: TStringList): string;
| var
|   i: integer; 
|   tempStr:String;
| begin
|  i:=0;
|  result:='';
|  while i<Message.count-1 do
|  begin    
|   if Pos('References: ',Message.Strings[i]) >0 then
|   begin  
|    tempStr:=Copy(Message.Strings[i],Pos('<',Message.Strings[i]),Length(Message.Strings[i])-1);
|    i := i+1;
|    while (i < Message.count-1)and(Pos(': ',Message.Strings[i])=0) do
|    begin
|     tempStr:= tempStr+Message.Strings[i];
|     i := i+1;
|    end; //while
|   end; //if
|   i:=i+1;
|  end; //while
|  result:=tempStr;
| end; 
e se hai voglia prova a fare qualche test su qualche thread stregato.
-- 
Maria Luisa C - 21/03/04 16.38.05, here.


 end; 


 Grazie e facci sapere se trovi una soluzione col timer.
Scusa ma tu hai almeno una versione di Delphi Installata ?? Se no procurati
una Personal che è Free per usi nn commerciali ti semplifica la vita ^^


 importante ecco la versione corretta^^
Avevo notato la mancanza del break ma non mi era neanche venuta in mente la
possibilità di un 'References:' nel corpo, che invece potrebbe benissimo
capitare. Grazie!
-- 
Maria Luisa C - 21/03/04 20.36.25, here.


 una Personal che è Free per usi nn commerciali ti semplifica la vita ^^
Sì, ho la Personal di Delphi 6.
Ma in che modo semplifica la vita? Io gli script li faccio in Dialog, perché
così vedo se li compila. Tu li fai in Delphi?
-- 
Maria Luisa C - 21/03/04 20.47.14, here.


 così vedo se li compila. Tu li fai in Delphi?
Be Help di dialog sui script fa pena Help di Delphi risolve le lacuna e poi
hai anche MSHelp per le api che nn guasta mai^^


 Grazie a daRkSidE per avermi dato l'idea.
Figurati. In realtà, ho sfruttato veramente poco l'idea proposta.
Peraltro, mi accorgo che sarebbe quasi sufficiente un pop-up che
facesse apparire in quali newsgroup (e quante) ci sono state risposte
ai miei thread.
Comunque, non ho nemmeno problemi a provare le ultime versioni.
-- 
24.03.2004 10:51:08, daRkSidE