Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: g202e am 12.02.04 - 09:47:14

Titel: Sortierung bei römischen Kapitelnummern
Beitrag von: g202e am 12.02.04 - 09:47:14
Das Problem dürfte bekannt sein, aber die Suche nach dem Begriff "römisch" war wenig zielführend.
Ich habe eine Art Handbuch in einer Notes-DB abgelegt, bei dem die einzelnen Kapitel römische Nummern haben. Nun ist es natürlich nicht schön, dass die Sortierung (z. B. in Ansichten) nicht so klappt wie bei den üblichen arabischen Ziffern. Als Lösung habe ich jetzt in jedes Dokument ein zusätzliches Zahlenfeld eingefügt, in dem die jeweilige arabische Ziffer (z. B. I->1, VII->7 usw.) eingetragen wird und nach diesem Feld wird dann die Ansicht sortiert. Klappt soweit ganz gut, aber im Sinne einer besseren Bedienbarkeit wäre es natürlich schön, wenn man dieses durch einen Algorithmus erledigen lassen könnte.
Gibt es sowas oder vielleicht eine andere bessere Lösung? Wie löst Ihr sowas?
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: ata am 12.02.04 - 09:50:29
... in Notes kenne ich noch keinen anderen Weg...

ata
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: animate am 12.02.04 - 10:02:07
also so nen Algorithmus sollte es an jeder Ecke im Internet geben

der erste Treffer bei Google führt zu http://lelion.de
da gibts im linken Navigator einen Link zu einem Umrechner. Schau dir einfach das Javascript von da an, und nimms in deine Maske auf, wenn das geht, oder übersetze es nach LotusScript (oder vielleicht sogar nach Formelsprache)

dann halt immer im Querysave die arabische Ziffer berechnen und in ner versteckten Spalte danach sortieren
Viel Spaß
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: Semeaphoros am 12.02.04 - 10:02:26
Na, römisches Zeugs gehört ja zu meinen Spezialitäten ....

Da die römischen Zahlen ein komplexes System darstellen, lassen sie sich informatikmässig leider nicht so ohne weiteres behandeln. Von Sortieren kann schon gar nicht die Rede sein. Es gibt nur den von Dir beschrittenen weg, wenn man nicht dauernd umrechnen will, was nicht ganz trivial ist, da man die römischen Zahlen schliesslich als String vorliegen hat und die Wertigkeiten über einen komplexeren Algorithmus ermittelt werden können (da zum Bleistift ein I sowohl eine 1 als auch eine -1 darstellen kann, abhängig von der Position)

Wie Anton schon gesagt hat, bietet Notes keine eingebaute Funktion für eine solche Umrechnung.
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: eknori am 12.02.04 - 10:08:15
guckst du:

Sub Click(Source As Button)
   Msgbox RomToArab ("III")
End Sub

Function RomToArab(r As String) As Integer
   Dim p As Integer
   Dim z As String
   
   If Len(r) = 1 Then
      Select Case r
      Case "I"
         RomToArab = 1
      Case "V"
         RomToArab = 5
      Case "X"
         RomToArab = 10
      Case "L"
         RomToArab = 50
      Case "C"
         RomToArab = 100
      Case "D"
         RomToArab = 500
      Case "M"
         RomToArab = 1000
      End Select
   Elseif Len(r) = 0 Then '2. Basisklausel
      RomToArab = 0
   Else 'rekursive Klausel
      search_max r, z, p
      RomToArab = RomToArab(z) - _
      RomToArab(Mid(r, 1, p - 1)) + _
      RomToArab(Mid(r, p + 1, 1000))
   End If
End Function


Sub search_max(r As String, z As String, p As Integer)
   Dim i As Integer
   Dim j As Integer
   Const f = "MDCLXVI"
   
   For i = 1 To Len(f)
      For j = 1 To Len(r)
         If Mid(r, j, 1) = Mid(f, i, 1) Then
            
            p = j
            z = Mid(f, i, 1)
            Exit Sub
         End If
      Next j
   Next i
End Sub

Das sollte sich doch irgendwie in die Maske integrieren lassen...
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: Glombi am 12.02.04 - 10:24:50
Da war der eknori mal wieder schneller..

Da ich mir aber auch die Arbeit gemacht habe, möchte ich es der Nachwelt hinterlassen  ;D

Quelle:
http://support.microsoft.com/default.aspx?scid=kb;de;d31604 (http://support.microsoft.com/default.aspx?scid=kb;de;d31604)

Andreas
Titel: Re:Sortierung bei römischen Kapitelnummern
Beitrag von: g202e am 12.02.04 - 10:32:31
Ist doch immer wieder erstaunlich, wie schnell man hier in diesem Forum "geholfen wird" !
Vielen Dank. Ich denke, das reicht als Input!