Newsgroup: it.comp.www.asp
Titolo: Ciclo di Rs bloccare esecuzione

Ciao a tutti.
Ho l a mia pagina A.asp da cui effettuo un "POST" verso la B.asp.
Qui creo un RS e con -Cdonts- eseguo la spedizione sul ciclo per la mia
ipotetica mailing list.
Ora dinamicamente nella pagina visualizzo tramite JS l'indirizzo e-mail
in cui in quel momento -Cdonts- spedisce il messaggio....response.write
"<script javascritpt>..."
Sto cercando di creare una situazione in cui quando premo il mio
Bottone di STOP si interrompa il ciclo.
Sino ad ora quando clicco su STOP e riposto su B.asp con dei specifici
valori per il blocco, il sitema prima effettua tutto il ciclo e SOLO
alla fine mi riposta su b.asp.
In definitiva è possibile creare un trucco o qualche workaround che mi
permetta di simulare il bottone STOP/BLOCCO da una pagina asp durante
esecuzione di un ciclo?
Ciao e grazie
Alen

 Bottone di STOP si interrompa il ciclo.
La prima cosa che mi passa per la testa:
imposto a 0 una variabile session, il ciclo ad ogni loop
controlla lo stato della variabile, se è 0 continua, altrimenti
esce, tu col pulsantino ricarichi la pagina e setti ad 1 la var.
-- 
ciao!
....nixs.................................................................
nixs@.
lucchetto.lagirandola.it
togli la SERRATURA per scrivermi
.........................................................................
L'uomo non smette di giocare perché invecchia,
ma invecchia perché smette di giocare.
(George Bernard Shaw)

Ciao Nico,
il problema è che se ho  50 rs...ed incomincia il ciclo e io diciamo
al 15° cerco di andarmene (Ipoteticamente con il bottone stop...che mi
potrebbe ripostare sulla pagine con una variabile FALSE), la cosa non
funziona perchè prima deve finire il ciclo e SOLO alla fine mi esegue
il link...
:((
Idee


e perchè???
esempio:
do while not rs.EOF
      qui fai qualcosa col record
      if variabileSession = True then
            exit do
      end if
      rs.moveNext
loop
chiudi.rs
chiudi.conn
response.Redirect "paginaCheVuoi"
....a naso dovrebbe funzionare... a patto di visualizzare
una pagina (popup?) con un pulsante da premere mentre
sotto lavora il codice, oppure Javascript, boh...


quindi mi stai dicendo che su una solo finestra la cosa non può
andare...vero? Dici di fare partire il tuyttoi e poi sul click su Stop
aprire una pop up, magari sotto la pagina principale così non sideve
che setti una sessione a FALSE?
Il concetto mi è chiaro e lo condivido ma il fatto è che non ci sono
riuscito su si un'unica pagina...il codice ASP viene ovviante eseguito
prima e se la sessione è TRUE come lo è in entrata come faccio a
bloccarlo?
Dici quindi solo con un pop-up?..
Dopo ci provo e ti facci saper...
BYE

 bloccarlo?
infatti, devi trovare il modo di aprire una finestrella (o message box)
contemporaneamente all'avvio del codice, in pratica quando clicchi
su START deve aprirti il popup e mandare in azione il codice, in modo
da poter cambiare la variabile session tramite lo STOP sul popup.
Non l'ho mai fatto, non l'ho verificato, ma a naso... dovrebbe funzionare.


Ciao Noco,
ho provato ma noente non funziona....sul CLICK su stop faccio aprire
una POP UP in cui....
Session("BloccaInvio") = 1
Response.write "<script>self.close()</script>"
Response.End
Ma niente il codice mi viene eseguito sempre fino alla fine...
Session("BloccaInvio") = 0
Do While NOT ObjRs.EOF
    If Session("BloccaInvio") = 1 Then
        Exit Do
    Else
        operazioni varie
    End if
loop
ObjRs.movenext
Ideee??

Per me non si può fare...ieri mi sono scaricato un bel po' di esempi
in giro sul web di mailing list e tutti fanno fare un'unica spedizione
senza stop (parlo sempre di pagine web con il "vecchio" ASP)
Avvisano certo di non fare refresh etc...altrimenti è una doppia
spedizione
Spero che qualche d'uno mi smentisca.
Vuoi provare tu, ti giro i codici hai tempo?
BYE

 senza stop (parlo sempre di pagine web con il "vecchio" ASP)
Non si può fare con la logica che stai seguendo: se lato server esegui
l'invio di tutte le mail non puoi farci nulla.
La logica che io seguirei è del tipo (sto presupponendo che siano tanti gli
indirizzi mail, se non sono molti puoi evitare di fare query ogni volta
indicando a javascript l'array delle e-mail a cui spedire):
a) lato server hai una procedura a cui indichi quale record contiene la
e-mail da inviare; questa procedura estrae l'indirizzo e-mail nella
posizione indicata e invia la singola e-mail
b) lato client all'apertura della pagina gli passi il recordcount per
sapere quante sono
c) partenza:
   c1) visualizzi un div con totale mail da inviare e numero mail già
inviate
   c2) via xmlhttp chiami la pagina lato server che invia la mail
(passandogli ovviamente la posizione della e-mail da inviare)
   c3) aumenti di uno il numero mail inviate
   c4) riprendi da c2 usando però un setTimeout (in modo da dar respiro al
browser e permettere di aggiornare il layout della pagina)
In uno scenario come quello sopra (io lo uso spesso per grossi
aggiornamenti intranet) diventa poi facile mettere un tasto "Stop" che non
fa altro che valorizzare un boolean (poi sopra tra la c3 e la c4 valuti il
boolean, se true fermi il ciclo...), ed ottieni anche un ottimo risultato
visivo che indica l'avanzamento.
E' abbastanza semplice se ti è ben chiaro logica client-server,
funzionalità xmlhttp e javascript, altrimenti potrebbe esserlo.
Il tutto ovviamente in modo generale, poi è personalizzabile a piacere.
-- 
"e mai che mi sia venuto in mente
 di essere più ubriaco di voi
 di essere molto più ubriaco di voi"
									  F.D.A.

Grazie Cristiano per la tu arisposta,
mi faresti un brutale esempio...non ho mai utilizzato xmlhttp
Ciao e garzie

 mi faresti un brutale esempio...non ho mai utilizzato xmlhttp
Conviene se ti documenti pian piano...Cerca con google che troverai qualche
strabilione di esempi.
Vedrai che ne vale la pena e ti cambierà il modo di sviluppare (intranet,
per internet purtroppo siamo in attesa di Opera che non lo supporta,
mannaggia a lei!)
