https://foro.gambas-es.org/viewtopic.php?f=5&t=7918
-----------------------------------
v3ctor
Miercoles, 18 Marzo 2020, 08:39

Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
buenas aquí el código:

https://novatocodegambas.blogspot.com/2020/03/convertir-numeros-numeros-romanos.html

no seguí más porque no se como hacer los caracteres con las lineas arriba.
el 4000 se hace con un M y después una V con linea arriba, que equivale a 5000.

si alguien ve algún error avise, espero sus comentarios.


-----------------------------------
Grandamakulo
Miercoles, 18 Marzo 2020, 10:30

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
Hola, v3ctor:

Estupendo código.

En cuanto a los caracteres, además de tener directamente los caracteres unicode para notación romana —U-2160 a U-2183, incluyendo la «notación apostrófica» para grandes números—, para mayores o iguales a 4.000 en notación moderna —basada en el [i]vinculum[/i] o macron para notaciones desde la Edad Media— sólo he encontrado un carácter con macron:
Ī : U+012A, que es precisamente el que no se emplea  :oops: .

Pero sí que puedes usar el carácter combinable  ̄ : U+0304 o el ¯ : U+00AF —macron corto o largo—.

En W7 no resultan «combinables», o yo soy muy torpe, que todo hay que decirlo, pero en Linux lo probaré esta tarde: en teoría debería hacerse sin ningún problema.


-----------------------------------
v3ctor
Miercoles, 18 Marzo 2020, 17:48

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
[quote user="Grandamakulo" post="47650"]Hola, v3ctor:

Estupendo código.

En cuanto a los caracteres, además de tener directamente los caracteres unicode para notación romana —U-2160 a U-2183, incluyendo la «notación apostrófica» para grandes números—, para mayores o iguales a 4.000 en notación moderna —basada en el [i]vinculum[/i] o macron para notaciones desde la Edad Media— sólo he encontrado un carácter con macron:
Ī : U+012A, que es precisamente el que no se emplea  :oops: .

Pero sí que puedes usar el carácter combinable  ̄ : U+0304 o el ¯ : U+00AF —macron corto o largo—.

En W7 no resultan «combinables», o yo soy muy torpe, que todo hay que decirlo, pero en Linux lo probaré esta tarde: en teoría debería hacerse sin ningún problema.[/quote]

sabes que combinación de teclas hay que hacer para sacar el carácter macron largo?


-----------------------------------
Grandamakulo
Miercoles, 18 Marzo 2020, 20:53

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
Claro: Ctrl+My Izd+u+00AF


-----------------------------------
v3ctor
Jueves, 19 Marzo 2020, 01:02

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
[quote user="Grandamakulo" post="47652"]Claro: Ctrl+My Izd+u+00AF[/quote]

bien funciona es extraño, pero como haces para poner la V y después la raya encima?

se podría hacer eso en un drawingarea pero con caracteres se podrá hacer?


-----------------------------------
vuott
Jueves, 19 Marzo 2020, 01:33

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
En codigo Gambas es posible usando la Propiedad "[i]TextEdit.RichText[/i]".

Exemplum:

[code linenumbers=false syntax=gambas]Public Sub Form_Open()

  TextEdit1.Font.Size = 18

  TextEdit1.RichText = "MV&#x305;  " & "  MV" & String.Chr(&0305)

End[/code]

https://www.gambas-it.org/wiki/index.php?title=Convertire_un_numero_decimale_in_numerazione_romana#Rappresentare_in_numerazione_romana_una_cifra_superiore_a_3999


-----------------------------------
Grandamakulo
Jueves, 19 Marzo 2020, 11:45

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
¡Exactamente!


-----------------------------------
v3ctor
Jueves, 19 Marzo 2020, 15:45

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
[quote user="vuott" post="47655"]En codigo Gambas es posible usando la Propiedad "[i]TextEdit.RichText[/i]".

Exemplum:

[code linenumbers=false syntax=gambas]Public Sub Form_Open()

  TextEdit1.Font.Size = 18

  TextEdit1.RichText = "MV&#x305;  " & "  MV" & String.Chr(&0305)

End[/code]

https://www.gambas-it.org/wiki/index.php?title=Convertire_un_numero_decimale_in_numerazione_romana#Rappresentare_in_numerazione_romana_una_cifra_superiore_a_3999[/quote]

bien después voy a probar y llegar a un millón, pero te dejo otro dilema, después de terminar con una raya encima vienen dos rayas, ¿a que no hay para eso? jajajajja


-----------------------------------
vuott
Jueves, 19 Marzo 2020, 19:27

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
[quote user="v3ctor" post="47657"]... pero te dejo otro dilema, después de terminar con una raya encima vienen dos rayas, ¿a que no hay para eso? jajajajja[/quote]

Está claro que tú [u]no[/u] :x probaste los ejemplos de esta pagina del wiki italiano:

https://www.gambas-it.org/wiki/index.php?title=Convertire_un_numero_decimale_in_numerazione_romana#Rappresentare_in_numerazione_romana_una_cifra_superiore_a_3999


-----------------------------------
v3ctor
Jueves, 19 Marzo 2020, 21:31

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
[quote user="vuott" post="47660"][quote user="v3ctor" post="47657"]... pero te dejo otro dilema, después de terminar con una raya encima vienen dos rayas, ¿a que no hay para eso? jajajajja[/quote]

Está claro que tú [u]no[/u] :x probaste los ejemplos de esta pagina del wiki italiano:

https://www.gambas-it.org/wiki/index.php?title=Convertire_un_numero_decimale_in_numerazione_romana#Rappresentare_in_numerazione_romana_una_cifra_superiore_a_3999[/quote]

 :oops: 

ahora si:

 [img]https://foro.gambas-es.org/files/images/2261/ventana_principal_2020_03_19_173000.png[/img]


-----------------------------------
vuott
Viernes, 20 Marzo 2020, 08:49

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
El problema real es que no llego a combinar un símbolo UNICODE de un carácter con un símbolo diacrítico UNICODE usando la consola.


-----------------------------------
v3ctor
Domingo, 05 Abril 2020, 18:40

Re: Convertir Números A Números Romanos (1 A 3999)
-----------------------------------
Buenas he visto y leído que en libros antiguos el 4 no es IV sino IIII ,  en vez de XIV 14 es, XIIII aparentemente no he visto otra variación pero se solucionaría  añadiendo una variable que podría ser tipo: RomanoAntiguo para usar uno u otro. Alguno conoce otra variación?

[code linenumbers=false syntax=gambas]

Public Sub EnteroToRomano(entero As Integer, optional RomanoAntiguo as boolean) As String '' 144

Select Case entero
    Case 1 
      Return "I"
    Case 2
      Return "II"
    Case 3
      Return "III"
    Case 4
if RomanoAntiguo then
  Return "IIII"
else
  Return "IV"
endif
    
    Case 5
      Return "V"
    Case 6
      Return "VI"
    Case 7
      Return "VII"
....
[/code]

 [img]https://foro.gambas-es.org/files/images/2261/elcuatro.png[/img]


