viernes, 11 de septiembre de 2009

PhpZoftSlam



En conjunto con los analisis de la base de datos de Softland pyme (en especial cotizaciones y la contabilidad esta última aun no la comprendo muy bien, no soy contador jeje) he comenzado a generar una aplicación algo mas bonita para usar esta base, a puro PHP y gracias a javascripts va quedando así.

Mi intencion es llegar a obtener una aplicación independiente de Softland Pyme, que no necesite absolutamente nada de ella para funcionar , pero si con algo de compatibilidad... para este proyecto e migrado absolutamente toda la base MSSQL de softland a MySQL... ahora voy a generar la interface de cotizaciones... luego de eso vamos por lo demás.

miércoles, 26 de agosto de 2009

Volvi a mi SLACKWARE!!! Teclas Fn para PackardBell MX-52

Para controlar el brillo, en el source del kernel habilitamos las funciones para asus-laptop.
bien, estando compilado...

esta ruta nos vale:

/sys/class/backlight/asus-laptop

escribimos: echo 7 > brightness (de un maximo nivel de 15)

esto debe de bajar el brillo del LCD. (ahora hay que hacer un script para que cuando pulse la Fn correspondiente se suba o baje el brillo, aun me queda de tarea)


para los botones que controlan el audio... esta si funciona pulsando Fn (F3,F4,F10)
ejecute cada una de estas linias.

xmodmap -e 'keycode 160 = XF86AudioMute'
xmodmap -e 'keycode 174 = XF86AudioLowerVolume'
xmodmap -e 'keycode 176 = XF86AudioRaiseVolume'



.... ya lo lograre, me falta poco....

martes, 25 de agosto de 2009

Linia de Tiempo Linux Distros

Muy buen dato, nunca esta demás

Distribuciones de Linux en el tiempo

lunes, 24 de agosto de 2009

DBVISUALIZER

Con mas tiempo para testearlo, este programa ya terminó por ganarse un lugar en el HD!
observe, podemos ver referencias entre tablas de manera Gráfica...




muy bueno.

domingo, 23 de agosto de 2009

DBVISUALIZER

Una muy buena aplicación, mas amigable que dbbrowser (aunque igual me gusta por su simpleza), bien, DbVisualizer.

Permite conectarse a casi todos los Servidores, en mi prueba, me conecte sin problemas a MS-SQL y a ORACLE (Oracle Thin), claro señalandole al DbVisualizer donde estan las classes Java. (el de oracle lo trae el DbBrowser)




http://www.minq.se/products/dbvis/

por cierto, esta prueba la hice desde un Ubuntu (ando testeando esta distro) pero corre tambíen en Slackware!.

miércoles, 12 de agosto de 2009

SOFTLAND PYME , CALCULAR STOCK

// VISTA STOCK
$Producto = $row['CodProd'];
$Ingresados = $DespachosFACT = $DespachosSAL = 0;

$asql = "Select CodProd, CantIngresada,CantDespachada,Tipo from iw_gmovi where CodProd like '$Producto' and Tipo like 'E'";
$aresult = mssql_query($asql);
while ($row = mssql_fetch_array($aresult)) {

$Ingresados= $Ingresados +$row["CantIngresada"];

}
$bsql = "Select CodProd, CantIngresada,CantDespachada,Tipo from iw_gmovi where CodProd like '$Producto' and Tipo like 'F'";
$bresult = mssql_query($bsql);
while ($row = mssql_fetch_array($bresult)) {
$DespachosFACT= $DespachosFACT +$row["CantDespachada"];
}
$csql = "Select CodProd, CantIngresada,CantDespachada,Tipo from iw_gmovi where CodProd like '$Producto' and Tipo like 'S'";
$cresult = mssql_query($csql);
while ($row = mssql_fetch_array($cresult)) {
$DespachosSAL= $DespachosSAL +$row["CantDespachada"];
}



echo ' ';
echo round($Ingresados-($DespachosFACT+$DespachosSAL));
echo "
";
?>

sábado, 8 de agosto de 2009

SOFTLAND PYME (más ingenieria inversa)

Este programita...
llego un correo (agradezco que alguien lea este blog :) en el cual me comentaban que la gente de softland no daba respuestas sobre ciertas preguntas, porque, no se, (yo tambien me tope con su servicio tecnico deficiente, supongo que no saben lo que tienen, o que intentan proteger su programa, de que? :| jeje), bueno aqui va esto:


TABLA WILOG

sus columnas
------------
Usuario
Sistema
Formulario
Control
UsuarioWindows
NombrePC
Fechahoraentrada
fechahorasalida
--------------------

Fijarse en usuario sistema formulario para determinar las tablas que esta utilizando cada terminal.
Por ejemplo el usuario contabilidad, debe utilizar los formularios que utilicen CW o cw.

los que utilizan facturación e inventario:
comienzan por iw...



iw = fact - inventario
+----IWmanpor
+----IWFacLin
+----IWGENTR
+----IWgsali

CONTABILIDAD
--------------------
CW_CPBTE
CW_LIBVE
CWCAUX2 (min)
cw_IPCta (min)
cw_pctas (min)
CW_LIBMC
Cw_LibHo
cwtdetl

Bueno, comenzar a aplicar ingeniería inversa ya es mas fácil, nos sentamos frente a los clientes que queremos analizar y vamos revisando la tablita, aver a donde acceden jejeje.


También me están interesando las tablas WILOGDETWILOCK (esta me parece que tiene que ver con el limite de usuarios de la licencia :S), WILOGDESLOCK... ya veremos, los WILOG estan en la mira.

saludos.

lunes, 3 de agosto de 2009

php-cli MSSQL

La idea, hacer una consulta a MS-SQL server desde la Shell con un script php.
primero compilar el FREETDS:

./configure --with-tdsver=8.0 --prefix=/usr/local/freetds
make... ya sabe.

Luego PHP como --enable-cli y con los parametros adecuados para FREETDS:

$./configure --with-mysql --enable-cli --with-mssql=/usr/local/freetds --without-pdo-sqlite --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5
make... ya sabe.

Habiendose compilado he instalado PHP con soporte a mssql, este script php puede ser lanzado desde la Shell:




#!/usr/local/php5/bin/

$PARAM_IP = $argv[1];
$PARAM_USR = $argv[2];
$PARAM_PASS = $argv[3];
$PARAM_BD = $argv[4];
$PARAM_QUERRY = $argv[5];


$HANDLE_CONECCION = @mssql_connect($PARAM_IP,$PARAM_USR,$PARAM_PASS) or die("No se puede conectar al Servidor SQL\n");
mssql_select_db($PARAM_BD);


$consulta = $PARAM_QUERRY;
$result = mssql_query($consulta, $HANDLE_CONECCION);

while($row=mssql_fetch_array($result))
{
// mostramos el contenido de todos los campos
for($i=0;$i echo $row[$i]."|"; //separamos con |
echo "\n";
}
?>




$./conecta.php 192.168.1.55 usuario password basededatos "select * from tabla where columna like '%algo'" > output.txt

lunes, 20 de abril de 2009

EASYNOTE MX52-B-081CL

Bien, ahora voy en un SLAMD64, como todos sabemos es un SLACKWARE 12.2, pero con soporte para 64 Bits, va muy bien, compile los drivers ATI y la aceleración funciona.

Por ahi en los foros existe gente que se queda tirada al intentar hacer funcionar la Interface WiFi integrada, una atheros, la solucion es configurar el kernel con soporte para atheros 5k y 9k, se recomienda en forma de modulos y luego compilar (el Aircrack Funciona de pelos ;).

Yo uso actualmente el Kernel 2.6.28.7, y no tengo problemas con este dispositivo ni con el de la webcam (UVC Video 4 Linux 2... compile todo el soporte v4l). lo unico que me anda faltando es que los botones Fn me funcionen... ya lo lograre, ojalá! jeje.

jueves, 9 de abril de 2009

Webcam Front End para Mplayer


Bueno, alfin que me he hecho de un notebook, un PackardBell MX52, para hacer andar la camarita fue bueno recompilar el kernel con soporte a UVCVideo (de pasada comento que si quiere wifi compile el modulo ath5k, de hehco los ultimos kernels 2.6.x tienen un casi total soporte al hardware de este packardbell)

uvcvideo: Found UVC 1.00 device CNF7050 (04f2:b066)

la camara fue detectada, pero ahora lo que deseo es utilizarla, por ahi estan las linias de comando para mplayer, cosa que funciona muy bien, pero no es de gente grande andar escribiendo lo mismo cada vez que queramos grabar un videito, mejor hacernos un front end...

Como me gusta el pascal, voy con Lazarus a hacer la cosa.

basicamente el comando para hacer andar la webcam con mplayer es:

mplayer tv://

pero ahora voy a dejar aqui el codigo para hacer andar la webcam y dejar la salida del mplayer dentro de una form, cosa que podamos manipular la form desde nuestro codigo pascal y continuar con nuestra hermosa aplicacion front end para este grandioso mplayer/mencoder, y asi poder grabar, ver videos y sacar fotos con nuestra webcam, por ahora solo dejo el codigo para hacer andar la webcam, luego de esto lo demas es paja molida, entonces 2 tform y 1 tpanel para meter el mplayer...


procedure TForm1.BitBtn1Click(Sender: TObject);
begin
unit2.Form2.VerVideo(' tv:// -tv driver=v4l2:device=/dev/video0');

end;



// desde aqui la unit2 de la Form2

uses
Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
StdCtrls, ExtCtrls,process, x,
{$IFDEF LCLGTK} gtk, gdk, glib, {$ENDIF}
{$IFDEF LCLGTK2} gtk2, gdk2, glib2, gdk2x, {$ENDIF}
math, xlib, ComCtrls;


type

{ TForm2 }

TForm2 = class(TForm)
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
procedure VerVideo(ruta:string);

{ public declarations }
end;

procedure TForm2.VerVideo(ruta:string);
var
mplayerproc: TProcess;
HandleWindow: Int64;
begin


HandleWindow := GDK_WINDOW_XWINDOW(Pointer(PGtkWidget(form2.panel1.handle)^.window));

mplayerproc:= TProcess.Create(nil);
mplayerproc.CommandLine:= 'mplayer -quiet -wid ' + IntToStr(HandleWindow) + ruta;
mplayerproc.Execute;
mplayerproc.Free;

end;



bien, el que lo intente notara que el mplayer proyecta dentro de toda la form y practicamente el tpanel no controla el porte ni nada de la proyeccion, la gracia seria que la proyeccion quedara en el tpanel dejandonos espacio dentro de la form contenedora para hacer otras cosas, quizas poner mas paneles para otras webcams dentro de la misma form, si alguien lo logra antes que yo, porfavor, hagalo saber ;).