Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - César Krall

Páginas: 1 ... 8 9 10 11 12 [13] 14 15 16 17 18 ... 68
241
Hola Danilo, ¿puedes poner tu código con la solución al ejercicio? Le puede resultar útil a otras personas que tengan la misma duda.

Saludos!

242
Hola!

No entiendo muy bien a qué te refieres, ¿el fichero excel tiene algún contenido previo? ¿Quieres añadir una fila vacía después de la última fila exportada o antes de la última fila exportada?

Te dejo un código a ver si te ayuda

Código: [Seleccionar]
Imports Excel = Microsoft.Office.Interop.Excel

Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Label1.Text = ""
        Label1.AutoSize = False
    End Sub
   
    Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim objXLApp As Excel.Application
        Dim intLoopCounter As Integer
        Dim objXLWb As Excel.Workbook
        Dim objXLWs As Excel.Worksheet
        Dim objRange As Excel.Range

        objXLApp = New Excel.Application
        objXLApp.Workbooks.Open("C:\Users\Cesar\CursoVB\ejemplo.xlsx")
        objXLWb = objXLApp.Workbooks(1)
        objXLWs = objXLWb.Worksheets(1)
        MsgBox("Ahora la celda A5 contiene: " & objXLWs.Cells(5, 1).value)
        For intLoopCounter = 1 To CInt(objXLWs.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row)
            objRange = objXLWs.Range("A" & intLoopCounter)
            Label1.Text = Label1.Text & vbCrLf & objRange.Value
            objRange = objXLWs.Range("B" & intLoopCounter)
            Label1.Text = Label1.Text & " -- > " & objRange.Value
        Next intLoopCounter

        'Escribimos en el fichero
        objXLWs.Cells(5, 1) = "Esto es una prueba"
        MsgBox("Ahora la celda A5 contiene: " & objXLWs.Cells(5, 1).value)
        objXLApp.Quit()
    End Sub

End Class


Saludos!

243
Hola! Antes de nada pedirte que leas las indicaciones en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 por ejemplo para poner título al tema, el título que has puesto no ayuda a saber de qué trata el tema ni a que una persona con conocimientos te pueda ayudar ya que el título no indica nada.

En el título debes especificar el lenguaje con el que estás trabajando, incluso la versión si es necesario, y una descripción del problema. Si no sabemos el lenguaje y/o versión no podremos ayudarte.

Recomendarte que revises este curso de Visual Basic: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61

Te dejo algunos ejemplos que te pueden servir para sacar ideas:

Tratamiento como cadena:

Código: [Seleccionar]
Option Explicit On
Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim texto As String
        Dim i As Integer
        Dim continuar As Boolean

        texto = Text1.text
        continuar = True
        MsgBox(texto)

        i = 1
        Do

            If (Val(Mid(texto, i, 1)) Mod 2 = 0) Then
                MsgBox(Mid(texto, i, 1) & " : es par")
            Else
                MsgBox(Mid(texto, i, 1) & " : es impar")
            End If
            i = i + 1
        Loop While (i <= Text1.TextLength)

    End Sub
End Class


Tratamiento numérico basado en calcular el resto de dividir entre 10 para ir obteniendo la última cifra sucesivamente:

Código: [Seleccionar]
Option Explicit On
Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim numero As Integer
        Dim modulo As Integer
        Dim restante As Integer

        numero = Val(Text1.Text)
        modulo = numero Mod 10
        restante = (numero - modulo) / 10

        Do While (modulo <> 0)
 
            MsgBox("El numero es " & numero & " el modulo es " & modulo & " restante es " & restante)
            modulo = restante Mod 10
            restante = (restante - modulo) / 10
        Loop

    End Sub
End Class


Saludos!

244
Hola!

Por favor leer las indicaciones en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Citar
Recomendaciones generales para consultas: no hagas consultas sobre problemas muy extensos o fragmentos de código muy extensos. Antes de hacer una consulta, intenta resolver tú mismo el problema. Cuando no sepas cómo avanzar, prepara el código o pseudocódigo necesario y pégalo, indicando dónde obtienes un error o no sabes avanzar. Describe cuáles son los objetivos que persigues de una forma clara y breve. Ten en cuenta que las personas que participan respondiendo voluntariamente en los foros en general responden cuestiones concretas y bien definidas, pero no resuelven ejercicios completos ni analizan consignas, enunciados o código de gran extensión porque sería demasiado costoso.

También recomendarte que mires el curso básico de programación en C: https://www.aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210

Una vez tengas código pégalo para intentar ayudarte

Saludos!

245
Hola! Bien el código, realiza lo que pedía el ejercicio.

Como sugerencias de mejora:

Nombres de variables:

Código: [Seleccionar]
    var nombre = false;
    var apellidos = false;
    var correo = false;

nombre, apellidos, correo son campos del formulario. Si pones el mismo nombre a variables, ¿qué ocurre? Que hay una posible confusión. Para programar además de que el código funcione hay que buscar calidad en cuanto a legibilidad, por tanto recomendación no repetir nombres que puedan crear confusión. Aquí podrías haber usado nombreCorrecto = false; apellidosCorrecto=false; etc.

 
Variables globales: esto no lo he estudiado en profundidad pero te lo planteo como idea para que lo pienses tú. ¿Son realmente necesarias estas variables globales?

Una cosa a tener en cuenta es la separación de cometidos de las funciones. Cada función debe tener un cometido específico.

Código: [Seleccionar]
  function verificarNombre(){
  if(/^\D{1,15}$/.test(formulario.nombre.value)==false){
  error1.style.backgroundColor = 'orange';
  error1.style.color = 'black';
  error1.innerHTML = 'El nombre es obligatorio y debe ser menos de 15 carácteres';
  }else{
  error1.innerHTML = '';
  nombre = true;
  }
  }

¿Cuál es el cometido de esta función? Si el cometido es verificar el nombre, parece lógico que devolviera true o false (con un return) según el resultado de la verificación. Quizás de esta manera te puedas ahorrar usar una variable global. Otra cosa a tener en cuenta es que si quisiéramos podríamos crear una función para mostrar las alertas, y así tener esto separado de la verificación.

Por último una cosa en cuanto a la usabilidad del código: quedaría mejor que el mensaje de alerta desaparezca en cuanto se modifique algo en el campo que tiene un error. En el código no desaparece el mensaje de error al modificarse algo, sólo desaparece cuando pierde el foco

Saludos!

246
Hola!

throw new Exception("Imposible cargar $class."); lo que hace es lanzar una excepción. Una excepción normalmente se lanza después de comprobar que algo no va bien, y esa comprobación se hace utilizando un if (condicional para detectar que hay una condición no válida, error o excepción). No veo que tengas un if antes del throw, entonces siempre te lanzará una excepción  ::)

Saludos!

248
Hola! Quizás te resulte útil este código que en teoría te permite rescatar todas las clases de todos los directorios a partir del raíz (recursivamente recorriendo todos los directorios a partir del especificado en $dir = '/path/to/project' ; )

Código: [Seleccionar]

   spl_autoload_register( 'autoload' );
 
 
  /**
   * autoload
   *
   * @author Joe Sexton
   * @param  string $class
   * @param  string $dir
   * @return bool
   */
  function autoload( $class, $dir = null ) {
 
    if ( is_null( $dir ) )
      $dir = '/path/to/project';
 
    foreach ( scandir( $dir ) as $file ) {
 
      // directory?
      if ( is_dir( $dir.$file ) && substr( $file, 0, 1 ) !== '.' )
        autoload( $class, $dir.$file.'/' );
 
      // php file?
      if ( substr( $file, 0, 2 ) !== '._' && preg_match( "/.php$/i" , $file ) ) {
 
        // filename matches class?
        if ( str_replace( '.php', '', $file ) == $class || str_replace( '.class.php', '', $file ) == $class ) {
 
            include $dir . $file;
        }
      }
    }
  }

Saludos!

249
Si el script se encuentra en otro archivo para poder llamarlo deberás cargarlo previamente, la carga la puedes indicar del mismo modo que hemos comentado (usando php). Para ver cómo cargar archivos con scripts externos lo tienes explicado en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Saludos!

250
 :) Creo que ya te he entendido, hay dos cuestiones a tener en cuenta. Se podría pensar en leer el contenido de un archivo en el servidor (esto es lo más habitual) y para ello la forma de acceso habitual sería usar Ajax, se explica en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=83&Itemid=212

Con Ajax puedes cargar el contenido de un fichero como respuesta a un evento (como pulsar un botón o un mouseover, etc.)

La otra opción sería leer ficheros en el propio pc del usuario. Esto históricamente ha estado restringido por motivos de seguridad, pero con HTML5 ya se pueden hacer algunas cosas.

Saludos!

251
Hola Dan! Me alegro de verte por aquí ;)

Supongo que ya habrás probado de todo pero lo único que se me ocurre decirte es que hagas más pruebas.

Probar a establecer redimensionado para todos los controles según la resolución de pantalla actual.

Código: [Seleccionar]
    Dim DesignScreenWidth As Integer = 1280
    Dim DesignScreenHeight As Integer = 1024
    Dim CurrentScreenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
    Dim CurrentScreenHeight As Integer = Screen.PrimaryScreen.Bounds.Height
    Dim RatioX as Double = CurrentScreenWidth / DesignScreenWidth
    Dim RatioY as Double = CurrentScreenHeight / DesignScreenHeight
    For Each iControl In Me.Controls
        With iControl
            If (.GetType.GetProperty("Width").CanRead) Then .Width = CInt(.Width * RatioX)
            If (.GetType.GetProperty("Height").CanRead) Then .Height = CInt(.Height * RatioY)
            If (.GetType.GetProperty("Top").CanRead) Then .Top = CInt(.Top * RatioX)
            If (.GetType.GetProperty("Left").CanRead) Then .Left = CInt(.Left * RatioY)
        End With
    Next

DesignScreenWidth se referiría a el ancho de la pantalla donde hiciste el diseño original en pixeles y DesignScreenHeight lo mismo para el alto.

Saludos!

252
Hola! Para ejecutar un script de JavaScript o jQuery dentro de un script php simplemente tienes que incluir el código de la llamada dentro del código HTML que devuelve PHP.

Es decir, PHP se ejecuta y devuelve, después de hacer todo lo que se quiera, simplemente un código HTML. Basta con incluir la llamada a la función JavaScript a ejecutar dentro de ese código.

Puedes embeberlo de varias maneras:

Código: [Seleccionar]
echo '<script type="text/javascript">'
   , 'jsfunction();'
   , '</script>'
;

O también simplemente después del código php:

Código: [Seleccionar]
<?php
// aquí código php
?>

<script type="text/javascript">
  jsFunction();
</script>

Un ejemplo que he tomado usando Ajax jQuery:

Código: [Seleccionar]
$.get(
    'wait.php'
  , {}
  , function( returnedData )
    {
      document.getElementById("txt").innerHTML = returnedData;

      //  Aquí podemos invocar que se ejecute una función javascript
      funcionALaQueSeQuiereLlamar();

      // Pero si lo prefieres no tienes que llamar a una función
      // Basta con poner el código javascript a ejecutar directamente aquí
    }
  , 'text'
);


function funcionALaQueSeQuiereLlamar()
{
  // lo que sea
}


Saludos!

253
Hola! En este curso está explicado cómo validar formularios usando JavaScript: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=78&Itemid=206

Con JavaScript la validación es del lado del cliente.

Si se necesita hacer algún tipo de validación del lado del servidor, habría que utilizar Ajax. Este tipo de validación se explica en el curso de Ajax: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=83&Itemid=212

Saludos!

254
Hola!

No me queda claro a qué te refieres con select

Citar
     //Esto es el select que se crea al pulsar el boton
     provincias = document.getElementById('provincia');

Un select es un elemento de un formulario, eso que has puesto es la recuperación de un nodo por id usando JavaScript, no se entiende bien lo que significa que eso es un select  ::)

Lo mejor es que crees un pequeño código de ejemplo donde se pueda ver el problema y digas lo que obtienes y lo que esperarías obtener. Con ese código podríamos revisarlo y decirte cómo debe quedar el código para obtener el resultado deseado.

Saludos!

255
Hola! Si quieres aprender programación debes dedicarle tiempo y seguir un orden adecuado. Los fundamentos te ayudarán con todo lo que sea programación, es lo primero a estudiar para programar. Saludos!

256
Hola! El código funciona bien. Para mantener ordenados los foros es preferible incluir siempre el código de todos los ejercicios de una entrega, en este caso faltaría el código del ejercicio 1 de esta entrega

Estoy contigo: la crítica si es sana ayuda a aprender y mejorar, por eso intentaré hacer una crítica sana ;)

En primer lugar al ver el ejercicio me ha llamado la atención los nombres de variables que utilizas. Me parecen un tanto confusos, y creo que el código mejoraría si les dieras nombres más descriptivos.

Por ejemplo, en lugar de arrayOriginalFinal me parecería más adecuado arrayOrdenado

En casos como este:

Código: [Seleccionar]
var arrayOriginal=['Moto','soto','Abaco','abeja','Sapo','nieve','Zumba','barco'];
var miArray=['Moto','soto','Abaco','abeja','Sapo','nieve','Zumba','barco'];

Estás declarando dos arrays iguales (uno tiene el mismo contenido que otro). Esto en principio debe evitarse, pero si se considera necesario (por ejemplo para poder operar sin perder la ordenación inicial) en lugar de darle dos nombres que hagan que parezcan distintas cosas, veo más razonable ponerle como nombre arrayOriginal y copiaDeArrayOriginal ó duplicadoArrayOriginal. De ese modo queda más claro que se trabaja con una copia o duplicado. Si no se hace así, en un código de cientos de líneas no nos acordaremos de que esos dos arrays eran uno copia del otro inicialmente.

Cuando tengas que hacer una copia o duplicado te recomiendo buscar métodos específicos. Escribir a mano la copia es fuente de errores.

Por ejemplo en el caso anterior puedes usar

var arrayOriginal=['Moto','soto','Abaco','abeja','Sapo','nieve','Zumba','barco'];
var miArray=arrayOriginal.slice(0);

El código en general lo veo bien

Saludos!

257
Hola!

Para crear un calendario puedes hacerlo de varias maneras. Por ejemplo del lado del servidor con php o del lado del cliente con JavaScript. Si simplemente quieres disponer del calendario, lo más fácil es usar un script o framework donde ya lo tengas hecho. Si quieres aprender a hacerlo tú mismo recomendamos seguir los cursos de programación web que ofrecemos: HTML, CSS, JavaScript y PHP. Disponibles en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=57&Itemid=86

Si quieres hacerlo por tu cuenta para aprender plantea el código y exponlo en los foros como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos!

258
Hola antondca!

Para quienes tengan interés en adquirir las bases de programación Java y contar con un tutor recomendamos el curso de programación Java desde cero tutorizado on-line (ver http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=64&Itemid=87). Este curso es de pago contando con tutorización.

Quien prefiera ir por su cuenta puede hacerlo tanto con libros como con material disponible en la web. En los foros se pueden plantear consultas y se pueden ver respuestas a ejercicios utilizando el código de entrega de un curso y el buscador del foro. En el foro no conviene plantear muchas consultas seguidas, sino plantear una, dos o tres y esperar respuesta. Una vez se obtenga respuesta, se puede seguir planteando.

Es conveniente leer y seguir lo que se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

Saludos!

259
Hola adamsst!

Lo primero para establecer un CronJob es comprobar que el servidor sobre el que trabajamos nos facilita esta acción.

Para establecer un CronJob en primer lugar debemos pensar con qué periodicidad queremos que se ejecuta. Si entramos en la opción de CronJob nos suele dar la opción a elegir entre distintas opciones, por ejemplo una vez al día, una vez a la semana, una vez al mes, etc. Aunque nosotros podemos establecer otra periodicidad si queremos.

Ejemplo: para ejecutar una vez al día tendríamos que elegir esto:

Minute   Hour   Day   Month   Weekday   
0   0   1   *   *      

Luego vendría la parte del comando a ejecutar una vez al mes. Para correr un script lo más normal es usar wget (el servidor debe tener habilitado el uso de este comando, si no lo tuviera habilitado habría que hacer otro). Un comando de este tipo se escribiría como esto:

Command
wget --max-redirect=10000 --output-document=/dev/null "http://midominio.com/index.php?option=com_akeeba&view=backup&key=kir75bkw92caq1ocxbu6fk275dfxrl3"

La dirección http contiene la url donde se encuentra el script a ejecutar (en este ejemplo es un script para creación de un backup). Es conveniente proteger el script con un parámetro o clave que evite que si un robot (o un spammer o un hacker) visita esa url el script se dispare. Al protegerlo con una clave evitamos que pueda dispararse sin hacerlo nosotros mismos.

Saludos!

260
Hola!

Todo bien excepto que la animación tiene 4 puntos clave correspondientes al 0, 25, 50 y 100 % y no 2 como has respondido

Saludos!

Páginas: 1 ... 8 9 10 11 12 [13] 14 15 16 17 18 ... 68

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".