Jump to content
Fivewin Brasil

Como fazer?


ZECA

Recommended Posts

Olá a Todos!!

Eu preciso de uma função em clipper que faça o seguinte:

tenho quatro valores que estão nas variaveis A B C D.

Após comparações, como escolher a variavel de maior valor?

Antecipadamente agradeço.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Olá a Todos!!

Eu preciso de uma função em clipper que faça o seguinte:

tenho quatro valores que estão nas variaveis A B C D.

Após comparações, como escolher a variavel de maior valor?

Antecipadamente agradeço.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

citação:

José Carlos

Func Maior(A,B,C,D)

Local nRet:=0

nRet:= Max(A,B)

nRet:= Max(nRet,C)

nRet:= Max(nRet,D)

Return nRet

Att

João Bosco

Contagem/MG

FWH 10.6b xHb 1.2.1 WorkShop 4.5

PellesC SQLLIB

Obrigado João Bosco

Vou testar e qualquer problema retornarei mas acho que isto mesmo. Eu tinha um guia rápido de consulta do clipper mas a faxineira jogou no lixo - mas não esquenta não que já encomendei a alma dela. Prá ela livro lido não presta mais.

Grato


id=quote>id=quote>

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

citação:

Olá a Todos!!

Eu preciso de uma função em clipper que faça o seguinte:

tenho quatro valores que estão nas variaveis A B C D.

Após comparações, como escolher a variavel de maior valor?

Antecipadamente agradeço.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP


id=quote>id=quote>

aAdd(aMatriz,A)

aAdd(aMatriz,B)

aAdd(aMatriz,C)

aAdd(aMatriz,D)

aSort(aMatriz)

? aMatriz[Len(aMatriz)]

SamirSSabreu@gmail.com

samirabreu@hotmail.com

Skype: SamirAbreu

xHarbour 1.1.0 + FwXh 8.02

id=black>

"Acreditar é mais fácil do que pensar: Daí existem muito mais crentes do que pensadores.†Bruce Calvert

Link to comment
Share on other sites

* uma das inúmeras outras formas de fazer "Neston"...

*-----------------------------------

FUNC Main()

*-----------------------------------

LOCA a:=12, b:=34, c:=56, d:=78, vl_maior, vl_menor, posVAR

LOCA matriz:={a,b,c,d}

*-----------------------------------

vl_maior := Dedure( matriz, "+" ) //retorna o valor maior

posVAR := AScan( matriz, vl_maior ) //qual variável pela sua posicão na matriz

cls

DispOutAT(5,1,"Valor maior: "+ Str(vl_maior))

DispOutAT(6,1,"Variável No: "+ Str(posVAR))

Inke(0)

* ou...

vl_menor := Dedure( matriz, "-" ) //retorna o menor valor

posVAR := AScan( matriz, vl_menor ) //qual variável pela sua posicão na matriz

DispOutAT(8,1,"Valor menor: "+ Str(vl_menor))

DispOutAT(9,1,"Variável No: "+ Str(posVAR))

Inke(0)

RETU

*-----------------------------------

FUNC Dedure( a1, c1 )

*-----------------------------------

LOCA nA := a1[1]

*-----------------------------------

aEval( a1, { |var| nA := IF( c1="+", Max( nA, var), Min( nA, var ) ) } )

RETU nA

*-----------------------------------

Link to comment
Share on other sites

Que isso? Não ficou azedo não, é que a receita foi colocada para agradar diversos paladares, se o freguês não gostar é só tirar os acompanhamentos, inclusive a sua é só parte dela, espie só:

*-------------------------------------------------------

LOCAid=orange> nA:=a1[1]

AEVAL( a1, { |var|nA:=IF( c1="+", id=orange>Max( nA, var), Min( nA, var ) )id=orange> })

icon_smile.gif

nMax:=0

AEVAL( {A, B, C, D}, {|n| nMax:=MAX(nMax,n) })

*-------------------------------------------------------

Note que sua proposta apenas retorna o maior valor, e talvez queira-se saber além do valor, qual a VAR que o abriga. Foi o que entendi...

citação:Após comparações, como escolher a variavel de maior valor?
id=quote>id=quote>
Link to comment
Share on other sites

Ei Ambrósio, bakana!

Você também é peralta, mas...

Na sua receita poderíamos tomar quente demais a bebida e queimar a língua.

Imagine se não pudesse ter acesso aos valores e a disposição das variáveis fosse outra...

*--------------------------------------------------

Local a:=6, b:=3, c:=1, d:=8, nRet

nRet:=iif(a>b, a, iif( b>c, b, iif(c>d, c, d)))

*--------------------------------------------------

Matou a charada?

Link to comment
Share on other sites

citação:

Acredito que o Zeca tenta escrito errado, mesmo dando a entender que quer a Variavel e não o mais valor, optei pelo maior valor que é o mais comum, para saber qual a variavel também é muito simples.

Eric Developer Systems

www.magaldi.eti.br


id=quote>id=quote>

Boa tarde ERIC!!!.

O que quero na realidade e após os testes, colocar o maior valor em uma variavel. Por ex FRETE_PESO:= .........

Ai usarei a variavel para dar continuidade aos calculos.

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Olá Zeca,

o que postei resolverá:

FRETE_PESO:=0

AEVAL( {A, B, C, D}, {|n| FRETE_PESO:=MAX(FRETE_PESO,n) })

citação:Boa tarde ERIC!!!.

O que quero na realidade e após os testes, colocar o maior valor em uma variavel. Por ex FRETE_PESO:= .........

Ai usarei a variavel para dar continuidade aos calculos.

Sds

José Carlos - ZECA


id=quote>id=quote>

Eric Developer Systems

www.magaldi.eti.br

Link to comment
Share on other sites

citação:

Olá Zeca,

o que postei resolverá:

FRETE_PESO:=0

AEVAL( {A, B, C, D}, {|n| FRETE_PESO:=MAX(FRETE_PESO,n) })

citação:Boa tarde ERIC!!!.

O que quero na realidade e após os testes, colocar o maior valor em uma variavel. Por ex FRETE_PESO:= .........

Ai usarei a variavel para dar continuidade aos calculos.

Sds

José Carlos - ZECA


id=quote>id=quote>

Eric Developer Systems

www.magaldi.eti.br


id=quote>id=quote>

Boa tarde a todos!!!

Quero agradecer a todos que responderam este tópico.

Muito bom mesmo. Parece que a rapaziada não esqueceu do velho e bom clipper.

Agora vou parar de agradecer pois estou muito emocionado e vou acabar chorando(como o LULA) kkkkkkkkkkkkkkk icon_smile_big.gif

Grato

Sds

José Carlos - ZECA

fwh612(Free)-clipper52e-blinker 7.0 - six 3.02 - Windows XP

Link to comment
Share on other sites

Sei que ja esta resolvido,

+++++++++++++++++++++++++ segue a minha função:


//----------------------------------------------------------------------------//

#include "Fivewin.ch"

//----------------------------------------------------------------------------//

Function Main()

Local nRet

nRet := nMaxValue(-10,23,-30,-120,1,3,501,60,80,1020,1102,220,410,1201,2200,2310,320)

MsgInfo("Valor Maximo"+Str(nRet))

nRet := nMinValue(-10,23,-30,-120,1,3,501,60,80,1020,1102,220,410,1201,2200,2310,320)

MsgInfo("Valor Minimo"+Str(nRet))

Return Nil

//----------------------------------------------------------------------------//

Function nMaxValue( ... )

Local aParams := hb_aParams()

Local nRet := aParams[1]

AEVAL(aParams,{|nParam|nRet:=If(nParam>nRet,nParam,nRet)})

Return nRet

//----------------------------------------------------------------------------//

Function nMinValue( ... )

Local aParams := hb_aParams()

Local nRet := aParams[1]

AEVAL(aParams,{|nParam|nRet:=If(nParam

Return nRet

//----------------------------------------------------------------------------//

id=code>id=code>

Existem varios caminhos de se fazer isso como pudemos ver neste post.

porem acredito que este seja o melhor + fica a seu criterio qual utilizar.

é isso ai. flw

Att.

Lailton Fernando Mariano

http://www.lailton.com.br -

xHarbour 1.2.1 | Fivewin 10.11 | Borland 5.8.2 | Dolphin MySQL | SQLRDD

Link to comment
Share on other sites

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...