Jump to content
Fivewin Brasil

tamanho da linha


MAMP2

Recommended Posts

onde eu defino o tamanho da linha que sera obedecido apos um CRLF, tenho que definir um botao e dentro dele

eu coloco 3 variaveis separadas por CRLF, o tamnho do botao é pequeno e uma variavel fica fora do botao, se eu efinir

que o tamanho da linha é menor, as 3 variavies caberao no botao

uso o @ say

 

 

Link to comment
Share on other sites

Se entendi bem você deseja passar um texto de três linhas.

1º - Você quer uma função que identifique qual das três linhas é a maior

2º - Você quer ajustar o tamanho do botão de acordo com o retorno da função acima citada para que caiba todo texto

É isso? Uma última pergunta: onde entraria o @ say? você fez uma espécie de botão usando texto ou está usando @ BUTTON?

Link to comment
Share on other sites

desculpa é um button

a variavel é   variavel_completa = campo1'+CRFL+campo2+CRFL+campo3

o comando é

@ linha,coluna button prompt variavel_completa of nome_da_tela

o tamanho do botao só caberia tudo se o tamanho da coluna fosse menor, porque aparece o primeiro campo, o segundo fica pela metade e o terceiro nao aparece.

 

 

 

Link to comment
Share on other sites

 

bom dai AcessoSoft, pode me ajudar?

 

Mamp2

 

Não sei se vai te ajudar, mas vc sabe que CR LF nada mais é que 0d 0a ou CHR(13) CHR(10), então, se vc tem um texto separados por eles, basta vc criar uma função para  identificar o tamanho de cada segmento do texto, separados por eles, comparando qual o maior segmento, antes de formatar o botão. Isto posto! Acredito que a função abaixo, possa te ajudar a criar a função de comparação.

AtToken( <cString>    ,  [<cDelimiter>], [<nCount>]      )

[]s,

Link to comment
Share on other sites

esta la no segundo topico Kapiaba,

@ linha,coluna button prompt variavel_completa of nome_da_tela

o problema é que o salto de linha esta muito grande entao as 3 linhas nao cabem dentro do

botao, porem se eu diminuir a distancia entre as linha para que o CRLF pule uma quantidade de pixel definida por mim

eu conssiguirei colocar as 3 linhas no mesmo botton.

 

Link to comment
Share on other sites

Joao Andrade

eu nao posso determinar o tamanho do botao pelo tamanho da variavel, é justamente ao contrario

eu tenho que determinar a distancia em pixel entre as linha pra que as 3 linhas caibam dentro do buttom.

pois o botao é fixo, para determinados casos, quando a quantidade de botoes que coloco na tela é muito

o tamanho do botao dica pequeno, ai eu tenho que diminuir a distancia entes as linha para que as 3 linhas caibam

dentro do botao, eu sei que o CRLF é o CHR(13)+CHR(10), só preciso determinar que em determinados

casos a distancia entes as linhas quando obedecer um CRLF seja menor.

para que caibam as 3 linha no mesmo botao, pois os botoes tem 1-com uma linha, 2-com duas linhas e 3-com 3 linhas quando é

o botao de 3 linhas ai as 3 linhas nao cabem dentro do botao, quando sao duas ou uma cabem.

Link to comment
Share on other sites

 

Joao Andrade

eu nao posso determinar o tamanho do botao pelo tamanho da variavel, é justamente ao contrario

eu tenho que determinar a distancia em pixel entre as linha pra que as 3 linhas caibam dentro do buttom.

pois o botao é fixo, para determinados casos, quando a quantidade de botoes que coloco na tela é muito

o tamanho do botao dica pequeno, ai eu tenho que diminuir a distancia entes as linha para que as 3 linhas caibam

dentro do botao, eu sei que o CRLF é o CHR(13)+CHR(10), só preciso determinar que em determinados

casos a distancia entes as linhas quando obedecer um CRLF seja menor.

para que caibam as 3 linha no mesmo botao, pois os botoes tem 1-com uma linha, 2-com duas linhas e 3-com 3 linhas quando é

o botao de 3 linhas ai as 3 linhas nao cabem dentro do botao, quando sao duas ou uma cabem.

Que nó? Ahauahuau e ele é tão grande que vc até mudou meu nome, ahauahuaau. Desculpe amigo, entendi errado, pensei que vc quisesse saber os tamanhos das linhas/segmentos antes.

[]s,

Link to comment
Share on other sites

Bom dia Kapiaba. o exemplo esta la em cima estou copiando

a variavel é   variavel_completa = campo1'+CRFL+campo2+CRFL+campo3

o comando é

@ linha,coluna button prompt variavel_completa of nome_da_tela

um exemplo da a variavel_completa =  "1500"+CRLF+"CP"+CRLF+"1001"

entao dentro do  BUTTOM ficará assim:

_________________ 

|         1500               |

|           CP                |

|         1001               |

_________________

este seria um botao com as 3 linhas dentro, porem a distancia entre as linha é grande entao nao cabe dentro do botao

conseguiu visualizar?

eu preciso de um jeito que as 3 variaveis fiquem bem pertinho uma da outra, a solucao seria um comando que pudesse

definir a quantidade de pixel que o CRLF pula pra deixar uma linha o mais perto possivel da outra.

 

 

Link to comment
Share on other sites

#include "FiveWin.ch"
	#Define BS_MULTILINE 0x2000
#Define GWL_STYLE -16
	function Main()
	   LOCAL oBtn, oDlg, cName := Space( 30 )
	   SET _3DLOOK ON
	   DEFINE DIALOG oDlg FROM 5, 5 TO 17, 40 TITLE "Button with lines"
	   @ 2, 2 GET cName VALID ! Empty( cName )
	   @ 50, 2 BTNBMP oBtn PROMPT "Linha 1"+CHR(13)+CHR(10)+"Linha 2" ;
                                       +CHR(13)+CHR(10)+"Linha 3" OF oDlg ;
           SIZE 30, 25 BOTTOM ACTION( oDlg:End() ) CANCEL
	   ACTIVATE DIALOG oDlg CENTERED ;
      ON INIT SetWindowLong( oBtn:hWnd, GWL_STYLE, ;
              nOr(GetWindowLong(oBtn:hWnd, GWL_STYLE), BS_MULTILINE ) )
	return nil

Link to comment
Share on other sites

Seguindo a idéia do Gilmer:

#include "FiveWin.ch"
	STATIC oDlg
    
//----------------------------------------------------------------//
	FUNCTION Main()
	   LOCAL oBtn, oFont, cVer := FWVERSION
   
   DEFINE FONT  oFont  NAME "MS SANS SERIF"  SIZE 0, -10
	   DEFINE DIALOG oDlg TITLE "Botão Redondo em: " + cVer SIZE 500, 300 PIXEL
   
   @ 70, 165 BTNBMP oBtn OF oDlg SIZE 80, 60                        ;
      PROMPT cVer + CRLF + "Fivewin" FILE "..\BITMAPS\sms.bmp" 2007 ;
      FONT oFont RIGHT                                              ;
      ACTION MsgInfo("Hello BtnBmp")
	   oBtn:lEllipse = .T.
                      
   ACTIVATE DIALOG oDlg CENTERED
	   oFont:End()
	RETURN NIL


 

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...