quien me da una idea de como hacer esto?

Post Reply
jefe
Posts: 23
Joined: Thu Apr 09, 2009 10:30 pm
Location: Valladolid, españa

quien me da una idea de como hacer esto?

Post by jefe »

soy totalmente novato, hace tan sólo dos dias que he conseguido compilar.

Vereis quiero hacer esto.


AVENIDA MADRID

1 3 5 7 9 10 12 14 16
18 20 22 24 26 etc


RAMON Y CAJAL

2 4 6 8 10 12 14 16 etc


Bueno lo que quiero saber como hacer para que los numeros se puedan marcar o desmarcar pulsandolos con el ratón.

La visualización ya la he hecho, pero mucho me temo que no vale, Pongo el código

Code: Select all


#include "fivewin.ch"



function main()

local oDlg

local fila,col,cCal


fila:=4
col:=2
cCal:=""


   use bar2 alias hojaruta     // esto es una base de datos que contiene calles y portales


DEFINE dialog oDlg FROM 1, 1 TO 42, 100 ;
      TITLE "Nuevo cliente" 

go top
skip 1
cCal=hojaruta->calle
@2,2 say cCal

do while .not. eof()
    @fila,col say hojaruta->portal 
     col=col+3
     if col>40
        fila=fila+1
        col=2
     endif
     
     skip 1
     
     if hojaruta->calle<>cCal
        fila=fila+2
        col=2
        cCal=hojaruta->calle
        @fila,2 say hojaruta->calle
        fila=fila+2
     endif
enddo






ACTIVATE window oDlg
return nil



 

Gracias de antemano.
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: quien me da una idea de como hacer esto?

Post by jrestojeda »

Hola...
A que te refieres con marcar y desmarcar los números??
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
jefe
Posts: 23
Joined: Thu Apr 09, 2009 10:30 pm
Location: Valladolid, españa

Re: quien me da una idea de como hacer esto?

Post by jefe »

gracias por contestar, me refiero a que cuando pulses con el ratón sobre un número de portal este quede seleccionado y cuando lo vuelva a pulsar se desmarque.

por ejemplo


RAMON Y CAJAL

1 2 3 4 5 6 7 8 10 12


CUANDO PULSE el numero 10 que este se marque con otro color.

me imagino que se tiene que hacer con un array, pero como no se como convertir esos numeros a objetos para hacerlo.

Espero haberme explicado bien.
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: quien me da una idea de como hacer esto?

Post by jrestojeda »

Hola amigo...
Prueba lo siguiente:

Code: Select all

@ nRow,nCol SAY oSay // Donde oSay es el objeto asociado.
 
Espero te sirva.
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
User avatar
Patricio Avalos Aguirre
Posts: 1028
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile
Contact:

Re: quien me da una idea de como hacer esto?

Post by Patricio Avalos Aguirre »

Hola

podrias usar los Say con lWantClick

Code: Select all

DEFINE CURSOR oCursor HAND
REDEFINE SAY oSay[1] ID 201 OF oDlg PROMPT "1" COLOR CLR_BLUE
REDEFINE SAY oSay[2] ID 202 OF oDlg PROMPT "2" COLOR CLR_BLUE

aEval( oSay, { |x| x:lWantClick := .t., x:oCursor := oCursor, x:bLClicked := { || tufuncionaevaluar() } )
espero que te sirva..
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
jefe
Posts: 23
Joined: Thu Apr 09, 2009 10:30 pm
Location: Valladolid, españa

Re: quien me da una idea de como hacer esto?

Post by jefe »

gracias a los dos me pongo con ello, aver si soy capaz

un saludo.
jefe
Posts: 23
Joined: Thu Apr 09, 2009 10:30 pm
Location: Valladolid, españa

Re: quien me da una idea de como hacer esto?

Post by jefe »

jrestojeda wrote:Hola amigo...
Prueba lo siguiente:

Code: Select all

@ nRow,nCol SAY oSay // Donde oSay es el objeto asociado.
 
Espero te sirva.
Patricio Avalos Aguirre wrote:Hola

podrias usar los Say con lWantClick

Code: Select all

DEFINE CURSOR oCursor HAND
REDEFINE SAY oSay[1] ID 201 OF oDlg PROMPT "1" COLOR CLR_BLUE
REDEFINE SAY oSay[2] ID 202 OF oDlg PROMPT "2" COLOR CLR_BLUE

aEval( oSay, { |x| x:lWantClick := .t., x:oCursor := oCursor, x:bLClicked := { || tufuncionaevaluar() } )
espero que te sirva..


Me podeis decir con que manuales habeis empezado, porque yo los que tengo dan por sentado muchas cosas y no me entero de nada.
User avatar
Daniel Garcia-Gil
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita
Contact:

Re: quien me da una idea de como hacer esto?

Post by Daniel Garcia-Gil »

Saludos Jefe...

Es algo muy simple...
Recopilando un poco lo aqui expuesto

Code: Select all

   @ 20,20 say oSay prompt "Test" of oWnd pixel COLOR CLR_BLACK 
   
   oSay:bLClicked := {| nRow, nCol, nFlags, oSay | ;
   if ( oSay:nClrText == CLR_BLACK, oSay:nClrText := CLR_YELLOW, oSay:nClrText := CLR_BLACK ), oSay:Refresh() }
   oSay:lWantClick := .t.
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
jefe
Posts: 23
Joined: Thu Apr 09, 2009 10:30 pm
Location: Valladolid, españa

Re: quien me da una idea de como hacer esto?

Post by jefe »

Daniel Garcia-Gil wrote:Saludos Jefe...

Es algo muy simple...
Recopilando un poco lo aqui expuesto

Code: Select all

   @ 20,20 say oSay prompt "Test" of oWnd pixel COLOR CLR_BLACK 
   
   oSay:bLClicked := {| nRow, nCol, nFlags, oSay | ;
   if ( oSay:nClrText == CLR_BLACK, oSay:nClrText := CLR_YELLOW, oSay:nClrText := CLR_BLACK ), oSay:Refresh() }
   oSay:lWantClick := .t.

muchas gracias si funciona, pero ahora me tengo que empapar esto, ya que tendre que crear un array ya que en cada calle puede haber hasta 1000 portales.

de verdad muchas gracias, esque soy muy torpe y estoy aprendiendo sobre la marchas
User avatar
jrestojeda
Posts: 543
Joined: Wed Jul 04, 2007 3:51 pm
Location: Buenos Aires - Argentina

Re: quien me da una idea de como hacer esto?

Post by jrestojeda »

jefe wrote: Me podeis decir con que manuales habeis empezado, porque yo los que tengo dan por sentado muchas cosas y no me entero de nada.
Podrías empezar mirando los samples de FWH y la ayuda proporcionada con el paquete.
Hay muchos ejemplos muy interesantes para ver...
Ojeda Esteban Eduardo.
Buenos Aires - Argentina.
FWH - PellesC - DBF/CDX - ADS - Gloriosos .Bat - MySql - C# .net - FastReport
Skype: jreduojeda
Post Reply