Numeros narcisistas en Visual Basic 6.0

Un número narcisista es aquel que es igual a la suma de cada uno de sus dígitos elevados a la "n" potencia (donde "n" es el número de cifras del número).

Ejemplo 153 es un numero narcisista porque 
13 + 53 + 33 = 1 + 125 + 27 = 153

En el programa escribiras un numero entero cualquiera y el te dira si es narcisista o no. Para este programa sera necesario crear un formulario con un textbox llamado txtvalor y un command button llamado cmdcalcular. Escribir el siguiente codigo.


Dim entrada, salida, i, n As Integer

Option Explicit

Private Sub cmdcalcular_Click()
salida = 0
entrada = txtvalor.Text
n = Len(entrada)

For i = 1 To n
salida = salida + Val(Mid(entrada, i, 1) ^ n)

Next

If txtvalor = salida Then

MsgBox "Es un numeros narcisista"

Else

MsgBox "No es un numeros narcisista"

End If

txtvalor.SetFocus
End Sub



Foto marine - 3 by matmoon


PHP: Suma de enteros desde un archivo

El siguiente programa imprimira la suma de enteros leidos desde un archivo txt.

Para ello crea un archivo .txt con varios valores enteros escritos en el archivo uno por cada linea. El programa leera esos valores y los sumara. Guarda el archivo en la misma carpera en que guardas el programa o de lo contrario especifica el directorio en donde se encuentra el mismo.

Ejemplo de entrada
5
12

Ejemplo de salida
17


<?php
$fh = fopen("nombre_archivo.txt", "r");
$t  = 0;
while (!feof($fh)) {
 
    $test = fgets($fh);
 
    $t = $test + $t;
 
    if (empty($test) == true) {
             break;      
    }
 
}
echo ($t . "\n");
fclose($fh);

?>



Notas

fopen
Abre un fichero o una URL

feof 
Comprueba si el puntero a un archivo está al final del archivo

fclose
Cierra un puntero a un archivo abierto





Ejercicios resueltos VB 6.0: Precio por llanta


Escriba un programa para calcular el total que una persona debe pagar en una llantera, si el precio de cada llanta es de $70 si se compran menos de 5 llantas y de $60 si se compran 5 o mas.

Para este programa crear 2 textboxes con los nombres txtCantidad y txtPrecio y 1 boton con el nombre cmdCalcular y copiar y pegar el codigo de abajo.





Dim precio As Integer
Private Sub cmdCalcular_Click()

If txtCantidad = "" Or txtPrecio = "" Then
MsgBox "Por favor escriba una cantidad", vbExclamation, "Error"
Else


If txtCantidad < 5 Then

precio = 70

txtPrecio = precio * txtCantidad

ElseIf txtCantidad >= 5 Then

precio = 60

txtPrecio = precio * txtCantidad

End If

End If

End Sub






Photo: new york city by under-milkwood


Enviar HTML E-Mails con PHPMailer



1- Averiguar que version de PHP tienes instalada.

<?php
echo phpversion();
?> 

2- De acuerdo a la version que tengas descargar PHPMailer desde aqui .
3- Luego descomprimir el archivo que descargaste en la carpeta de tu proyecto.
4- Crear el archivo index e incluir el siguiente codigo:

<?php
$destinatario = 'destinatario@algo.com';
$nombre = 'Juana';
$apellido = 'Almonte';

require("PHPMailer-master/class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // Enviar via SMTP
$mail->Host = "smtp.gmail.com"; // SMTP servers
$mail->SMTPAuth = true; // encender SMTP autenticacion
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;
$mail->Username = "mi_email@gmail.com"; // aqui escribe tu correo de gmail
$mail->Password = "mi_contrasena"; // aqui escribe tu contrasena del correo 

$mail->From = "mi_email@gmail.com";
$mail->FromName = "PHPMailer prueba";
$mail->AddAddress($destinatario,$nombre.' '.$apellido);
$mail->AddReplyTo("mi_email@gmail.com","PHPMailer.com");

$mail->WordWrap = 50; // establecer word wrap

$mail->IsHTML(true); // enviar como HTML

$mail->Subject = "PHPMailer mensaje de prueba";
$mail->Body = "
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8' />
<title>PHPMailer E-mail</title>
<meta name='viewport' content='width=device-width, initial-scale=1.0'/>
</head>
<body style='margin: 0; padding: 0;'>

<table width='600px' bgcolor='#ffffff' style='border:1px solid #CCCCCC; color: #696969; border-collapse: collapse; padding:15px 10px 20px 10px; margin: 5px 0;'>
<tr>
<td width='100%' bgcolor='#1fc8f2' style='padding: 5px; letter-spacing: -3px; color: #ffffff; font-size: 24px; border-bottom: 2px dashed #f2821f;'> TuEmail </td>
<td width='30%'> </td>
</tr>

<tr>
<td style='padding: 0 15px;'>Hola <strong>$nombre $apellido,</strong></td> 
<td width='30%'> </td>
</tr>

<tr>
<td style='padding: 0 15px;'> Este es un email de prueba </td>
<td width='30%'> </td>
</tr>


<tr>
<td bgcolor='#EFEFEF' style='padding: 0 0 10px 5px;'>Gracias por aprender con nosotros.<br /> <i> BlueProgramming Staff </i> </td>
<td width='30%'> </td>
</tr>

</table>
</body>
</html>
";
$mail->AltBody = "Este es un mensaje de solo texto";


if(!$mail->Send())
{
echo "el mensaje no fue enviado";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "El mensaje ha dijo enviando";

    
?>


5- Editar el codigo de acurdo a tu necesidad ej
La variable $destinatario cambiar por el correo al que quieras que llegue este correo de prueba.
En este ejemplo se envia mediante el server de Gmail por lo que es obligatio en username escribir un correo de tu propiedad (desde el que se enviara el email) que sea de Gmail y en password escribir la contrasena de ese correo.

En la parte del body o cuerpo de el mensaje esta todo el codigo HTML que se enviara al correo. Algunas notas que hay que tener en cuenta al enviar correos HTML son las siguientes:

a) Procura usar la menor cantidad de CSS para el estilo del mensaje. En vez de eso se recomienda usar los  atributos HTML como por ejemplo para el color de fondo la una tabla bgcolor en vez de background-color de CSS.

b) Cuando asignes colores siempre hacerlo de la forma larga de seis caracteres debido a la que forma corta de tres no siempre va a funcionar.

Puedes descargar este ejemplo desde aqui.




Elementos transparentes con CSS

Es posible volver elementos transparentes con CSS utilizando la propiedad opacity. En caso de que se desee solo el color de fondo transparente y las letras o bordes opacos se ultiliza los colores rgba. El grado de tranparencia se puede regular segun se desee.

Ejemplo:

Imagen transparente utilizando la propiedad opacity


<style>
img.trans_imagen {
opacity:0.5;
}
</style>

<img class="trans_imagen" src="img/gato.jpg" />



Div transparente utilizando la propiedad opacity. 

*Nota: Cuando se utiliza la propiedad opacity para dar transparencia a un div todos los elementos y  propiedades relacionados al div tambien se haran trasparentes.

<style>
div.imagen_fondo {
border:2px solid #CCC;
width: 500px;
height: 300px;
background: url(img/gato.jpg) repeat;
}

div.trans_div {
opacity:0.3;
background-color: white;
font-color: #FFF;
font-size: 39px;
text-align:center;

}
</style>

<div class="imagen_fondo">
<div class="trans_div">
<p>
GATO
</p>
</div>
</div>



Div transparente con letras y/o bordes opacos

Para esto se utilizan los colores rgba en vez de la propiedad opacity.


<style>
div.imagen_fondo {
border:2px solid #CCC;
width: 500px;
height: 300px;
background: url(img/gato.jpg) repeat;

}

div.letras_opacas_div {
background: rgba(255, 255, 255, 0.3);
font-color: #FFF;
font-size: 39px;
text-align:center;

}
</style>

<div class="imagen_fondo">
<div class="letras_opacas_div">
<p>
GATO
</p>
</div>
</div>




Semaforo Visual Basic 6.0

Este es un programa que simula un semaforo real con un intervalo de 3 segundos.



Para ello insertamos 4 Shapes 3 en forma de circulo y 1 en forma de rectangulo.

Para cambiar la forma del Shape en un circulo ir a Propiedades > Shape.











Para darle color a los Shapes seleccionar el Shape > Propiedades > Fill Style  y cambiar a Solid.












Luego ir Propiedades > FillColor y elegir el color deseado.













Tambien hay que insertar un timer y asignarle en Interval el valor 3000 que significa 3 segundos. Para ello elegir el timer Propiedades > Interval > 3000.











El siguiente es el codigo para poner a funcionar el programa:

Private Sub Form_Load()
Shape2.Visible = True
Shape1.Visible = False
Shape3.Visible = False
End Sub

Private Sub Timer1_Timer()
If Shape1.Visible Then

Shape2.Visible = True
Shape1.Visible = False
Shape3.Visible = False

ElseIf Shape2.Visible Then

Shape3.Visible = True
Shape2.Visible = False
Shape1.Visible = False

Else

Shape1.Visible = True
Shape2.Visible = False
Shape3.Visible = False

End If

End Sub



Nota: Es necesario estar seguro de que los nombres de los Shapes y del Timer sean iguales en mi codigo como en el suyo para que el programa funcione.