Problemas en la carga y sincronización

Buenas noches tengo un problema con mi iphone 4s que no se carga ni se conecta a la PC y solo se carga apagado, por favor alguna ayuda a este tema.???

Cada tipo de datos ocupa un tamaño fijo y no puedes variarlo, lo que puedes hacer es cambiar el tipo de datos, por ejemplo de float (8 bytes) a single (4 bytes); con esto, lógicamente, no podrás representar los mismos valores.
Si no te vale ninguno de los tipos de datos que hay disponibles podrías implementar algún tipo de algoritmo de compresión o (más sencillo) escalar los datos.
Para lo segundo simplemente tienes que multiplicar el array que generas por un número y convertirlo a array de enteros con o sin signo, el número por el que multipliques dependerá de la señal que generas, por ejemplo si el máximo de tu señal es 1 multiplicas por 255 para aprovechar todo el rango disponible (la mitad si trabajas con signo). En la recepción harías lo contrario: 'desescalar' el valor y convertirlo a flotante. Los problemas de este método son que perderás mucha resolución y que el rango de la señal de entrada debe ser pequeño, la ventaja simplemente que es sencillo.
Adjuntos:
float2U8.vi ‏18 KB

Similar Messages

  • Captura de datos por el puerto serial

    Buenas noches,
    Tengo un problema con la captura de datos por el puerto serial. Logro capturar la cadena de datos, pero el problema es que se desordena la cadena de datos.
    Agradecere cualquier ayuda, ya que soy nuevo en LabView.
    ¡Resuelto!
    Ir a solución.
    Adjuntos:
    dato en desorden.png ‏44 KB
    dato sincronizado.png ‏45 KB

    Parece que el dispositivo conectado simepre transmite sin que haya un comando de inicio; igualmente parece que el paquete de 64 bytes es terminado por un retorno de carro.
    Creo que el problema es que no tienes sincronización entre la transmisión y la lectura: podrías modificar el código para parar la lectura en el retorno de carro, algo así:
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • Porque ya no puedo subir vídeos a youtube

    buenas noches, tengo un problema con la carga de videos a youtube desde hace dos dias, desde que lo actualice con la ultima version me esta dando problemas, es decir que cuando comparto la pelicula que edite en imovie al rato me dicen que la carga ha fallado porque youtube no reconoce el achivo cosa que antes no pasaba.
    no se que hacer porque si lo comparto a quicktime tarda mucho y es imposible subirlo!
    gracias!

    Hi
    May be I misunderstands You to 100% - But I GUESS !
    That You need to - Trash the iDVD pref. file - when iDVD IS NOT RUNNING !
    This file is in Your USER account folder - and in the Library HERE (Not the Library on Root level)
    This Library (in Your User account) is as standard Invisibly - BUT if You press down the alt-key and with this down - point on the top Row Menu (Apple to the far most left) - AND ON the GO menu - Now You see the RIGHT Library in the down folding list.
    Here in this Library - You find a folder - PREFERENCES
    In this You find the file to be removed - com.apple.iDVD.plist
    Drag this file out onto DeskTop / Finder
    NOW first start iDVD - and re-try.
    Might work.
    SORRY - WAS IN WRONG FORUM - Same Medicine goes but the Preference files needed to be moved are one or more of these
    Now try iMovie !
    Good Luck !
    Yours Bengt W

  • Trinkpad x1 carbono se apaga al quitar de la corriente y la bateria esta al 97%

    buenas tardes, tengo una x1 carbono y desde esta mañana tengo un problema, la bateria carga hasta el 97% y si la desconecto de la corriente se apaga que puede ser ?gracias

    Hola, no se si tu bateria es extraible, creo que no porque se trata de un Ultrabook, pero si lo es, y le quitas la bateria y lo conectas a corriente, funciona?
    Puedes que tengas un corto en bateria, pero todo tipo de problemas electronicos deben ser verificados por un servicio tecnico oficial Lenovo, de todas formas, espera mas respuestas.

  • =?Windows-1252?Q?OT:_Selecci=F3n_de_procesador?=

    This is a multi-part message in MIME format.
    ------=_NextPart_000_0009_01C7F9EB.8C1FBEF0
    Content-Type: text/plain;
    charset="Windows-1252"
    Content-Transfer-Encoding: quoted-printable
    Perdonar por el pedazo de OT.. pero tengo una duda. Tengo un
    oferton =
    para un PC con un pentium D820 (2,8 Ghz) que me sale por
    menos de la =
    mitad que un dual coreE6320. =BFMerece la pena?
    Mirar la comparativa... =
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D888502,868123&familyID=
    =3D1
    ------=_NextPart_000_0009_01C7F9EB.8C1FBEF0
    Content-Type: text/html;
    charset="Windows-1252"
    Content-Transfer-Encoding: quoted-printable
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
    Transitional//EN">
    <HTML><HEAD>
    <META http-equiv=3DContent-Type content=3D"text/html; =
    charset=3Dwindows-1252">
    <META content=3D"MSHTML 6.00.2900.3157"
    name=3DGENERATOR>
    <STYLE></STYLE>
    </HEAD>
    <BODY bgColor=3D#ffffff>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2>Perdonar por el pedazo de OT.. =
    pero tengo=20
    una duda. Tengo un oferton para un PC con un pentium D820
    (2,8 Ghz) que =
    me sale=20
    por menos de la mitad que un dual coreE6320. =BFMerece la =
    pena?</FONT></DIV>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2></FONT> </DIV>
    <DIV><FONT face=3D"Trebuchet MS" size=3D2>Mirar
    la comparativa... <A=20
    href=3D"
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D888502,868123&=
    amp;familyID=3D1">
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D8885=
    02,868123&amp;familyID=3D1</A></FONT></DIV>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2></FONT> </DIV>
    <DIV> </DIV></BODY></HTML>
    ------=_NextPart_000_0009_01C7F9EB.8C1FBEF0--

    This is a multi-part message in MIME format.
    ------=_NextPart_000_001C_01C7FA99.770FC150
    Content-Type: text/plain;
    charset="Windows-1252"
    Content-Transfer-Encoding: quoted-printable
    Pues algo raro es.. yo tengo en casa un AMD XP a 1,6 GHz y va
    de =
    fabula... por l=F3gica el Pentium D920 a 2,8 y con 2x1MB de
    cache, en =
    vez de 512kb del amd) tendr=E9 de sobra digo yo... pero por
    si acaso =
    pregunto...
    "=C1lvaro Vidal" <[email protected]> escribi=F3 en
    el mensaje =
    news:[email protected]...
    Personalmente... no lo coger=EDa, yo tengo en el trabajo un
    D920 y no =
    merece la pena, es algo lento y tiene algunos problemas con
    las cargas =
    de trabajo, a veces simplemente se queda el procesador
    colapsado al 50%, =
    y algunas cosillas m=E1s, hace ya m=E1s de a=F1o y medio que
    lo tengo y =
    no me acabo de sentir a gusto con =E9l.
    Saludos, =C1lvaro.
    "Lucas Sevilla" <[email protected]> escribi=F3 en el
    mensaje =
    news:[email protected]...
    Perdonar por el pedazo de OT.. pero tengo una duda. Tengo un
    oferton =
    para un PC con un pentium D820 (2,8 Ghz) que me sale por
    menos de la =
    mitad que un dual coreE6320. =BFMerece la pena?
    Mirar la comparativa... =
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D888502,868123&familyID=
    =3D1
    ------=_NextPart_000_001C_01C7FA99.770FC150
    Content-Type: text/html;
    charset="Windows-1252"
    Content-Transfer-Encoding: quoted-printable
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0
    Transitional//EN">
    <HTML><HEAD>
    <META http-equiv=3DContent-Type content=3D"text/html; =
    charset=3Dwindows-1252">
    <META content=3D"MSHTML 6.00.2900.3157"
    name=3DGENERATOR>
    <STYLE></STYLE>
    </HEAD>
    <BODY bgColor=3D#ffffff>
    <DIV><FONT face=3D"Trebuchet MS" size=3D2>Pues
    algo raro es.. yo tengo =
    en casa un=20
    AMD XP a 1,6 GHz y va de fabula... por l=F3gica el Pentium
    D920 a 2,8 y =
    con 2x1MB=20
    de cache, en vez de 512kb del amd) tendr=E9 de sobra digo
    yo... pero por =
    si acaso=20
    pregunto...</FONT></DIV>
    <BLOCKQUOTE dir=3Dltr=20
    style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT:
    5px; =
    BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    <DIV>"=C1lvaro Vidal" &lt;<A=20
    href=3D"mailto:[email protected]">[email protected]</A>&gt;
    =
    escribi=F3 en=20
    el mensaje <A=20
    =
    href=3D"news:[email protected]">news:fcp9m2$b5c$1@forums=
    .macromedia.com</A>...</DIV>
    <DIV><FONT face=3DArial
    size=3D2>Personalmente... no lo coger=EDa, yo =
    tengo en el=20
    trabajo un D920 y no merece la pena, es algo lento y tiene
    algunos =
    problemas=20
    con las cargas de trabajo, a veces simplemente se queda el
    procesador=20
    colapsado al 50%, y algunas cosillas m=E1s, hace ya m=E1s de
    a=F1o y =
    medio que lo=20
    tengo y no me acabo de sentir a gusto con
    =E9l.</FONT></DIV>
    <DIV><FONT face=3DArial
    size=3D2></FONT> </DIV>
    <DIV><FONT face=3DArial size=3D2>Saludos,
    =C1lvaro.</FONT></DIV>
    <BLOCKQUOTE dir=3Dltr=20
    style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT:
    5px; =
    BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    <DIV>"Lucas Sevilla" &lt;<A=20
    href=3D"mailto:[email protected]">[email protected]</A>&gt;
    escribi=F3 =
    en el mensaje=20
    <A=20
    =
    href=3D"news:[email protected]">news:fco7jf$1hn$1@forums=
    .macromedia.com</A>...</DIV>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2>Perdonar por el pedazo de =
    OT.. pero=20
    tengo una duda. Tengo un oferton para un PC con un pentium
    D820 (2,8 =
    Ghz)=20
    que me sale por menos de la mitad que un dual coreE6320.
    =BFMerece =
    la=20
    pena?</FONT></DIV>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2></FONT> </DIV>
    <DIV><FONT face=3D"Trebuchet MS" size=3D2>Mirar
    la comparativa... <A =
    =
    href=3D"
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D888502,868123&=
    amp;familyID=3D1">
    http://compare.intel.com/pcc/showchart.aspx?mmID=3D8885=
    02,868123&amp;familyID=3D1</A></FONT></DIV>
    <DIV><FONT face=3D"Trebuchet MS"
    size=3D2></FONT> </DIV>
    <DIV> </DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>
    ------=_NextPart_000_001C_01C7FA99.770FC150--

  • Tengo un problema que es muy comun por los foros que e visto pero nadie tiene la respuesta  mi ihpone 4 s solo carga cuando esta apago por que sucede esto

    tengo un problema que es muy comun por los foros que e visto pero nadie tiene la respuesta  mi ihpone 4 s solo carga cuando esta apago por que sucede esto compre el cable original y me funciono solo para restaurarlo a su modo inicial pero despues dejo de funcionar y lo que ayo raro es que solo carga apagado

    Hola yo tengo el mismo problema que tu en mi Decodificador encontraste alguna solucion, te dejo mi EMAIL para ver si podemos estar en contacto para ver algunas solucion saludos!! [email protected]

  • Problemas con adobe reader 7.0 y la impresion de un pdf que se carga en un frame de un fichero php

    Estimada comunidad de programadores , os planteo el siguiente problema
    Tengo problemas con adobe reader 7.0 , a la hora de imprimir un documento pdf via web .Dicho documento se carga en un frame oculto pero no se visualiza solo se imprime .Con adobe 7.0 no se me imprime el documento , porque no se llega a cargar el pluggin de adobe , en cambio con adobe 6.0 si se imprime y si se carga el pluggin.
    function carga()
    parent.resultado.document.frmtext.pdfCargado.value=1
    frameset rows="100%,*" onLoad="carga()"
    frame name="resultado" src="resultado.php3" frameborder="0" scrolling="Auto" marginwidth="0" marginheight="0">
    frame name="oculto" src="clipdf23.php3" scrolling="no" frameborder="0"
    /frameset
    /html
    Ahora escribo parte del codigo de resultado.php3 que manda imprimir el documento pdf que genera clipdf23.php3
    if (document.frmtext.pdfCargado.value=1)
    if (document.frmtext.swEjecutado.value != "1")
    *****-codigo**********
    parent.oculto.focus();
    parent.oculto.print();
    ******_fin codigo**************
    document.frmtext.swEjecutado.value="1";
    Alguien tendria alguna solucion , pensando que no queremos visualizar el pdf en el navegador , solo imprimirlo
    Gracias

    Es muy interesante la pregunta , creo que el fallo es debido a una falla en adobe 7.0 ,pero no se como solucionarlo

  • Últimamente me apareció un problema en mi Ivonne 4s con iOS 7 el problema es que no me carga asta que el celulares apaga y sedes carga ya descargado m carga pero si lo desconectó u lo vuelvo a cargar ya no carga

    Ola kiero que me ayuden últimamente me a aparecido un problema mi iphone solo carga cuando está completamente descargado y se apaga si tiene carga no carga y si esta apagado y esta cargando y lo desconectó ya no vuelve a cargar asta que se descarga x completo que hago

    If you have an Apple store that you can go to, they should be able to change the battery. I'm not sure what the charge would be in your country, but in the US is it generally $79. Check again with the Apple store.

  • Tengo problemas de sincronización en el iTunes 11.1.2.32 y el iOS 7.0.3 deja canciones sin sinconronizar...  y se queda mucho tiempo en el ultimo paso.

    Que hago???

    la verdad tengo exactamente el mismo problema y tengo buscando en la web mas de 3 -5 dias una solucion y las he intentado casi todas.. he reseteado el cell lo he puesto de fabrica lo he puesto en dfu y le he dado reset, cambiado los puertos, usado cable distinto, cable originales, cable de terceros he hecho de todo!

  • Problem carging zen st

    hi everybody,
    my zen stone gb (last firmware) has a little problem; i bought a non-ceati've usb travel power adapter,when i plug it in, the player charge the battery but it turns on and starts playing music. When i disconnect the player from the power adapter it turns off....
    I don 't think it's a problem of the power adapter....it charges the battery, but i don't know why zen turns on and ply music...
    tnx in advance

    Now it'ss working, this thread can be deleted.

  • Mi problema es que mi batería dura mucho para cargar al 100% y cuando carga se descarga muy rápido le compre otra batería y tiene el mismo problema que creen ustedes que pueda ser ?

    por favor ayuda con eso

    Es defici a lludar personas que tralledon su Telefono a otro personas que no son Apple porque el telefono no vas aser los mismo   Estas cerrando Los applicaciones que estan abrieto? Toca las botton de casa dos veses y asi puedes cerar todos Los aplicaciones que estan corriendo. Buena suelte

  • Problema de Sincronización de Apps

    Holas tengo instalado el iTunes 10 y no puedo sincronizar mis apps de mi iPhone 4 y viseversa. Alguien puede ayudarme

    problema de impresión le doy directamente y no me abre, me indica que no reconoce

  • Problem with Flash Lite in Nokia 5800 XpressMusic-Problema con Flash Lite en Nokia 5800 XpressMusic

    I've got a problem playing videos in YouTube with my 5800. Recently I updated my version of Flash Lite to 3.1,  from that day I can't see correctly videos on YouTube, when the the indicator of the bar reaches 1/4 of the totallity of the bar, the sound and image stop, but the indicator continues playing. If i want to see completly a video I have to put the indicator in the start of the bar and wait the load again. Some idea to fix this problem?
    Sorry for my English level.
    Tengo un problema reproduciendo vídeos en YouTube con mi 5800. Hace poco actualicé la versión del Flash Lite a la 3.1 y desde entonces no puedo ver correctamente vídeos de YouTube, cuando el indicador de la barra alcanza 1/4 de la distancia total, se detienen el sonido y la imagen, pero el indicador continúa como si siguiera reproduciendo, es decir para el vídeo es como si siguiera reproduciendo pero ni el sonido ni la imagen continúan., para ver los vídeos tengo que llevar el cursor de carga al principio y esperar la carga de nuevo, es un problema realmente molesto. ¿Alguna idea para solucionarlo?

    Hi,
    I have Nokia 5800XM as well. The YouTube videos are playng fine for me. my FW is 40.0.005 with FL3.1
    Maybe you need to update your device's firmware and FL version.\
    Start Device Manager application on your 5800XM from menu or dialing *#0000#. It will check for new updates and ask you to download them. Remember that these updates are in MBs. I'd recommend update using a WiFi connection or flat-rate data plan.
    Best,
    // chall3ng3r //

  • Problema para arrancar lenovo b590 (UNMOUNTABLE_BOOT_VOLUME)

    Hola a tod@s,
    de buenas a primeras, mi lenovo b590 no arranca, ayer funcionaba perfectamente, y hoy al intentar iniciar me ha salido un error de un "servicio" que apenas me ha dado tiempo a leer cuando se a reiniciado el portatil. Tras esto al intentar arrancar el sistema operativo el lenovo se quedaba colgado apareciendome la pantalla azul de la muerte con el siguiente mensaje: "UNMOUNTABLE_BOOT_VOLUME" (windows 8.1)
    Tras esto el PC se ha quedado pegado (ya van 6horas) en la pantalla de "Intentando realizar reparaciones".
    He buscado información sobre el tema pero no veo nada que se asemeje a mi caso, ya que la verdad, ni siquiere se porque aparece este error de la nada, tengo miedo de perder datos importantes ya que la ultima copia de seguridad la hice hace 1mes. Destacar que estoy de exámenes y necesito el ordenador para realizarlos.
    ¿Algun usuario de este foro me podría aconsejar sobre este problema o que debería de hacer? 
    Si conoceis algun hilo de este tema se agradecería que lo compartieseis.
    Ante todo, gracias por vuestro tiempo
    P.D : no tengo disco de inicio
    ¡Resuelto!
    Ir a solución.

    Claro puede conseguir la imagen de Windows 8.1.
    Usar el recovery es una especie de formateo te deja el ordenador como si fuera la primera vez que lo enciendes, pero te dejaría con Windows 8 y eliminaría todo en C, a través del botón Novo, el proceso de recovery se debe realizar con mas del 50% de carga y conectado al cargador.
    Punto anterior en Windows es el que tu has creado puedes volver a el desde el disco de rescate de Windows, desde Windows 8 en adelante también podrías regresar a Windows de fabrica.
    Instalación limpia me refiero a una nueva instalación de cero en la que cargas un dispositivo extraible con la instalación de Windows.
    Puede ser sobre lo de la descarga esta era un archivo que necesito algún parche?
    Entiendo suele suceder el problemas relacionados a mal arranque con Windows.
    Inicio seguro sigue disponible solo se debe usar un USB de rescate y realizar ciertos pasos, lo ideal seria utilizarlo no desde Windows si no como esta disponible antes  y no como esta configurado a partir de WIndows 8, pero en tu caso no creo que sirviera de mucho.
    Sobre la opción de BIOS me puedes comentar que has echo hasta ahora? si se podría entrar pero ver que sucede pero no se mas detalles.
    Para cargar algún disco de Windows 8/8.1 presionar F12 o Fn+F12 y escoger tu lectora, para entrar a BIOS a través del botón Novo o F2,Fn+F2 al encender el ordenador.
    Esta disponible lo de rescatar tu información con Linux no es complicado y proceder a realizar una nueva instalación.
    Te dejo algunos recursos:
    Conseguir una imagen de Windows https://forums.lenovo.com/t5/Windows-Base-de-conocimientos/Crear-medios-de-instalaci%C3%B3n-Windows-...
    Instalación de cero https://forums.lenovo.com/t5/Windows-Base-de-conocimientos/Instalaci%C3%B3n-de-Windows-8-1-de-cero/t...
    Botón Novo https://forums.lenovo.com/t5/ThinkStation-ThinkServer/Bot%C3%B3n-Novo/ta-p/1791535
    Un saludo.
    @Antony_Vamu
    Comunidad en Español  English Community  Deutsche Community  РусскоязычноеСообщество
    Mis Lenovo: Y560p,Z580,Z500 touch,S920,T400,G50-70 ,Soy voluntario no trabajo para Lenovo, las opiniones expresadas por mi no representan a Lenovo, no se responde a preguntas de manera privada debes crear un nuevo tema, números del centro de llamada Lenovo Aquí , reglas de participación del foro Aquí , si encontraste solución a tu problema marcarlo aceptándolo como solucionado!!!!!

  • Problems with SwingWorker and classes in my new job, ;), can you help me?

    Hi all, ;)
    First of all, sorry about my poor English.
    I have a problem with Swing and Threads, I hope you help me (because I'm in the firsts two weeks in my new job)
    I have two classes:
    Form1: Its a JPanel class with JProgressBar and JLabel inside.
    FormularioApplet: (the main) Its a JPanel class with a form1 inside.
    I have to download a file from a server and show the progress of the download in the JProgressBar. To make it I do this:
    In Form1 I make a Thread that update the progress bar and gets the fole from the server.
    In FormularioApplet (the main) I call to the method getDownloadedFile from Form1 to get the File.
    THE PROBLEM:
    The execution of FormularioApplet finishes before the Thread of Form1 (with download the file) download the file. Then, when I call in FormularioApplet the variable with the file an Exception: Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException is generated.
    First main begins his execution, then call to Form1 (a thread) then continues his execution and when the execution is finished ends the execution os Form1 and his thread.
    How can I do for main class call the function and the Thread download his file after main class assign the file of return method?
    How can I pass information froma class include an a main class. Form1 can't send to main (because main class made a Form1 f1 = new Form1()) any information from his end of the execution. I think if Form1 can say to main class that he finishes is job, then main class can gets the file.
    I put in bold the important lines.
    Note: My level of JAVA, you can see, is not elevated.
    THANKS A LOT
    Form1 class:
    package es.cambrabcn.signer.gui;
    import java.awt.HeadlessException;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    public class Form1 extends javax.swing.JPanel {
        //Variables relacionadas con la clase original DownloadProgressBar
        private InputStream file;
        private int totalCicles;
        private int totalFiles;
        private int currentProgress;
        private SwingWorker worker;
        private ByteArrayOutputStream byteArray;
        private boolean done;
        /** Creates new form prueba */
        public Form1() {
            initComponents();
            this.byteArray = new ByteArrayOutputStream();
            progressBar.setStringPainted(true);
            //this.totalFiles = totalFiles;
            currentProgress = 0;
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">                         
        private void initComponents() {
            label1 = new javax.swing.JLabel();
            progressBar = new javax.swing.JProgressBar();
            statusLabel = new javax.swing.JLabel();
            setBackground(new java.awt.Color(255, 255, 255));
            setMaximumSize(new java.awt.Dimension(300, 150));
            setMinimumSize(new java.awt.Dimension(300, 150));
            setPreferredSize(new java.awt.Dimension(300, 150));
            label1.setFont(new java.awt.Font("Arial", 1, 18));
            label1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label1.setText("Barra de progreso");
            statusLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            statusLabel.setText("Cargando");
            org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
            this.setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                    .addContainerGap()
                    .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, statusLabel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, progressBar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, label1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 280, Short.MAX_VALUE))
                    .addContainerGap())
            layout.setVerticalGroup(
                layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label1)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(statusLabel)
                    .addContainerGap(73, Short.MAX_VALUE))
        }// </editor-fold>                       
        // Declaraci�n de variables - no modificar                    
        private javax.swing.JLabel label1;
        private javax.swing.JProgressBar progressBar;
        private javax.swing.JLabel statusLabel;
        // Fin de declaraci�n de variables                  
        public byte[] getDownloadedFile(String documentToSign){
             //Variables locales
             byte puente[] = null;
             try{
                //Leemos el documento a firmar
                StringTokenizer st = new StringTokenizer(documentToSign, ";");
                Vector<URL> fileURL = new Vector<URL>();
                HttpSender sender = new HttpSender(null);
                //Introducimos la lista de URLs de archivos a bajar en el objeto Vector
                for(; st.hasMoreTokens(); fileURL.add(new URL(st.nextToken())));
                //Para cada URL descargaremos un archivo
                for(int i = 0; i < fileURL.size(); i++) {
                    file = sender.getMethod((URL)fileURL.get(i));
                    if(file == null) {
                        Thread.sleep(1000L);
                        throw new RuntimeException("Error descarregant el document a signar.");
                    System.out.println("Form1 Dentro de getDownloadFile, Antes de startDownload()");
                    //Fijamos el valor del n�mero de ciclos que se har�n seg�n el tama�o del fichero
                    this.totalCicles = sender.returnCurrentContentLength() / 1024;
                    this.progressBar.setMaximum(totalCicles);
                    //Modificamos el texto del JLabel seg�n el n�mero de fichero que estemos descargando
                    this.statusLabel.setText((new StringBuilder("Descarregant document ")).append(i + 1).append(" de ").append(fileURL.size()).toString());
                    statusLabel.setAlignmentX(0.5F);
                    *//Iniciamos la descarga del fichero, este m�todo llama internamente a un Thread*
                    *this.startDownload();*
                    *System.out.println("Form1 Dentro de getDownloadFile, Despu�s de startDownload()");*
                    *//if (pane.showProgressDialog() == -1) {*
                    *while (!this.isDone()){*
                        *System.out.println("No est� acabada la descarga");*
                        *if (this.isDone()){*
                            *System.out.println("Thread ACABADO --> Enviamos a puente el archivo");*
                            *puente = this.byteArray.toByteArray();*
                            *System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);*
                        *else{*
                            *Thread.sleep(5000L);*
    *//                        throw new RuntimeException("Proc�s de desc�rrega del document a signar cancel�lat.");*
            catch (HeadlessException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("UI: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (MalformedURLException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (HttpSenderException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            catch (InterruptedException e) {
                    //javascript("onSignError", new String[] {
                    //(new StringBuilder("CMS: ")).append(e.getMessage()).toString()});
            e.printStackTrace();
            //System.out.println("Form1 getDownloadFile() tama�o puente: " + puente.length);
            return puente;
        public void updateStatus(final int i){
            Runnable doSetProgressBarValue = new Runnable() {
                public void run() {
                    progressBar.setValue(i);
            SwingUtilities.invokeLater(doSetProgressBarValue);
        public void startDownload() {
            System.out.println("Form1 Inicio startDownload()");
            System.out.println("Form1 Dentro de startDownload, antes de definir la subclase SwingWorker");
            System.out.println(done);
            worker = new SwingWorker() {
                public Object construct() {
                    System.out.println("Form1 Dentro de startDownload, dentro de construct(), Antes de entrar en doWork()");
                    return doWork();
                public void finished() {
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Antes de asignar done = true");
                    System.out.println(done);
                    done = true;
                    System.out.println("Form1 Dentro de startDownload, dentro de finished(), Despu�s de asignar done = true");
                    System.out.println(done);
                    statusLabel.setText("Completado, tama�o del archivo: " + (byteArray.size() / 1024) + "KB");
            System.out.println("Form1 Dentro de startDownload, antes de worker.start()");
            worker.start();
            System.out.println("Form1 Dentro de startDownload, antes de salir de startDownload");
            System.out.println(done);
            System.out.println("Form1 Dentro de startDownload, despu�s de worker.start()");
         * M�todo doWork()
         * Este m�todo descarga por partes el archivo que es necesario descargar, adem�s de actualizar
         * la barra de carga del proceso de carga de la GUI.
        public Object doWork() {
            System.out.println("Form1 doWork() this.byteArray.size(): " + this.byteArray.size());
            try {
                byte buffer[] = new byte[1024];
                for(int c = 0; (c = this.file.read(buffer)) > 0;) {
                    this.currentProgress++;
                    updateStatus(this.currentProgress);
                    this.byteArray.write(buffer, 0, c);
                this.byteArray.flush();
                this.file.close();
                this.currentProgress = totalCicles;
                updateStatus(this.currentProgress);
            } catch(IOException e) {
                e.printStackTrace();
            System.out.println("Form1 doWork() FINAL this.byteArray.size(): " + this.byteArray.size());
            //done = true;
            System.out.println("AHORA DONE = TRUE");
            return "Done";
        public boolean isDone() {
            return this.done;
    FormularioApplet class (main)
    package es.cambrabcn.signer.gui;
    import java.awt.Color;
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.net.URL;
    import java.security.Security;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import javax.swing.SwingUtilities;
    import netscape.javascript.JSObject;
    import org.bouncycastle.jce.provider.BouncyCastleProvider;
    import sun.security.provider.Sun;
    import be.cardon.cryptoapi.provider.CryptoAPIProvider;
    public class FormularioApplet extends java.applet.Applet {
        //Variables globales
        int paso = 0;
        private static final String JS_ONLOAD = "onLoad";
        private static final String JS_ONLOADERROR = "onLoadError";
        private static final int SIGNATURE_PDF = 1;
        private static final int SIGNATURE_XML = 2;
        //private String signButtonValue;
        private int signatureType;
        private String documentToSign;
        private String pdfSignatureField;
        private Vector<String> outputFilename;
        private Color appletBackground = new Color(255, 255, 255);
        private Vector<byte[]> ftbsigned;
         * Initializes the applet FormularioApplet
        public void init(){
            try {
                SwingUtilities.invokeLater(new Runnable() {
                //SwingUtilities.invokeAndWait(new Runnable() {
                //java.awt.EventQueue.invokeAndWait(new Runnable() {
                    public void run() {
                        try{
                            readParameters();
                            initComponents();
                        catch(FileNotFoundException e){
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();                       
                        catch(IOException e) {
                            javascript(JS_ONLOADERROR, new String[] {
                                (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                            e.printStackTrace();
            catch (Exception e) {
                javascript(JS_ONLOADERROR, new String[] {
                    (new StringBuilder("Init: ")).append(e.getMessage()).toString()});
                e.printStackTrace();
            javascript(JS_ONLOAD, null);
        /** This method is called from within the init() method to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        // <editor-fold defaultstate="collapsed" desc=" C�digo Generado ">
        private void initComponents() {
            this.setSize(350, 450);
            appletPanel = new javax.swing.JPanel();
            jPanel1 = new javax.swing.JPanel();
            jTextField1 = new javax.swing.JLabel();
            jPanel2 = new javax.swing.JPanel();
            label = new javax.swing.JLabel();
            jPanel3 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            setLayout(new java.awt.BorderLayout());
            appletPanel.setBackground(new java.awt.Color(255, 255, 255));
            appletPanel.setMaximumSize(new java.awt.Dimension(350, 430));
            appletPanel.setMinimumSize(new java.awt.Dimension(350, 430));
            appletPanel.setPreferredSize(new java.awt.Dimension(350, 430));
            jPanel1.setBackground(new java.awt.Color(255, 255, 255));
            jPanel1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            jTextField1.setFont(new java.awt.Font("Arial", 1, 18));
            jTextField1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            jTextField1.setText("SIGNATURA ELECTRONICA");
            org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
            jPanel1.setLayout(jPanel1Layout);
            jPanel1Layout.setHorizontalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel1Layout.setVerticalGroup(
                jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel1Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jTextField1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2.setBackground(new java.awt.Color(255, 255, 255));
            jPanel2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            label.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
            label.setIcon(new javax.swing.ImageIcon("C:\\java\\workspaces\\cambrabcn\\firmasElectronicas\\logo.gif"));
            org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
            jPanel2.setLayout(jPanel2Layout);
            jPanel2Layout.setHorizontalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                    .addContainerGap())
            jPanel2Layout.setVerticalGroup(
                jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(jPanel2Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(label)
                    .addContainerGap(229, Short.MAX_VALUE))
            jPanel3.setBackground(new java.awt.Color(255, 255, 255));
            jPanel3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 102, 204)));
            //this.jButton1.setVisible(false);
            //this.jButton2.setVisible(false);
            jButton1.setText("Seg\u00fcent");
            jButton1.setAlignmentX(0.5F);
            //Cargamos el primer formulario en el JPanel2
            loadFirstForm();
            //Modificamos el texto del bot�n y el contador de pasos.
            //this.jButton1.setText("Siguiente");
            //this.jButton1.setVisible(true);
            //this.jButton2.setVisible(true);
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jButton2.setText("Cancel\u00b7lar");
            jButton2.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton2ActionPerformed(evt);
            org.jdesktop.layout.GroupLayout jPanel3Layout = new org.jdesktop.layout.GroupLayout(jPanel3);
            jPanel3.setLayout(jPanel3Layout);
            jPanel3Layout.setHorizontalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jButton1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 94, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 112, Short.MAX_VALUE)
                    .add(jButton2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 102, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            jPanel3Layout.setVerticalGroup(
                jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, jPanel3Layout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel3Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                        .add(jButton2)
                        .add(jButton1))
                    .addContainerGap())
            org.jdesktop.layout.GroupLayout appletPanelLayout = new org.jdesktop.layout.GroupLayout(appletPanel);
            appletPanel.setLayout(appletPanelLayout);
            appletPanelLayout.setHorizontalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(org.jdesktop.layout.GroupLayout.LEADING, jPanel3, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addContainerGap())
            appletPanelLayout.setVerticalGroup(
                appletPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                .add(org.jdesktop.layout.GroupLayout.TRAILING, appletPanelLayout.createSequentialGroup()
                    .addContainerGap()
                    .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(jPanel3, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
            add(appletPanel, java.awt.BorderLayout.CENTER);
        }// </editor-fold>
        private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
            this.destroy();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
            changeForms(this.paso);
        // Declaraci�n de variables - no modificar
        private javax.swing.JPanel appletPanel;
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        private javax.swing.JPanel jPanel3;
        private javax.swing.JLabel jTextField1;
        private javax.swing.JLabel label;
        // Fin de declaraci�n de variables
         * M�todo readParameters
         * M�todo que inicializa los valores de los par�metros internos, recibidos por par�metro.
        private void readParameters() throws FileNotFoundException, IOException {
             ???????????????? deleted for the forum
            addSecurityProviders();
         * M�tode loadFirstForm
         * Aquest m�tode carrega a jPanel2 el formulari que informa sobre la c�rrega dels arxius
        private void loadFirstForm(){
            //Form1 f1 = new Form1(stream, i + 1, fileURL.size(), sender.returnCurrentContentLength(), appletBackground);
            //Form1 f1 = new Form1(fileURL.size(), sender.returnCurrentContentLength());
            Form1 f1 = new Form1();
            //Lo dimensionamos y posicionamos
            f1.setSize(310, 150);
            f1.setLocation(10, 110);
            //A�adimos el formulario al JPanel que lo contendr�
            this.jPanel2.add(f1);
            //Validem i repintem el JPanel
            jPanel2.validate();
            jPanel2.repaint();
            //Descarreguem l'arxiu a signar
            *System.out.println("FormularioApplet Dentro de loadFirstForm(), antes de llamar a getDownloadFile()");*
            *byte obj[] = f1.getDownloadedFile(this.documentToSign);*
            if (obj == null){
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) es NULL");
            else{
                System.out.println("Lo que devuelve f1.getDownloadedFile(this.documentToSign) NO es NULL");
                System.out.println("obj: " + obj.length);
            this.ftbsigned.add(obj);
            System.out.println("FormularioApplet Dentro de loadFirstForm(), despu�s de llamar a getDownloadFile()");
            //Indicamos que el primer paso ya se ha efectuado
            this.paso++;
         * M�tode changeForms
         * Aquest m�tode carrega a jPanel2 un formulari concret segons el valor de la variable global "paso"
        private void changeForms(int paso){
            /*A cada paso se cargar� en el JPanel y formulario diferente
             * Paso previo: Se realiza en la inicializaci�n, carga el formulario, descarga el archivo y muestra la barra de carga.
             * Case 1: Se carga el formulario de selecci�n de tipo de firma.
             * Case 2: Se carga el formulario de datos de la persona que firma.
            this.paso = paso;
            switch(paso){
                case 1:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form2 f2 = new Form2();
                    //Lo dimensionamos y posicionamos
                    f2.setSize(310, 185);
                    f2.setLocation(10, 110);
                    //Quitamos el formulario 1 y a�adimos el formulario 2 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f2);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el contador de pasos.
                    this.paso++;
                    break;
                case 2:
                    //Creamos un objeto de formulario (seleccion de tipo de firma)
                    Form3 f3 = new Form3();
                    //Lo dimensionamos y posicionamos
                    f3.setSize(310, 175);
                    f3.setLocation(15, 130);
                    //Quitamos el formulario 1 y a�adimos el formulario 3 al JPanel
                    this.jPanel2.remove(1);
                    this.jPanel2.add(f3);
                    //Validem i repintem el JPanel
                    jPanel2.validate();
                    jPanel2.repaint();
                    //Modificamos el texto del bot�n y el contador de pasos.
                    this.jButton1.setText("Finalizar");
                    this.paso++;
                    break;
                default:
                    //Finalizar el Applet
                    //C�digo que se encargue de guardar el archivo en el disco duro del usuario
                    break;
        private void addSecurityProviders() throws FileNotFoundException, IOException {
            Security.addProvider(new CryptoAPIProvider());
            if (signatureType == SIGNATURE_PDF) {
                Security.addProvider(new BouncyCastleProvider());
            else {
                Security.addProvider(new Sun());
        private File createOutputFile(String filename, int index) {
            return new File((String)outputFilename.get(index));
        protected Object javascript(String function, String args[]) throws RuntimeException {
            //Remove
            if (true) return null;
            try {
                Vector<String> list = new Vector<String>();
                if(args != null) {
                    for(int i = 0; i < args.length; i++) {
                        list.addElement(args);
    if(list.size() > 0) {
    Object objs[] = new Object[list.size()];
    list.copyInto(objs);
    return JSObject.getWindow(this).call(function, objs);
    } catch(UnsatisfiedLinkError e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    } catch(Throwable e) {
    e.printStackTrace();
    throw new RuntimeException((new StringBuilder()).append(e).append("\nFunci�: ").append(function).toString());
    return JSObject.getWindow(this).call(function, new Object[0]);
    Edited by: Kefalegereta on Oct 31, 2007 3:54 AM
    Edited by: Kefalegereta on Oct 31, 2007 4:00 AM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Look at iOS Troubleshooting Wi-Fi networks and connections  http://support.apple.com/kb/TS1398
    iPad: Issues connecting to Wi-Fi networks  http://support.apple.com/kb/ts3304
    iOS: Recommended settings for Wi-Fi routers and access points  http://support.apple.com/kb/HT4199
    Additional things to try.
    Try this first. Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
    Go to Settings>Wi-Fi and turn Off. Then while at Settings>Wi-Fi, turn back On and chose a Network.
    Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
    Another thing to try - Go into your router security settings and change from WEP to WPA with AES.
    How to Quickly Fix iPad 3 Wi-Fi Reception Problems
    http://osxdaily.com/2012/03/21/fix-new-ipad-3-wi-fi-reception-problems/
    If none of the above suggestions work, look at this link.
    iPad Wi-Fi Problems: Comprehensive List of Fixes
    http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
    Fix iPad Wifi Connection and Signal Issues  http://www.youtube.com/watch?v=uwWtIG5jUxE
    ~~~~~~~~~~~~~~~
    If any of the above solutions work, please post back what solved your problem. It will help others with the same problem.
     Cheers, Tom

Maybe you are looking for