Italia
Foro

Prozedurentest... +[Download]

 

Michael
Wodrich
Als Austausch- und Diskussionsbereich per Testprogramme, die den Gruppenmanager betreffen.

Im Archiv ist der letzte Schriftsatz enthalten, ebenso die INC-File.

Die GM-Test.prf wird genutzt, um alle Module zu testen. Sie liegt auch als EXE bei, damit alle mal schauen können.

v0.1:
Die Gruppenmanager.prf ist noch nicht soweit.

Es wäre hilfreich, wenn sich einer der Tab-Control Spezialisten mal die Doku anschaut und sich daran versucht. Dabei kann die File Gruppenmanager.prf vollkommen neu erstellt werden (ist nur eine Kopie von GM-Test).

v0.2:
Es wird umgestellt auf Treeview. Source eingepflegt.

Icons
Ich habe mal ein Bischen in meiner Icon-Kiste gewühlt. Sind alles keine eigenen, passen aber.

v0.3:
Neue Version (ohne GM-Test) hochgeladen...

Schöne Grüße
Michael Wodrich

5 kB
Kurzbeschreibung: Gruppenmanager-Icons
Hochgeladen:21.08.2005
Downloadcounter27
Download
280 kB
Kurzbeschreibung: Gruppenmanager Projekt
Hochgeladen:21.08.2005
Downloadcounter25
Download
14 kB
Kurzbeschreibung: Gruppenmanager Projekt
Hochgeladen:24.08.2005
Downloadcounter31
Download
 
Programmieren, das spannendste Detektivspiel der Welt.
17.08.2005  
 



Könntest du die jeweils aktuelle Version von Gruppenmanager.prf hier als Download bereitstellen? Sowohl mein IE5.5 als auch Opera haben ganz gewaltige Probleme beim markieren und kopieren der Fonte.
 
18.08.2005  
 



Nimm doch den orangen Knopf - der markiert doch den kompletten Source.

Salve.
 
18.08.2005  
 



Der funktioniert weder beim IE5.5 noch bei Opera...
 
18.08.2005  
 




Dietmar
Horn
Also ich bin auch gerade mit IE 5.5 unterwegs (unter ME), und da funktioniert das tadellos. Und bei uns im Kabinett mit Win 95 / 98 und IE 5.5. ebenfalls.

Saluto
Dietmar
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
18.08.2005  
 



Wenn ich mit der Maus circa den roten BUtton fahre, kommt bei mir beim IE immer die Fehlermeldung:
Es ist ein Laufzeitfehler aufgetreten. Soll der Debug-Modus gestartet werden?
Zeile: 0
Fehler: Die Cursoreigenschaften wurden nicht gefunden. Ungültiges Argument.

Das Kopieren hat aber jetzt doch hingehauen.
 
18.08.2005  
 



Vielleicht bist Du einfach nicht up-to-date.
 
18.08.2005  
 




Michael
Wodrich
Ist hinter dem Knopf ein Java-Getriebe?
 
Programmieren, das spannendste Detektivspiel der Welt.
19.08.2005  
 



Türlich.
Anders geht es ldr. auch nicht.

Salve.
 
19.08.2005  
 



Lassen wir das erst einmal - kopieren habe ich hinbekommen.

@Michael und IF: Ich würde die 3 Listboxen gerne gegen 1 Treeview ersetzen, das sich nach Usern und den (3) Gruppenarten unterschiedlich verzweigt. Gruppenarten und User sollen dabei unterschiedliche Icons bekommen. Das Treeview sol auf die linke Metà des Hauptfensters.
Rechts sollen einige circa Control erstellte Buttons hin:
bearbeiten
löschen
hinzufügen
Je nach Auswahl imj Treeview sollten unterschiedliche Buttons aktiv sein.
Was haltet ihr von so einem Anfang?
Bin noch voll im Urlaubsstreß, wenn ich Zeit finde, bau ich gerne mal was zusammen.

Ach ja, in meiner Profan Aiuto steht, daß Bereiche nicht lokal sein können. Sollte man dann Bereiche nicht auch global deklarieren?
Clicked kennt meine Profanversion nicht! Bitte kompatibel zu 7.5 halten und API verwenden (habs mir schon umgebaut).
 
19.08.2005  
 



Hallo alle zusammen...

Was haltet ihr von etwas in der Art?
KompilierenMarkierenSeparieren
Gruppenmanager.prf
************** Start der Globale Declarationen **************
DEF @InitCommonControls(0) !"COMCTL32","InitCommonControls"
DEF @GetDlgCtrlID(1) !"USER32","GetDlgCtrlID" "%MENUITEM" von einem Handle ermitteln
DEF @ButtonClicked(1) @GetDlgCtrlID(@&(1))=-%MENUITEM %MENUITEM vergleichen
DEF @ImageList_Create(5) !"COMCTL32","ImageList_Create"
DEF @ImageList_AddIcon(2) !"COMCTL32","ImageList_AddIcon"
DEF @ImageList_Destroy(1) !"COMCTL32","ImageList_Destroy"
DEF @GetModuleHandle(1) !"KERNEL32","GetModuleHandleA"
DEF @LoadIcon(2) ! "USER32","LoadIconA"
Declare Imagelist&,GU_Treeview&,Ende%,Sortierliste&
Declare TV_TEXT#,TV_INSERT#,TV_ITEM#
Declare GU_BUFFER_P#,GU_BUFFER_A#,GU_BUFFER#,Entry_COUNT#
Declare GETERROR_Buffer#
Declare UNICODE#,Attribut#,PrivilegSET#,PRIVILEG#
Declare SID#,DOMAIN#,ALLPRIVS#,ComparePriv#
Declare TV_Sonstige&,TV_Netzwerkgruppen&,TV_User&,TV_lokale_gruppen&
Declare Hinzufügen&,Löschen&,Bearbeiten&
Declare Text_Von_TV_ITEM$
Declare TV_SELECTED&,TV_ROOT&
Struct LSA_UNICODE_STRING=Length%,MaximumLength%,Buffer&
Struct LSA_OBJECT_ATTRIBUTES=Length&,RootDirectory&,Length%,MaximumLength%,Buffer&,Attributes&,SecurityDescriptor#(4),SecurityQualityOfService#(4)
************** Ende der Globale Declarationen **************
************** Start der Prozedur zum Ermitteln lokaler Gruppen ********************

Proc Liste_lokale_gruppen

    Clearlist
    Declare Indexzähler&,Nt_fehler&,E_read&,E_total&,Resumehandle&
    Dim Entry_count#,4
    Dim Gu_buffer_p#,4
    Dim Gu_buffer_a#,252
    Dim Gu_buffer#,32
    Let Nt_fehler&=$Ea
    Let Resumehandle&=0
    Let Indexzähler&=0

    While Nt_fehler&=$Ea

        Clear Entry_count#,Gu_buffer_p#,Gu_buffer_a#,Gu_buffer#
        Let Nt_fehler&=@External("Netapi32.DLL","NetLocalGroupEnum",0,0,Gu_buffer_p#,-1,@Addr(E_read&),@Addr(E_total&),@Addr(Resumehandle&))

        If @Or(Nt_fehler&=$Ea,Nt_fehler&=0)

            While Indexzähler&<E_read&

                @External("KERNEL32.DLL","RtlMoveMemory",Gu_buffer#,@Long(Gu_buffer_p#,0)+Indexzähler&*4,4)
                @External("KERNEL32.DLL","WideCharToMultiByte",0,0,@Long(Gu_buffer#,0),-1,Gu_buffer_a#,261,0,0)
                Addstring @String$(Gu_buffer_a#,0)
                Let IndexzÄhler&=IndexzÄhler&+1

            Wend

            @External("Netapi32.DLL","NetApiBufferFree",@Long(Gu_buffer_p#,0))

        Endif

    Wend

    If Nt_fehler&<>0

        Dim Geterror_buffer#,32000
        @External("KERNEL32","FormatMessageA",$1000,0,Nt_fehler&,0,Geterror_buffer#,32000,0)
        Let Geterror_buffer$=@String$(Geterror_buffer#,0)
        Dispose Geterror_buffer#
        @Messagebox(Geterror_buffer$,"Ein Fehler ist aufgetreten!",16)

    Endif

    Dispose Entry_count#
    Dispose Gu_buffer#
    Dispose Gu_buffer_p#
    Dispose Gu_buffer_a#
    Dispose Gu_buffer#
    Dispose Gu_buffer_p#

Endproc

************** Ende der Prozedur zum Ermitteln lokaler Gruppen ********************
************** Start der Prozedur zum Listen der Netzwerkgruppen ********************

Proc Liste_netzwerkgruppen

    Clearlist
    Declare Indexzähler&,Nt_fehler&
    Dim Entry_count#,4
    Dim Gu_buffer_p#,4
    Dim Gu_buffer_a#,252
    Dim Gu_buffer#,32
    Let Nt_fehler&=$Ea
    Let Indexzähler&=0

    While Nt_fehler&=$Ea

        Clear Entry_count#,Gu_buffer_p#,Gu_buffer_a#,Gu_buffer#
        Let Nt_fehler&=@External("Netapi32.DLL","NetQueryDisplayInformation",0,3,Indexzähler&,1,-1,Entry_count#,Gu_buffer_p#)

        If @Or(Nt_fehler&=$Ea,Nt_fehler&=0)

            @External("KERNEL32.DLL","RtlMoveMemory",Gu_buffer#,@Long(Gu_buffer_p#,0),20)
            Let Indexzähler&=@Long(Gu_buffer#,16)
            @External("KERNEL32.DLL","WideCharToMultiByte",0,0,@Long(Gu_buffer#,0),-1,Gu_buffer_a#,261,0,0)
            Addstring @String$(Gu_buffer_a#,0)
            @External("Netapi32.DLL","NetApiBufferFree",@Long(Gu_buffer_p#,0))

        Endif

    Wend

    If Nt_fehler&<>0

        Dim Geterror_buffer#,32000
        @External("KERNEL32","FormatMessageA",$1000,0,Nt_fehler&,0,Geterror_buffer#,32000,0)
        Let Geterror_buffer$=@String$(Geterror_buffer#,0)
        Dispose Geterror_buffer#
        @Messagebox(Geterror_buffer$,"Ein Fehler ist aufgetreten!",16)

    Endif

    Dispose Entry_count#
    Dispose Gu_buffer#
    Dispose Gu_buffer_a#
    Dispose Gu_buffer#
    Dispose Gu_buffer_p#

Endproc

************** Ende der Prozedur zum Listen der Netzwerkgruppen ********************
************** Start der Prozedur zum Ermitteln aller User ********************

Proc Liste_alle_user

    Clearlist
    Declare Indexzähler&,Nt_fehler&
    Declare Geterror_buffer$
    Dim Entry_count#,4
    Dim Gu_buffer_p#,4
    Dim Gu_buffer_a#,252
    Dim Gu_buffer#,32
    Let Nt_fehler&=$Ea
    Let Indexzähler&=0

    While Nt_fehler&=$Ea

        Clear Entry_count#,Gu_buffer_p#,Gu_buffer_a#,Gu_buffer#
        Let Nt_fehler&=@External("Netapi32.DLL","NetQueryDisplayInformation",0,1,Indexzähler&,1,-1,Entry_count#,Gu_buffer_p#)

        If @Or(Nt_fehler&=$Ea,Nt_fehler&=0)

            @External("KERNEL32.DLL","RtlMoveMemory",Gu_buffer#,@Long(Gu_buffer_p#,0),24)
            Let Indexzähler&=@Long(Gu_buffer#,20)
            @External("KERNEL32.DLL","WideCharToMultiByte",0,0,@Long(Gu_buffer#,0),-1,Gu_buffer_a#,261,0,0)
            Addstring @String$(Gu_buffer_a#,0)
            @External("Netapi32.DLL","NetApiBufferFree",@Long(Gu_buffer_p#,0))

        Endif

    Wend

    If Nt_fehler&<>0

        Dim Geterror_buffer#,32000
        @External("KERNEL32","FormatMessageA",$1000,0,Nt_fehler&,0,Geterror_buffer#,32000,0)
        Let Geterror_buffer$=@String$(Geterror_buffer#,0)
        Dispose Geterror_buffer#
        @Messagebox(Geterror_buffer$,"Ein Fehler ist aufgetreten!",16)

    Endif

    Dispose Entry_count#
    Dispose Gu_buffer#
    Dispose Gu_buffer_a#
    Dispose Gu_buffer#
    Dispose Gu_buffer_p#

Endproc

************** Ende der Prozedur zum Ermitteln aller User ********************
************** Start der Prozedur zum Erzeugen einer "Iconliste" **************

Proc Erzeuge_Imageliste

    Declare ExecuteHandle&,Hicon&,Iconname$
    Let Imagelist&=ImageList_Create(16,16,$0001,3,3) Imagelist erzeugen
    Let ExecuteHandle&=@GetModuleHandle(0)  Handle des laufenden Programms
    LET Iconname$="Weg"       Icon-Name
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Windows"         Icon-Name
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Eimer"
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Editor"
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="A"
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Stein"
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Baum"
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)
    LET Iconname$="Computer"         Icon-Name
    Let Hicon&=@LoadIcon(Executehandle&,@ADDR(Iconname$)) Handle des Icons ok
    @ImageList_AddIcon(Imagelist&,HIcon&)

endproc

************** Ende der Prozedur zum Erzeugen einer "Iconliste" **************
************** Start der Prozedur zum Einfügen von Items in das Treeview **************

PROC Füge_Item_in_Treeview_ein

    Declare ITEM_Handle&
    Dim TV_TEXT#,261
    DIM TV_INSERT#,48
    CLEAR TV_INSERT#,TV_TEXT#
    String TV_TEXT#,0=@$(4)      Der Text im Label
    long TV_INSERT#,0=@&(1)          TVins-Parent
    long TV_INSERT#,8=$0001+$0002+ $0020+ $0004 +$0008 +$0010
    long TV_INSERT#,16=@&(5)          State
    long TV_INSERT#,20=$0001+$0002+$0004+$0008+$0010+$0020+$0040+$0080+$0F00+$F000 StateMAsk
    long TV_INSERT#,24=TV_TEXT#   Adress of Label
    long TV_INSERT#,32=@&(2)         Image          z.B Ordner
    long TV_INSERT#,36=@&(3)         Selected Image z.B geöffneter Ordner
    long TV_INSERT#,44=@&(6)          Lparam
    LET ITEM_Handle&=@sendmessage(GU_Treeview&,$1100,0,TV_INSERT#)
    Dispose TV_TEXT#
    Dispose TV_INSERT#
    Return ITEM_Handle&

ENDPROC

************** Ende der Prozedur zum Einfügen von Items in das Treeview **************
************** Start der Prozedur zum Füllen des Treeviews **************

Proc Update_GU_Treview

    USECURSOR 2
    Enablewindow GU_Treeview&,0
    Declare GU_STRING$,GU_ZÄHLER%
    @Sendmessage(GU_Treeview&,$1101,0,0) Treeview komplett löschen
    Füge_Item_in_Treeview_ein 0,0,0,"User",$0010
    LET TV_USER&=@&(0)
    Füge_Item_in_Treeview_ein 0,1,1,"Lokale Gruppen",$0010
    LET TV_lokale_Gruppen&=@&(0)
    Füge_Item_in_Treeview_ein 0,2,2,"Netzwerkgruppen",$0010
    LET TV_NETZWERKGRUPPEN&=@&(0)
    Füge_Item_in_Treeview_ein 0,3,3,"Gruppen aus Token",$0010
    LET TV_SONSTIGE&=@&(0)
    Liste_Alle_User
    @SENDMESSAGE(SORTIERLISTE&,$0184,0,0) Sortierlistbox löschen
    @MoveListToList(SORTIERLISTE&)
    LET GU_ZÄHLER%=0

    While GU_ZÄHLER%<@GetCount(SORTIERLISTE&)

        LET GU_STRING$=@GetString$(SORTIERLISTE&,GU_ZÄHLER%)
        Füge_Item_in_Treeview_ein TV_User&,0,0,GU_STRING$,$0010
        LET GU_ZÄHLER%=GU_ZÄHLER%+1

    WEND

    Liste_lokale_Gruppen
    @SENDMESSAGE(SORTIERLISTE&,$0184,0,0) Sortierlistbox löschen
    @MoveListToList(SORTIERLISTE&)
    LET GU_ZÄHLER%=0

    While GU_ZÄHLER%<@GetCount(SORTIERLISTE&)

        LET GU_STRING$=@GetString$(SORTIERLISTE&,GU_ZÄHLER%)
        Füge_Item_in_Treeview_ein TV_lokale_Gruppen&,0,0,GU_STRING$,$0010
        LET GU_ZÄHLER%=GU_ZÄHLER%+1

    WEND

    Liste_NetzwerkGruppen
    @SENDMESSAGE(SORTIERLISTE&,$0184,0,0) Sortierlistbox löschen
    @MoveListToList(SORTIERLISTE&)
    LET GU_ZÄHLER%=0

    While GU_ZÄHLER%<@GetCount(SORTIERLISTE&)

        LET GU_STRING$=@GetString$(SORTIERLISTE&,GU_ZÄHLER%)
        Füge_Item_in_Treeview_ein TV_NetzwerkGruppen&,0,0,GU_STRING$,$0010
        LET GU_ZÄHLER%=GU_ZÄHLER%+1

    WEND

    USECURSOR 0
    Enablewindow GU_Treeview&,1

ENDPROC

************** Ende der Prozedur zum Füllen des Treeviews **************
************** Start der Prozedur zum ermitteln des selektierten Treeviewitems **************

Proc TV_Getitemtext

    Parameters TV_ITEM_HANDLE&
    Declare ITEMTEXT$
    DIM TV_TEXT#,261
    DIM TV_ITEM#,40
    CLEAR TV_ITEM#,TV_TEXT#
    LONG TV_ITEM#,0=$11
    LONG TV_ITEM#,20=261
    LONG TV_ITEM#,16=TV_TEXT#
    LONG TV_ITEM#,4=TV_ITEM_HANDLE&
    @sendmessage(GU_Treeview&,$110C,0,TV_ITEM#)
    LET ITEMTEXT$=@STRING$(TV_TEXT#,0)
    Dispose TV_text#
    Dispose TV_ITEM#
    RETURN ITEMTEXT$

endproc

************** Ende der Prozedur zum ermitteln des selektierten Treeviewitems **************
************** Hauptprogramm *******************
Windowstyle 512 + 31
Windowtitle "Gruppenmanager"
Window 0,0-640,440
@InitCommonControls()
LET SORTIERLISTE&=CreateSortedListbox(%HWND,"",%maxx+30,%MAXY+30,0,0)
@Showwindow(SORTIERLISTE&,0)
Let bearbeiten&=@Control("Button","bearbeiten",$10000+$40000000+$10000000+$400000+$1000,440,80,150,30,%HWND,3002,%HINSTANCE)
Let hinzufügen&=@Control("Button","hinzufügen",$10000+$40000000+$10000000+$400000+$1000,440,20,150,30,%HWND,3003,%HINSTANCE)
Let löschen&=@Control("Button","löschen",$10000+$40000000+$10000000+$400000+$1000,440,140,150,30,%HWND,3004,%HINSTANCE)
Enablewindow bearbeiten&,0
Enablewindow hinzufügen&,0
Enablewindow löschen&,0
Let GU_Treeview&=@Control("SysTreeView32","",$40000000+$10000000+$800000+$200000+$0002+$0010+$0020+$0001,40,20,250,300,%HWND,3005,%Hinstance)
Erzeuge_Imageliste
@sendmessage(GU_TreeView&,$1109,0,Imagelist&) Imageliste dem Treeview zuweisen
Update_GU_Treview

Whilenot %MENUITEM=-2

    waitinput
    Let TV_ROOT&=@sendmessage(GU_Treeview&,$110A,$0,0)
    LET TV_SELECTED&=@sendmessage(GU_Treeview&,$110A,$0009,0)
    TV_Getitemtext TV_SELECTED& Text des selektierten Treeviewitems ermiteln
    LET Text_Von_TV_ITEM$=@$(0)

    IF @or(TV_SELECTED&=TV_User&,@or(TV_SELECTED&=TV_Lokale_Gruppen&,TV_SELECTED&=TV_Netzwerkgruppen&))

        Enablewindow hinzufügen&,1
        Enablewindow bearbeiten&,0
        Enablewindow löschen&,0

    Elseif TV_SELECTED&=TV_Sonstige&

        Enablewindow bearbeiten&,0
        Enablewindow hinzufügen&,0
        Enablewindow löschen&,0

    ElseIF TV_ROOT&=TV_Sonstige&

        Enablewindow bearbeiten&,1
        Enablewindow löschen&,0
        Enablewindow hinzufügen&,0

    elseif TV_ROOT&=TV_USER&

        Enablewindow bearbeiten&,1
        Enablewindow löschen&,1
        Enablewindow hinzufügen&,0

    elseif TV_ROOT&=TV_Netzwerkgruppen&

        Enablewindow bearbeiten&,1
        Enablewindow löschen&,1
        Enablewindow hinzufügen&,0

    elseif TV_ROOT&=TV_lokale_gruppen&

        Enablewindow bearbeiten&,1
        Enablewindow löschen&,1
        Enablewindow hinzufügen&,0

    else

        Enablewindow bearbeiten&,0
        Enablewindow hinzufügen&,0
        Enablewindow löschen&,0

    endif

    IF Buttonclicked(hinzufügen&)

        Beep

    ElseIF Buttonclicked(bearbeiten&)

        Beep

    ElseIF Buttonclicked(löschen&)

        Beep

    endif

    Drawtext 0,0,TEXT_VON_TV_ITEM$+@Space$(255) Zum Testen

wend

@Destroywindow(GU_Treeview&)
@ImageList_Destroy(Imagelist&)

(...ich hoffe Michel vergibt mir...)
 
19.08.2005  
 




Michael
Wodrich
Ich bin nur mit den Icons nicht so ganz einverstanden.

Da wir die INCs doch sowohl auf Extra-Seiten als auch im Archiv anbieten:
Könntest Du nicht mit $I arbeiten? Das macht das ganze etwas übersichtlicher.

Ja, lokale Bereiche gabs erst ab v8.0 und Clicked() ab v9.0

Ich stell mal meine Identifier-Suchmaschine ins Archiv...

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
19.08.2005  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.360 Views

Untitledvor 0 min.
Peter Max Müller13.05.2015
E.T.01.12.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie