Scusa il ritardo..........
Mi dispiace deluderti, ma se provi ad includere delle immagini nel testo da visualizzare, che sarebbe poi lo scopo di tutto 'sto sbattimento, vedrai che la formattazione va a puttane un'altra volta....Ho provato a far partire la stringa di testo da posIn+1,+2, in modo da evitare eventuali troncature del testo, ma non sembra funzionare.....
Comunque ti riscrivo il codice ripulito e commentato,spero tu abbia il tempo e la voglia di darmi una mano....io,se riesco a risolvere il problema, penso di andare a cena di pesce per festeggiare...
Il codice è questo:
codice:
<%
sub formattaimmaginietesto
varmediart=articoli("idart")
strSQL="select * from index_articoli_mediateca where idart="&varmediart&" AND NOT align=""attach"" ORDER BY ordine"
''''''''''''''''''''''''''recupero la variabile per cercare nella tabella index_articoli_mediateca quali immagini ho deciso di allegare al testo dell'articolo
set listamedia=conn.execute(strSQL)
set quantimedia=conn.execute("select count(*) as quanti from index_articoli_mediateca where idart="&varmediart)
''''''''''''''''''''''''''conto il numero di immagini che devono comparire insieme al testo'''''''''''''''''''''''''''''''''''''''''''
if listamedia.eof then
%>
<div valign="top" style="text-align:justify;margin-left:5px;margin-right:5px;"><%=articoli("testo")%></div>
<%
'''''''''''''''''''''''''''se non ci sono immagini da includere nel testo formatto il testo e lo stampo a video, altrimenti eseguo il maledetto codice di formattazione delle stringhe'''''''''
else
posIn=1
testo=articoli("testo")
do until listamedia.eof
'''''''''''''''''''''il recordset media va a recuperare l'immagine e le informazioni annesse; questa parte puoi anche saltarla'''''''''''
set media=conn.execute("select * from mediateca where idmedia="&listamedia("idmedia")&" AND NOT tipologia=""all""")
if media.eof=false then
larghezza=media("larghezza")
altezza=media("altezza")
alt=media("testo")
align=listamedia("align")
valign=listamedia("valign")
if altezza > 200 then
larghresize=200
alteresize=int((larghresize*altezza)/larghezza)
else
larghresize=larghezza
alteresize=altezza
end if
''''''''''''''''''''''''''''''''fine della "parte facoltativa", inserisco in un livello separato l'immagine e passo alla parte turbolenta''''''''
%>
<div valign="top" style="margin-left:5px;margin-right:5px;text-align:justify">
<img style="margin-left:2px;margin-top:2px;margin-right:2px;margin-bottom:4px;float:<%=align%>;vertical-alignment:<%=valign%>" src=<%="mediateca/"&media("percorso") %> border=0 alt=<%=alt%> width=<%=larghresize%> height=<%=alteresize%>>
<span style="text-align:justify;margin:4px;">
<%
'''''''''''''MyPos cerca il tag iniziale per identificare il link, iniziando dall'elemento PosIn.Istanziato ad 1,PosIn cerca dall'inizio della stringa testo'''''''
MyPos=Instr(posIn,testo,"<a",1)
if MyPos=0 then
response.write articoli("testo")
else
'''''''''''''se non ci sono link nel codice stampo direttamente il testo;questa istruzione è da migliorare perchè stampa tutto l'articoloper ogni immagine visualizzata,comunque.............''''''''
posIn=Instr(MyPos,testo,"/a>",1)
'''''''''''''''''posIn a questo punto si posiziona alla fine del tag che indica il link'''''''''''''''''''''
stringainiziale=Left(testo,MyPos-1)
'''''''''''''''''stringainiziale mi restituisce la porzione di testo precedente l'inizio del link'''''''''''''''''''''''
link=Mid(testo,MyPos,((posIn+2)-(Len(stringainiziale))))
''''''''''''''''''link mi dovrebbe invece restituire solo il codice corrispondente al link;conto da posIn+2 in modo da comprendere anche i caratteri"a>"''''''''
testo=stringainiziale&link
''''''''''''''''''testo a questo punto è uguale alla porzione di testo precedente il link + link'''''''''''''''''
response.write testo
end if
''''''''''''''''''stampata la prima stringa reistanzio la variabile testo, uguale all'intero testo da visualizzare - la porzione già visualizzata''''''
%>
</span></div>
<%
end if
set media=nothing
testo=Right(articoli("testo"),(Len(articoli("testo"))-(Len(testo)+2)))
listamedia.movenext
loop
end if
end sub
%>