MAMP2 Posted August 25, 2018 Report Share Posted August 25, 2018 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 Quote Link to comment Share on other sites More sharing options...
AcessoSoft Posted August 25, 2018 Report Share Posted August 25, 2018 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? Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 25, 2018 Author Report Share Posted August 25, 2018 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. Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 26, 2018 Author Report Share Posted August 26, 2018 bom dai AcessoSoft, pode me ajudar? Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted August 26, 2018 Report Share Posted August 26, 2018 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, Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 27, 2018 Report Share Posted August 27, 2018 Se entendi, cadê o SIZE do BUTTON? Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 27, 2018 Author Report Share Posted August 27, 2018 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. Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 27, 2018 Author Report Share Posted August 27, 2018 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. Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted August 27, 2018 Report Share Posted August 27, 2018 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, Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 27, 2018 Report Share Posted August 27, 2018 Mamp, faça um exemplo simples e poste aqui sim? Nunca vi 3 linhas em um BUTTON, cual é a finalidade? Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 27, 2018 Author Report Share Posted August 27, 2018 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. Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted August 27, 2018 Author Report Share Posted August 27, 2018 desculpa jorge, mil perdoes. mas tem como solucionar? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 28, 2018 Report Share Posted August 28, 2018 #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 jfaguiar 1 Quote Link to comment Share on other sites More sharing options...
Jorge Andrade Posted August 29, 2018 Report Share Posted August 29, 2018 desculpa jorge, mil perdoes. mas tem como solucionar? Fica frio amigo, com certeza algum papa da ferramenta vai te ajudar ou os anciões da sabedoria. Tem que esperar eles sairem da hibernação, momento sabático ou meditação. []s, Quote Link to comment Share on other sites More sharing options...
gilmer Posted August 29, 2018 Report Share Posted August 29, 2018 Tente ajustar o fonte que esta sendo usado no fonte, inclusive no fonte ajuste o Width e Height Quote Link to comment Share on other sites More sharing options...
kapiaba Posted August 30, 2018 Report Share Posted August 30, 2018 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 Quote Link to comment Share on other sites More sharing options...
MAMP2 Posted September 14, 2018 Author Report Share Posted September 14, 2018 valeu Kapiaba e gilmer, focou certo agora as linhas ficaram mais "pertinho" uma da outra Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.