jueves, 29 de agosto de 2019

Como programar en C# o C Sharp

Hola bienvenidos a otra semana de nuestro blog de programación para todos, porque nunca es muy tarde para aprender ni muy temprano para tener una pasión en la vida.

Esta semana quiero platicarles de un lenguaje muy popular, C# o C Sharp  es un lenguaje orientado a objetos de la familia de Microsoft en la plataforma .NET es similar en algunas cosas a C, C++, Java 

Este lenguaje es muy popular ya que la mayoría de computadoras en el mundo tienen sistema operativo Windows, por lo que al ser de la misma familia la ejecución de los programas de .NET es muy amplia. 

En general como todos los programas orientados a objetos, ya cuenta con varias librerías que nos facilitan la vida y nos ayudan a nuestros programas, solo que hay algunas librerías que son de paga es decir se paga un licenciamiento anual.

Algo con lo que siempre hay que vivir en la programación es con el manejo de cadenas de texto, conversión de datos, manejo de formatos, longitud de los campos, todo esto lo maneja C#, manejo de excepciones en general.

En especifico con .NET siempre debemos considerar que Framework tenemos instalado (que es la versión con la que compilamos nuestros programas) , Collection (que es el formato o standar utilizado para fechas, monedas) 

Para aprender más les recomiendo cursos con Debite, Coursera, Microsoft

Para poder programar en la plataforma de .NET necesitamos instalar la suite de programación que se llama Visual Studio la cual es de paga, pero Microsoft ha liberado una versión para estudiantes y colaboradores abiertos, el instalador lo pueden descargar en https://visualstudio.microsoft.com/es/downloads/ pueden utilizar Visual Studio Code o Visual Studio Community. 



Una vez instalado pueden crear sus proyectos de lo que quieras, APP, Software de punto de venta, software WEB, aplicaciones Windows, Reportes con Reporting Framework



Veamos un ejemplo


Objetivo:

Vamos hacer un formulario que nos permita ingresar nuestro nombre, dirección  y fotografía 

Programa

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button2_Click(object sender, EventArgs e)
        {

            this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
            this.openFileDialog1.Filter = "images files (*.jpg)|"; 
            this.openFileDialog1.ShowDialog();
            pictureBox1.ImageLocation = openFileDialog1.FileName;
            
        }

    }

}


Observaciones de como programar en C#
  • Es programación orientada a objetos, por lo que casi siempre ya existe la librería o el objeto que nos hace más fácil la programación
  • Los comentarios se colocan entre /*  Comentarios */
  • En el botón de Subir Foto es donde colocamos el código, solo dando doble click sobre el formulario
  • utilizamos el objeto OpenFileDialog para poder abrir una pantalla para buscar nuestra fotografía
  • Al objeto pictureBox le asignamos el nombre del archivo y en las propiedades de objeto le pusimos Behavior, SizeMode StretchImage, para que ajustara la imagen
  • Cada segmento de un ciclo o de un IF va entre llaves {} 
  • Cada fin de línea o instrucción debe llevar ;

La parte del Formulario son

3 etiquetas para colocar los nombres de los campos
2 botones, uno para subir la fotografía y otro para crear la credencial
2 textbox que es donde ingresaremos los datos
1 Picturebox donde pondremos la imagen que suba
1 OpenFileDialog

Como se ve nuestra forma en Visual Studio




Como se ve el código


Ejecución de Programa


Para ejecutar solo necesitamos el programa ejecutable una vez después de construir la aplicación


Como complemento pueden intentar guardar estos datos en una base de datos.
Si han leído otros post de este blog, estas pantallas le resultaran similares a las que vimos en Object Pascal, porque Visual Studio es un IDLE como lo es Delphi.
Espero les haya interesado este lenguaje y tengan la inquietud para aprender más y hacer sus propios programas, espero dejen sus comentarios y compartan con sus amigos este blog. 

jueves, 22 de agosto de 2019

Python Google Maps, Buscar mi ubicación en google maps

Bienvenidos a nuestro blog, esta semana quiero platicarles de como podemos llamar funciones de algunos sistemas que ya existen como Google Maps, estas funciones mejor conocidas como API's

¿Que es una API?



Sus siglas son: application programming interface que son programas ya existentes a los que podemos llamar de manera remota y esto nos funciona para no inventar la rueda y hacer uso de lo ya existente.

Para llamar estas Apis, hay que conocer sus nombres y parámetros como cualquier función de un programa.

Y muchas aplicaciones tienen API's como Facebook, Paypal, Google, Twiter 

Encontré un articulo muy completo del tipo de Apis

https://bbvaopen4u.com/es/actualidad/que-es-una-api-y-que-puede-hacer-por-mi-negocio


Tipos de Apis




  • De Servicio Web: que utilizan conexiones a servidores remotos por medio de URL's y dentro de estos hay 4 tipos: SOA, XML-RPC, JSON-RPC, REST, un ejemplo es Google maps o en México en el SAT con nuestra facturación y contabilidad electrónica.
  • Appis basadas en bibliotecas como las utilizadas en ERP's por ejemplo SAP, Epicor
  • Appis basadas en clases
  • Appis de sistemas operativos

Ejemplo


Objetivo:

En este ejemplo vamos a colocar en nuestro programa en Python que al ingresar el nombre de una Universidad y nos regrese la ubicación geográfica.

Para esto vamos a necesitar crear un id en GoogleMaps que nos permite poder ejecutar las API's para registrase lo hacen en https://console.cloud.google, cabe mencionar que para poder usarlo de manera completa deben pagar, pero para esta practica pueden hacer como yo crear su registro en modo demo. 



Programa:

import urllib

# Google API (requires API key)
serviceurl = "https://maps.googleapis.com/maps/api/geocode/json?"
scontext = None

address = raw_input("Ingresa Nombre de Universidad: ")
print('Resolving', address)
url = serviceurl + urllib.urlencode({"sensor":"false", "address": address})+ "&key=YOURKEY"
print('Retrieving', url)
uh = urllib.urlopen(url, context=scontext)
data2 = uh.read()
print('Retrieved',data2)

   
#En la parte de yourkey es el código que generen ustedes en la Consola de #Google Cloud y si es solo el demo pueden ejecutar el API solo una vez por día 

Ejecución del Programa

En mi caso ingrese el nombre de la Universidad donde estudie mi carrera o Bachelor, Benemerita Universidad Autónoma de Puebla y me regreso los datos en formato JSO entre ellos las coordenadas de geolocalización, es decir la latitud y longitud en donde ese encuentra la Universidad.




Usos hay miles para este programa a mi por ejemplo se me ocurre para poder trazar en un mapa las rutas de ventas de los camiones de los vendedores de comida o refrescos.

Hacer un APP mobil para un negocio de haga entregas a domicilio. 
A muchas compañías se les ha ocurrido para poder saber donde estamos y poder decirnos por ejemplo el cine más cercano o el restaurante más cercano o el banco más cercano. 

¿Ustedes que se imaginan que  pueden hacer? 

Dejen sus comentarios, compartan sus programas o dudas y no olviden compartir nuestros post. 


jueves, 15 de agosto de 2019

Como Programar en Pascal y Delphi, ejemplo calculadora en Delphi

Que tal amigos, bienvenidos a otra semana de nuestro blog, les quiero platicar acerca de un lenguaje de programación que se llama Pascal, fue creado por Niklaus Wirth entre 1968 y 1970, es un lenguaje enfocado a la programación estructurada, esto se refiere a que se crean funciones o subrutinas y utilizar criterios de selección con if y switch e iteraciones o ciclos con las sentencias for o while.




Les quiero compartir una entrevista de Niklaus Wirth que le realizó él Dr Charles Severance 




Vídeo del canal del Dr Chuck Severance. https://www.youtube.com/channel/UChYfrRp_CWyqOt-ZYJGOgmA

Les recomiendo seguir su canal





Pascal a mi parecer es muy sencillo de aprender yo lo aprendí cuando estaba en la Secundaria y me parece muy bueno, después en la Universidad en la materia de graficación el Académico que me dio clases que es un gran profesor y científico Manuel Martin Ortiz los ejercicios de la materia los realizábamos en Borland Delphi (versión Windows) que es ni mas ni menos que un entorno de desarrollo (programa para escribir programas) para Object Pascal o IDE , que es  entorno de desarrollo para la versión orientada a Objetos de Pascal y que permite generar software con ventanas o pantallas es decir lo hace más gráfico o visual (la explicación de la programación orientada a objetos la pueden ver en la siguiente liga Javascrip)

Para este ejemplo vamos hacer una calculadora pero con una pantalla más amigable que el otro ejemplo que vimos con Progress.

Comencemos con el código 


unit Unit1;

interface


uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, IdBaseComponent, IdNetworkCalculator;

type

  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Label2: TLabel;
    Label3: TLabel;
    Campo2: TEdit;
    Campo1: TEdit;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var

  Form1: TForm1;
  resultado: Double;
implementation

{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A + B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;
end;

procedure TForm1.Button2Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A - B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


procedure TForm1.Button4Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A / B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


procedure TForm1.Button3Click(Sender: TObject);

var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A * B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;



end.

Explicación del código



Para programar en Pascal debemos seguir algunas normas, cada que terminemos una instrucción debemos colocar el signo de punto y coma (;) 
  • Los tipos de variables que podemos utilizar son:

Nombre Rango Bytes Tipo
char 8
ShortString
AnsiStrings
Widestrings
Byte 0 .. 255 1 Enteros
Shortint -128 .. 127 1 Enteros
Smallint -32768 .. 32767 2 Enteros
Word 0 .. 65535 2 Enteros
Integer smallint o longint 2 o 4 Enteros
Cardinal longword 4 Enteros
Longint -2147483648 .. 2147483647 4 Enteros
Longword 0..4294967295 4 Enteros
Int64 -9223372036854775808 .. 9223372036854775807 8 Enteros
QWord 0 .. 18446744073709551615 8 Enteros
Single 1.5E-45 .. 3.4E38 4 Decimales
Double 5.0E-324 .. 1.7E308 8 Decimales
Extended 1.9E-4932 .. 1.1E4932 10 Decimales
Comp -2E64+1 .. 2E63-1 8 Decimales
Currency -9.22337E+14 8 Decimales
Boolean 1 Lógicos
ByteBool 1 Lógicos
WordBool 2 Lógicos
LongBool 4 Lógicos

  • Cada objeto dentro de la pantalla tiene sus propias características por ejemplo un botón le puedes configurar el tamaño, la letra, el fondo y 




  • Cada que terminemos un segmento de programa debemos colocar end; y cuando es fin de un procedimiento o de todo el programa end.

procedure TForm1.Button3Click(Sender: TObject);
var
  A : Extended;
  B  : Extended;
begin
       try
           A :=   strtofloat(Campo1.Text)   ;
           B :=   strtofloat(Campo2.Text)   ;
           Edit1.Text := floattostr(A * B) ;
       Except
           on Exception : EConvertError do
           ShowMessage(Exception.Message);
       end;

end;


end.

Ejecución del Programa





Les dejó la liga para descargarlo


En lo personal creo que es muy buena opción para desarrollo de aplicaciones, porque una vez que terminas tu desarrollo, generas tu programa ejecutable y lo puedes distribuir sin tener que instalar nada más a menos que tu aplicación lo requiera y no entregas tus programas fuentes o códigos, si no solo el sistema. Tiene varias librerias para poder realizar conexiones con otros sistemas o hacer cosas muy complejas, tiene conectores para conexión de bases de datos, para crear webservice, toda la barra superior son las librerías que tiene




No se si sea un lenguaje muy popular, pero se que si hay empresas que lo utiliza, incluso si filtran en OCC también hay trabajos que requieren este software https://www.occ.com.mx/empleos/de-desarrollador-delphi/

Saludos, espero les haya parecido interesante este post y nos compartan. Hasta el próximo post.

viernes, 9 de agosto de 2019

Como programar en PHP, ejemplos de PHP Calcular valor de Hipotenusa

Durante mis practicas profesionales tuve el gusto de conocer a PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje open free es decir lo que se puede instalar sin costo, no hay que pagar licencia, es un lenguaje Cliente/Servidor y es orientado a objetos, además de ser de los lenguajes más populares y utilizados por Facebook, Tumblr, Slack, Mediawiki, Yahoo.

PHP nos permite realizar consultas al servidor de una base de datos y crear por ejemplo formularios en una página HTML y guardar esos datos en una tabla o en varias tablas realizando cálculos y validación de condiciones. 

Para ejecutar estos programas debes instalar PHP y un servidor por ejemplo Apache (si como los triciclos) y lo mas seguro es que necesites una base de datos yo recomiendo MySQL, en la página de PHP da más detalles https://www.php.net/manual/es/tutorial.requirements.php

Durante mis practicas profesionales lo utilice en una entidad de gobierno donde diseñe y programe un módulo que permitía leer datos desde un archivo de salida de SAP e importarlo de manera manual y permitía crear reportes y gráficas, en el mundo de la programación y saliendo reciente de la carrera fué una muy buena experiencia.

Además de mis practicas lo utilice en un empleo donde vendía varios CRM implementados en varias compañías. Con PHP se hacía todas las interfaces, reportes, incluso campañas comerciales por medio de envió de correos.

Les cuento esto para que vean las cosas que podrían desarrollar con PHP.

Les voy a platicar más acerca de las gráficas, hay una librería que se llama FusionCharts, encontré una pantalla de mi sistema 😁


FusionCharts en su página WEB colocan varios ejemplos de como utilizar la librería en varios lenguajes por ejemplo PHP.


Mi experiencia con este librería es muy buena, me permitió hacer gráficas de manera muy rápida, sin tener que hacer de cero ese programa, eso es lo más padre de la programación orientada a objetos que existen muchas librerías desarrolladas por alguien mas que tu puede utilizar en tus programas.

Bueno y si aun no los convenso de  aprender PHP, se acuerda de la película de The Social Network (La red social) basada en la historia del fundador de Facebook, Mark Zuckerberg comienza a trabajar en un noche para crear su página social en contra de una ex-novia, en la escena se ve código de PHP



En la página de Facebook pueden encontrar ayuda para poder hacer algunas cosas desde PHP y Facebook https://developers.facebook.com/docs/reference/php/

Como referencia el sueldo de un programador junior de PHP es de entre 8000 y 10,000 MXN y alguien con 2 años de experiencia 15,000 MXN pueden buscar las vacantes en OCC.

Ahora veamos un ejemplo de PHP algo más simple para comenzar con este lenguaje:

Objetivo del programa: Calcular la hipotenusa de un triángulo

Primero la formula del teorema de Pitágoras que nos dice como calcular la hipotenusa 

Diseño: Vamos hacer un formulario para que los usuarios del programan ingresen la base y la longitud del triángulo y mostrar el resultado en pantalla. 

Programa:

HTML  Calcular_hipotenusa.html

<html>
    <head>
        <meta charset='utf-8' > 
 <title>Calcular Hipotenusa</title>

    </head>
<body>
La hipotenusa es el lado opuesto al ángulo recto en un triángulo rectángulo, resultando ser su lado de mayor longitud. <br>
De acuerdo al llamado teorema de Pitágoras, el cuadrado de la longitud de la hipotenusa es igual a la suma de los cuadrados <br>
de las respectivas longitudes de los otros dos lados del triángulo rectángulo, denominados catetos.<br>
(https://es.wikipedia.org/wiki/Hipotenusa) <br>
<img src="https://ejemploprogramacionparatodos.000webhostapp.com/hipotenusa.jpg" height="300" width="300" > <br>
<form action="Procesa.php" method="GET">
 Base:  <input type="text" id="vbase"   name="cbase" placeholders="Ingresa el valor de la Base del Triángulo"/>
 Altura: <input type="text" id="valtura" name="caltura" placeholders="Ingresa el valor de la Altura del Triángulo"/>
 <input type="submit" value="Enviar"/>
</form>


</body>

</html>


PHP Procesa.php



 <?php
$base = $_GET["cbase"];
$altura = $_GET["caltura"];
$Hipo = sqrt(pow($base,2) + pow($altura,2));
echo "Valor de Hipotenusa: " . $Hipo;


?>  

Que hace este programa lee los campos del formulario de la página, realiza la operación de pow que es la potencia y sqrt que es la raíz cuadra y muestra el resultado en pantalla para ello concatena o une una cadena de texto y con el simbolo de punto (.) lo une con la variable $Hipo


Ejecución:


Para ejecutar este programa cargue la página en 000webhost para no hacer la instalación de PHP y Apache en mi computadora, igual pueden hacerlo así si no quieren instalar nada solo tienen que crear su cuenta en esa página .

Les muestro las imágenes ejecutando el programa desde mi celular. 


Ustedes pueden ejecutarlo también desde la liga

https://ejemploprogramacionparatodos.000webhostapp.com/Calcular_hipotenusa.html

Otros ejemplos de páginas WEB



Espero que les haya gustado este POST y nos dejen sus comentarios y nos compartan.

También para aprender este lenguaje les recomiendo el curso de Web Applications in Coursera  https://www.coursera.org/learn/web-applications-php