martes, 11 de septiembre de 2012

Sublime Text2 Comandos

Sublime Text 2.
Mis comandos más usados:

Los comandos que más uso en este editor son:

  • "Ctrl + p" Buscar archivos dentro de las carpetas del proyecto. Puedes colocar varios criterios para lo que buscas.
  • "Ctrl + r" Buscar dentro de las funciones del archivo abierto, similar a lo que muestra el "navegador" de Netbeans, pero buscas directamente por lo que necesitas.
  • "Ctrl + Shift + p" Paleta de comandos, donde puedo buscar y ejecutar directamente todas las opciones de comandos de Sublime
  • "Ctrl + d" Al seleccionar un texto, sublime text muestra las coincidencias del texto seleccionado por todo el documento y con este comando puedes seleccionar estas coincidencias para luego modificarlas a todas de forma simultánea.
  • "Ctrl + Shift + p" + "Format: Php" Formatea el documento usando PhpBeautifier.
  • "Ctrl + Tab" Desplazarse entre documentos abiertos. Muy útil e intuitivo
  • "Ctrl + G" Ir a la línea que indiquemos




Espero fuese de ayuda y si te gustó, dímelo.


viernes, 7 de septiembre de 2012

Sublime Text 2 Iniciando

Sublime Text 2.
Explicaremos como descargar, instalar y como configurarlo para PHP

Lo primero que debemos hacer es descargarnos software necesario:

Una vez descargado lo instalaremos como cualquier otra aplicación Windows (Next => Next ;-) )

Una vez instalado, lo ejecutaremos por primera vez y nos pondremos manos a la obra a instalarle plugins y personalizarlo:

Antes de nada, visualizamos la consola (Menú “View” => “Show Console”).
Mediante esta consolo instalaremos el “Sublime Package Control” escribiendo en dicha consola:



import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
Instalada la consola, deberemos reiniciar Sublime Text y observar que en el menú “preferences” aparece la opción “Package Control”.

Lo siguiente que hago normalmente es Personalizar ST2. Esto es una preferencia personal!.

Para ello:

1) abro el “Package Control” y escribo: Install Package
2) instalo el “Theme - Soda”
3) abro “Prefrences” => “Setting User” y lo adapto a mis necesidades:
{
"draw_minimap_border": true,
"font_size": 14.0,
"highlight_line": true,

"highlight_modified_tabs": true
    "soda_classic_tabs": true,

"theme": "Soda Dark.sublime-theme",

"trim_trailing_white_space_on_save": true
}
"trim_trailing_white_space_on_save": true
4) Reiniciamos Sublime Text y observar los cambios.


Hasta aquí esta primera entrada, seguiremos configurando en siguientes entregas.

FIRMA: Espero fuese de ayuda y si te gustó, dímelo.




miércoles, 11 de abril de 2012

Hoy he encontrado esta buena herramienta para crear PDF desde PHP: TCPDF Y lo mejor que es gratis
 
require_once('../config/lang/eng.php'); require_once('../tcpdf.php'); // create new PDF document $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); // set document information $pdf->SetCreator(PDF_CREATOR); $pdf->SetAuthor('Nicola Asuni'); $pdf->SetTitle('TCPDF Example 001'); $pdf->SetSubject('TCPDF Tutorial'); $pdf->SetKeywords('TCPDF, PDF, example, test, guide'); // set default header data $pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING); // set header and footer fonts $pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN)); $pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA)); // set default monospaced font $pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED); //set margins $pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT); $pdf->SetHeaderMargin(PDF_MARGIN_HEADER); $pdf->SetFooterMargin(PDF_MARGIN_FOOTER); //set auto page breaks $pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM); //set image scale factor $pdf->setImageScale(PDF_IMAGE_SCALE_RATIO); //set some language-dependent strings $pdf->setLanguageArray($l); // --------------------------------------------------------- // set default font subsetting mode $pdf->setFontSubsetting(true); // Set font // dejavusans is a UTF-8 Unicode font, if you only need to // print standard ASCII chars, you can use core fonts like // helvetica or times to reduce file size. $pdf->SetFont('dejavusans', '', 14, '', true); // Add a page // This method has several options, check the source code documentation for more information. $pdf->AddPage(); // Set some content to print $html = <<<EOD

Welcome to  TCPDF !

This is the first example of TCPDF library.

This text is printed using the writeHTMLCell() method but you can also use: Multicell(), writeHTML(), Write(), Cell() and Text().

Please check the source code documentation and other examples for further information.

TO IMPROVE AND EXPAND TCPDF I NEED YOUR SUPPORT, PLEASE MAKE A DONATION!

EOD; // Print text using writeHTMLCell() $pdf->writeHTMLCell($w=0, $h=0, $x='', $y='', $html, $border=0, $ln=1, $fill=0, $reseth=true, $align='', $autopadding=true); // --------------------------------------------------------- // Close and output PDF document // This method has several options, check the source code documentation for more information. $pdf->Output('example_001.pdf', 'I');
FIRMA: Espero fuese de ayuda y si te gustó, dímelo.

WhiteOso

jueves, 29 de marzo de 2012

ADB por WiFi

Hoy mirando por internet encontré un buen artículo que me gustaría compartir con todos:

Hoy os queremos traer algo que nos ha parecido curioso a la vez que desde nuestro punto de vista útil.
Os queremos enseñar como configurar vuestro terminal Android para que podais conectaros a el mediante ADB utilizando una conexión WiFi.

Esta opción a mi parece ofrece bastantes ventajas como la de no tener el terminal conectado durante un perido de tiempo prolongado a la alimentación externa ademas de afrecer la movilodad del terminal mientras estamos trazando o depurando una aplicación.

El único inconveniente es que para poder hacerlo tendréis que tener vuestro terminal Roteado. Pero a estas alturas estamos seguros de que ya le habréis metido mano a este tema. Sin mas dilación vamos manos a la obra.

1.- Instaláis en vuestro terminal la aplicación Android Terminal Emulator desde este link.
2.- Lanzáis la aplicación y ejecutáis los siguientes comandos:
su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

3.- Lanzáis una consola en vuestro PC y ejecutáis los siguientes comandos (asumimos que tenéis en la variable PATH de vuestro sistema el path donde están alojadas las herramientas de la SDK de Android, de no se así tendréis que lanzar estos comandos desde la carpeta contenedora de las herramientas):
adb connect wifi.ip.address:5555
(ejemplo: adb connect 192.168.0.105:5555)

4.- Ya tenéis vuestro terminal conector por ADB mediante WiFi.

Espero fuese de ayuda y si te gustó, dímelo.

WhiteOso

viernes, 2 de marzo de 2012

SQL Server desde PHP


En el siguiente documento explicaremos como configurar nuestro Xampp para habilitar conexiones con MSSQL.

  • Lo primero que debemos hacer es descargarnos el driver de Microsoft para PHP:

Según la versión de PHP que tengamos:

PHP 5.2.4 (or later)
or:
PHP 5.3.2 (or later)
or:

Una vez descargado, lo instalaremos / descomprimiremos dentro de la carpeta “ext” que se encuentra dentro del directorio “php” (en mi caso será C:\xampp\php\ext)
  • Lo segundo que deberemos hacer es editar nuestro php.ini para añadir dichas extensiones:

PHP 5.2.4 (or later)
extension=php_sqlsrv_52_nts_vc9.dll
PHP 5.3.2 (or later)
extension=php_sqlsrv_53_nts_vc9.dll

  • Llegados a este punto, podemos reiniciar el servidor apache y probar que todo funciona:

Crearemos un ejemplo para el TEST:
Creamos el fichero  test.php con el siguiente código:

Nuestro Ejemplo con "extension=php_sqlsrv_53_ts_vc9.dll"

"; foreach ( $errors as $error ) { echo "SQLSTATE: ".$error['SQLSTATE']." "; echo "Code: ".$error['code']." "; echo "Message: ".$error['message']." "; } } $serverName = "(local)\SQLEXPRESS"; $connectionOptions = array("Database"=>"pruebas"); /* Connect using Windows Authentication. */ $conn = sqlsrv_connect( $serverName, $connectionOptions); if( $conn === false ) { die( FormatErrors( sqlsrv_errors() ) ); } $tsql = "SELECT * FROM Personas"; $getProducts = sqlsrv_query( $conn, $tsql); if ( $getProducts === false) { die( FormatErrors( sqlsrv_errors() ) ); } while( $row = sqlsrv_fetch_array( $getProducts,SQLSRV_FETCH_ASSOC)) { var_dump($row); } ?>


Si todo ha ido bien, tendríamos que ver por pantalla:



Espero fuese de ayuda y si te gustó, dímelo.

WhiteOso

lunes, 27 de febrero de 2012

Configurarndo Xampp para ASP.NET

En el siguiente ejemplo configuraremos nuestro servidor Web - Xampp para poder interpretar páginas en ASP.NET.

Soporte de páginas ASP.NET

Primero de todo descargaremos el archivo necesario desde su fuente original:

mod_aspdotnet

Una vez instalados, editamos nuestro fichero de configuración:

(en mi caso)
C:\xampp\Apache\conf\httpd.conf

Y añadimos al fichero las siguientes líneas:
#ASP.NET MODULE

LoadModule aspdotnet_module modules/mod_aspdotnet.so

#ASP.NET MODULE


Con esta líneas hacemos que nos cargue el módulo para interpretar / ejecutar las páginas en ASP.NET
Ahora deberemos incluir las directivas para nuestros directorios:


#ASP.NET MODULE
<IfModule mod_aspdotnet.cpp>
  AddHandler asp.net asax ascx ashx asmx aspx axd config cs csproj \
                    licx rem resources resx soap vb vbproj vsdisco webinfo
                    
  AliasMatch "^/(?i)aspnet_client/system_web/(\d+)_(\d+)_(\d+)_(\d+)/(.*)" \
            "C:/Windows/Microsoft.NET/Framework/v$1.$2.$3/ASP.NETClientFiles/$4"
 
  <Directory "C:/Windows/Microsoft.NET/Framework/v*/ASP.NETClientFiles">
     Options FollowSymlinks
     Order allow,deny
     Allow from all
  </Directory>
  
  AspNetMount /ASPNET "c:/ASPNET" 
  Alias /ASPNET "c:/ASPNET"
  
  <Directory "c:/ASPNET">
     Options FollowSymlinks ExecCGI Indexes
     AspNet files
     Order allow,deny
     Allow from all
     DirectoryIndex default.htm default.aspx
  </Directory>
</IfModule>
#ASP.NET MODULE

Ahora crearemos un par de archivos en la carpeta creada ("c:/ASPNET"), para mirar si todo ha sido correcto:
Ejemplo en C#
<%@ Page Language="C#" %>
<% Response.Write("Hola Mundo ASPNET"); %>

Ejemplo en VB
<%@ Page Language="VB" %> 
<html> 
   <head> 
 
   </head> 
   <body> 
       <center>  
           <% Dim i As Integer 
              For i = 0 to 10 %> 
              <font size="<%=i%>"> Hola Mundo desde VB-Mundo</font> 
 
           <% Next i %> 
       </center> 
   </body> 
</html>

sábado, 25 de febrero de 2012

Conectar Android con Servidor externo WebService

Buenas tardes,

Hoy ha caido en mis manos un buen ejemplo de como conectar un WebService con nuestra apli en Android:

instalar la libreria

Deberá bajar el archivo mas reciente de la librería ksoap2
http://code.google.com/p/ksoap2-android/

El sistema se probo con “ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar” y funciona correctamente.

1- Seleccione el proyecto en el cual referenciará la librería, luego boton derecho
2- Selección propiedades
3- Seleccione [Java Build Path]
4- Seleccione [Add Externals JARs]
5- Seleccione la librería a referenciar en este caso “ksoap2-android-assembly-2.5.8-jar-with-dependencies.jar”
6- Seleccione [Abrir] y luego [OK]

ver imagen

Codigo



final String NAMESPACE = "http://tempuri.org/";



final String URL="http://186.XXX.XXX.79/Sincro_Mobile/Sincro.asmx";

final String METHOD_NAME = "Sincro_Maestros";

final String SOAP_ACTION ="http://tempuri.org/Sincro_Maestros";



ws_resultado.setText("");



//Se crea un objeto SoapObject para poder realizar la peticion

//para consumir el ws SOAP. El constructor recibe

//el namespace. Por lo regular el namespace es el dominio

//donde se encuentra el web service



request = new SoapObject(NAMESPACE, METHOD_NAME);



//Le agrega los parametros al request



request.addProperty("user", "qqqqq");

request.addProperty("pass", "qqqqqqqqqq");

request.addProperty("x", "0113143");

request.addProperty("Nombre_Tabla", "COMBUSTIBLE");

request.addProperty("Cant_Registros_Mobile", 0);





//Se crea un objeto SoapSerializationEnvelope para serealizar la

//peticion SOAP y permitir viajar el mensaje por la nube

//el constructor recibe la version de SOAP



envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);

envelope.dotNet = true; //se asigna true para el caso de que el WS sea de dotNet



//Se envuelve la peticion soap

envelope.setOutputSoapObject(request);



//Objeto que representa el modelo de transporte

//Recibe la URL del ws

HttpTransportSE transporte = new HttpTransportSE(URL);



try {

//Hace la llamada al ws

transporte.call(SOAP_ACTION, envelope);



//Se crea un objeto SoapObject y se obtiene la respuesta

//de la peticion



resultado_xml =(SoapObject)envelope.getResponse();

ws_resultado.setText(resultado_xml.toString()) ;

}

catch (IOException e) {

ws_resultado.setText(e.toString());

}

catch (XmlPullParserException e) {

ws_resultado.setText(e.toString());

}



}