Página 1 de 2

error: Assigned value is wrong class

Enviado: 25 Abr 2023 22:04
por JoséQuintas
Error BASE/44 Assigned value is wrong class: TBROWSE:CSEPCOLOR
Called from TBROWSE:_CSEPCOLOR(0)
Called from TOBROWSE(855)
Called from BROWSEADORC(36)
Called from BROWSEADO(200)
Called from JPPEDIDOCLASS:GRIDSELECTION(158)
Called from PESQUISA(171)
Called from (b)APPINITSETS(46)
Called from GETDOSETKEY(466)
Called from GETAPPLYKEY(209)
Called from GETREADER(168)
Called from READMODAL(113)
Called from JPPEDIDOCLASS:ESPECIFICO(182)
Called from JPPEDIDOCLASS:EXECUTE(395)
Called from PJPPEDIDO(81)
Called from DO(0)
Called from DOPRG(155)
Called from (b)RUNMODULE(120)
(1) = Tipo: N Valor: 0

error: Assigned value is wrong class

Enviado: 25 Abr 2023 22:14
por JoséQuintas

Código: Selecionar todos

   VAR cSepColor AS CHARACTER

Código: Selecionar todos

FUNCTION SetColorTbrowse()

   LOCAL cSetColorFocus

   cSetColorFocus := SetColorFocus()

   RETURN "7/1," + cSetColorFocus + ",7/5,7/8,7/6,7/8,12/1,14/1,3/1"
Error BASE/44 Assigned value is wrong class: TBROWSE:CSEPCOLOR
Called from TBROWSE:_CSEPCOLOR(0)
...
(1) = Tipo: N Valor: 0
Xiiiiiiii...
O erro inexplicável reapareceu.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:03
por Kapiaba
Miséricodia, o que deveria retorna nesta "monstruosidade"?:

Código: Selecionar todos

RETURN "7/1," + cSetColorFocus + ",7/5,7/8,7/6,7/8,12/1,14/1,3/1" 8	 
Não é mais fácil e compreensível assim?

https://vivaclipper.wordpress.com/tag/setcolor/

Jesus, acende a LUZ! kkkkkkkkkkkkkkk

regards, saludos.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:28
por JoséQuintas
Kapiaba escreveu:Miséricodia, o que deveria retorna nesta "monstruosidade"?:
NÃO é uma monstruosidade.
É apenas uma string com uma lista de cores, que vai ser usada no tbrowse.

Lembrando: pra cores pode usar números, de 0 a 15, ou as letras: W/N,N/W,W/B,etc.
7/0 seria a cor W/N.
É que a tabela de cores, chamada palete, pode ser alterada pra qualquer cor, então letras perderam sentido.

Mas a parte importante é:
O retorno é sempre string, os valores não se alteram NUNCA, são os mesmos do início ao fim do programa.
Por algum motivo, nesse momento retornou ZERO, o que seria impossível.
O que percebi da outra vez, é que em GUI janelas podem ficar abertas, mesmo que o programa se feche.
O programa se fechando, na falta das funções o retorno é ZERO.
Descobrir porque isso acontece é o grande mistério.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:33
por JoséQuintas
colorSpec (Assignable)

Contains a character string defining a color table for the TBrowse
display. As a default, the current SETCOLOR() value is copied into
this variable when the TBrowse object is created.

Note: The colors available to a DOS application are more limited
than those for a Windows application. The only colors available to
you here are listed in the drop-down list box of the Properties
Workbench window for that item.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:39
por JoséQuintas

Código: Selecionar todos


FUNCTION SetColorSay()

   RETURN "7/1"

FUNCTION SetColorNoGet() // no focus

   RETURN "14/1"

FUNCTION SetColorNormal()

   RETURN SetColorSay() + "," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorMensagem()

   RETURN "7/0," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorBox()

   RETURN "7/6," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorBorda() // menu, relatorios, etc.

   RETURN "11/0," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorTitulo()

   RETURN "15/9,15/9"

FUNCTION SetColorAlerta()

   RETURN "15/12"

FUNCTION SetColorFocus()

   RETURN "15/9"

FUNCTION SetColorTituloBox()

   RETURN "0/11,0/11"

FUNCTION SetColorToolbar() // toolbar

   RETURN "0/7,0/7"

FUNCTION SetColorTbrowse()

   LOCAL cSetColorFocus

   cSetColorFocus := SetColorFocus()

   RETURN "7/1," + cSetColorFocus + ",7/5,7/8,7/6,7/8,12/1,14/1,3/1"

FUNCTION SetColorTraco() // barra superior/inferior das telas e abas dos cadastros

   RETURN "14" + Substr( SetColorSay(), At( SetColorSay(), "/" ) )

FUNCTION SetColorTbrowseFrame()

   RETURN "3/1"

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:45
por JoséQuintas
setcolor1.png
A combinação de frente/fundo das 16 cores.
E a cor RGB que está atribuída.

A limitação é usar 16 cores, mas cada uma das cores é à vontade, qualquer cor RGB.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 09:52
por JoséQuintas
setcolor1.png
Isso de cores é um saco.
Vejam a comparação de 9/0 e 0/9.
O azul de fundo fica visível, mas o azul de frente quase não se enxerga.
Aliás.... acontece com todas.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 10:22
por JoséQuintas
Pensando bem..... deixou de ser um saco.
Cores de frente (fonte) no máximo 3: preto, branco e branco forte, seriam 0,7,15 ou por letra N, W, W+
O resto, tudo cor de fundo.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 10:29
por Kapiaba
Misericórdia!! Não dá para usar NRGB?

Jesus, acende a LUZ!! kkkkkkkkkkkkkkk

abs.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 10:38
por Kapiaba
Usando DEFINES, não funcionaria?

Código: Selecionar todos

// C:\FWH..\SAMPLES\CORQUINT.PRG e QUINTAS.CH - kapiabafwh@gmail.com

#define CLR_Lima             RGB( 164, 196,   0 )
#define CLR_Verde            RGB(  96, 169,  23 )
#define CLR_Esmeralda        RGB(   0, 138,   0 )
#define CLR_Cerceta          RGB(   0, 171, 169 )
#define CLR_Azul             RGB(   0, 175, 240 )
#define CLR_Ciano            RGB(  27, 161, 226 )
#define CLR_Cobalto          RGB(   0, 80,  239 )
#define CLR_Indigo           RGB( 106,  0,  255 )
#define CLR_Tolet            RGB( 170,  0,  255 )
#define CLR_Rosa             RGB( 220, 79,  173 )
#define CLR_Magenta          RGB( 216,  0,  115 )
#define CLR_Carmesim         RGB( 162,  0,   37 )
#define CLR_Vermelho         RGB( 206, 53,   44 )
#define CLR_Laranja          RGB( 250, 104,   0 )
#define CLR_Ambar            RGB( 240, 163,  10 )
#define CLR_Amarelo          RGB( 227, 200,   0 )
#define CLR_Castanho         RGB( 130,  90,  44 )
#define CLR_Oliva            RGB( 109, 135, 100 )
#define CLR_AcoSteel         RGB( 100, 118, 135 )
#define CLR_Malva            RGB( 118,  96, 138 )
#define CLR_Taupe            RGB( 135, 121,  78 )

// Cores escuras(Dark)
// Nome da cor

#define CLR_MarromDark       RGB(  99,  54,  47 )
#define CLR_CarmesimDark     RGB( 100,   0,  36 )
#define CLR_MagentaDark      RGB( 129,   0,  60 )
#define CLR_IndigoDark       RGB(  75,   0, 150 )
#define CLR_CianoDark        RGB(  27, 110, 174 )
#define CLR_CobaltoDark      RGB(   0,  53, 106 )
#define CLR_CercetaDark      RGB(   0,  64,  80 )
#define CLR_EsmeraldaDark    RGB(   0,  62,   0 )
#define CLR_VerdeDark        RGB(  18, 128,  35 )
#define CLR_LaranjaDark      RGB( 191,  90,  21 )
#define CLR_VermelhoDark     RGB( 154,  22,  22 )
#define CLR_RosaDark         RGB( 154,  22,  90 )
#define CLR_VioletaDark      RGB(  87,  22, 154 )
#define CLR_AzulDark         RGB(  22,  73, 154 )

// Cores claras(White)
// Nome da cor

#define CLR_AzulWhite        RGB(  67, 144, 223 )
#define CLR_AzulWhiteP       RGB(   0, 204, 255 ) // Azul Plus
#define CLR_CianoWhite       RGB(  89, 205, 226 )
#define CLR_CercetaWhite     RGB(  69, 255, 253 )
#define CLR_LuzGreen         RGB( 122, 214,  29 )
#define CLR_OlivaLight       RGB( 120, 170,  28 )
#define CLR_LaranjaWhite     RGB( 255, 193, 148 )
#define CLR_LuzRosa          RGB( 244, 114, 208 )
#define CLR_LuzRed           RGB( 218,  90,  83 )

// Cores cinza(Dark)
// Nome da cor

#define CLR_PretoDark        RGB(   0,   0,   0 )
#define CLR_SombrioDark      RGB(  29,  29,  29 )
#define CLR_CinzaDarkP       RGB(  34,  34,  34 ) // Dar Plus
#define CLR_Cinza_Dark       RGB(  51,  51,  51 )
#define CLR_CinzentoDark     RGB(  85,  85,  85 )
#define CLR_CinzaWhite       RGB( 153, 153, 153 )
#define CLR_IsqueiroDark     RGB( 238, 238, 238 )
#define CLR_BrancoWhite      RGB( 255, 255, 255 )

FUNCTION SetColorSay()

RETURN "7/1"

FUNCTION SetColorNoGet() // no focus

RETURN "14/1"

FUNCTION SetColorNormal()

RETURN SetColorSay() + "," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorMensagem()

RETURN "7/0," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorBox()

RETURN "7/6," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorBorda() // menu, relatorios, etc.

RETURN "11/0," + SetColorFocus() + ",,," + SetColorNoGet()

FUNCTION SetColorTitulo()

RETURN "15/9,15/9"

FUNCTION SetColorAlerta()

RETURN "15/12"

FUNCTION SetColorFocus()

RETURN "15/9"

FUNCTION SetColorTituloBox()

RETURN "0/11,0/11"

FUNCTION SetColorToolbar() // toolbar

RETURN "0/7,0/7"

FUNCTION SetColorTbrowse()

   LOCAL cSetColorFocus

   cSetColorFocus := SetColorFocus()

RETURN "7/1," + cSetColorFocus + ",7/5,7/8,7/6,7/8,12/1,14/1,3/1"

FUNCTION SetColorTraco() // barra superior/inferior das telas e abas dos cadastros

RETURN "14" + Substr( SetColorSay(), At( SetColorSay(), "/" ) )

FUNCTION SetColorTbrowseFrame()

RETURN "3/1"

// FIN / END
Regards, saludos.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 11:18
por Kapiaba
Mister Quintas, não é possível fazer assim?

Código: Selecionar todos

  SetColor( Rgb( 0, 0, 0), Rgb( 200, 200, 255) )
abs.

Regards, saludos.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 12:18
por JoséQuintas
Estamos falando de GT do Harbour.
O Harbour é compatível com Clipper.
E o Clipper tem uma tabela de 16 cores.

Isso é GT, tanto faz console ou GTWVG.

Código: Selecionar todos

   aPalette := { ;
      WAPI_RGB(  20 , 20,  20 ), ; //  0 N   Black      Preto                   New Form Font Color
      WAPI_RGB(  13,  16,  51 ), ; //  1 B   Blue       Azul
      WAPI_RGB(   0,  63, 125 ), ; //  2 G   Green      Verde
      WAPI_RGB(   0, 133, 133 ), ; //  3 BG  Cyan       Azul Celeste            Title and Selected BackGround
      WAPI_RGB( 240,   0,  36 ), ; //  4 R   Red        Vermelho
      WAPI_RGB( 133,  21, 199 ), ; //  5 RB  Magenta    Rosa
      WAPI_RGB(  55,  55,  55 ), ; //  6 GR  Brown      Marrom
      WAPI_RGB( 195, 195, 195 ), ; //  7 W   White      Branco
      WAPI_RGB(  40,  40,  40 ), ; //  8 N+  Gray       Cinza
      WAPI_RGB(   0, 114, 198 ), ; //  9 B+  +Blue      Azul Claro
      WAPI_RGB(   0,  31,  62 ), ; // 10 G+  +Green     Azul Escuro
      WAPI_RGB( 132, 150, 173 ), ; // 11 BG+ +Cyan      Azul Celeste Claro
      WAPI_RGB( 230,  76, 101 ), ; // 12 R+  +Red       Vermelho Claro          Alert
      WAPI_RGB(  64,   0,  64 ), ; // 13 RB+ +Magenta   Rosa Claro
      WAPI_RGB( 196, 235,  35 ), ; // 14 GR+ Yellow     Amarelo
      WAPI_RGB( 255, 255, 255 ) }  // 15 W+  +White     Branco Claro            New GET and Selected Font Color
São 16 cores, mas usam RGB.
A tabela de 67 milhões de cores existe, mas selecionamos 16 delas.

GTWVG tem os controles Windows, esses controles seguem o padrão Windows, qualquer cor RGB.
Apenas a GT fica limitada a essa tabela de 16 cores.

Provavelmente você deve usar #define pra escolher cores.
#define COLOR_BACK RGB(50,50,50)
Acaba sendo como se fossem 16 #defines.

Ou de outra forma:
Quantas cores você usa no seu aplicativo ? mais de 16 ?
Então.... posso usar as mesmas cores, mas no máximo 16 diferentes.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 12:37
por JoséQuintas
Ainda nisso....
Pode ser usado SetColor( "W/N" ) ou SetColor( "7/0" )
Isso corresponde a duas cores daquela tabela.
Eu defini minhas cores, e uso uma função, pra não ficar preso a nomenclatura da cor.

SetColorNormal() - retorna a cor pra uso normal
SetColorFocus() - retorna a cor ativa, posição atual de um get, browse, prompt, etc.
SetColorMensagem() - retorna a cor que uso pra mostrar mensagens
SetColorTBrowse() - retorna a lista de cores pra ser usada no tbrowse, é assim que o tbrowse pede, uma string com a lista
SetColorBox() - retona a cor que uso pra box de seleção
E por aí vai.

Qual é a cor ? sei lá, tanto faz, se eu quiser alterar, altero a função.
Outra cor diferente das atuais ? vou ter que decidir qual remover pra outra entrar no lugar.
Ou.... usar um controle GUI e usar a cor que quiser, não precisa existir na tabela.

error: Assigned value is wrong class

Enviado: 26 Abr 2023 13:24
por Kapiaba
Ou.... usar um controle GUI e usar a cor que quiser, não precisa existir na tabela.
Essa eu acho perfeita.

P.S.: Se eu tivesse que fazer do jeito que o senhor faz, eu enfiava 2 dedos no meio da "goiaba" e rasgava. kkkkkkkkkkkkkkkkkkkkkk, brincadeira, é que eu abandonei modo console a tanto tempo, que só em ver, me dá ogeriza.

Abs.