Newsgroup: it.comp.software.newsreader
Titolo: [Agent] Come si cambia l'introduction da ng a ng

Sapevo che esisteva un modo in Agent per avere un'introduction diversa
per ogni newsgroup, come per la firma.
Per introduction intendo il testo che appare quando rispondo ai msg.
Quel testo dove c'e' scritto il nome/email di colui al quale rispondo,
l'ora, la data e volendo e' personalizzabile.
Come si personalizza quella di un determinato ng lasciando invariati
gli altri? se possibile...
see ya...
Filippo
ICQ# 70258187
http://web.tiscali.it/myaustralia

gli altri? 
Non credo sia possibile dato che la stringa relativa si trova per tutti
i NG sotto [Message] in Eudora.ini
-- 
Bye
      Vitt

 per ogni newsgroup, come per la firma.
Tutto quel che è possibile fare è in options/posting
preferences/introductions
-- 
Luca - e-mail: p.stevens at 
libero.it

Vitt ha scritto:

OOPS: scusate la confusione.
-- 
Bye
      Vitt

gli altri?
A manina. [in alternativa ti crei una "firma" e la incolli ogni volta al
posto dell'intro con CTRL+I]
Ciao, Alessio.
-- 
Il manuale in italiano di Agent, la guida a FreeAgent, le FAQ di ICSN:
http://spazioinwind.iol.it/sleepers/

per ogni newsgroup, come per la firma.
Sarebbe stato utile anche a me, ma che io sappia non e' possibile farlo
fare in automatico...
-- 
Altair Par
Vogliamo la ristampa di 3x3 occhi! 
http://hey.to/3x3eyes

Altair Par scopri' di avere strani poteri il Thu, 13 Jun 2002 20:56:13
GMT quando alzo' la sua spada al cielo e disse:
| Sarebbe stato utile anche a me, ma che io sappia non e' possibile farlo
| fare in automatico...
tutto e' possibile, basta solo volerlo! ^_^
vedo che usi hamster, per cui puoi fare qualsiasi cosa grazie agli
script!
la versione che hai non ha ancora gli automatition, per cui, se usi uno
script per postare i messaggi, basta che aggiungi li' la chiamata a
questa funzione! se scaricherai una versione aggiornata che ha anche gli
automatition, allora potrai chiamare lo script per le mail/news in out e
verra' chiamato in automatico ^_^
vediamo un po' di fare la funzione che fa al caso tuo:
anzi tutto dobbiamo mettere uno standard in agent per l'intro, cosi' da
filtrarlo in hamster e cambiarlo a piacimento.
es: %From% - %Date% - %Message-Id% - FINE
(nota che la funzione la faccio proprio per questo standard qui, se ne
vuoi un altro modifica la funzione ^_^)
poi vediamo la funzione...
ti metto direttamente il codice per lo script ChangeIntro.hsc
ovviamente lo devi modificare come piu' ti serve!!!
se ci son problemi io sono qui ^_^
#!load hmessage.hsm
if(FileExists(HamNewsOutPath + "*.msg"))
	ChangeIntro(HamNewsOutPath)
endif
quit
Sub ChangeIntro($folder)
	var($msg, $listafiles, $tot_files, $path, $fileName)
	varset($modified, false)
	$msg = ListAlloc
	$listafiles = ListAlloc
	# inserisce in lista tutti i post nella cartella
	ListFiles($listafiles, $folder + "*.msg", true)
	$tot_files = ListCount($listafiles)
	while ($tot_files > 0)
		$path = ListGet($listafiles, $tot_files-1)
		ListLoad($msg, $path)
		# legge l'intro messo da agent
		var($found, $ifrom, $idate, $imid)
		$found = GetIntro($msg, $ifrom, $idate, $imid, " - ", "FINE")
		if ($found)
			# legge il Newsgroup del post
			varset($ng, MsgGetHeader($msg, "Newsgroups:"))
			debug(200, "Newsgroups: ", $ng)
			# intro di default
			varset($intro, "Data: " + $idate + $CRLF + "From: " + $ifrom +_
			       $CRLF + "Message-ID: " + $imid)
 
			# in base al Newsgroup del post mette l'intro adatta
			# non va bene per crosspost, non mi va di implementarlo ancora 
			if ($ng == "it.comp.software.newsreader")
				# cambia l'intro. siccome non tiene conto della lunghezza
				# e potrebbe scrivere una riga lunghissima! attenzione!
				$intro = "Era l'alba di " + $idate + " quando " + $ifrom +
$CRLF +_
				         "decise di scrivere il post " + $imid
			endif
			DeleteIntro($msg, "FINE")
			InsertIntro($msg, $intro)
			ListSave($msg, $path)
		endif
		dec ($tot_files)
	endwhile
	ListFree($msg)
	ListFree($listafiles)
	return ($modified)
endsub
Sub GetIntro($msg, *$ifrom, *$idate, *$imid, $separator, $endIntro)
   varset($len, ListCount($msg))
   varset($found, false)
   # find header/body-separator
   varset($idx, ListIndexOf($msg, "") + 1)
	varset($startBody, $idx)
	if ($idx == -1)
		warning("indice non trovato!")
		return (false)
	endif
	# read lines intro
  	varset($intro, "")
	varset($end, "")
	# suppongo che l'intro di agent non sia maggiore di 6 righe
  	while ($end != $endIntro && $idx < $len && $idx - $startBody < 6)
  		$intro = $intro + ListGet($msg, $idx)
  		debug(200, "Partial intro: ", $intro)
  		RE_Split ($intro, $separator + "+", $ifrom, $idate, $imid, $end)
  		Inc($idx)
	endwhile
	if ($end == $endIntro)
		debug(200, "Intro: ", $intro)
		debug(200, "From: ", $ifrom, $separator, "Date: ", $idate,
$separator, "Message-ID: ", $imid)
		return (true)
	endif
	return (false)
endsub
Sub InsertIntro(*$msg, $intro)
   # find header/body-separator
   varset($idx, ListIndexOf($msg, "") + 1)
	if ($idx == -1)
		warning("indice non trovato!")
		return (false)
	endif
	# insert line intro
   debug(200, "Inserting in list: ", $intro)
   ListInsert($msg, $idx, $intro + $CRLF)
   return (true)
endsub
Sub DeleteIntro(*$msg, $endIntro)
   # find header/body-separator
   varset($idx, ListIndexOf($msg, "") + 1)
	if ($idx == -1)
		warning("indice non trovato!")
		return (false)
	endif
  	varset($intro, "")
  	while (Pos($endIntro, $intro) == 0)
  		$intro = ListGet($msg, $idx)
  		ListDelete($msg, $idx)
	endwhile
   return ($idx)
endsub
-- 
Per riuscire non basta avere un piano, bisogna anche saper improvvisare
   \            |                 |  |          |
  _ \    \   _` |  _|-_)\ \  \ /  __ |  _` |  _||  _` |   \ andrew.harlan
_/  _\_| _|\__,_|_|\___| \_/\_/  _| _|\__,_|_| _|\__,_|_| _| @
infinito.it

script!
Capissi come si usano (al di la' di come si fanno)...
Comunque vediamo subito se riesco a farlo funzionare, ora lo provo: copio
il tuo script cosi' com'e' (se funziona vedro' di modificarlo), invio
questo post, clicco su esegui script e poi mando questo post... spero di
ottenere un risultato migliore dell'ultima volta che ho provato ad usare
uno script.


 - FINE
non funziona ^_^ forse che manchi uno spazio dopo il  -  dopo  la  data?
ossia lo spazio tra - e <aeiuh...
magari non funziona proprio ^_^; anche se a me funzionava... ^^;;;
-- 
"Niente deve essere vero, ma tutto deve sembrare di esserlo"
  / _ | ___ ___/ /______ _    __/ // /__ _____/ /__ ____
 / __ |/ _ Y _  / __/ -_) |/|/ / _  / _ `/ __/ / _ `/ _ \ andrew.harlan
/_/ |_/_//_|_,_/_/  \__/|__,__/_//_/\_,_/_/ /_/\_,_/_//_/  @
infinito.it

 - FINE
Mi pare chiaro che o sbagliato qualcosa... uffa!
Peccato ci avevo sperato, visto che non mi segnalava errori od altro... :o(


ossia lo spazio tra - e <aeiuh...
Ho capito cosa intendi... invece lo spazio c'e'... non so che dire, e' la
seconda volta (su 2 tentativi) che ho problemi con script che invece agli
altri sembrano funzionare perfettamente... non e' che ho una versione
difettosa?
La mia e' la 1.3.23.4 in italiano.
oppure potrebbe anche essere che sono io a sbagliare qualcosa... ma non
capisco cosa...
Comunque ti ringrazio lo stesso, il tuo script me lo conservo che, poi,
quando riesco a capire come funzionano gli script, magari capisco anche
cosa non abbia funzionato...


Altair  Par  scopri' di avere strani poteri il Mon, 17 Jun 2002 22:38:22
GMT quando alzo' la sua spada al cielo e disse:
| non e' che ho una versione difettosa?
| La mia e' la 1.3.23.4 in italiano.
uhm... non credo! dovrebbe essere l'ultima stabile
| oppure potrebbe anche essere che sono io a sbagliare qualcosa... ma non
| capisco cosa...
beh, che dire: e' difficile da capire via ng ^_^
al max continuiamo in privato
| Comunque ti ringrazio lo stesso, il tuo script me lo conservo che, poi,
| quando riesco a capire come funzionano gli script, magari capisco anche
| cosa non abbia funzionato...
impara ad usare gli script: e' carino perche' puoi personalizzare i post
guarda ad esempio il mio X-Newsreader ^___^
-- 
"La lunga notte era calata di nuovo."
