#11: Função para escrever um valor por extenso
-----------------------------------+----------------------------------------
 Reporter:  noelson                |        Owner:  filhocf 
     Type:  melhoria               |       Status:  assigned
 Priority:  normal                 |    Milestone:          
Component:  BrooCalc               |      Version:  2.0.3   
 Severity:  normal                 |   Resolution:          
 Keywords:  Função Extenso Calc  |  
-----------------------------------+----------------------------------------
Comment (by gbpacheco):

 Oi Noelson!

  Você tem razão. Infelizmente, a execução do =nextenso(x) dentro da
 biblioteca BrO foi um equívoco meu. O erro permanece depois, da forma
 como você testou. Isso retrocede um pouco o nosso trabalho, mas acho que
 podemos aproveitar um pouco dessa experiência.

  Estou em Brasília durante toda essa semana e conversei com o Salomon na
 segunda-feira sobre esse assunto. Discutimos bastante a implementação da
 função =nextenso(x) no Calc e concluímos que seria bastante complicado
 implementarmos e mantermos esse recurso na forma de uma função. Alguns
 motivos:

  - caso o desenvolvimento fosse feito através do código, precisaríamos
 do domínio do conhecimento para fazê-lo, o que, hoje, é mínimo; além
 disso, estaríamos fazendo um fork do projeto original;

  - a implementação da função =nextenso(x) causaria erro no documento
 ao ser aberto nas versões do OpenOffice.org 2.x, na versão 2.0.1 do
 BrOffice.org, na versão do OpenOffice.org 1.x (salvamento em formato SXC)
 e no Excel (salvamento em formato XLS), já que essas versões não tem a
 função implementada. Isso seria um problema sério para usuários com
 uso frequente da função que trocassem documentos com outros usuários;

  - ao implementarmos a função na biblioteca Standard, estaríamos
 colocando uma funcionalidade do BrOffice.org que pode ser alterada pelo
 usuário, fazendo com que qualquer modificação equivocada por parte do
 mesmo na biblioteca Standard fizesse com que a função deixasse de
 funcionar ou funcionasse de forma errada.

  Por causa de tudo isso, concluímos que a implementação do valor por
 extenso não é adequada através de uma fórmula do tipo =nextenso(x) no
 Calc.

  A partir disso e do que você comentou, o que sugiro que façamos a
 definição da implementação da função no Writer e no Calc através do
 menu Inserir e de uma combinação de teclas, gerando como resultado um
 string. Seria para o Calc da mesma forma como estamos fazendo no Writer,
 ou seja, o resultado seria uma string com o valor por extenso dentro de
 uma célula.

  Com isso, não criamos um fork, já que alteramos somente os recursos da
 interface (menus e teclas de atalho). Também não prejudicamos o
 salvamento e a troca de documentos entre formatos e versões, já que
 estamos escrevendo uma string dentro da célula, e não acionando uma
 função. Para implementarmos, usaríamos uma biblioteca dentro de Macros
 do BrOffice.org, para que seja minimizado o problema de acesso do usuário
 ao código fonte da implementação, como é a biblioteca BrO que propus
 anteriomente.

  Indo de acordo com o que você observou, por um critério de usabilidade,
 deveremos ter tanto a macro no menu Inserir quanto como uma tecla de
 atalho. Ou seja, como são diversas funções do BrOffice.org: existe uma
 tecla de atalho ou ícone de barra, com a funçào praticamente definida
 com um padrão de uso, e o uso opcional através do menu que,
 invariavelmente, apresenta opções que flexibilizam o resultado.

  Nesse momento, devido a proximidade do lançamento da versão 2.0.3,
 proponho que façamos a implementação da função somente através das
 teclas de atalho e do diálogo, sem ícones. Ícones e outras
 implementações podemos fazer nas próximas versões.

  Em relação a questão do tratamento de erro, das mudanças da função
 e da correção ortográfica, concordo com todas as observações. Em
 relação a questão da correção ortográfica, poderíamos,
 imediatamente, ter mais uma opção no diálogo da função, algo como
 "Primeiras letras em maiúsculas".

  O que tu achas deste encaminhamento?

-- 
Ticket URL: <https://wiki.openoffice.org.br/ticket/11>
BrOffice.org <http://www.broffice.org/>
BrOffice.org - Projeto Brasil | Sistema de controle de bilhetes
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a