Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Doppi Spazi non conteggiati in array

    Ciao.
    Ho questo problema.. posto un codice (di esempio) così tagliamo la testa al toro
    *=carattere spazio (32)

    Questo è il record formato MEMO su db Access:
    test||test**test||test*test||

    Succede che se recupero il record e lo elaboro:
    myarray=Split(rs(0),"||")

    Se vado a stampare il myarray(1) mi ritrovo:
    response.write myarray(1)
    test*test

    idem per l'acronimo:
    response.write Split(rs(0),"||")(1)
    test*test

    NON C'E' VERSO DI FARGLI TIRARE FUORI IL DOPPIO SPAZIO (**)!

    Consigli?

  2. #2
    quando stampi a video fai un replace con
    codice:
    & nbsp;
    ma tu scrivilo tutto attaccato... io non ho potuto se no mi visualizzava lo spazio qui sul post
    ...Se avanzo seguitemi... Se indietreggio uccidetemi...
    BiteFight... arruolati con me e non te ne pentirai

  3. #3
    Ti ringrazio...

    Perfetto, funziona perfettamente (anche se non capisco perchè non stampi lo spazio).

    Ora, altra domanda, visto che il codice deve evolversi

    Supponendo ora di dover utilizzare il myarray per una query sql?

    SELECT * FROM tabella WHERE nometest='" & ??? &"'"

    provato a fare un replace con un chr(32) ma nada, non c'è verso di matchare
    (non ditemi di fare un LIKE con i % perchè ho bisogno di un match secco)

    EDIT: mi sono scordato di dire che la query è eseguita non sul db dove si prende il primo RS, ma su un secondo dove è replicato paro paro (quindi con doppi spazi inseriti [controllato proprio che esistano su db e ci sono nel record])


    * * * * *

    Si riesce a capire perchè questo tipo di trimming su un MEMO convertito array? Sembra che il problema stia nel comando vb split, o sbaglio?

  4. #4


    E' mooolto probabile che io debba fare qualche corso di aggiornamento, ma ne sto uscendo pazzo

    PER QUALE MOTIVO, analizzando i dati su db, i doppi o tripli spazi mi vengono codificati con il carattere ASCII 160 invece del 32? (ovviamente a video il risultato è identico, SPAZIO)
    Il singolo spazio è correttamente sul 32, i doppi e tripli sul 160!

    Per questo motivo non riesco in alcun modo a fare matchare le due stringhe

  5. #5
    potrebbe derivare dal fatto che "& # 1 6 0 ;" è l'equivalente di "& n b s p ;".

    niente paura, fai due replace, una per chr(32), l'altra per chr(160) e sei a posto

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.