Seite 1 von 1

Der Konjugierer ist wieder da!

Verfasst: 15.05.2005 08:53
von Leo
Ich habe heute im PureBoard-Archiv gestöbert, und meinen Konjugierer gefunden.
Ich hab ihn jetzt völlig neu geschrieben.
Neu ist: Imperativ, Passiv, Konjunktiv 1 & 2, Konjunktiv Passiv 1 & 2, Gui
Einfach ein regelmäßiges Verb in den StringGadget eingeben und Konjugieren drücken :allright:
Das Verb wird dann in allen Zeiten konjugiert :)

Code: Alles auswählen

;/
;/Konjugierer 
;/(C) by Leonard Dahlmann
;/Website: http://selobrain.se.funpic.de
;/

;{-Konstanten, Strukturen etc.
Enumeration ;Fenster
    #Window_Main
EndEnumeration
Enumeration ;Gadget
    #Gadget_String_Verb
    #Gadget_Button_Submit
    #Gadget_ListView_Result
    #Gadget_Button_ClipBoard
    #Gadget_Button_File
EndEnumeration
Enumeration ;Zeiten
    #Futur2
    #Futur1
    #Praesens
    #Praet
    #Perfekt
    #PP
EndEnumeration
Enumeration ;Modi
    #Indi
    #Kon1
    #Kon2
    #Pass
    #PK1
    #PK2
EndEnumeration
Enumeration ;Menü
    #Menu_Submit
EndEnumeration
Structure person
    p.s[7]              ;Alle 6 Personen
EndStructure
Structure modus
    m.person[6]              ;Indikativ,Konjunktiv 1 & 2, Passiv
EndStructure
Structure verb
    Partizip.s[2]       ;Partizipien
    Zeit.modus[6]       ;Alle 6 Zeiten
    Imperativ.s[2]    ;Imperativ
EndStructure
Dim Personen.s(5)
Dim Zeiten.s(5)
Dim Modi.s(5)
;}
;{-Konjugierer Init
Global v.verb,werden.verb,haben.verb,seien.verb 

werden\Zeit[#Praesens]\m[#Indi]\p[0] = "werde"
werden\Zeit[#Praesens]\m[#Indi]\p[1] = "wirst"
werden\Zeit[#Praesens]\m[#Indi]\p[2] = "wird"
werden\Zeit[#Praesens]\m[#Indi]\p[3] = "werden"
werden\Zeit[#Praesens]\m[#Indi]\p[4] = "werdet"
werden\Zeit[#Praesens]\m[#Indi]\p[5] = "werden"
werden\Zeit[#Praesens]\m[#Kon2]\p[0] = "würde"
werden\Zeit[#Praesens]\m[#Kon2]\p[1] = "würdest"
werden\Zeit[#Praesens]\m[#Kon2]\p[2] = "würde"
werden\Zeit[#Praesens]\m[#Kon2]\p[3] = "würden"
werden\Zeit[#Praesens]\m[#Kon2]\p[4] = "würdet"
werden\Zeit[#Praesens]\m[#Kon2]\p[5] = "würden"
werden\Zeit[#Praesens]\m[#Kon1]\p[0] = "werde"
werden\Zeit[#Praesens]\m[#Kon1]\p[1] = "werdest"
werden\Zeit[#Praesens]\m[#Kon1]\p[2] = "werde"
werden\Zeit[#Praesens]\m[#Kon1]\p[3] = "werden"
werden\Zeit[#Praesens]\m[#Kon1]\p[4] = "werdet"
werden\Zeit[#Praesens]\m[#Kon1]\p[5] = "werden"
werden\Zeit[#Praet]\m[#Indi]\p[0] = "wurde"
werden\Zeit[#Praet]\m[#Indi]\p[1] = "wurdest"
werden\Zeit[#Praet]\m[#Indi]\p[2] = "wurde"
werden\Zeit[#Praet]\m[#Indi]\p[3] = "wurden"
werden\Zeit[#Praet]\m[#Indi]\p[4] = "wurdet"
werden\Zeit[#Praet]\m[#Indi]\p[5] = "wurden"

haben\Zeit[#Praesens]\m[#Indi]\p[0] = "habe"
haben\Zeit[#Praesens]\m[#Indi]\p[1] = "hast"
haben\Zeit[#Praesens]\m[#Indi]\p[2] = "hat"
haben\Zeit[#Praesens]\m[#Indi]\p[3] = "haben"
haben\Zeit[#Praesens]\m[#Indi]\p[4] = "habt"
haben\Zeit[#Praesens]\m[#Indi]\p[5] = "haben"
haben\Zeit[#Praesens]\m[#Kon2]\p[0] = "hätte"
haben\Zeit[#Praesens]\m[#Kon2]\p[1] = "hättest"
haben\Zeit[#Praesens]\m[#Kon2]\p[2] = "hätte"
haben\Zeit[#Praesens]\m[#Kon2]\p[3] = "hätten"
haben\Zeit[#Praesens]\m[#Kon2]\p[4] = "hättet"
haben\Zeit[#Praesens]\m[#Kon2]\p[5] = "hätten"
haben\Zeit[#Praesens]\m[#Kon1]\p[0] = "habe"
haben\Zeit[#Praesens]\m[#Kon1]\p[1] = "habest"
haben\Zeit[#Praesens]\m[#Kon1]\p[2] = "habe"
haben\Zeit[#Praesens]\m[#Kon1]\p[3] = "haben"
haben\Zeit[#Praesens]\m[#Kon1]\p[4] = "habt"
haben\Zeit[#Praesens]\m[#Kon1]\p[5] = "haben"
haben\Zeit[#Praet]\m[#Indi]\p[0] = "hatte"
haben\Zeit[#Praet]\m[#Indi]\p[1] = "hattest"
haben\Zeit[#Praet]\m[#Indi]\p[2] = "hatte"
haben\Zeit[#Praet]\m[#Indi]\p[3] = "hatten"
haben\Zeit[#Praet]\m[#Indi]\p[4] = "hattet"
haben\Zeit[#Praet]\m[#Indi]\p[5] = "hatten"

seien\Zeit[#Praesens]\m[#Indi]\p[0] = "bin"
seien\Zeit[#Praesens]\m[#Indi]\p[1] = "bist"
seien\Zeit[#Praesens]\m[#Indi]\p[2] = "ist"
seien\Zeit[#Praesens]\m[#Indi]\p[3] = "sind"
seien\Zeit[#Praesens]\m[#Indi]\p[4] = "seid"
seien\Zeit[#Praesens]\m[#Indi]\p[5] = "sind"
seien\Zeit[#Praesens]\m[#Kon1]\p[0] = "sei"
seien\Zeit[#Praesens]\m[#Kon1]\p[1] = "seist"
seien\Zeit[#Praesens]\m[#Kon1]\p[2] = "sei"
seien\Zeit[#Praesens]\m[#Kon1]\p[3] = "seien"
seien\Zeit[#Praesens]\m[#Kon1]\p[4] = "seid"
seien\Zeit[#Praesens]\m[#Kon1]\p[5] = "seien"
seien\Zeit[#Praesens]\m[#Kon2]\p[0] = "wär"
seien\Zeit[#Praesens]\m[#Kon2]\p[1] = "wärst"
seien\Zeit[#Praesens]\m[#Kon2]\p[2] = "wär"
seien\Zeit[#Praesens]\m[#Kon2]\p[3] = "wären"
seien\Zeit[#Praesens]\m[#Kon2]\p[4] = "wärt"
seien\Zeit[#Praesens]\m[#Kon2]\p[5] = "wären"
seien\Zeit[#Praet]\m[#Indi]\p[0] = "war"
seien\Zeit[#Praet]\m[#Indi]\p[1] = "warst"
seien\Zeit[#Praet]\m[#Indi]\p[2] = "war"
seien\Zeit[#Praet]\m[#Indi]\p[3] = "waren"
seien\Zeit[#Praet]\m[#Indi]\p[4] = "wart"
seien\Zeit[#Praet]\m[#Indi]\p[5] = "waren"

Personen(0) = "Ich"
Personen(1) = "Du"
Personen(2) = "Er/Sie/Es"
Personen(3) = "Wir"
Personen(4) = "Ihr"
Personen(5) = "Sie"

Zeiten(0) = "Futur II"
Zeiten(1) = "Futur I"
Zeiten(2) = "Praesens"
Zeiten(3) = "Praeteritum"
Zeiten(4) = "Perfekt"
Zeiten(5) = "Plusguamperfekt"

Modi(0) = "Indikativ"
Modi(1) = "Konjunktiv 1"
Modi(2) = "Konjunktiv 2"
Modi(3) = "Passiv"
Modi(4) = "Konjunktiv 1 Passiv"
Modi(5) = "Konjunktiv 2 Passiv"

;}
;{-Fenster
hWnd = OpenWindow(#Window_Main,0,0,500,400,#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MaximizeGadget|#PB_Window_MinimizeGadget,"Konjugierer")
CreateGadgetList(hWnd)
StringGadget(#Gadget_String_Verb,0,0,0,0,"kaufen")
ButtonGadget(#Gadget_Button_Submit,0,0,0,0,"Konjugieren")
ListViewGadget(#Gadget_ListView_Result,0,0,0,0)
ButtonGadget(#Gadget_Button_ClipBoard,0,0,0,0,"In Zwischenablage ablegen")
ButtonGadget(#Gadget_Button_File,0,0,0,0,"In Datei speichern")
SendMessage_(hWnd,#WM_SIZE,0,0)
SetGadgetFont(#Gadget_ListView_Result,LoadFont(0,"courier",10))
AddKeyboardShortcut(#Window_Main,#PB_Shortcut_Return,#Menu_Submit)
;}
;{-Proceduren
Procedure add(string$) 
    AddGadgetItem(#Gadget_ListView_Result,-1,string$)
EndProcedure
Procedure konjugieren(s.s)
    ;/Konjugieren
    l = Len(s)
    ;-Partizipien
    ;Partizip I
    v\Partizip[0] = s + "d"
    ;Partizip II
    v\Partizip[1] = "ge" + Mid(s,0,l-2) + "t"
    
    ;-Präsens
    ;Indikativ
    v\Zeit[#Praesens]\m[#Indi]\p[0] = Mid(s,0,l-1)
    v\Zeit[#Praesens]\m[#Indi]\p[1] = Mid(s,0,l-2) + "st"
    v\Zeit[#Praesens]\m[#Indi]\p[2] = Mid(s,0,l-2) + "t"
    v\Zeit[#Praesens]\m[#Indi]\p[3] = s
    v\Zeit[#Praesens]\m[#Indi]\p[4] = Mid(s,0,l-2) + "t"
    v\Zeit[#Praesens]\m[#Indi]\p[5] = s
    ;Passiv
    For i = 0 To 5
        v\Zeit[#Praesens]\m[#Pass]\p[i] = werden\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1]
    Next
    ;Konjunktiv 2
    For i = 0 To 5
        v\Zeit[#Praesens]\m[#Kon2]\p[i] = werden\Zeit[#Praesens]\m[#Kon2]\p[i] + " " + s
    Next
    ;Konjunktiv 1
    v\Zeit[#Praesens]\m[#Kon1]\p[0] = Mid(s,0,l-1)
    v\Zeit[#Praesens]\m[#Kon1]\p[1] = Mid(s,0,l-1) + "st"
    v\Zeit[#Praesens]\m[#Kon1]\p[2] = Mid(s,0,l-1)
    v\Zeit[#Praesens]\m[#Kon1]\p[3] = s
    v\Zeit[#Praesens]\m[#Kon1]\p[4] = Mid(s,0,l-1) + "t"
    v\Zeit[#Praesens]\m[#Kon1]\p[5] = s
    ;Passiv Konjunktiv 2
    For i = 0 To 5
        v\Zeit[#Praesens]\m[#PK1]\p[i] = werden\Zeit[#Praesens]\m[#Kon1]\p[i] + " " + v\Partizip[1]
    Next
    ;Passiv Konjunktiv 2
    For i = 0 To 5
        v\Zeit[#Praesens]\m[#PK2]\p[i] = werden\Zeit[#Praesens]\m[#Kon2]\p[i] + " " + v\Partizip[1] + " (werden)"
    Next
    
    ;-Praeteritum
    ;Indikativ
    v\Zeit[#Praet]\m[#Indi]\p[0] = Mid(s,0,l-2) + "te"
    v\Zeit[#Praet]\m[#Indi]\p[1] = Mid(s,0,l-2) + "test"
    v\Zeit[#Praet]\m[#Indi]\p[2] = Mid(s,0,l-2) + "te"
    v\Zeit[#Praet]\m[#Indi]\p[3] = Mid(s,0,l-2) + "ten"
    v\Zeit[#Praet]\m[#Indi]\p[4] = Mid(s,0,l-2) + "tet"
    v\Zeit[#Praet]\m[#Indi]\p[5] = Mid(s,0,l-2) + "ten"
    ;Passiv
    For i = 0 To 5
        v\Zeit[#Praet]\m[#Pass]\p[i] = werden\Zeit[#Praet]\m[#Indi]\p[i] + " " + v\Partizip[1]
    Next
    
    ;-Futur I
    ;Indikativ
    For i = 0 To 5
        v\Zeit[#Futur1]\m[#Indi]\p[i] = werden\Zeit[#Praesens]\m[#Indi]\p[i] + " " + s
    Next
    ;Passiv
    For i = 0 To 5
        v\Zeit[#Futur1]\m[#Pass]\p[i] = werden\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1] + " werden"
    Next
    ;Konjunktiv 2 (lol keine ahnung obs das überhaupt gibt xD)
    For i = 0 To 5
        v\Zeit[#Futur1]\m[#Kon1]\p[i] = werden\Zeit[#Praesens]\m[#Kon2]\p[i] + " " + s + " werden"
    Next
    
    ;-Futur II
    ;Indikativ
    For i = 0 To 5
        v\Zeit[#Futur2]\m[#Indi]\p[i] = werden\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1] + " haben"
    Next
    ;Passiv
    For i = 0 To 5
        v\Zeit[#Futur2]\m[#Pass]\p[i] = werden\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1] + " worden sein"
    Next
    ;Konjunktiv 2 ( o____O )
    ; For i = 0 To 5
        ; v\Zeit[#Futur2]\m[#Kon2]\p[i] = werden\Zeit[#Praesens]\m[#Kon2]\p[i]
    ; Next
    
    ;-Perfekt
    ;Indikativ
    For i = 0 To 5
        v\Zeit[#Perfekt]\m[#Indi]\p[i] = haben\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1]
    Next
    ;Passiv
    For i = 0 To 5
        v\Zeit[#Perfekt]\m[#Pass]\p[i] = seien\Zeit[#Praesens]\m[#Indi]\p[i] + " " + v\Partizip[1] + " worden"
    Next
    ;Konjunktiv 1
    For i = 0 To 5
        v\Zeit[#Perfekt]\m[#Kon1]\p[i] = haben\Zeit[#Praesens]\m[#Kon1]\p[i] + " " + v\Partizip[1] 
    Next
    ;Passiv Konjunktiv 1
    For i = 0 To 5
        v\Zeit[#Perfekt]\m[#PK1]\p[i] = seien\Zeit[#Praesens]\m[#Kon1]\p[i] + " " + v\Partizip[1] + " worden"
    Next
    
    ;-Plusguamperfekt
    ;Indikativ
    For i = 0 To 5
        v\Zeit[#PP]\m[#Indi]\p[i] = haben\Zeit[#Praet]\m[#Indi]\p[i] + " " + v\Partizip[1]
    Next
    ;Passiv
    For i = 0 To 5
        v\Zeit[#PP]\m[#Pass]\p[i] = seien\Zeit[#Praet]\m[#Indi]\p[i] + " " + v\Partizip[1] + " worden"
    Next
    ;Konjunktiv 2
    For i = 0 To 5
        v\Zeit[#PP]\m[#Kon2]\p[i] = haben\Zeit[#Praesens]\m[#Kon2]\p[i] + " " + v\Partizip[1]
    Next
    ;Passiv Konjunktiv 2
    For i = 0 To 5
        v\Zeit[#PP]\m[#PK2]\p[i] = seien\Zeit[#Praesens]\m[#Kon2]\p[i] + " " + v\Partizip[1] + " worden"
    Next
    
    ;-Imperativ
    v\Imperativ[0] = Mid(s,0,l-1) + "!"
    v\Imperativ[1] = Mid(s,0,l-2) + "t!"
    
    ;/Ausgeben
    add("Infinitiv: "+s)
    add("Partizip I: "+v\Partizip[0])
    add("Partizip II: "+v\Partizip[1])
    add("========================================================")
    For i = 5 To 0 Step - 1
        add(Zeiten(i))
        add("========================================================")
        For k = 0 To 5
            If v\Zeit[i]\m[k]\p[0] = "" : Continue : EndIf 
            add("<<"+Modi(k)+">>")
            For l = 0 To 5
                add(Str(l+1)+": "+Personen(l)+" "+v\Zeit[i]\m[k]\p[l])
            Next
            add("--------------------------------------------------------")
        Next
        add("========================================================")
    Next
    add("Imperativ")
    add("========================================================")
    add(v\Imperativ[0]+" (Einzahl)")
    add(v\Imperativ[1]+" (Mehrzahl)")
EndProcedure
;}

Repeat
    Event = WaitWindowEvent()
    Select Event 
        Case #PB_Event_CloseWindow
            Quit = #True 
        Case #PB_Event_Gadget
            Select EventGadgetID()
                Case #Gadget_Button_Submit
                    ClearGadgetItemList(#Gadget_ListView_Result)
                    konjugieren(GetGadgetText(#Gadget_String_Verb))
                    SetFocus_(GadgetID(#Gadget_String_Verb))
                Case #Gadget_Button_ClipBoard
                    str$ = ""
                    For i = 0 To CountGadgetItems(#Gadget_ListView_Result) - 1
                        str$ + GetGadgetItemText(#Gadget_ListView_Result,i,0)
                        str$ + #CRLF$
                    Next
                    SetClipboardText(str$)
            EndSelect
        Case #PB_Event_Menu
            Select EventMenuID()
                Case #Menu_Submit
                    ClearGadgetItemList(#Gadget_ListView_Result)
                    konjugieren(GetGadgetText(#Gadget_String_Verb))
                    SetFocus_(GadgetID(#Gadget_String_Verb))
            EndSelect
        Case #PB_Event_SizeWindow
            ww = WindowWidth()
            wh = WindowHeight()
            ResizeGadget(#Gadget_String_Verb,10,10,WindowWidth()-150,20)
            ResizeGadget(#Gadget_Button_Submit,WindowWidth()-130,10,120,20)
            ResizeGadget(#Gadget_ListView_Result,10,40,WindowWidth()-20,WindowHeight()-80)
            ResizeGadget(#Gadget_Button_ClipBoard,10,WindowHeight()-30,WindowWidth()-20,20)
            ;ResizeGadget(#Gadget_Button_File,WindowWidth()/2+5,WindowHeight()-30,WindowWidth()/2-15,20)
            SetFocus_(GadgetID(#Gadget_String_Verb))
    EndSelect
Until Quit = #True 
End 

Verfasst: 15.05.2005 09:23
von DarkDragon
"Ich wurde gekauft" ^^
gebt mal "pb" oder "purebasic" ein, dann kommt pb pbd get oder purebasic purebasicd purebast

Verfasst: 15.05.2005 09:30
von Leo
Lol:

Code: Alles auswählen

1: Ich werde pb
2: Du wirst pb
3: Er/Sie/Es wird pb
4: Wir werden pb
5: Ihr werdet pb
6: Sie werden pb
Jaaaa alle C++ Leute werden PB :mrgreen:

BUG hahahaha

Verfasst: 15.05.2005 22:40
von Konne
Konjuktiv 2

6 Sie hättten ...

Man junge des heißt hätten also wenn du schon net konjugieren kannst wie soll es dann das programm?

Gebt mal Haus ein das werden mal tolle Formen!

:D
PS War net so gemeint
PPS Und für Ausländer is es sicher ganz n tolles programm
PPPS Google machts au net besser^^
:D

Auf deutsch restepe!
:allright: