Ir al contenido


Foto

Cambie el código de Delphi para java? [resuelto]


  • Por favor identifícate para responder
4 respuestas en este tema

#1 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 21 enero 2014 - 06:19

Hola a todos, me pregunto si el cambio de este código de delphi de java

Exemplo


delphi
  1. procedure TForm1.Button5Click(Sender: TObject);
  2. var
  3.   Arr: array [1 .. 4] of String;
  4.   i: Integer;
  5.   procedure Swap(var A, B: String);
  6.   var
  7.     Temp: String;
  8.   begin
  9.     Temp := A;
  10.     A := B;
  11.     B := Temp;
  12.   end;
  13.  
  14. begin
  15.   Randomize;
  16.   // popula o array
  17.   Arr[1] := 'Maria';
  18.   Arr[2] := 'João';
  19.   Arr[3] := 'José';
  20.   Arr[4] := 'Ana';
  21.   // embaralha
  22.   for i := Low(Arr) to High(Arr) do
  23.     Swap(Arr[i], Arr[Random( High(Arr)) + 1]);
  24.   // seta o caption dos botões
  25.   Button1.Caption := Arr[1];
  26.   Button2.Caption := Arr[2];
  27.   Button3.Caption := Arr[3];
  28.   Button4.Caption := Arr[4];
  29. end;



Así que traté en java, repitiendo los nombres, no quería repetir.


delphi
  1. private void sorteioNomes() {
  2. HashMap<Integer, String> hm = new HashMap<Integer, String>();
  3. hm.put(0, db.nome1);
  4. hm.put(1, db.nome2);
  5. hm.put(2, db.nome3);
  6. hm.put(3, db.nome4);
  7.  
  8. Random gera1 = new Random();
  9. int ng1 = gera1.nextInt(4);
  10.  
  11. Random gera2 = new Random();
  12. int ng2 = gera2.nextInt(4);
  13.  
  14. Random gera3 = new Random();
  15. int ng3 = gera3.nextInt(4);
  16.  
  17. Random gera4 = new Random();
  18. int ng4 = gera4.nextInt(4);
  19.  
  20. Log.i("Verifica Numero randomico",
  21. String.valueOf(ng1) + String.valueOf(ng2) + String.valueOf(ng3)
  22. + String.valueOf(ng4));
  23.  
  24. botao1.setText(hm.get(ng1));
  25. botao2.setText(hm.get(ng2));
  26. botao3.setText(hm.get(ng3));
  27. botao4.setText(hm.get(ng4));
  28. }



Soy muy malo en java.

Gracias.

  • 0

#2 adriano_servitec

adriano_servitec

    Advanced Member

  • Miembros
  • PipPipPip
  • 91 mensajes
  • LocationCuritiba-Pr - Brasil

Escrito 21 enero 2014 - 10:00

Ha solucionado mi problema,

fue resuelto, pero es Gambiarra

Debido a que los valores vienen de una mesa lo hicieron en DataBaseHelper clase, y aquí aplicamos la tabla RANDOM directa.


delphi
  1. public List<String> abrirImagemClienteBanco() {
  2. byte[] imagem = null;
  3. /** deixa todos os campos ja_gravados = N */
  4. updateClientes();
  5. /** cria uma lista de dados dos clientes */
  6. List<String> list = new ArrayList<String>();
  7. Cursor cursor = dbQuery.rawQuery(
  8. "SELECT * FROM clientes WHERE ja_utilizado <> \"S\" "
  9. + " AND serie_cli = 1 ORDER BY RANDOM() limit 4 ",
  10. null);
  11. if (cursor.moveToFirst()) {
  12. cursor.moveToFirst();
  13. do {
  14. list.add(cursor.getString(1));
  15. /**Fazemos um updates deixando o campo = S*/
  16. updateClienteJafoi(cursor.getInt(0));
  17. } while (cursor.moveToNext());
  18. }
  19. if (cursor != null && !cursor.isClosed()) {
  20. cursor.close();
  21. /** aqui só mostra os que ja foi utilizado para capturar a foto */
  22. Cursor cs = dbQuery
  23. .rawQuery(
  24. "SELECT * FROM clientes WHERE ja_utilizado = \"S\" "
  25. + " AND serie_cli = 1 ORDER BY RANDOM() limit 1 ",
  26. null);
  27. if (cs.getCount() > 0) {
  28. cs.moveToFirst();
  29. /** Captura imagem */
  30. imagem = cs
  31. .getBlob(cs.getColumnIndex("img_cliente"));
  32. /** Captura nome do cliente */
  33. nomeClienteSorteado = cs.getString(cs
  34. .getColumnIndex("nome_clliente"));
  35. /** Captura codigo do cliente */
  36. codigoCli = cs.getInt(cs.getColumnIndex("_id"));
  37. }
  38.  
  39. cs.close();
  40.  
  41. ByteArrayInputStream imageStream = new ByteArrayInputStream(imagem);
  42. theImage = BitmapFactory.decodeStream(imageStream);
  43. }
  44. return list;
  45. }
  46.  
  47. public void updateClientes() {
  48. ContentValues values = new ContentValues();
  49. values.put("ja_utilizado", "N");
  50. dbQuery.update("clientes", values, null, null);
  51. }
  52.  
  53. public void updateClienteJafoi(long codigo) {
  54. ContentValues values = new ContentValues();
  55. values.put("ja_utilizado", "S");
  56. dbQuery.update("clientes", values, "_id = ?",
  57. new String[] { codigo + "" });
  58. }




//*********************************************
E na activity chamo o método assim



delphi
  1. private void visualizarImagemClie() {
  2. /** imagem do banco de dados */
  3. imgMainCliente.setImageBitmap(db.theImage);
  4.         /**limpo os botões a cada passada para o if */
  5. botao1.setText("");
  6. botao2.setText("");
  7. botao3.setText("");
  8. botao4.setText("");
  9.  
  10. /** Lista todos os clientes */
  11. List<String> nomeClientes = db.abrirImagemClienteBanco();
  12. StringBuilder sb = new StringBuilder();
  13. sb.append("Clientes Sorteados:\n");
  14. for (String name : nomeClientes) {
  15. sb.append(name + "\n");
  16. /** Aqui um eninhado de if para popular com os nomes sorteados, no caso 4 nomes */
  17. if (botao1.getText().equals("")) {
  18. botao1.setText(name.toString());
  19. } else if (botao2.getText().equals("")) {
  20. botao2.setText(name.toString());
  21. } else if (botao3.getText().equals("")) {
  22. botao3.setText(name.toString());
  23. } else if (botao4.getText().equals("")) {
  24. botao4.setText(name.toString());
  25. }
  26. }
  27. //output.setText(sb.toString());
  28. // ImageView.
  29. imgMainCliente.setImageBitmap(db.theImage);
  30. }



Gracias

Mi español es el traductor google. excusa.
  • 0

#3 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 21 enero 2014 - 10:34

Que bien que hayas resuelto el asunto, yo estoy negado para esos lenguajes  :(

Saludos
  • 0

#4 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 21 enero 2014 - 10:41

...yo estoy negado para esos lenguajes ...


... incluído el español... :p  :dmad:
  • 0

#5 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 22 enero 2014 - 09:33

Gracias por compartir la solución, y mi estimado amigo adriano, ojalá te veamos seguido aquí y sirve que aprendes español con nosotros jejejeje. Saludos
  • 0




IP.Board spam blocked by CleanTalk.