Ver Mensaje Individual
  #10  
Antiguo 17-10-2013
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.281
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por sofiaz Ver Mensaje
no mira, lo que quiero evitar es esto (es mi solucion transitoria, que es horrible...):
Realmente, es horrible!!!
Lo bueno es que lo reconozcas y quieras arreglarlo...
Sé de más de uno que la dejaría así sin ningún remordimiento.




Código Delphi [-]
...   begin
      case n of
        6: image6.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
        7: image7.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
        8: image8.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
        9: image9.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       10: image10.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       11: image11.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       12: image12.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       13: image13.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       14: image14.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       15: image15.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       16: image16.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       17: image17.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       18: image18.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       19: image19.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       20: image20.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       21: image21.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       22: image22.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       23: image23.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       24: image24.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');
       25: image25.Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\Cartas\'+cadena+'.jpg');


La forma de evitar esto, es utilizar FindComponent.
Con esta función puedes acceder a un componente a partir de una cadena con su nombre.
De esta formas teniendo la variable i y todos los componentes que se llaman image6, image7, image8,... puedes generar un código similar a este:

Código Delphi [-]
var
  compName:string;
  i:integer;
  comp:TComponent;
begin
  for i := 1 to 5 do begin
    // Montar el nombre del componente
    compName := 'image' + IntToStr(i);
    // Usar findcomponent con la cadena
    comp := FindComponent(compName);
    // Nos aseguramos de que lo ha encontrado?
    if Assigned(comp) then begin
      // modificamos el valor
      TImage(comp).Picture.LoadFromFile('r:\imgTest.bmp');
    end
    else begin
      ShowMessage('No he encontrado el componente: ' + compName);
    end;
  end
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita