Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 34
  1. #21
    Con questo post, optime mi menerà in qualsiasi caso

    caso 1: il codice non funziona (probabilità 80%) e mi prende pure in giro
    caso 2: il codice funziona (probabilità 5%) e mi fa la predica sull'aiuto facile
    caso 3: mi picchia senza motivo (probabilità 15%)

    cmq non ho resistito alla tentazione


    codice:
    function checkValore(valore,arrVal)
    dim r
    r=-1
    if isArray(arrVal) then
    	for i=0 to ubound(arrVal)
    		if arrVal(i,0)=valore then
    			r=i
    			exit for
    		end if
    	next
    end if
    
    checkValore=r
    end function
    
    dim arr_i,o_i,record_count
    arr_i=0
    record_count=0
    while not rs.eof
    
    temp_arr=split(rs("box_app"),",")
    
    for each valore in temp_arr
    
    	if arr_i=0 then
    		redim matrice(arr_i,1)
    		matrice(arr_i,0)=valore
    		matrice(arr_i,1)=1
    	else
    		
    		o_i=checkValore(valore,matrice)
    		
    		if o_i=-1 then
    			arr_i=arr_i+1
    			redim preserve matrice(arr_i,1)
    			matrice(arr_i,0)=valore
    			matrice(arr_i,1)=1
    		else
    			matrice(o_i,1)=matrice(o_i,1)+1
    		end if
    		
    	end if
    next
    
    erase temp_arr
    record_count=record_count+1
    
    rs.movenext
    wend
    
    response.Write("valori in comune
    ")
    
    for i=0 to ubound(matrice)
    	if matrice(i,1)=record_count then response.Write matrice(i,0) & "
    "
    next

  2. #22
    4. punizione corporale per non aver saputo resistere alla tentazione

  3. #23
    ahhaah...grazie ma...non funziona........dai poi non sto cercando di farmi dare una aiuto semplice ma almeno di capire un po....

  4. #24
    Originariamente inviato da unit52
    ahhaah...grazie ma...non funziona........dai poi non sto cercando di farmi dare una aiuto semplice ma almeno di capire un po....
    uffi voglio un recordset di esempio per divertirmi

    cmq, qual'è l'errore? al massimo prendi spunto e fai il tuo script

  5. #25
    non da nessun errore...semplicemente non ridà niente...
    del tuo codice beh....non ho capito nulla....sono sincero...proprio niente....non so se è quello che intendeva optime, ma proprio non saprei da che parte affrontarlo il tuo codice

    per ora io stavo provando a fare:

    mi crei un array dallo split del primo recordset.
    per ogni scorrimento
    ripeti fino alla fine dei recordset:
    (dal secondo in poi)
    mi splitti il recordset corrente
    e per ogni scorrimento mi controlli se è uguale al valore dell'array nel quale mi trovo
    quindi mi sposto al recordset dopo e via di nuovo
    continuo a scorrere l'array del primo record splittato...

    che ci crediate o no funziona...bene o male....
    non riesco a gestire l'assegnazione del valore in caso sia uguale senza poi cancellarlo allo scorrimento dell'array...spero di essermi capito...
    codice:
    <%
    
    s=split((trs.Fields.Item("box_app").Value), ", " ,-1, 1) 
    
    For i = 0 To UBound(s)
    
    'comincia a scorrere il primo array
    response.write "- valore di confronto :" & s(i) 
    'mi sposta al recordset dopo
    trs.movenext()
    
    'da recordset dopo fino alla fine
    while not trs.eof
    
    'mi crea gli array splittati
    q=split((trs.Fields.Item("box_app").Value), ", " ,-1, 1)
    'dall'inizio alla fine del nuovo array
    for ii=0 to ubound(q)
    'se il valore è uguale a quello del primo array
    if s(i)=q(ii) then
    response.write "- valori di confronto: "& q(ii) &(trs.Fields.Item("nome_trs").Value)
    uty=q(ii)
    
    'fine se il valore è uguale
    end if
    'scorri il valore successivo nell'array
    next
    
    response.write ("-cambia il record")
    'sposta al record principale successivo
    trs.movenext()
    wend
    trs.requery
    response.write ("-fine
    ")
    next 
    %>

  6. #26
    santino se no non è che potresti provare a spiegarmi il tuo codice così vedo se riesco a tirarne fuori qualcosa....a grandi linee, non parola per parola, ma se mi dai qualche spiegazione mi aiuti sicuro...
    hai usato dei comnadi che non avevo mai usato prima....

  7. #27
    visto che una matrice bidimensionale era noiosa da usare in questo caso (a meno di non sapere a priori il numero di righe che avrebbe potuto contenere) ho usato un dictionary:

    codice:
    dim record_count
    record_count=0
    
    dim elementi
    set elementi=server.CreateObject("Scripting.dictionary")
    
    
    while not rs.eof
    
    temp_arr=split(rs("box_app"),",")
    
    	for each valore in temp_arr
    
    
    		if elementi.Exists(trim(valore)) then
    			elementi.Item(trim(valore))=elementi.Item(trim(valore))+1
    		else
    			elementi.add trim(valore),1
    		end if
    	next
    	record_count=record_count+1
    
    
    rs.movenext
    wend
    
    response.Write("valori in comune
    ")
    
    chiavi=elementi.Keys
    for i=0 to elementi.count-1
    	if elementi.Item(chiavi(i))=record_count then response.Write chiavi(i) & "
    "
    next

    dovrebbe funzionare...io l'ho testato con un array usando questo codice:

    codice:
    rs=array("1,2,3","2,3,4","2,3","2,3,5")
    
    dim record_count
    record_count=0
    
    dim elementi
    set elementi=server.CreateObject("Scripting.dictionary")
    
    
    for each box_app in rs
    
    temp_arr=split(box_app,",")
    
    	for each valore in temp_arr
    
    
    		if elementi.Exists(trim(valore)) then
    			elementi.Item(trim(valore))=elementi.Item(trim(valore))+1
    		else
    			elementi.add trim(valore),1
    		end if
    	next
    	record_count=record_count+1
    
    
    next
    
    response.Write("valori in comune
    ")
    
    chiavi=elementi.Keys
    for i=0 to elementi.count-1
    	if elementi.Item(chiavi(i))=record_count then response.Write chiavi(i) & "
    "
    next
    e mi restituisce a ragione 2 e 3 (che sono gli unici presenti in tutti gli elementi)


    la spiegazione?

    codice:
    - creo un dizionario che conterrà come chiavi i valori del recordset e come valore il numero di volte che si ripetono
    
    - scorro il recordset
    - splitto il campo per ottenere i singoli valori
    - per ogni valore ottenuto:
       - controllo se c'è una chiave pari al valore passato
               - se è presente, incremento il suo valore di 1
               - altrimenti la aggiungo inizializzando il valore a 1
    - itero



    se poi optime ci delizia con una matrice bidimensionale, ok

  8. #28
    dunque...stamattina ti avevo risposto con un luuungo post...poi come sia riuscito a cancellarlo tutto in maniera stupida è ancora tutto da capire...
    comunque un sunto:
    grazie santino...ti amo...funziona alla perfezione.(amore platonico sia chiaro....)
    Vorrei poter capire un po meglio quello che mi hai scritto, ma non conoscevo neanche il comando dictionary quindi devo capire un paio di cose prima di poter capire tutto il codice. Comunque credo ti romperò per capire due cose su questo codice che non capisco (al di là del codice...questione di logica)
    Grazie comunque ancora, e se optime volesse effettivamente farmi anche un esempio di array bidimensionale, ne sarei ben felice...
    raramente ho incontrato persone così gentili sui forum...
    grazie ancora

  9. #29
    Originariamente inviato da unit52
    dunque...stamattina ti avevo risposto con un luuungo post...poi come sia riuscito a cancellarlo tutto in maniera stupida è ancora tutto da capire...
    comunque un sunto:
    grazie santino...ti amo...funziona alla perfezione.(amore platonico sia chiaro....)
    Vorrei poter capire un po meglio quello che mi hai scritto, ma non conoscevo neanche il comando dictionary quindi devo capire un paio di cose prima di poter capire tutto il codice. Comunque credo ti romperò per capire due cose su questo codice che non capisco (al di là del codice...questione di logica)
    Grazie comunque ancora, e se optime volesse effettivamente farmi anche un esempio di array bidimensionale, ne sarei ben felice...
    raramente ho incontrato persone così gentili sui forum...
    grazie ancora
    quoto a futura memoria (così come ho quotato il post in cui io e santuzzo_bello_di_mamma_sua siamo stati bollati come due deficienti ) so' cose che fanno sempre piacere

    per l'esempio col bidimensionale, dammi un po' di tempo.

  10. #30
    Originariamente inviato da optime
    quoto a futura memoria (così come ho quotato il post in cui io e santuzzo_bello_di_mamma_sua siamo stati bollati come due deficienti ) so' cose che fanno sempre piacere

    per l'esempio col bidimensionale, dammi un po' di tempo.

    ahahahah...come deficienti???hahahhahahahah....non avete dato subito la soluzione e si sono incaxxati??
    comunque si...se mai avessi tempo per farmi un esempio mi farebbe piacere, considerando anche che appena ho un po di tempo vi chiederò (se avrete voglia di spiegarmelo bene se no fotte...) delucidazione sul codice di santino,visto che ci sono un paio di cose anche solo banali che però non capisco,ne a livello di codice,ne a livello di logica....(me stupido)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.