elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 46
241  Programación / Java / Android - Componente ListView (grabar sus datos con la clase SharedPreferences) en: 28 Febrero 2019, 12:33 pm
Hola a todos,

antes de hacer mis preguntas quisiera mostrarles un código:

Código:
lv1.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
final int posicion=i;
AlertDialog.Builder dialogo1 = new AlertDialog.Builder(MainActivity.this); dialogo1.setTitle("Importante");
dialogo1.setMessage("¿ Elimina este teléfono ?"); dialogo1.setCancelable(false); dialogo1.setPositiveButton("Confirmar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogo1, int id) {
String s=datos.get(posicion);
StringTokenizer tok1=new StringTokenizer(s,":");
String nom=tok1.nextToken().trim();
SharedPreferences.Editor elemento=prefe1.edit(); elemento.remove(nom);
elemento.commit();
datos.remove(posicion);
adaptador1.notifyDataSetChanged(); } });});

Teniendo en cuenta que "datos" es un objeto de la clase ArrayList<String>:

1) Tengo entendido que en los métodos setOnItemLongClickListener y setPositiveButton se envía cómo parámetro un método anónimo de las clases respectivas (AdapterView.OnItemLongClickListener y DialogInterface.OnClickListener). ¿Estoy en lo correcto?

2) Si los métodos anónimos no le pertenecen a la clase a la cual le pertenece el atributo "datos", ¿cómo es posible que estos métodos tengan acceso a los atributos de una clase ajena?

3) Suponiendo que de alguna forma los métodos anónimos si tienen acceso a la clase a la cual le pertenece el atributo "datos", ¿cómo es posible que el método anónimo de la clase DialogInterface.OnClickListener tenga acceso a la variable local "posicion" del método anónimo de la clase AdapterView.OnItemLongClickListener?

Gracias y saludos
242  Programación / Desarrollo Web / javascript - Juego de fosforos en: 26 Febrero 2019, 21:33 pm
Hola a todos,

la mayoría de ustedes saben bien de este juego. El javascript trata de quitar los
fósforos de tal manera que al final no se tenga que sacar el último. Con ello se
juega contra la computadora.

Al principio se fija cuantos fósforos se alistaran en el juego.

En cada jugada se puede quitar entre uno y tres maderas. Entonces el
javascript calcula los fósforos restantes y actualiza la visualización en la página
principal.

Naturalmente, al mismo tiempo, la computadora o el javascript también trata de
sacarles el último fósforo y con eso ganar el juego.

Para iniciar nuevamente el javascript tienen que actualizar la página principal en el
navegador.

Código:
Código:
<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de javascript</title>
  <meta charset="UTF-8">
</head>
<body>
<!-- Presentado por javascripts-gratis.de -->
<script type='text/javascript'>
<!--
var obj1 = new Array(100), mc,mc1, cur_obj, total_sel, win = false, cpu_sel, ost, user_sel, game = true;

function RemoveElementByNum(num) {
document.getElementById("ch"+num).style.display = 'none';
document.getElementById("im"+num).style.display = 'none';
}

function RemoveCpuSel(num) {
del = num;
for ( i=0; i<mc1; i++ ) {
ename = document.getElementById("ch"+i);
if (del!=0) {
if (ename.style.display != 'none') {
ename.style.display = 'none';
document.getElementById("im"+i).style.display = 'none';
del-=1;
}
}

}
}

function GetClickedElement(){
total=0;
result=false;
for (i=0; i<mc1; i++) {
ename = document.getElementById("ch"+i);
if ((ename.style.display != 'none') && (ename.checked)) {
total++;
}
}
if (total>3) {
alert('Demasiados fosforos seleccionados. No puedes seleccionar mas de tres fosforos!');
result=false;
} else {
result=true;
}
document.getElementById("maderalog").value = "Tu tomas "+total+" pieza/s.";
total_sel=total;
user_sel=total;
return result;
}

function AI() {
if ( (mc>1) && (win==false) ) {
game = true;
}
if (game == true) {
if ( (mc-user_sel)==1 ) {
win=true;
game=false;
}
if ( (mc%4)!=1 ) {
ost=(mc-user_sel)%4;
if (ost==0) {
ost=4;
}
if (ost>1) {
cpu_sel=ost-1;
} else {
cpu_sel=Math.floor( (3*Math.random()) );
cpu_sel++;
if (cpu_sel>mc) {
cpu_sel=mc;
}
}
}
else {
cpu_sel=4-user_sel;
}
RemoveCpuSel(cpu_sel);
mc=mc-(cpu_sel+user_sel);
document.getElementById("maderalog").value='La computadora toma '+cpu_sel+' pieza/s.';
}
if ( (mc==1) || (mc<1)) {
game = false;
if (win == true) {
document.getElementById("maderalog1").style.visibility='hidden';
document.getElementById("maderalog").style.visibility='hidden';
document.getElementById("eliminar").style.visibility='hidden';
alert('Felicitaciones! Tu has ganado!!!!');
game=false;
} else {
document.getElementById("maderalog1").style.visibility='hidden';
document.getElementById("maderalog").style.visibility='hidden';
alert('Tu has perdido. La inteligencia artificial ha ganado!!!! JA - JA - JA!!!!');
game=false;
document.body.innerHTML = ""
}
}
document.getElementById("maderalog1").value = "Sobra/n " +mc+ " pieza/s";
}

function RemoveSelected(){
if ((total_sel!=0) && (total_sel<4)) {
user_sel=total_sel;
for (i=0; i<mc1; i++) {
ename = document.getElementById("ch"+i);
if ((ename.style.display != 'none') && ename.checked) {
RemoveElementByNum(i);
}
total_sel=0;
}
AI();
} else {
if (total_sel>3) {
alert("Demasiados fosforos seleccionados.");
} else {
alert('Nada seleccionado');
}
}
}


function initMadera() {
mc = prompt("Cantidad de fosforos?. La cantidad debe hallarse entre 7 y 50", "23");
         if (mc<7) mc=7;
         if (mc>50) mc=50;

mc1 = mc;
document.write('<center><table border="0" cellspacing="0" cellpadding="0"><tr>');
for (i=0; i<mc; i++) {
document.write('<td align="center"><div style="height: 70px; width: 7px; background-color: #C0C077;" name="im'+i+'" id="im'+i+'"><div style="height: 7px; width: 7px; background-color: #FF3300;"></div></div></td>');
obj1[i]=1;
}
document.write('</tr><tr>');
for (i=0; i<mc; i++) {
document.write('<td><input type="checkbox" onclick="GetClickedElement();" name="ch'+i+'" id="ch'+i+'" /></td>');
}
document.write('</tr></table>');
document.write('<br /><input type="button" value="Eliminar fosforos seleccionados" onclick="RemoveSelected();" id="eliminar" />');
document.write('<br /><br /><br /><br />');
document.write('<input type="text" name="maderalog" id="maderalog" size="30" /><br />');
document.write('<input type="text" name="maderalog1" id="maderalog1" size="30" /><br />');
document.write('</center>');
}
//-->
</script>
<script type="text/javascript">initMadera();</script>
<!-- Presentado por javascripts-gratis.de -->

</body>
</html>

Página web: https://drive.google.com/open?id=14Gu9OuiYfRsDIHCZ4CT_AIQtfvRgvD-N

Saludos
243  Programación / Java / Re: Android - Dibujar: texto en: 22 Febrero 2019, 13:22 pm
Hola NEBIRE,

todo esto es muy guay. Muchas gracias por tu explicación. Especialmente, por esta frase, que para mi era la frase clave:

Citar
Las formas típicas en que varias constantes se aúnan es porque cada constante típicamente afecta un solo bit (o más)


Gracias y saludos
244  Programación / Desarrollo Web / javascript - Asteroids en: 22 Febrero 2019, 12:31 pm
Hola a todos,

algunos quizás conozcan todavía el juego Asteroids, que en los años 80 era bastante popular y uno de los primeros juegos de computadora.

Ahora se remodelo y se produjo este javascript, con el cual se puede lanzar tiros hacia la página actual. Para eso usen fácilmente el espacio. Ustedes pueden dirigir la astronave con las teclas del cursor. Los puntos les serán mostrados abajo a la derecha. Al principio se puede ver la astronave arriba a la izquierda.

Y ahora diviértanse destruyendo la página.

Le agregué unos botones para que puedan probar destruir elementos.

Los archivos se los dejo mediante un link ya que el espacio no alcanza para publicar los contenidos de los mismos.

Códigos: https://drive.google.com/open?id=1ixKOo-v59AtZSfTr-XrEJZbvzXuMUD20

Autor: Erik Rothoff Andersson

Saludos

PD.: Ustedes pueden restaurar todos los elementos recargando fácilmente la página con F5. Para finalizar el modo de juego presionen la telca ESC en el teclado!
245  Programación / Java / Re: Android - Dibujar: texto en: 19 Febrero 2019, 19:57 pm
Hola BloodSharp,

Citar
Puede verificar cada propiedad con operaciones "and"...

Y cómo la hace?
Cómo sabe cuantas propiedades se envió en el segundo parámetro?


Gracias y saludos
246  Programación / Java / Re: Android - Dibujar: texto en: 19 Febrero 2019, 18:57 pm
Hola BloodSharp de nuevo,

se me acaba de ocurrir otra pregunta: cómo procesara el método create de la clase Typeface el segundo parámetro si se le envía dos propiedades separados por un |? No podrá procesar solo una propiedad?


Gracias y saludos
247  Programación / Java / Re: Android - Dibujar: texto en: 19 Febrero 2019, 18:40 pm
Hola BloodSharp,

muchas gracias por tu respuesta.

Pero... claro... que estupidez de mi parte haber hecho esto pregunta. Bold significa negrita e Italic significa cursiva. Y yo creí que se trataba de fuentes....


Gracias y saludos
248  Programación / Java / Android - Dibujar: texto en: 19 Febrero 2019, 15:42 pm
Hola a todos,

quería preguntarles que significa este código:

Código:
Paint pincel1 = new Paint();
Typeface tf = Typeface.create(Typeface.SERIF, Typeface.ITALIC);
pincel1.setTypeface(tf);
tf = Typeface.create(Typeface.SERIF, Typeface.ITALIC
                    | Typeface.BOLD);
pincel1.setTypeface(tf);

Osea: El pincel tiene dos tipos de letras al mismo tiempo? Si es así... cómo es eso posible?
Y: Al estar separado (en la segunda creación del Typeface) el segundo parámetro por otro parámetro mediante un |... quiere decir eso que aleatoriamente se eligira un Typeface?

Gracias y saludos
249  Programación / Desarrollo Web / javascript - Imagen fade in en: 19 Febrero 2019, 15:32 pm
Hola a todos,

aqui podran ustedes dejar que una imagen de su elección se "haga grande"; e. s.: al
comienzo la imagen no es visible en sus páginas principales, pero crece dentro de
poco tiempo hacia el tamaño configurado.

En este javascript pueden configurar tres parametros: la anchura, la altura y la URL
de la imagen. Cuando la imagen se haya cargado en sus páginas principales, se hace
grande y se queda en sus páginas principales en el tamaño configurado.

Deje un imagen gif en el ejemplo.

Codigo:

Código:
<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de javascript</title>
  <meta charset="UTF-8">
</head>
<body>
<!-- Presentado por javascripts-gratis.de -->
<script type='text/javascript'>
<!--
// Script by Freddus
// visit my site: http://www.friederklein.de

/////////////////////
var altura = 60;    // Configurar aqui la altura original de la imagen
var anchura = 468;  // Configurar aqui la anchura original de la imagen
var imagensita = "https://media.giphy.com/media/l41lLf17l7YCZ4Tjq/giphy.gif";  // Dirección hacia la imagen
/////////////////////
var contador=0;

function emboque(){
  var pixels;
  document.getElementById("miimagenzoom").height = document.getElementById("miimagenzoom").height+altura/20;
  document.getElementById("miimagenzoom").width = document.getElementById("miimagenzoom").width+anchura/20
  if (contador<20){
    setTimeout("emboque()",50);
  }// Fin del if
  contador++;
}//Fin del emboque

function initimagen() {
document.write('<div align="center">');
document.write('<img height="0" width="0" id="miimagenzoom" src="'+imagensita+'" onload="emboque();">');
document.write('</div>');
}
//-->
</script>
<script type="text/javascript">initimagen();</script>
<!-- Presentado por javascripts-gratis.de -->

</body>
</html>

Página web: https://drive.google.com/open?id=1xbHiakrS5S76b8X_gtd22BIdVA2AFzCp

Autor: Freddus

Saludos
250  Programación / Desarrollo Web / javascript - Imagenes casuales en: 19 Febrero 2019, 12:31 pm
Hola a todos,

este script de javascript cambia cada X-segundo la imagen en sus páginas principales.

Con ello ustedes configuran facilmente que imagenes deben ser mostradas y
especifican la cantidad de segundos, despues de los cuales se se debera elegir y
mostrar una nueva imagen casual y ya empieza.

En este ejemplo ya se agrego imagenes y la cantidad de segundos fue puesta a dos.

Codigo:

Código:
<!DOCTYPE html>
<html>
<head>
  <title>Ejemplo de javascript</title>
  <meta charset="UTF-8">
</head>
<body>
<!-- Presentado por javascripts-gratis.de -->
<script type='text/javascript'>
<!--
// Script e idea: Freddus

// Aqui por favor ingresar las URLs de la imagenes dentro de las "" y separadas respectivamente por un ,
var i = 0;
var urls = new Array();
urls[i++] = "https://media.giphy.com/media/l41lLf17l7YCZ4Tjq/giphy.gif",
urls[i++] = "https://media.giphy.com/media/l1KdaZkQLqgeoPu1y/giphy.gif",
urls[i++] = "https://media.giphy.com/media/xT0CyGZSg7oN0ochi0/giphy.gif",
urls[i++] = "https://media.giphy.com/media/3o6MbubPM8ek3dbNle/giphy.gif",
urls[i++] = "https://media.giphy.com/media/3ov9k5IJTC6YXh91iU/giphy.gif";


// Aqui configurar el tiempo que quieren que pase hasta que se cambie de imagen
var segundos = 2;


///////////////////////////////////////////////
// No cambiar nada mas, como siempre ;o)
var lastimage;
document.write("<div id='randomimagediv'></div>");

function newimage()
{
  var newurl;
  do
  {
  newurl = urls[Math.floor(Math.random()*urls.length)];
  }
  while (newurl == lastimage)
  lastimage = newurl;
  document.getElementById("randomimagediv").innerHTML = '<img src="' + newurl + '" alt="" />';
}
//-->
</script>
<script type="text/javascript">window.setInterval("newimage()",segundos*1000);</script>
<!-- Presentado por javascripts-gratis.de -->
</body>
</html>

Página web: https://drive.google.com/open?id=14cHvpQeg7mtbOzzxx95LDfmr25i6VujG

Autor: Freddus

Saludos
Páginas: 1 ... 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [25] 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 ... 46
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines