Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-06-2018
wolkelyn wolkelyn is offline
Registrado
NULL
 
Registrado: mar 2018
Posts: 2
Poder: 0
wolkelyn Va por buen camino
Ayudad Con código delphi

buenas, hoy vengo por aqui porque estoy trabajando en una aplicaiones para generar numeros aleatorios y tengo 3 preguntas

primera?
como puedo hacer que en mi codigo auto complete el 0 en los numeros del 1 al 9

este es el codigo que e logrado hacer funcionar pero me faltan
Cita:
unit loteria;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, ConvUtils, StdConvs, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.ListBox, FMX.Layouts, FMX.Memo, unid2, FMX.Ani, FMX.Objects,
FMX.Controls.Presentation, FMX.Edit ;

type
TForm1 = class(TForm)
Button1: TButton;
memo: TLabel;
Image1: TImage;
Image2: TImage;
Label1: TLabel;
Image3: TImage;
Label2: TLabel;
Image4: TImage;
Label3: TLabel;
Image5: TImage;
Label4: TLabel;
Image6: TImage;
Label6: TLabel;
Image7: TImage;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);


var
i: Integer;

begin

Randomize;
Memo.Text := '';
for i := 1 to 1 do
Memo.Text := ( IntToStr( Random( 38) + 1 ) );

Label1.Text := '';
for i := 1 to 1 do
Label1.Text := ( IntToStr( Random( 38) + 1 ) );

Label2.Text := '';
for i := 1 to 1 do
Label2.Text := ( IntToStr( Random( 38) + 1 ) );

Label3.Text := '';
for i := 1 to 1 do
Label3.Text := ( IntToStr( Random( 38) + 1 ) );

Label4.Text := '';
for i := 1 to 1 do
Label4.Text := ( IntToStr( Random( 38) + 1 ) );

Label6.Text := '';
for i := 1 to 1 do
Label6.Text := ( IntToStr( Random( 38) + 1 ) );
end;

end.

segunda?

como puedo hacer que verifique si en unos de los memo, tedit o label salio el numero y siga busncando aleatorios hasta que no combine ninguna de las otross

ejemplo

1-2-3-4-5-6 en cada uno de los memo salga un numero diferente sin repetir y si se repite automaticamente vuelva a buscar otra secuencia.

tercera?
pueden ayudarme con este codigo convertirlo a delphi
tiene lo que busco
dejo el codigo y la pagina donde esta funcionado

Cita:
var p3mas = false;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function ArrayCount(array)
{
var c = 0;
for(i in array){
if(array[i]) c++;
}
return c;
}
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function setRandom(elementF,elementT,nmin,nmax,repite,dbl0){
$('#quick_pick').val('1');

openPreloader();
for(var i = elementF; i <= elementT;i++){
for(var r = 1; r < 1000;r=r+100){
var n = getRandomInt(nmin,nmax);

var str = "" + n;
var pad = "00";
var n = pad.substring(0, pad.length - str.length) + str;

setTimeout('setElement("'+i+'","'+n+'");',r);
}
}
setTimeout("closePreloader();",r);
if(repite == false){
setTimeout("chekP("+elementF+","+elementT+","+nmin+","+nmax+","+repite+");",r+100);
}
}
function chekP(elementF,elementT,nmin,nmax,repite){
var arr = [];
for(var i = 1; i <= elementT;i++){
var nev = $('#number' + i).val();
arr[nev]=nev;
}
if(ArrayCount(arr) < elementT){
setRandom(elementF,elementT,nmin,nmax,repite);
}else{
//addLine();
}

}

function setElement(element,ans){
if(p3mas == true) ans = parseInt(ans);
$('#number' + element).val(ans);
}
uega.leidsa.com/frontend/game/play/loto-mas.app.cgi
Responder Con Cita
  #2  
Antiguo 05-06-2018
wolkelyn wolkelyn is offline
Registrado
NULL
 
Registrado: mar 2018
Posts: 2
Poder: 0
wolkelyn Va por buen camino
se me olvidor

consegui este codigo que deberia hacer lo que deseo de la completar con 0 los numero del 1 al 9 ejemplo 01,02,03,04etc

Cita:
function CompletarCodigo(const sCodigo: string; const iDigitos: Integer): string;
begin
Result := StringOfChar('0', iDigitos - Length(sCodigo)) + sCodigo;
end;
Responder Con Cita
  #3  
Antiguo 05-06-2018
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración


Y recuerda poner los tags correctos al código fuente, ejemplo:

Responder Con Cita
  #4  
Antiguo 05-06-2018
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
A la pregunta 1:

Código Delphi [-]
var
  NumeroEntero : integer;
begin
  NumeroEntero := 1;
  Label1.Caption := Format('%.2d', [NumeroEntero]); // Label.Caption = '01'
  NumeroEntero := 42;
  Label2.Caption := Format('%.2d', [NumeroEntero]); // Label.Caption = '42'
end;
Responder Con Cita
  #5  
Antiguo 05-06-2018
Avatar de duilioisola
[duilioisola] duilioisola is online now
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
A la pregunta 2:

A la pregunta 2:

Deberías crear una función que rellene un array con los numeros que quieres y que vaya verificando que no exista.
Luego con ese array pones el primer elemento en el Memo.Text, el segundo en el Label1.Caption, el tercero en Label2.Caption y así sucesivamente.

Además de esto, te serviría mucho dividir cada parte en un procedimiento/funcion simple.

Se me ocurre un código como este:
Código Delphi [-]
type
  MiArray = Array[1..6] of integer;

function DameNumeroAleatorio: integer;
begin
  Result := Random(38) + 1;
end;

procedure InicializaArray(var A: MiArray);
var
  i : integer;
begin
  // Recorro el array poniendo 0
  for i := 1 to 6 do
  begin
     A[i] := 0;
  end;
end;

function ExisteEnArray(A: MiArray; Numero: integer): boolean;
var
  i : integer;
begin
  // Inicializo resultado
  Result := False;

  // Recorro Array
  for i := 1 to 6 do
  begin
     // Si en esta posicion existe este numero, devuelvo verdadero
     if A[i] = Numero then
        Result := True;
  end;
end;

procedure AgregarNumeroAArray(var A: MiArray; Posicion, Numero: integer);
begin
  A[Posicion] := Numero;
end;

var
  Contador, Posicion, Numero : integer;
  A: MiArray;

begin
  // Inicializo con 0
  InicializaArray(A);

  // Busco 6 numeros para rellenar las posiciones del Array
  for Posicion := 1 to 6 do
  begin
     // Obtengo un numero aleatorio
     Numero := DameNumeroAleatorio;

     // Sigo buscando mientras exista el numero en el array
     while (ExisteEnArray(A, Numero)) do
        Numero := DameNumeroAleatorio;

     AgregarNumeroAArray(A, Posicion, Numero);
  end;

  // Recorro los valores y los imprimo formateados en un Memo
  for Posicion := 1 to 6 do
     MTest.Lines.Add(Format('%.2d', [A[Posicion]]));
end;
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como puedo pasar este codigo a delphi el codigo de la imagen es codigo python Javier13 Varios 9 16-11-2017 16:41:33
ayudad con ideas de como iniciar con aplicacion voldemmor Varios 5 30-10-2010 02:24:58
ANN: AnyNET-Delphi: Herramienta para generar codigo fuente Delphi desde :NET mamcx Noticias 7 21-05-2007 03:12:36
Ayudad a un ignorante con las novedades D7 ignorator Impresión 1 03-08-2004 04:16:11
de codigo VB a codigo Delphi ingel Impresión 2 20-07-2004 15:15:44


La franja horaria es GMT +2. Ahora son las 13:42:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi