Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2022
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Acceder a un Array de StaticText

No consigo acceder a un Array de StaticText para cruzar los rótulos de manera aleatoria para descolorlos respecto a su posición Inicial. El STx_Array se recoge en el evento OnCreate. Uso pares formados
por los cuatro primeros elementos y los otros cuatro de un String con ocho dígitos.
Gracias por vuestras sugerencias.
Código Delphi [-]
procedure TForm1.BtnCruzaSTexClick(Sender: TObject);
Var    // Funciona bien. Saca 8 números al azar.
   I, IAzar: Integer;  S, R : String;  // La var Str R es prescindible.
   Aux : TPoint;
begin
Aux.X := 0 ;
Aux.Y := 0 ;
 Randomize;  // In Initialization
 S := '';  // Importante
 REPEAT
   IAzar := Random(8) + 1;
   R := IntToStr(IAzar );
   if (Pos( R,  S) = 0)  then
      Insert( R,  S,  Length(S) + 1);
 //ShowMessage( IntToStr(Cont)+' '+ R ) ;
 UNTIL Length(S) = 8 ;
 Edit1.Text := S ;
//////////////////////////////////////////////////////////////////////////
for I := 1 to 4 do
  begin
  // ShowMessage( S[i]+ '  ' + S[I+4]  );
  Aux.X :=STx_A[i].Left;    Aux.Y :=STx_A[i].Top;
  STx_A[i].Left :=  STx_A[I+4].Left   ;
  STx_A[i].Top :=  STx_A[I+4].Top   ;
  STx_A[I+4].Left := Aux.X ;
  STx_A[I+4].Top := Aux.Y ;
  end;
end;

Última edición por Casimiro Notevi fecha: 20-02-2022 a las 11:24:18.
Responder Con Cita
  #2  
Antiguo 20-02-2022
Avatar de bulc
bulc bulc is offline
Miembro
 
Registrado: jun 2010
Posts: 415
Poder: 14
bulc Va por buen camino
Resuelto

Apunto la solución. He creado un Array de TPoint y otro de TStaticText que se cargan en el evento onCreateForm
Código Delphi [-]
procedure TForm1.BtSTMoveClick(Sender: TObject);
// Variables Globales STx_A0 => TPoint; ST_A => TStaticText.
Var
  Aux : TPoint ; Par1, Par2, N, I, IAzar : Integer;  S :String;
begin
S := '';
Repeat
    IAzar := Random(8) + 1 ;
    if Pos(IntToStr(IAzar), S ) = 0 then
       Insert( IntToStr(IAzar), S, Length(S) + 1) ;
Until Length(S) = 8   ;
   Edit1.Text := S;  // Muestra la serie de 8 digitos alfanum.
  // Código de intercambio de posiciones de los TStaticText según serie S
  for I := 1 to 4 do
    begin
     N := I + 4;
     Par1:= StrToInt(S[i] ); Par2:=  StrToInt(S[N] );
     Aux.X :=ST_A[Par1].Left;    Aux.Y :=ST_A[Par1].Top;
     ST_A[Par1].Left :=  ST_A[Par2].Left   ;
     ST_A[Par1].Top :=  ST_A[Par2].Top   ;
     ST_A[Par2].Left := Aux.X ;
     ST_A[Par2].Top := Aux.Y ;
    end;
end;

Última edición por Casimiro Notevi fecha: 20-02-2022 a las 22:15:12.
Responder Con Cita
  #3  
Antiguo 21-02-2022
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.235
Poder: 20
ElKurgan Va camino a la fama
Thumbs up

Gracias por compartir la solución

Saludos
Responder Con Cita
Respuesta



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
Array dentro de un Array Holger PHP 4 03-01-2012 17:27:44
problemas con array o array noodle_ OOP 7 19-06-2008 22:30:57
Acceder a un array de tabla en BBDD Interbase desde Delphi JoelCarlos Firebird e Interbase 12 19-10-2005 18:52:14
acceder a DBF (SQL) Demian Conexión con bases de datos 0 25-08-2004 21:47:56
Como Asignar Variable Tipo Array de Tform a otro Array del Mismo tipo morfeo21 Varios 5 17-08-2004 17:39:51


La franja horaria es GMT +2. Ahora son las 07:57:27.


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