Fecha actual Vie May 17, 2024 4:16 pm

Todos los horarios son UTC + 1 hora [ DST ]




Nuevo tema Responder al tema  [ 1 mensaje ] 
Autor Mensaje
NotaPublicado: Jue Ago 10, 2006 2:08 pm 

Registrado: Jue Jul 20, 2006 8:36 pm
Mensajes: 143
Ubicación: Bilbao
Pues eso, que me lio, quien me ayuda a terminar la clase? Bruno , incluyela si te apetece y la ves util...Con esto puedes implementar el comando achoice


procedure main
Local oArray
oArray :=TArray():Create({"1111111111111111111111","10101010101010101010","999999999","88888888","7777777","666666","55555","4444","333","22","1"})
? "Elemento Escogido:"+oArray:View()
return


class TArray

public:
data aDatos
data nElementos

Method Create Constructor
Method View

Endclass

Method Create ( aArray) Class TArray
::aDatos := aArray
::nElementos := Len(aArray)
Return

Method View() Class TArray
// aqui se muestra el array
Local oForm, oStringGrid, nWidth, nHeight , nMaxLengthData,nContador
nContador := ::nElementos
// Establezco una longitud minima de 22 caracteres
nMaxLengthData := 22
Do While nContador > 0
If nMaxLengthData < Len(::aDatos[nContador])
nMaxLengthData := Len(::aDatos[nContador])
Endif
nContador--
Enddo
// Creo Form
oForm := TForm():Create()
// Aqui debe permitir que si pulso ENTER o Pulso CLICk en el Raton se debe seleccionar el item recibido
oForm:OnClose := { | nAction | nAction := caFree }
oForm:OnEnter := { | nAction | nAction := mrOk }
oForm:OnClick := { | nAction | nAction := mrOk }
oForm:Caption := "Selecciona la opcion"
oForm:BorderStyle := bsSingle
oForm:BorderIcons:Maximize := .F.
oForm:BorderIcons:Minimize := .F.
oForm:BorderIcons:Help := .F.
oForm:BorderIcons:SystemMenu := .T.
oForm:Position := poActiveCenter
oForm:ModalResult := mrOk
oStringGrid := TStringGrid():Create( oForm )
? "Tamaño fuente:"+Str(oForm:Font:Size())+Chr(13)+chr(10)+;
"Altura Fuente:"+Str(oForm:Font:Height)+Chr(13)+chr(10)+;
"Altura Fila.:"+Str(oStringGrid:RowHeight)+Chr(13)+chr(10)+;
"Elementos del Array:"+Str(::nElementos)+Chr(13)+chr(10)+;
"Long Max Datos:"+Str(nMaxLengthData)

// Aqui me lio...como ajusto las coordenadas del TSringgrid dentro del Form???
// Si son mas de 10 elementos en el array, hago un scroll
nHeight := If (::nElementos > 10,10,::nElementos)*oStringGrid:RowHeight
nWidth := nMaxLengthData*oForm:Font:Size
oForm:SetSize( nWidth , nHeight + oStringGrid:RowHeight+ oStringGrid:RowHeight)
oStringGrid:Items := ::aDatos
oStringGrid:ScrollBars := If (::nElementos > 10,ssVertical,ssNone)
oStringGrid:ShowHeader := .F.
oStringGrid:ShowFooter := .F.
oStringGrid:ShowSearch := .F.
oStringGrid:AllowEdit := .F.
oStringgrid:AllowSelect := .T.
oStringGrid:Width := oForm:ClientWidth
oStringGrid:Height := oForm:ClientHeight
oStringGrid:Sizes := { nWidth }
oForm:ShowModal()
// Se retorna el elemento escogido o NIL
Return If(oForm:ModalResult==mrOk,::aDatos[oStringGrid:row],NIL)

_________________
(C) Josu Udaondo...el fiera de clipper 5
Bilbao 2006


Arriba
 Perfil  
Responder citando  
Mostrar mensajes previos:  Ordenar por  
Nuevo tema Responder al tema  [ 1 mensaje ] 

Todos los horarios son UTC + 1 hora [ DST ]


No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron