Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - WHK

#3021
Cita de: Gurowner en 17 Enero 2011, 15:51 PM
Como usuario de Linux y entusiasta del software libre, debo decir que definitivamente no se puede considerar que "es mejor que Windows" en cuanto a juegos... No está ni al nivel.

Como siempre digo, si quieres juegos usa Windows, si te dedicas a lo audiovisual, Mac... Y para todo lo demás Linux mil veces.



no es que no esté a nivel, de hecho el kernel de linux está mejor adaptado para juegos que Windows, además por el ahorro de memoria del SO.
El problema es que pocos grandes desarrolladores de juegos migran.
Por ejemplo yo tengo win7 y ubuntu y en ambos SO el doom3 y en linux me corre mas rápido y no es un juego liviano, se necesita por lo menos 512 de video dedicado para que corra descentemente con todos sus gráficos y un procesador de 3.0 de un solo nucleo y 1g de ram.

La única diferencia es que en linux no hay crack pero para eso está la consola de doom3 y llamas a cualquier nivel desde el comando maps y se carga lo más bién :P

IdTech para mi no es uno de los mejores motores, es el mejor motor en cuanto a la calidad de detalles gráficos que pueda entregar un juego y funciona perfecto en linux y mejor que en windows.

repito, el problema no es que no sea capaz, esque simplemente hay pocos desarrolladores.
#3022
Mira esto, haz un pipe:



Código (vbnet) [Seleccionar]
Public Class Form1

    Private Results As String
    Private Delegate Sub delUpdate()
    Private Finished As New delUpdate(AddressOf UpdateText)
    Dim button_click As Integer = 0
    Dim myprocess As New Process
    Dim StartInfo As New System.Diagnostics.ProcessStartInfo

    Private Sub UpdateText()
        ' txtResults.Text = Results
        txtCommand.Clear()
        txtResults.AppendText(System.Environment.NewLine() & Results)
        txtResults.ScrollToCaret()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If button_click = 0 Then
            opencmd()
            button_click += 1
        End If
        Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
        CMDThread.Start()
    End Sub
   
    Private Sub opencmd()
        StartInfo.FileName = "cmd" 'starts cmd window
        StartInfo.RedirectStandardInput = True
        StartInfo.RedirectStandardOutput = True
        StartInfo.UseShellExecute = False 'required to redirect
        StartInfo.CreateNoWindow = True 'creates no cmd window
        myprocess.StartInfo = StartInfo
        myprocess.Start()
    End Sub

    Private Sub CMDAutomate()
        'Dim SR As System.IO.StreamReader = myprocess.StandardOutput
        'Dim SW As System.IO.StreamWriter = myprocess.StandardInput
        myprocess.StandardInput.WriteLine(txtCommand.Text) 'the command you wish to run.....
        myprocess.StandardInput.WriteLine(System.Environment.NewLine())

        ' SW.WriteLine("exit") 'exits command prompt window
        While myprocess.StandardOutput.EndOfStream = False
            Results = myprocess.StandardOutput.ReadLine()
            Invoke(Finished)
        End While

        'Results = SR.ReadToEnd 'returns results of the command window
        'SW.Close()
        'SR.Close()
        'invokes Finished delegate, which updates textbox with the results text
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        opencmd()
    End Sub

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Application.ExitThread()
        Application.Exit()
        End
    End Sub
End Class
#3023
el interpretador cmd no maneja sockets, lo unico que puedes hacer es desde el interprete manipular a otro software y que ese software se ponga a escucha.

Ahora, un programanativo que haga eso es el servidor telnet, no conozco ningun otro que puedas manipular atraves de un batch.

lo de abrir el puerto supongo que te refieres al router, ps ahi no se, creo que lo mismo.... usar telnet y comandos desde un txt pero en la práctica no se como sería porque nunca lo he intentado.

ahora, solo windows xp trae el telnet server y client instalados de forma nativa, en windows 7 lo debes instalar desde el gestor de softwares nativos o componentes extras.
#3024
Cita de: Spider-Net en 14 Enero 2011, 23:04 PM
Globus - Preliator

muchisimas gracias!
te doy +10
#3025
prueba con

<?php header('Content-Type: text/html; charset=ISO-8859-1'); ?>

para poder escribir eñes, acentos etc.

Si vas a cargar un archivo con ciuddes asegurate de que las guardaste con la misma codificación ISO o ANSI y no utf-8 o si no te va a seguir dando error.

Por eso en todos mis scripts les doy en guardar como al principio para elegir la codificación en iso 88591 y luego poner el header en el php. con esto me imprime todos los mismos carácteres que escribo en mi pc sin la necesidad de filtrarlos.

Código (html4strict) [Seleccionar]
<?php header('Content-Type: text/html; charset=ISO-8859-1'); ?>
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body>
  Prueba: áéíóú``´´ñÑ ©® etc etc.<br />
  á : &aacute;
</body>
</html>
#3026
PHP / Re: Ocultar celdas de tablas con PHP
14 Enero 2011, 21:17 PM
yo hace tiempo hize un framework también completo y esta es la clase de mysql por si te sirve, le he hecho como 3 versiones diferentes y cada uno tiene cosas que pulir y cambiar, por eso le he hecho tantos cambios:

Código (php) [Seleccionar]
<?php
if(!$CMS) exit;
/*
Framework-DrawCoders
admin@drawcoders.com

Creado por              : DrawCoders
Nombre del archivo      : class_poo_sql.php
Version del archivo     : 1.1
Fecha de modificación   : 12 Octubre 2010
*/

class sql{
 var 
$handle;
 var 
$host '127.0.0.1';
 var 
$user;
 var 
$pass;
 var 
$bdatos;
 var 
$persistente true;
 
 function 
connect($host$user$pass$bdatos$persistente true){
  
$this->host $host;
  
$this->user $user;
  
$this->pass $pass;
  
$this->bdatos $bdatos;
  
$this->persistente $persistente;
  
  
/* Crea el handle de SQL */
  
if($persistente){ /* Crea una conexión persistente */
   
$handle mysql_pconnect($host$user$pass);
  }else{ 
/* Crea una conexión momentanea */
   
$handle mysql_connect($host$user$pass);
  }
  if(
$handle){ /* Verifica que el handle sea válido */
   
if(mysql_select_db($bdatos$handle)){ /* Selecciona la base de datos del servidor MySQL */
    
return ($this->handle $handle); /* Retorna el handle */
   
}else{ /* No existe la base de datos seleccionada, procede a crear una nueva */
    
if(!mysql_query('CREATE DATABASE '.$bdatos$this->handle)){
     
mysql_close($this->handle); /* Cierra la conexión hacia la base de datos */
     
return false/* Imposible crear la nueva base de datos */
    
}else{
     return 
$handle/* Retorna el handle */
    
}
   }
  }else{
   
/* Imposible conectarse a la abse de datos */
   
return false;
  }
 }

 function 
es_tabla($tabla false){
  
/* Crea la query solicitando el estado de la tabla $tabla */
  
$respuesta $this->selecciona('show table status like '.str::filtro($tabla'sql_comp'), true);
  
/* Un resultado de una tabla existente consta de por lo menos dos columnas */
  
if(count($respuesta) > '2')
   return 
true/* Existe */
  
else
   return 
false/* No existe */
 
}

 function 
obtener_columnas($tabla){
  if(!
$columnas $this->selecciona('show columns from '.$tabla))
   return 
false/* Tabla inexistente */
  
if(is_array($columnas)){
   foreach(
$columnas as $columna){
    
$retorno[] = $columna['Field'];
   }
  }else{
   return 
false/* No hay columnas */
  
}
  return 
$retorno;
 }

 function 
update($tabla$datos_array$where false){
  global 
$CMS;

  if(!
is_array($datos_array))
   return 
false/* No es un array de datos */
  
  /* Obtiene las columnas para su verificación */  
  
$pre_columnas $this->obtener_columnas($tabla);
   
  
/* Creación automatizada de la columna id primaria */
  
if($CMS['MYSQL']['AUTO_ID']){
   if(
is_array($pre_columnas)){
    foreach(
$pre_columnas as $pre_col){
     if(
strtolower($pre_col) == 'id'){
      
$existe_id true;
      break;
     }
     unset(
$pre_col);
    }
   }
   if(!
$existe_id){
    if(!
$datos_array['id']){
     
$datos_array = array('id' => '') + $datos_array;
    }
   }
  }

  
/* Prepara el update */
  
if($where){
   
$query['sql'] = 'update '.str::filtro($tabla'sql_col_comp').' set ';
   foreach(
$datos_array as $columna => $valor){
    
$query['sql'] .= str::filtro($columna'sql_col_comp').' = '.str::filtro($valor'sql_comp').',';
   }
   
$query['sql'] = str::left($query['sql'], strlen($query['sql']) - 1).' where '.$where;
  
/* Prepara el insert */
  
}else{
   
$query['sql'] = sprintf(
    
'insert into %s (%s) values (%s)'
    
$tabla
    
implode(', 'array_map(array('str','filtro'), array_keys($datos_array), explode(';'str::left(str_repeat('sql_col_comp;'count($datos_array)), count($datos_array) * strlen('sql_col_comp;') - 1)))), 
    
implode(', 'array_map(array('str','filtro'), $datos_array,             explode(';'str::left(str_repeat('sql_comp;'count($datos_array)), count($datos_array) * strlen('sql_comp;') - 1))))
   );
  }

  
/* Realiza la query */
  
if(!@mysql_query($query['sql'], $this->handle)){ /* Query fallida */
   
$err_no_sql mysql_errno($this->handle);
  
   
/* Declara los arrays iniciales */
   
$query['agrega_tabla']    = 'create table '.str::filtro($tabla'sql_col_comp').' (';
   
$query['agrega_columnas'] = 'alter table  '.str::filtro($tabla'sql_col_comp').' ';

   if(
$CMS['MYSQL']['AUTO_ID']){ /* Creación automatizada de la columna id primaria */
    
if(!$contiene_id){ /* No existe la columna id en la query */
     
if(is_array($pre_columnas)){
      foreach(
$pre_columnas as $pre_col){
       if(
strtolower($pre_col) == 'id'){
        
$existe_id true;
        break;
       }
      }
     }
     if(!
$existe_id){ /* No existe la columna id en la tabla */
      
$query['agrega_tabla'] .= '`id` INT NOT NULL AUTO_INCREMENT, index ( `id` ),';
      
$query['agrega_columnas'] .= 'ADD `id` INT NOT NULL AUTO_INCREMENT FIRST, ADD index ( `id` ),';
      
$contiene_id true;
     }
    }
   }
   
   
/* Crea el alter table o el create table */
   
foreach($datos_array as $columna => $valor){

    
/* Verifica las tablas existentes e inexistentes */
    
$existe_col false;
    if(
is_array($pre_columnas)){
     foreach(
$pre_columnas as $pre_col){
      if(
$pre_col == str::filtro($columna'sql_col')){
       
$existe_col true;
       break;
      }
     }
    }

    if(!
$existe_col){ /* Solo agrega las columnas necesarias */
     
if(strtolower($columna) == 'id'){ /* id index numerico autoincrement */
      
if(!$contiene_id){
       
$query['agrega_tabla'] .= str::filtro($columna'sql_col_comp').' INT NOT NULL AUTO_INCREMENT, index ( `id` ),';
       
$query['agrega_columnas'] .= 'ADD '.str::filtro($columna'sql_col_comp').' INT NOT NULL AUTO_INCREMENT FIRST, ADD index ( `id` ),';
      }
     }else{
      
$query['agrega_tabla'] .= str::filtro($columna'sql_col_comp').' TEXT NOT NULL,';
      
$query['agrega_columnas'] .= 'ADD '.str::filtro($columna'sql_col_comp').' TEXT NOT NULL,';
     }
    }

   }
   unset(
$columna$valor); /* Se eliminan las variables temporales */
   
   /* Concluye los arrays iniciales */
   
$query['agrega_tabla']    = str::left($query['agrega_tabla'], strlen($query['agrega_tabla']) - 1).' ) engine = InnoDB ';
   
$query['agrega_columnas'] = str::left($query['agrega_columnas'], strlen($query['agrega_columnas']) - 1);
   
// echo $query['agrega_columnas']; exit;
   /* No existe la tabla, por lo tanto se creará una nueva */
   
if($err_no_sql == '1146'){
    
mysql_query($query['agrega_tabla'], $this->handle); /* Agrega la tabla */
    
if($this->es_tabla($tabla)){ /* Verifica que se haya creado la tabla */
     /* Retorna una nueva query con las columnas nuevas ya creadas */
     
return $this->update($tabla$datos_array$where);
    }else{
     return 
false/* Imposible crear la tabla nueva */
    
}

   
/* No existe la columna, por lo tanto se crearán todas nuevas */
   
}elseif($err_no_sql == '1054'){
    @
mysql_query($query['agrega_columnas'], $this->handle); /* Hace la query con la creación de las nuevas columnas */
    /* Verifica que las columnas hayan sido insertadas correctamente */
    
$f 0;
    if(
$columnas $this->obtener_columnas($tabla)){
     foreach(
$datos_array as $columna_ins => $valor_ins){     
      foreach(
$columnas as $columna){
       if(
str::filtro($columna_ins'sql_col') == $columna){
        
$f++;
        break;
       }
      }
     }
     if(
$f == count($datos_array)){
      return 
$this->update($tabla$datos_array$where); /* Hace la query inicial nuevamente */ 
     
}else{
      return 
false/* Imposible insertar las nuevas columnas */
     
}
    }else{
     return 
false/* Imposible seleccionar las columnas */
    
}
   }else{
    return 
false/* Error desconocido */
   
}
  }else{
   return 
true/* Query realizada con éxito */
  
}
 }
 
 function 
crear_columna($tabla$columna){
  if(
$this->es_tabla($tabla)){ /* Verifica si la tabla existe */
   
if(mysql_query('
    ALTER TABLE '
.str::filtro($tabla'sql_comp').
    ADD '
.str::filtro($columna'sql_comp').' TEXT NOT NULL',
$this->handle)){
   return 
true/* Se agregó la nueva columna */
   
}else{
    return 
false/* Imposible agregar la nueva columna */
   
}
  }else{
   
/* Si no existe la tabla entonces la crea nueva */
   
if(mysql_query('
    CREATE TABLE '
.str::filtro($tabla'sql').'(
     '
.str::filtro($columna'sql_comp').' TEXT NOT NULL
    ) ENGINE = InnoDB '
,
$this->handle)){
    return 
true/* Nueva columna agregada */
   
}else{
    return 
false/* Imposible agregar una nueva columna */
   
}
  }
 }
 
 function 
eliminar_tabla($tabla){
  return 
mysql_query('drop table '.$tabla$this->handle);
 }

 function 
eliminar_fila($tabla$where){
  return 
mysql_query('delete from '.$tabla.' where '.$where$this->handle);
 }

 function 
desconectar(){
  if(
$this->handle){
   if(
$CMS['UTILIZAR']['MYSQL']){ /* SQLite no cierra el handle porque no hay desconección */
    
@mysql_close($this->handle);
   }
   return 
true;
  }else
   return 
false;
 }
 
 function 
selecciona($query$un_valor false){
  
/* realiza la query */
  
if(!$query_handle mysql_query($query$this->handle))
   return 
false/* La query ha fallado */

  /* Obtiene los resultados en un array */
  
while($fila mysql_fetch_array($query_handleMYSQL_ASSOC)){
   
$retorno[] = $fila;
  }
  
/* Libera la memoria si es necesario */
  
@mysql_free_result($query_handle);

  
  
/* Se ha solicitado solamente un valor o un array */
  
if($un_valor){
   
$retorno $retorno[0];
   if(
count($retorno) > 1){
    return 
$retorno/* Es un array con mas de una variable */
   
}else{ /* Es un array con una sola variable, por lo tanto debolvemos solamente el string */
    
if(!is_array($retorno))
     return 
false/* No hay datos para devolver debido a que necesitamos un string */
    
foreach($retorno as $variable => $valor){ /* Necesitamos solamente el valor del array debuelto */
     
return $valor;
    }
   }
  }
  return 
$retorno;
 }

}

?>


Código (php) [Seleccionar]
<?php if(!included) exit;

class 
sql{
 var 
$config;
 var 
$handle;
 
 function 
__construct(){
  
$this->config = new configuration(); /* Loaded for system() class */
 
}
 
 function 
connect(){
  if(
$this->handle mysql_pconnect($this->config->sql_host$this->config->sql_username$this->config->sql_password)){
   if(
mysql_select_db($this->config->sql_dbname$this->handle)){
    return 
$this->handle;
   }else{
    return 
false/* DB not exist */
   
}
  }else{
   return 
false/* Server not found */
  
}
 }

 function 
close(){
  return @
mysql_close($this->handle);
 }
 
 function 
raw($query){
  return 
mysql_query($query$this->handle);
 }
 
 function 
fast_select($query$one_valor false){
  
/* Return all data in arrays */
  
if(!$query_handle mysql_query($query$this->handle))
   return 
false;

  while(
$fila mysql_fetch_array($query_handleMYSQL_ASSOC)){
   
$ret[] = $fila;
  }
  @
mysql_free_result($query_handle);

  if(
$one_valor){
   
$ret $ret[0]; /* Less dimension of array */
   
if(count($ret) > 1){
    return 
$ret;
   }else{
    if(!
is_array($ret))
     return 
false/* No data */
    
foreach($ret as $var => $val){ /* Process only one result */
     
return $val;
    }
   }
  }
  return 
$ret;
 }

}

?>


pero en fin, ya no desviemos mas el tema principal xD jajajaja
#3027
muchisimas gracias lo buscaré por ahi  :D
#3028
PHP / Re: Ocultar celdas de tablas con PHP
14 Enero 2011, 18:40 PM
Cita de: Diabliyo en 14 Enero 2011, 18:12 PM
Código (php) [Seleccionar]
<?php
$consulta
'haces la consulta mysql';
$consmysql_query$consulta$link ); # metemos los datos a una variable
if( !mysql_num_rows($cons) ) # si esta vacio (sin datos)
    
echo 'Error';
else 
# existen datos, exito
    
{
    echo 
'resultados....';
    
# ... el demas code...
    
}
?>


Código (php) [Seleccionar]
<?php
if(!$consmysql_query('haces la consulta mysql'$link ))
 echo 
'Error';
else{
 echo 
'resultados....';
}
?>
#3029
ando buscando el nombre de este tema para usarlo en otro video pero no se su nombre ni lo he podido encontrar, alguien lo conoce o tiene alguna pista para poder seguir buscando?

[youtube=425,350]http://www.youtube.com/watch?v=u53hazSLgFg&feature=player_embedded[/youtube]

gracias de antemano.
#3030
Windows / Re: Crear Instalacion
14 Enero 2011, 07:26 AM
Prueba con InstallShield 2010

http://www.megaupload.com/?d=9JAQWXD6