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 - Ogramar

Páginas: 1 ... 56 57 58 59 60 [61] 62 63 64 65 66 ... 100
1201
Hola todos los </br> debes sustituirlos por <br/>


Tienes un problema en la línea echo "Asignación compuesta de suma: \$a+=\$b==" .$a+$b;

El intérprete lo que está haciendo es sumando

"Asignación compuesta de suma: \$a+=\$b==" .$a

con

$b.

El resultado que muestra es el resultado de sumar una cadena con 2, y eso lo está resolviendo como 2.

Para que haga la operación aritmética de suma y lo concatene con la cadena tendrías que escribir

echo "Asignación compuesta de suma: \$a+=\$b==" .($a+$b);


Los saltos de línea los estás obteniendo por cosas como esta:

echo " equivale \$a=\$a+\$b==" .$a=$a+$b. "<br/>";

Al ejecutar esto te está transformando $a en una cadena que lleva concatenado <br/> y esto te genera un salto de línea donde no te lo esperas.

PHP es extremadamente "relajado" en el control de tipos, de modo que estás alterando el tipo de la variable de numérico a cadena casi sin darte cuenta.

Mi consejo: reorganiza el código y escríbelo de forma más limpia. Utiliza variables intermedias si es necesario. Si no lo haces así, estás haciendo operaciones indebidas y conversiones de tipo indebidas.

Salu2

1202
Hola ¿si habilitas la autenticación anónima te funciona?

1203
Hola

Código en web.config

Código: [Seleccionar]
<authentication mode="Windows">
         </authentication>

Establecer autenticación anónima como desactivada y establecer autenticación windows activada en IIS

En la página puedes probar con Response.Write(Page.User.Identity.Name); ó Response.Write(user.Identity.Name);

Salu2

1204
Hola, el ejercicio está correcto. Unicamente indicarte que es más habitual usar el punto que la coma para concatenar texto con variables, por ejemplo

echo "Operador ++ (anterior): ++a * b ==".++$a * $b."</br>";

En lugar de

echo "Operador ++ (anterior): ++a * b ==",++$a * $b,"</br>";

Lo interesante en este ejercicio es ver cómo funcionan los operadores y las diferencias entre unas formas y otras.

1205
Hola tata, un error 404 suele deberse a una url mal escrita, aunque no estoy entendiendo bien cuál es el problema, si es en el frontEnd o el backEnd, etc  ::)

1206
Hola Elanti!

Citar
em: Tantas veces el tamaño que sea de aplicación como se indique. Por ejemplo si el tamaño de letra de aplicación es 12 pixeles, 1 em son 12px, 2 em son 24 px, 3 em son 36 px, etc.

Aquí el tamaño de fuente se refiere a la "altura" de la fuente, no a la anchura. Por tanto em no tiene nada que ver con el número de caracteres que (insulto) en un ancho definido en em. Creo que estás confundiendo em con anchura de un caracter y eso no es así.

Las medidas en em suelen usarse para referirnos a alturas o medidas verticales (por ejemplo altura de línea o line-height), aunque en algunos casos también pueden aplicarse para definir anchuras.

¿Cuánto es 1 em en pixeles? Es variable, porque depende del tamaño (altura) del texto que sea de aplicación 1 em valdrá una cosa u otra.

Salu2

1207
Hola, los msgbox vienen preparados para funcionar con mensajes predeterminados y modificarlos supondría entrar en cuestiones de bajo nivel para modificar el api.

En lugar de esto lo que se suele hacer es crear una clase que cree lo que podríamos llamar un equivalente a msgbox pero personalizado con los textos que se quieran.

Para hacer esto puede usarse algo como esto.

Ir al menú proyecto y seleccionar Añadir clase (Add class)

Pegar este código:

Código: [Seleccionar]
Public Class CustomMsgBox
Inherits System.Windows.Forms.Form
Friend WithEvents btn As New Windows.Forms.Button
Friend WithEvents rtb As New Windows.Forms.RichTextBox

Public Sub New()
Me.SuspendLayout()
Me.ControlBox = False
Me.StartPosition = FormStartPosition.CenterScreen
Dim aPoint As Point
Me.Width = 450
Me.Height = My.Computer.Screen.WorkingArea.Height
aPoint.X = 5
aPoint.Y = 5
rtb.Location = aPoint
rtb.Width = Me.Width - 20
rtb.Height = Me.Height - 120
rtb.ScrollBars = RichTextBoxScrollBars.Both
Me.Controls.Add(rtb)
btn.Width = 50
btn.Height = 20
aPoint.X = (Me.Width \ 2) - (btn.Width \ 2)
aPoint.Y = Me.Height - 100
btn.Location = aPoint
btn.Text = "OK"
Me.Controls.Add(btn)
Me.ResumeLayout(False)
End Sub

Private Sub btn_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btn.Click

Me.Close()

End Sub

Public Overrides Property Text() As String
Get
If Me.rtb Is Nothing Then
Return ""
Else
Return Me.rtb.Text
End If
End Get
Set(ByVal value As String)
Me.rtb.Text = value
End Set
End Property

End Class

Como código para probarlo añadir un botón en un formulario y hacer esta prueba:

Código: [Seleccionar]
Option Strict On
Imports System.Environment

Public Class Form1

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

Dim cMsgBox As New CustomMsgBox
cMsgBox.Text = "Mostrando 1000 lineas...."
For index As Integer = 1 To 1000
cMsgBox.Text &= "Esta es la linea " & index.ToString & NewLine
Next
cMsgBox.Show()

'Comparación con un msgbox normal.
'No se mostrarán todas las líneas.>>
Dim outputString As String = "Mostrando 1000 líneas...."
For index As Integer = 1 To 1000
outputString &= "Esta es la linea " & index.ToString & NewLine
Next
MessageBox.Show(outputString)
End Sub

End Class

El código puede requerir pequeñas modificaciones según la versión de Visual Basic que se utilice y puede modificarse para adaptarse a lo que se pretenda.

Salu2!

1208
Hola en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=37&Itemid=61 tienes varios ejemplos.

No siempre un msgbox tiene que llevar yesno, puede no llevarlo o no llevarlo. Tienes muchas opciones incluso puedes personalizar. Algunas opciones son:

vbOkOnly    
vbOkCancel    
vbAbortRetryIgnore    
vbYesNoCancel    
vbYesNo    
vbRetryCancel    
vbCritical    
vbQuestion    
vbExclamation    
vbInformation

Salu2

1209
Hola, curioso el problema... Aunque hay que decir que los juegos de caracteres suelen ser una fuente de problemas constantemente con desarrollos web, servidores, bases de datos, etc.

Salu2

1210
Hola Ronal, el apartado a) lo tienes bien.

El apartado b) tienes mal lo siguiente: uso de static. No hay que usar static, todavía no se ha explicado dentro del curso. Se recomienda seguir el curso paso a paso, es la mejor forma de aprender. También tienes mal float lista[], no se han explicado los arrays o arreglos y además el enunciado no dice que se deba recibir eso como parámetro del método.

El apartado c) lo tienes bien.

El apartado d) tienes mal el nombre, no debes usar set porque set se usa para establecer atributos de la clase. Si el método lo que hace es agregar una canción debe llamarse agregarCancion ó addCancion

Salu2

1211
Hola en CakePhp puedes cargar modelos no relacionados de diferentes maneras:

Código: [Seleccionar]
$this->loadModel('Cliente');
$clientes = $this->Cliente->find('all');


Código: [Seleccionar]
ClassRegistry::init('Cliente')->find('all');
// or (equivalent)
$cliente = ClassRegistry::init('Cliente')
$clientes = $cliente->find('all');


Código: [Seleccionar]
App::import('Model', 'Cliente');
$cliente = new Cliente();
$clientes = $cliente->find('all');


Salu2

1212
Hola, el uso del while se explica en CU00842B, http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=613:ejemplo-consulta-php-mysql-select-bucle-while-mysqlifetcharray-recorrer-resultados-query-cu00842b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193 por lo que en CU00841B no era necesario usar un while

Para entender esto es necesario haber seguido el curso desde el principio y haber comprendido el concepto de array o arreglo con índices numéricos y array o arreglo asociativo con índices de texto, consultas a bases de datos, etc.

En el curso se explica: La sentencia $extraido= mysqli_fetch_array($result); indica que los valores existentes en la fila se introduzcan en un array cuyos índices en principio pueden ser tanto asociativos (el nombre de la columna) como numéricos (empezando por cero). Por ejemplo si la primera columna en la tabla de la base de datos es <<ciudad>> podemos usar $extraido['ciudad'] para acceder al valor existente en la fila con la que estemos trabajando para la columna ciudad. Igualmente podríamos usar $extraido[0] para referirnos a la primera columna, $extraido[1] para referirnos a la segunda columna, $extraido[2] para referirnos a la tercera columna y así sucesivamente.

while($obtener_filas=mysqli_fetch_array($tabla)){


Significa lo siguiente:

Mientras que existan resultados de la consulta definida por $tabla, extrae los resultados de una fila en forma de array y almacénalos en la variable $obtener_filas.

Dentro del bucle aprovechamos que se han extraido los datos de una fila para mostrarlos basándonos en que los datos se encuentran en forma de array asociativo en la variable $obtener_filas.

Salu2

1213
Exacto! Válete de la propia variable contadora, no crees otra nueva

Salu2

1214
Comunidad / Re:Bienvenidos a Facebook !
« en: 26 de Mayo 2015, 15:10 »
Hola Marcos, he visto hoy la web y ya veo 187 seguidores, es decir, que ya el 200 está próximo  ;D

1215
Hola yo lo que entiendo es que la eliminación de mensaje más viejo debería hacerse automáticamente si tratas de añadir más mensajes estando lleno el límite disponible como te indicaba en https://www.aprenderaprogramar.com/foros/index.php?topic=2632.msg12323#msg12323

Salu2

1216
Hola si por automático te refieres a que escribas el número y automáticamente se produzca el cambio sin pulsar en ningún botón tendrías que hacerlo capturando eventos. Cada vez que escribes algo en un editText se produce el evento de "cambio en el edit text". Tendrías que capturar ese evento y añadir las instrucciones necesarias sobre el código que quieras ejecutar cuando se produce el evento.

Salu2

1217
Hola simplemente recorrer la colección con un bucle y mostrar los atributos. Si sigues el curso que te he indicado serás capaz de resolverlo sin problemas. En este ejercicio del curso puedes ver un ejemplo de cómo hacerlo - > https://www.aprenderaprogramar.com/foros/index.php?topic=2514.0

Salu2

1218
Hola, manejar las celdas como variables independientes parece poco adecuado (complicaría bastante la resolución y generaría muchísimo más código del necesario). La representación del sudoku debes hacerla basándote en matrices (arrays de dos dimensiones o arreglos de dos dimensiones).

Esto lo tienes explicado en el curso http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

La resolución de un sudoku automatizadamente en programación es relativamente complejo. Depende de lo que quieras hacer, la comprobación de no coincidencia en filas y columnas de un sudoku facilitado sí es simple, pero rellenar un sudoku semivacío es bastante más complejo.

Salu2

1219
Hola Ramón, este tipo de manejo

Código: [Seleccionar]
        for (int i = 0; i < longitud; i++) {
            System.out.println("Letra " + j + " : " + entradaTeclado.substring(0 + i, i + 1));
            j++;
        }

En principio es poco recomendable. Un bucle tiene una variable contadora, en este caso la variable i, normalmente no es necesario llevar otro contador como j cuando ya tenemos i.

Salu2

1220
Hola Ignacio! Para pegar código hazlo como se explica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 de esa forma se facilita el formato y que pueda copiarse y pegarse para compilarlo.

Para aclarar conceptos te recomiendo seguir este curso: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=68&Itemid=188

La clase que  tú has llamado Menu parece más lógico llamarla CacheMensajes o ListaMensajes

La comprobación de que no hayas excedido el límite de mensajes admisible en la caché debes hacerla aquí:

public void agregarMensajes (Mensaje m) {
   if (lista.size()>3) {
      System.out.println ("Hay más mensajes de los permitidos y se va a borrar uno de ellos para poder añadir otro");
      // Aquí el código
      int indiceAEliminar = obtenerIndiceMensajeMenorPrioridad();
      }   

lista.add (m);
}


El método int obtenerIndiceMensajeMenorPrioridad() será un método que te devuelva el índice del mensaje a eliminar. Para saber el mensaje a eliminar puedes recorrer todos los mensajes eligiendo como mensaje a eliminar el primero, y seguidamente si el siguiente mensaje tiene menor prioridad, elegirlo como mensaje a eliminar (de esta forma completas el recorrido).

Para poder elegir el más antiguo es recomendable que cambies esta definición:

   private String fecha;
   private String hora;

En lugar de usar String usa clases del api de java para manejo de fechas y horas. O si prefieres simplificar usa:

int dia, mes, anno;
int hora, minuto;

La cuestión es que necesitas poder ordenar o comparar fechas y horas y para hacerlo un String no es cómodo.

Salu2

Páginas: 1 ... 56 57 58 59 60 [61] 62 63 64 65 66 ... 100

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".