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

    stringhe e backslash.. ?

    Ho una variabile che contiene un percorso relativo di un file sul pc dell'utente nella forma, diciamo,

    C:\documenti\nomefile.jpg

    Sto cercando di estrarre il solo nomefile e ho quindi pensato ad un "substr" in cui indice di partenza sia l'ultima occorrenza del backslash e indice finale la lunghezza della stringa.
    Sorge però il problema di non poter scrivere "\" e quindi, per non avere errori in output, ho provato (per semplicità assegno qui il valore a "stringa" ma in effetti essa, in quanto var, è sempre variabile!):

    codice:
    function manipolaStringa() {
    	stringa = "C:\Documenti\Immagini\foto.jpg";
    	inizio = stringa.lastIndexOf("\\");
    	fine = stringa.length;
    	sottoStringa = stringa.substr(inizio, fine);
    	trace(sottoStringa);
    }
    Ma, come purtroppo è facile intuire il risultato del trace è -> \oto.jpg
    Il problema sta ovviamente anche a monte se traccio l'intera stringa ed ogni primo carattere dopo il backslash viene ignorato.
    Tutto pimpante ho provato ulteriormente così:

    codice:
    function manipolaStringa() {
    	stringa = "C:\Documenti\Immagini\foto.jpg";
    	inizio = stringa.lastIndexOf("\\");
    	fine = stringa.length;
    	sottoStringa = stringa.substr(inizio-1, fine);
    	trace(sottoStringa);
    }
    .ma così purtroppo ancora ho -> i\oto.jpg.
    Non sembra che lastIndexOf accetti il carattere in formato esadecimale. In quanto prima volta con una substringa ho esaurito le idee
    Qualcuno ha idea o mi consigliate di postare in altre sezioni del forum..?

    Grazie !!!

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Il codice è questo:

    codice:
    function manipolaStringa() {
    	stringa = "C:\\Documenti\\Immagini\\foto.jpg";
    	inizio = stringa.lastIndexOf("\\") + 1;
    	fine = stringa.length;
    	sottoStringa = stringa.substr(inizio, fine);
    	trace(sottoStringa);
    }
    manipolaStringa();
    è il formato della stringa che è sbagliato, deve arrivare con i doppi slash.

  3. #3
    ok, può andare ma come faccio a farglielo arrivare nel formato che tu mi dici? Esso arriva come risultato di un <input type=""file"> da javascript su popup e poi lo passo al filmato con localconnection.
    In quale punto e in quale modo suggerisci di modificare la stringa?

    P.s.: grazie comunque... sei sempre disponibilissimo

  4. #4
    Preciso che forse è meglio...

    L'obbiettivo è scrivere il nome file in un xml e far sì che sia quello di un'immagine spedita sul server con uno "sfoglia" e php.
    Ho trovato un componente per gestire, o meglio aggirare i limiti di flash con file system, ma non funziona con i proiettori perchè apre comunque dei browser ed io dovrei ottenere che il sistema funzionasse da cd.

    Ho quindi pensato ad un sistema complicato ma che è vicino al successo. Dal priettore apro una popup in cui c'è uno "sfoglia", js raccoglie il testo del file allegato e lo setta come variabile in un filmato sulla stessa popup che poi lo restituisce al proiettore con localConnection...

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Un attimo, non ho capito. E' la finestra esterna che manda a flash il nome del file?

  6. #6
    Esatto! la popup contiene un form html con sfoglia.
    E' Javascript con onChange sul campo input che raccoglie il percorso del file appena selezionato dall'utente e pronto per essere uploadato, lo passa con document.swfmovie.setVariable ad un swf di 5x5 px (non serve che si veda) sulla popup stessa ed è questo mini swf che ridà al filmato principale che deve scrivere il solo nome file in un xml (non importa ovviamente il nome del percorso)

    Il senso è quello di consentire ad un utente di gestire autonomamente una galleria di foto in xml senza che debba digitare manualmente il nome del file su un campo dinamico che modifica l'xml, dopo che l'upload del file è stato eseguito.

    Spero di essere stato più chiaro...

  7. #7
    Ci ho pensato bene e la soluzione è più semplice del previsto. quella di raccattare solo dopo lo "sfoglia" e lo "spedisci sul server" il solo nome file.
    Faccio che il php restituisca a flash solo il nome file, dopo l'upload, che è anche più corretto forse..

    ..ciò non toglie che il problema di come gestire un percorso con i backslash rimane..

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 © 2025 vBulletin Solutions, Inc. All rights reserved.