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 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Pantalla estilo Twitter

Buenos dias amigos.
Necesito armar una pantalla donde pueda ir mostrando las conversaciones entre usuarios tal como lo hace Twitter, es decir a la izquierda el avatar y al lado el texto de la conversación. No tengo idea de que control se puede uasr que convine ambos componentes.
Alguno tiene idea? Desarrollo con D7.

Gracias
Responder Con Cita
  #2  
Antiguo 28-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola jars.

Revisa si no te sirve el primero de los enlaces que hay al pié de esta misma página.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Gracias Ecfisa pero el hilo se refiere al uso de la api de twitter y ese no es mi problema.
La cosa es que necesito alguna idea de como ir mostrando sobre algun control, el avatar y el texto ingresado por cada uno. No se si habra algun control?
Responder Con Cita
  #4  
Antiguo 28-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Puedes implementar una solución rudimentaria con frames.

Te pongo un ejemplo adjunto a este mensaje. Son dos archivos: uTwitterEntry.dfm y uTwitterEntry.pas. Añade la unidad uTwitterEntry a tu proyecto e inserta un Frame en un formulario (primer icono de la pestaña Standard). Te aparecerá una ventana pidiéndote seleccionar el frame deseado. Escoge frmTwitterEntry y listo, tendrás algo así:



Al frame insertado puedes cambiarle el tamaño y los controles dentro se autoajustarán. También puedes cambiar los textos de cada control. Puedes insertar tantos frames como desees.

// Saludos
Archivos Adjuntos
Tipo de Archivo: zip TwitterEntry.zip (2,5 KB, 9 visitas)

Última edición por roman fecha: 28-06-2012 a las 19:23:25.
Responder Con Cita
  #5  
Antiguo 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Muchas gracias roman, lo voy a probar.
Un abrazo
Responder Con Cita
  #6  
Antiguo 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Roman, podrias darme un ejemplo de como ir agregando frames a la pantalla en runtime?
Gracias
Responder Con Cita
  #7  
Antiguo 28-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí claro,

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with TfrmTwitterEntry.Create(Self) do
  begin
    Left := 8;
    Top := 8;
    Parent := Self; // Aquí puedes poner otro contenedor, por ejemplo, un Panel

    imgAvatar.Picture.LoadFromFile('miavatar.bmp');
    lblUser.Caption := 'Román';
    lblUserName.Caption := '@roman';
  end;
end;

// Saludos
Responder Con Cita
  #8  
Antiguo 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Nuevamente gracias Roman.
Responder Con Cita
  #9  
Antiguo 28-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
De hecho, puedes facilitar la inserción múltiple poniendo un ScrollBox (pestaña Additional) y sustituyendo el código anterior por este otro:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with TfrmTwitterEntry.Create(Self) do
  begin
    { Esto es necesario para que puedas insertar varios frames }
    Name := '';

    {
      Esto hará que los nuevos frames se vayan colocando
      debajo del último y abarcando todo el ancho del scrollbox
    }
    Align := alTop;  

    { Insertas en el ScrollBox }
    Parent := scbTwits;

    lblUser.Caption := 'Román';
    lblUserName.Caption := '@roman';
  end;
end;

// Saludos
Responder Con Cita
  #10  
Antiguo 28-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Copie el codigo y funciona perfecto solo que los nuevos frames se van colocando por encima del anterior, como haria para que queden en orden cronologico, es decir uno debajo del otro?
Responder Con Cita
  #11  
Antiguo 28-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¡Ah! No me había percatado de eso. Intercambia las líneas del Align y del Parent.

// Saludos
Responder Con Cita
  #12  
Antiguo 29-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Buen dia Roman.
No se pero le cambie el orden y los sigue ordenando arriba.
A vos te funciona bien asi?
Responder Con Cita
  #13  
Antiguo 29-06-2012
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí, tienes razón, sigue poniendo el nuevo tweet por encima de los anteriores. Parece que el orden de alineado depende de la posición original del control, que, por defecto, será en 0, 0.

Me ha funcionado forzando entonces primero un alineado inferior y luego el superior:

Código Delphi [-]
Parent := Panel1;
Align := alBottom;
Align := alTop;

De todas formas, te pongo un ejemplo completo. Hay algunos cambios minúsculos en la unidad uFrmTwitterEntry (como cambiar Twit por Tweet que es lo correcto) por lo que te sugiero las reemplaces.

// Saludos
Archivos Adjuntos
Tipo de Archivo: zip TwitterEntryDemo.zip (13,3 KB, 23 visitas)
Responder Con Cita
  #14  
Antiguo 29-06-2012
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Excelente Roman.
Mil gracias.
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
Cliente de Twitter en Delphi luistorrescu Internet 7 27-11-2011 18:28:22
Twitter maeyanes La Taberna 13 07-12-2009 15:12:19
Twitter, ¿el próximo fenómeno tecnocultural? egostar Noticias 0 05-04-2007 02:03:19


La franja horaria es GMT +2. Ahora son las 00:55:09.


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