Tema: Re: linksniavimo algoritmas
Autorius: all set
Data: 2009-05-22 20:46:17
kazkas kazkada mete sita (bet cia atrodo truksta, tai gal kas kitas imes 
pilnesni):

'------------------------------------------------------------------------------

'  Grazina Lietuviu kalbos daiktavardzio (vardo ar pavardes) vienaskaitos

' kilmininko linksni.

'------------------------------------------------------------------------------

Public Function LtVardKilmininkas(Zodis As String) As String



    Select Case (Right(Zodis, 3))

        Case "ius"          ' marius - mariaus

        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 3) & "iaus"

        Case "dis", "dys"          ' skrandis - skrandzio, gaidys - gaidzio;

        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 3) & "dzio"

        Case "tis", "tys"   ' kauladantis - kauladancio, Paukstys  - 
Paukscio;

        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 3) & "cio"

        Case "jis"      ' aukstakojis - aukstakojo

        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 3) & "jo"

        Case Else

            Select Case (Right(Zodis, 2))

                Case "as"    ' pranas - prano

                LtVardKilmininkas = Left(Zodis, Len(Zodis) - 2) & "o"

                Case "ti"    ' marti - marcios

                LtVardKilmininkas = Left(Zodis, Len(Zodis) - 2) & "cios"

                Case "is"    ' kiskis - kiskio

                LtVardKilmininkas = Left(Zodis, Len(Zodis) - 2) & "io"

                Case "us"    ' medus - medaus

                LtVardKilmininkas = Left(Zodis, Len(Zodis) - 2) & "aus"

                Case "ys"    ' gylys - gylio

                LtVardKilmininkas = Left(Zodis, Len(Zodis) - 2) & "io"

                Case Else

                    Select Case (Right(Zodis, 1))

                        Case "a"         ' teta - tetos

                        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 1) & 
"os"

                        Case "e"         ' audre - audres

                        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 1) & 
"es"

                        Case "e"         ' saule - saules

                        LtVardKilmininkas = Left(Zodis, Len(Zodis) - 1) & 
"es"

                        Case Else

                        LtVardKilmininkas = Zodis

                    End Select

            End Select

    End Select



End Function



'------------------------------------------------------------------------------

'  Grazina Lietuviu kalbos daiktavardzio (vardo ar pavardes) vienaskaitos

' naudininko linksni.

'------------------------------------------------------------------------------

Public Function LtVardNaudininkas(Zodis As String) As String



    Select Case (Right(Zodis, 3))

        Case "ius"          ' marius - mariui

        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 3) & "iui"

        Case "dis", "dys"          ' skrandis - skrandziui, gaidys - 
gaidziui;

        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 3) & "dziui"

        Case "tis", "tys"   ' kauladantis - kauladanciui, Paukstys  - 
Pauksciui;

        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 3) & "ciui"

        Case "jis"      ' aukstakojis - aukstakojui

        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 3) & "jui"

        Case Else

            Select Case (Right(Zodis, 2))

                Case "as"    ' pranas - pranui

                LtVardNaudininkas = Left(Zodis, Len(Zodis) - 2) & "ui"

                Case "ti"    ' marti - marciai

                LtVardNaudininkas = Left(Zodis, Len(Zodis) - 2) & "ciai"

                Case "is"    ' kiskis - kiskiui

                LtVardNaudininkas = Left(Zodis, Len(Zodis) - 2) & "iui"

                Case "us"    ' medus - medui

                LtVardNaudininkas = Left(Zodis, Len(Zodis) - 2) & "ui"

                Case "ys"    ' gylys - gyliui

                LtVardNaudininkas = Left(Zodis, Len(Zodis) - 2) & "iui"

                Case Else

                    Select Case (Right(Zodis, 1))

                        Case "a"         ' teta - tetai

                        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 1) & 
"ai"

                        Case "e"         ' audre - audrei

                        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 1) & 
"ei"

                        Case "e"         ' saule - saulei

                        LtVardNaudininkas = Left(Zodis, Len(Zodis) - 1) & 
"ei"

                        Case Else

                        LtVardNaudininkas = Zodis

                    End Select

            End Select

    End Select



End Function



'------------------------------------------------------------------------------

'  Grazina Lietuviu kalbos daiktavardzio (vardo ar pavardes) vienaskaitos

' galininko linksni.

'------------------------------------------------------------------------------

Public Function LtVardGalininkas(Zodis As String) As String



    Select Case (Right(Zodis, 2))

        Case "as"    ' pranas - prana

        LtVardGalininkas = Left(Zodis, Len(Zodis) - 2) & "a"

        Case "ti"    ' marti - marcia

        LtVardGalininkas = Left(Zodis, Len(Zodis) - 2) & "cia"

        Case "is"    ' kiskis - kiski

        LtVardGalininkas = Left(Zodis, Len(Zodis) - 2) & "i"

        Case "us"    ' medus - medu

        LtVardGalininkas = Left(Zodis, Len(Zodis) - 2) & "u"

        Case "ys"    ' gylys - gyli

        LtVardGalininkas = Left(Zodis, Len(Zodis) - 2) & "i"

        Case Else

            Select Case (Right(Zodis, 1))

                Case "a"         ' teta - teta

                LtVardGalininkas = Left(Zodis, Len(Zodis) - 1) & "a"

                Case "e"         ' audre - audre

                LtVardGalininkas = Left(Zodis, Len(Zodis) - 1) & "e"

                Case "e"         ' saule - saule

                LtVardGalininkas = Left(Zodis, Len(Zodis) - 1) & "e"

                Case Else

                LtVardGalininkas = Zodis

           End Select

    End Select



End Function



"AV" <algirdasvISTRINTI@gmail.com> wrote in message 
news:gv6i5i$r75$1@trimpas.omnitel.net...
> Gal kas turit pasirase kokia funkcija linksniavimui arba turit algoritma? 
> Pasidalinkite jei negaila :)
>
> -- 
> Algis
> http://www.anekdotai.net