Una Ayudita por favor

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

Post Reply
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Una Ayudita por favor

Post by LOUIS »

Saludos Amigos, ... saben tengo un problemilla que no puedo solucionar, se trata de crear muchos botones, pero en seguidilla, con una sola línea, el problema es que cuando doy click en cualquier botón, no puedo capturar su contenido, les comparto el código para que lo vean ...

Code: Select all

F=25
C=10
SER='ABCDEFGHIJKLMNOPQRSTUVXYZ'		// 25 LETRAS
FOR i:=1 TO 25
    BT = "BT" + ALLTRIM(STR(i))
    SE = SUBSTR(SER, i, 1)
    @ F,C BUTTON &BT PARENT MAIN CAPTION SE WIDTH 35 HEIGHT 40 ONCLICK COMPRUEBA(????)
    C=C+45
NEXT
RETURN

*-----------------------
FUNCTION COMPRUEBA(????)
MSGINFO (????)			// POR EJEMPLO SI PULSO EL BOTÓN M, ME MUESTRE O ME DIGA QUE PULSÉ EL BOTÓN M
RETURN
Me pinta los 25 Botones con cada Letra, pero al dar click no sé cómo capturar dicha letra :oops:

Agradezco mucho que me den una manito por favor.
De antemano Muchas Gracias
Louis

P.D.- Compilo con la versión 3.4.0
ASESORMIX
Posts: 216
Joined: Thu Oct 25, 2012 8:08 pm
Location: Bqto, Venezuela

Re: Una Ayudita por favor

Post by ASESORMIX »

....onclick comprueba(&se)
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Re: Una Ayudita por favor

Post by LOUIS »

Gracias por responder ASESORMIX, pero no funciona :cry:
Al pulsar cualquier letra sale lo mismo ... Variable no existe
He puesto las letras (A, B, C, ... Z) como Local y como Public y no funciona.
Attachments
VARIABLE NO EXISTE.jpg
VARIABLE NO EXISTE.jpg (53.71 KiB) Viewed 2536 times
martingz
Posts: 401
Joined: Wed Nov 18, 2009 11:14 pm
Location: Mexico

Re: Una Ayudita por favor

Post by martingz »

espero te sirva


F=25
C=10
SER='ABCDEFGHIJKLMNOPQRSTUVXYZ' // 25 LETRAS
FOR i:=1 TO 25
BT = "BT" + ALLTRIM(STR(i))
SE = SUBSTR(SER, i, 1)
@ F,C BUTTON &BT PARENT MAIN CAPTION SE WIDTH 35 HEIGHT 40 action {||COMPRUEBA(this.name)})
C=C+45
NEXT
RETURN

*-----------------------
FUNCTION COMPRUEBA(????)
MSGINFO (????) // POR EJEMPLO SI PULSO EL BOTÓN M, ME MUESTRE O ME DIGA QUE PULSÉ EL BOTÓN M
RETURN
User avatar
LOUIS
Posts: 256
Joined: Tue Dec 11, 2012 9:05 pm
DBs Used: DBF

Re: Una Ayudita por favor

Post by LOUIS »

Hola Martín

Muchas gracias por su ayuda, funcionó muy bien :)
Attachments
MUESTRA LA LETRA DEL BOTON.jpg
MUESTRA LA LETRA DEL BOTON.jpg (30.65 KiB) Viewed 2467 times
User avatar
mol
Posts: 3774
Joined: Thu Sep 11, 2008 5:31 am
Location: Myszków, Poland
Contact:

Re: Una Ayudita por favor

Post by mol »

You can define hidden textbox control and do it as:

Code: Select all

function Comprueba
  param cVal
  Main.YourTexBox.Value := cVal
 return
ASESORMIX
Posts: 216
Joined: Thu Oct 25, 2012 8:08 pm
Location: Bqto, Venezuela

Re: Una Ayudita por favor

Post by ASESORMIX »

Otra manera, mas artesanal pero funcional:

Code: Select all

#include "hmg.ch"

Function Main

	DEFINE WINDOW Win_1 ;
		ROW 0 ;
		COL 0 ;
		WIDTH 999 ;
		HEIGHT 400 ;
		TITLE 'Hello World!' ;
		WINDOWTYPE MAIN  
F=25
C=10
SER='ABCDEFGHIJKLMNOPQRSTUVXYZ'		
FOR i:=1 TO len(SER) 
    BT = "BT" + ALLTRIM(STR(i))
    SE = SUBSTR(SER, i, 1)
    FF := "COMPRUEBA('"+SE+"')"
    @ F,C BUTTON &BT PARENT MAIN CAPTION SE WIDTH 35 HEIGHT 40 ACTION &FF 
    C=C+45
NEXT
	END WINDOW

	Win_1.Center

	Win_1.Activate

Return

FUNCTION COMPRUEBA(_L1)
 MSGINFO(_L1)			
RETURN
Post Reply