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 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
Unhappy Ayuda con Random

Hola¡¡ Estoi haciendo un programilla y haber si me podeis ayudar por que en unas prácticas me dijeron escribier eso para otro programa pero para este no se que tengo que cambiar haber si m podeis ayudar a corregirlo y a ver si m podeis explicar su sintaxis. Aí va el códifo entero x si acaso:

Código Delphi [-]
unit Unit1;
 
interface
 
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
 
type
      TForm1 = class(TForm)
      Label1: TLabel;
      Label2: TLabel;
      Label3: TLabel;
      Edit1: TEdit;
      procedure Label3Click(Sender: TObject);
      procedure Label1Click(Sender: TObject);
      private
{ Private declarations }
public
{ Public declarations }
end;
 
var
      Form1: TForm1;
      X: array[1..100] of byte;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Label1Click(Sender: TObject);
begin
Label1.Caption:= X[round(random(100))];
end;
 
procedure TForm1.Label3Click(Sender: TObject);
begin
Label2.Caption:= X[round(random(100))]
end;
 
end.

El error me aparece en:

Código Delphi [-]
Label1.Caption:= X[round(random(100))];

y en:

Código Delphi [-]
Label2.Caption:= X[round(random(100))];

En los mensages pone:

Código:
[Pascal Error] Unit1.pas(32):E2010 Incompatible types: 'string' and 'byte'
eso lo he puesto para que salga un número aleatorio. Creo que más claro no podia ser Enga un saludo

Última edición por dec fecha: 24-03-2007 a las 15:36:05.
Responder Con Cita
  #2  
Antiguo 24-03-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Hola jose91-welva Bienvenido al Club.

El problema que planteas tiene una explicación muy sencilla:
Estás tratando de asignar un número (byte) al contenido de un Edit, que es del tipo "cadena de caracteres" (String).

Lo resolverías utilizando la función IntToStr

Lo que no tengo claro es porque utilizas un array. Si lo que realmente deseas es obtener un número aleatorio bastaría con algo como esto:
Código Delphi [-]
Label1.Caption:= IntToStr (round(random(100));

Te recomiendo que leas la guía de estilo

Si quieres, puedes obtener mayor información buscando por los foros...

Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #3  
Antiguo 24-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Yo solo añadiría, que mientras que el random tal como lo usas genera números entre el 0 y el 99, tu declaras el array de bytes X entre el 1 y el 100. Además no tienen mucho sentido usar aquí Round, ya que Random ya devuelve números enteros. En resumen:
Código Delphi [-]
  Label1.Caption:= IntToStr (X[Random(100)+1]);

Aunque como ha dicho ArdiIIa, si solo quieres generar números aleatorios no te hace falta un array:
Código Delphi [-]
  Label1.Caption:= IntToStr (Random(100));
Responder Con Cita
  #4  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
Smile mUXAS GRACIAS

gRACIAS por ayudarme pero yo e puesto lo que e encontrao no se de que va ni que significa cada cosa solo tengo una minima idea d d qué va si me pudieras explicar que significa todo eso t lo agradecería más
llevo en esto una semana con 16 años.
Responder Con Cita
  #5  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
po m la as salvao a mí jejeje
Responder Con Cita
  #6  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
Illo Pero Eso Es De Tipo Interger Entonces Tampoco Va
Responder Con Cita
  #7  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
He probao eso y no furula(funciona) hay algo de eso(lo del edit) que sea del tipo byte?
Responder Con Cita
  #8  
Antiguo 24-03-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
... decididamente hoy en día no se enseña ya ortografía en donde se deba de aprender.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #9  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
q pocas luces tienes...; escribo así para escribir + rápido. Despierta¡¡¡ q es la una y qarto
Responder Con Cita
  #10  
Antiguo 24-03-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Es buen momento para recordar hilos como estos:

Comité Contra las Faltas Voluntarias y el Lenguaje SMS
haber si eskrivimos vien d huna bes x fabor
Calidad de las preguntas

Cita:
Empezado por jose91-welva
q pocas luces tienes...; escribo así para escribir + rápido. Despierta¡¡¡ q es la una y qarto
¿Tienes mucha prisa?
Responder Con Cita
  #11  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
tio... tú si que eres correcto
Responder Con Cita
  #12  
Antiguo 24-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por José
tio... tú si que eres correcto
José, revisa la guía de estilo de estos Foros, por favor. No repitas Hilos ni los inicies si puedes continuar en otro recién iniciado. Da un título más descriptivo a tus mensajes y, como dice el compañero Seoane, trata de no escribir como si lo hicieras en un mensaje SMS.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #13  
Antiguo 24-03-2007
Avatar de jose91-welva
jose91-welva jose91-welva is offline
Miembro
 
Registrado: mar 2007
Posts: 10
Poder: 0
jose91-welva Va por buen camino
vaaaaale..
Responder Con Cita
  #14  
Antiguo 24-03-2007
IZO IZO is offline
Miembro
 
Registrado: nov 2006
Ubicación: Peru, Lima
Posts: 14
Poder: 0
IZO Va por buen camino
Bueno o tambien puedes hacer algo como esto String(Byte) o usar el operador as, bueno en fin yo tambien soy newbie
Responder Con Cita
  #15  
Antiguo 25-03-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Esto funciona. Comprobado.

jose91-welva, ¿ya probaste? Yo acabo de probar este código y funciona de lo más bien. Pongo la cantidad de labels que necesito, se asigno a cada uno este evento en el OnClick de modo que todos los labels que intevienen comparten el mismo efecto, sólo que se asigna el valor a quien da la orden mediante el parámetro sender.

Código Delphi [-]
procedure TForm1.Label1Click(Sender: TObject);
begin
  (Sender as TLabel).Caption := IntToStr(Random(100));
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
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
Sobre random Perrero80 Varios 4 24-03-2007 20:49:36
Random() altp .NET 3 27-11-2006 12:59:45
random chechu Varios 6 24-11-2005 21:09:45
random edulp Varios 1 24-10-2005 03:17:39
Random!! Alejandro Horns Varios 1 13-12-2004 17:37:39


La franja horaria es GMT +2. Ahora son las 13:08:43.


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