Deutsch
Forum

Suche Message für Grid/List (LVM_FINDITEM)

 

Jac
de
Lad
Hm, ich weiß, Roland macht jetzt Urlaub. Aber vielleicht weiß es ja trotzdem jemand:

Steckt ein Control hinter Grid und List (mittels Create) oder ist das ne Profaninterne Sache?
Falls es ein Control ist: Gibt es eine schnelle Funktion (ich nehme mal an mittels sendmessage), mit der ich ermitteln kann, ob ein String vorkommt und wenn ja, wo?

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
25.08.2006  
 




Michael
Wodrich
Funktioniert SelectString nicht??!

Laut meinen Aufzeichnungen:

Arbeitet auch mit Stringlisten, die mit Create(List,...) erzeugt wurden.
Arbeitet auch mit Stringgrids, die mit Create(Grid,...) erzeugt wurden.

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




Frank
Abbing

Steckt ein Control hinter Grid und List (mittels Create) oder ist das ne Profaninterne Sache?


Hinter Grid steckt das SysListview32-Control, ist eben ein Listview.

Ich weiss, mit einem Hinweis auf meine Dll ist dir momentan nicht gedient. Aber die beinhaltet eine schnelle Suchfunktion für alle Zeilen und Spalten.
 
25.08.2006  
 




Jac
de
Lad
Naja, SelectString benötigt ja eine Zeilennummer. Es gibt ne Message LVM_FindString, aber ich komme mit der Struktur nicht klar...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
26.08.2006  
 



Ich glaube, das hilft dir weiter:
KompilierenMarkierenSeparieren
DEF @LookupPrivilegeDisplayName(5) !ADVAPI32,LookupPrivilegeDisplayNameA
DEF @GetLastError(0) !kernel32,GetLastError Liefert letzten API Fehler.
DEF @ImageList_Create(5) !COMCTL32,ImageList_Create
DEF @ImageList_AddIcon(2) !COMCTL32,ImageList_AddIcon
DEF @ImageList_Destroy(1) !COMCTL32,ImageList_Destroy
DEF @LoadIcon(2) !USER32,LoadIconA
DEF @GetModuleHandle(1) !KERNEL32,GetModuleHandleA
DEF @CopyMemory(3) !kernel32,RtlMoveMemory
SetTrueColor 1
Declare Priv$[2,35],DispSize&,LangID&,DispName#,System$,PRIV1$,Fehler&,Hicon&,Imagelist&,ExecuteHandle&
Declare Iconname#,WINVER&,Anzahl&,Suchtext$
Declare LVC#,Zeile#,Priv_List_Text#
Struct LVCOLUMN=Mask&, FMT&, CX&, Text&, Textlänge&, Subitem&
Struct LVITEM=IMASK&, ITEM&, ISUBITEM&, State&, StateMask&, ITEXT&, ITEXTMAX&, IIMAGE&, ILPARAM&
DIM Iconname#,262
LET WINVER&=3
Let Imagelist&=ImageList_Create(16,16,$0001,3,3) Imagelist erzeugen
Let ExecuteHandle&=@GetModuleHandle(0)  Handle des laufenden Programms
String Iconname#,0=Weg       Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Windows         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Eimer
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Editor
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=A
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Stein
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Baum
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Computer         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z1         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z2         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z3         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z4         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z6         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
String Iconname#,0=Z7         Icon-Name
Let Hicon&=loadicon(Executehandle&,Iconname#) Handle des Icons ok
ImageList_AddIcon(Imagelist&,HIcon&)
Dispose Iconname#
LET PRIV$[1,1]=SeBackupPrivilege
LET PRIV$[2,1]=Ist nötig, um Backup Operationen durchzuführen (z.B. in der Registry mittels RegSaveKey).
LET PRIV$[1,2]=SeRestorePrivilege
LET PRIV$[2,2]=Ist nötig, um Restore Operationen durchzuführen.
LET PRIV$[1,3]=SeTakeOwnershipPrivilege
LET PRIV$[2,3]=Wird benötigt, um die Zugehörigkeit eines Objektes ändern zu können.
LET PRIV$[1,4]=SeSystemProfilePrivilege
LET PRIV$[2,4]=Wird benötigt um alle Inforamationen des Systems auslesen zu können.
LET PRIV$[1,5]=SeCreateTokenPrivilege
LET PRIV$[2,5]=Ist nötig, um einen Primary Token zu erzeugen.
LET PRIV$[1,6]=SeAssignPrimaryTokenPrivilege
LET PRIV$[2,6]=Ist nötig, um einen Primary Token zuzuweisen.
LET PRIV$[1,7]=SeLockMemoryPrivilege
LET PRIV$[2,7]=Wird benötigt, um Physische Speicherseiten einfrieren zu Können.
LET PRIV$[1,8]=SeIncreaseQuotaPrivilege
LET PRIV$[2,8]=Wird benötigt, um die Quote eines Prozesses erhöhen zu können.
LET PRIV$[1,9]=SeMachineAccountPrivilege
LET PRIV$[2,9]=Ist nötig, um einen neuen Benutzer zu erzeugen.
LET PRIV$[1,10]=SeTcbPrivilege
LET PRIV$[2,10]=Wird benötigt, um das Locale System als bestandteil des Netzwerkrechtners anmelden zu können.
LET PRIV$[1,11]=SeSecurityPrivilege
LET PRIV$[2,11]=Ist nötig, um einige Sicherheitsfunktionen durchzuführen.
LET PRIV$[1,12]=SeLoadDriverPrivilege
LET PRIV$[2,12]=Ist nötig, um Treiber zu laden oder zu entladen.
LET PRIV$[1,13]=SeSystemtimePrivilege
LET PRIV$[2,13]=Ist nötig, um die Systemzeit zu setzen.
LET PRIV$[1,14]=SeProfileSingleProcessPrivilege
LET PRIV$[2,14]=Wird benötigt, um Informationen eines einzelnen Prozesses ermitteln zu können.
LET PRIV$[1,15]=SeIncreaseBasePriorityPrivilege
LET PRIV$[2,15]=Ist nötig, um die Priorität einer Anwendung zu erhöhen.
LET PRIV$[1,16]=SeCreatePagefilePrivilege
LET PRIV$[2,16]=Wird benötigt, um eine Paging-Datei erstellen zu können.
LET PRIV$[1,17]=SeCreatePermanentPrivilege
LET PRIV$[2,17]=Wird benötigt, um Permanente Objekte erstellen zu können.
LET PRIV$[1,18]=SeShutdownPrivilege
LET PRIV$[2,18]=Ist nötig, um den Rechner herunterfahren zu können.
LET PRIV$[1,19]=SeDebugPrivilege
LET PRIV$[2,19]=Ist nötig, um Debug Operationen an einem Prozess auszuführen.
LET PRIV$[1,20]=SeAuditPrivilege
LET PRIV$[2,20]=Wird benutzt, um Audit-Log einträge generieren zu können.
LET PRIV$[1,21]=SeSystemEnvironmentPrivilege
LET PRIV$[2,21]=Wird benutzt, um auf nicht flüchtigen Speicher des Systems zugreifen zu können.
LET PRIV$[1,22]=SeChangeNotifyPrivilege
LET PRIV$[2,22]=Ist nötig, um Änderungen an Dateien oder Ordnern festzustellen.
LET PRIV$[1,23]=SeRemoteShutdownPrivilege
LET PRIV$[2,23]=Ist nötig, um einen Rechner ferngesteuert herunterzufahren.
LET PRIV$[1,24]=SeUndockPrivilege
LET PRIV$[2,24]=Wird benötigt, um ein Laptop Undocken zu können.
LET PRIV$[1,25]=SeSyncAgentPrivilege
LET PRIV$[2,25]=Wird benötigt, um alle Leserechte eines Dateisystem zu erlauben, die sonst nur der Administartor besitzt.
LET PRIV$[1,26]=SeEnableDelegationPrivilege
LET PRIV$[2,26]=Wird benötigt, um Netzwerkrechner als Vertrauenswürdig zu markieren.
LET PRIV$[1,27]=SeManageVolumePrivilege
LET PRIV$[2,27]=Wird verliehen, um Dateien verwalten zu können.
LET PRIV$[1,28]=SeInteractiveLogonRight
LET PRIV$[2,28]=Wird benötigt, um sich mit der Tastatur einloggen zu können.
LET PRIV$[1,29]=SeDenyInteractiveLogonRight
LET PRIV$[2,29]=Verhindert das einloggen übrer die Tastatur.
LET PRIV$[1,30]=SeServiceLogonRight
LET PRIV$[2,30]=Kann sich als Service anmelden.
LET PRIV$[1,31]=SeDenyServiceLogonRight
LET PRIV$[2,31]=Verhindert das Anmelden als Service.
LET PRIV$[1,32]=SeBatchLogonRight
LET PRIV$[2,32]=Kann sich mithilfe einer Batchwarteschlange anmelden.
LET PRIV$[1,33]=SeDenyBatchLogonRight
LET PRIV$[2,33]=Verhindert das Anmelden mithilfe einer Batchwarteschlange.
LET PRIV$[1,34]=SeNetworkLogonRight
LET PRIV$[2,34]=Kann über das Netzwerk eine Verbindung mit dem Computer herstellen.
LET PRIV$[1,35]=SeDenyNetworkLogonRight
LET PRIV$[2,35]=Verhindert das Herstellen einer Verbindung mit dem Computer über das Netzwerk.

Proc Get_Priv_List_Text

    Parameters LV_HANDLE&,Priv_List_Index&
    Declare ERG$
    Dim Zeile#,LVITEM
    DIM Priv_List_Text#,256
    CLEAR Zeile#
    Zeile#.IMASK&=$1
    Zeile#.ITEM&=Priv_List_Index&
    Zeile#.ITEXT&=Priv_List_Text#
    Zeile#.ITEXTMAX&=256
    @sendmessage(LV_HANDLE&,$1005,Priv_List_Index&,Zeile#)
    Let ERG$=@String$(Priv_List_Text#,0)
    Dispose Zeile#
    Dispose Priv_List_Text#
    Return ERG$

Endproc

Proc Get_Priv_List_Check

    Parameters LV_HANDLE&,Priv_List_Index&
    Declare ERG&,ERG2&
    Dim Zeile#,LVITEM
    CLEAR Zeile#
    Zeile#.IMASK&=$8
    Zeile#.StateMask&=$F000
    Zeile#.ITEM&=Priv_List_Index&
    @sendmessage(LV_HANDLE&,$1005,Priv_List_Index&,Zeile#)
    LET ERG&=Zeile#.State&

    IF ERG&=$1000

        Let ERG2&=0

    Elseif ERG&=$2000

        Let ERG2&=1

    Else

        Let ERG2&=2

    Endif

    Dispose Zeile#
    Return ERG2&

Endproc

Proc Set_Priv_List_Check

    Parameters LV_HANDLE&,Priv_List_Index&,Check_State%
    Dim Zeile#,LVITEM
    CLEAR Zeile#
    Zeile#.IMASK&=$8

    IF Check_State%=1

        Zeile#.State&=$2000

    else

        Zeile#.State&=$1000

    endif

    Zeile#.StateMask&=$F000
    Zeile#.IIMAGE&=2
    Zeile#.ITEM&=Priv_List_Index&
    @sendmessage(LV_HANDLE&,$102B,Priv_List_Index&,Zeile#)
    Dispose Zeile#

Endproc

Proc Addzeile_To_PrivList

    Parameters Lvhndl&,Index&,spalte&,Text$,Image&
    Dim Zeile#,LVITEM
    Clear Zeile#

    IF Image&=0

        Zeile#.IMASK&=$0001
        Zeile#.IIMAGE&=0

    else

        Zeile#.IMASK&=$000B
        Zeile#.IIMAGE&=IMAGE&

    endif

    Zeile#.ITEM&=Index&
    Zeile#.ITEXT&=Addr(Text$)
    Zeile#.ITEXTMAX&=Len(Text$)
    Zeile#.ISUBITEM&=spalte&
    Zeile#.StateMask&=0
    Zeile#.State&=0
    Sendmessage(Lvhndl&,$1007,0,Zeile#)
    Sendmessage(Lvhndl&,$102E,Index&,Zeile#)
    Dispose Zeile#

Endproc

Proc CreatePrivListView

    Parameters Fenster_Handle&,x1&,y1&,x2&,y2&,Zeilenbreite1&,Zeilenbreite2&,Priv_Anzahl%,Headertext$,H_Color&,T_Color&
    Declare Listview_Handle&,Spaltentext$,PROC_PRIV_ZÄHLER%,State_Imagelist&,ICO_STRING$
    Dim LVC#,LVCOLUMN
    Listview_Handle&=Control(SysListView32,PrivListview,$54018001+$4,x1&,y1&,x2&,y2&,Fenster_Handle&,$0100,%Hinstance,$200)
    @sendmessage(Listview_Handle&,$1036,0,$431+6)
    @sendmessage(Listview_Handle&,$1003,1,Imagelist&)
    @sendmessage(Listview_Handle&,$1001,0,H_COLOR&)
    @sendmessage(Listview_Handle&,$1000+38,0,H_COLOR&)
    @sendmessage(Listview_Handle&,$1000+36,0,T_COLOR&)
    LET State_Imagelist&=@SEndmessage(Listview_Handle&,$1000+2,$2,0)
    LET ICO_STRING$=Z5
    Let Hicon&=loadicon(Executehandle&,@ADDR(ICO_STRING$)) Handle des Icons ok
    ImageList_AddIcon(State_Imagelist&,HIcon&)
    LET Spaltentext$=Headertext$
    LVC#.TEXT&=@ADDR(Spaltentext$)
    LVC#.MASK&=$0001+$0002+$0004+$0008
    LVC#.FMT&=0
    LVC#.CX&=Zeilenbreite1&
    LVC#.Subitem&=0
    LVC#.Textlänge&=@LEN(Spaltentext$)
    @sendmessage(Listview_Handle&,$1000+27,1,LVC#)
    LET Spaltentext$=Bedeutung
    LVC#.TEXT&=@ADDR(Spaltentext$)
    LVC#.Textlänge&=@LEN(Spaltentext$)
    LVC#.CX&=Zeilenbreite2&
    @sendmessage(Listview_Handle&,$1000+27,2,LVC#)
    LET PROC_PRIV_ZÄHLER%=Priv_Anzahl%

    While PROC_PRIV_ZÄHLER%>0

        LET PRIV1$=PRIV$[1,PROC_PRIV_ZÄHLER%]
        LET DispSize&=1
        DIM  DispName#,DispSize&
        CLEAR DispName#
        CLEAR System$,LangID&
        LET Fehler&=@LookupPrivilegeDisplayName(@ADDR(System$),@ADDR(PRIV1$),DispName#,@ADDR(DispSize&),@ADDR(LangID&))
        Dispose DispName#
        LET DispSize&=DispSize&+4
        DIM DispName#,DispSize&
        CLEAR DispName#
        CLEAR System$,LangID&
        LET Fehler&=@LookupPrivilegeDisplayName(@ADDR(System$),@ADDR(PRIV1$),DispName#,@ADDR(DispSize&),@ADDR(LangID&))

        IF Fehler&=1

            IF @INSTR(Privilege,PRIV$[1,PROC_PRIV_ZÄHLER%])<>0

                Addzeile_To_PrivList Listview_Handle&,0,0,PRIV$[1,PROC_PRIV_ZÄHLER%],12

            else

                Addzeile_To_PrivList Listview_Handle&,0,0,PRIV$[1,PROC_PRIV_ZÄHLER%],13

            endif

            Let PRIV$[2,PROC_PRIV_ZÄHLER%]=@String$(DispName#,0)
            Addzeile_To_PrivList Listview_Handle&,0,1,PRIV$[2,PROC_PRIV_ZÄHLER%],13

        else

            IF @INSTR(Privilege,PRIV$[1,PROC_PRIV_ZÄHLER%])<>0

                IF WINVER&<4

                    Addzeile_To_PrivList Listview_Handle&,0,0,PRIV$[1,PROC_PRIV_ZÄHLER%],12
                    Addzeile_To_PrivList Listview_Handle&,0,1,PRIV$[2,PROC_PRIV_ZÄHLER%],12

                Elseif WINVER&>=4

                    IF @String$(DispName#,0)<>

                        Let PRIV$[2,PROC_PRIV_ZÄHLER%]=@String$(DispName#,0)
                        Addzeile_To_PrivList Listview_Handle&,0,0,PRIV$[1,PROC_PRIV_ZÄHLER%],12
                        Addzeile_To_PrivList Listview_Handle&,0,1,PRIV$[2,PROC_PRIV_ZÄHLER%],12

                    endif

                endif

            else

                Addzeile_To_PrivList Listview_Handle&,0,0,PRIV$[1,PROC_PRIV_ZÄHLER%],13
                Addzeile_To_PrivList Listview_Handle&,0,1,PRIV$[2,PROC_PRIV_ZÄHLER%],12

            endif

        endif

        Let PROC_PRIV_ZÄHLER%=PROC_PRIV_ZÄHLER%-1
        Dispose DispName#

    wend

    Dispose LVC#
    Return Listview_Handle&

Endproc

CLS
Declare LV1_Handle&,LV_FINDINFO#,Gefunden&
CreatePrivListView %HWND,10,50,450,300,180,270,35,Privileg / Accountrecht,@RGB(250,250,220),@RGB(0,0,255)
Let LV1_Handle&=@&(0)
Set_Priv_List_Check  LV1_Handle&,3,1
Get_Priv_List_Check LV1_Handle&,3
PRINT &(0)
Get_Priv_List_Check LV1_Handle&,4
PRINT &(0)
Get_Priv_List_Text LV1_Handle&,3
Print @$(0)
text in Listview suchen
DIM LV_FINDINFO#,20
long LV_FINDINFO#,0=$2
Let Suchtext$=SeSystemProfilePrivilege
long LV_FINDINFO#,4=@ADDR(Suchtext$)
LET Gefunden&=@Sendmessage(LV1_Handle&,$100D,-1,LV_FINDINFO#) LVM_FINDITEM Message
Dispose LV_FINDINFO#
Markieren
Print Gefunden&

IF Gefunden&<>-1

    Dim Zeile#,LVITEM
    CLEAR Zeile#
    @Setfocus(LV1_Handle&)
    Zeile#.IMASK&=$8
    Zeile#.ITEM&=Gefunden&
    Zeile#.State&=$2
    Zeile#.StateMask&=$2
    @Sendmessage(LV1_Handle&,$102B,Gefunden&,Zeile#) Zeile markieren
    Dispose Zeile#

endif

While 0=0

    Waitinput
    Get_Priv_List_Check LV1_Handle&,3
    Drawtext 0,0,@STR$(&(0))+

wend

 
26.08.2006  
 




Jörg
Sellmeyer
Jacob Liebeck
Naja, SelectString benötigt ja eine Zeilennummer. Es gibt ne Message LVM_FindString, aber ich komme mit der Struktur nicht klar...


SelectString benötigt keine Zeilennr aber es werden nur die Zeilen gefunden, die mit dem Suchstring beginnen.
Für sowas ist Franks Dll top.

Gruß
Jörg
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
26.08.2006  
 




Jac
de
Lad
@Andreas: Oje, bis ich den Quelltext durchhabe ist Weihnachten...danke, ich schaus mir an.

@Jörg: Jaja, die DLL...ich suche eine Funktion, die mir GENAU den String ausgibt! Naja, ich schau mal, ob mir SelectString weiterhilft...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
26.08.2006  
 



Das wichtigste ist das:
KompilierenMarkierenSeparieren

Der Rest ist Beiwerk... .
 
26.08.2006  
 




Jac
de
Lad
Die Box ist bei mir leer...
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
26.08.2006  
 



Sorry, da hat das Einfügen mal wieder nicht geklappt:
KompilierenMarkierenSeparieren
text in Listview suchen
Dim Lv_findinfo#,20
Long Lv_findinfo#,0=$2
Let Suchtext$=SeSystemProfilePrivilege
Long Lv_findinfo#,4=@Addr(Suchtext$)
Let Gefunden&=@Sendmessage(Lv1_handle&,$100D,-1,Lv_findinfo#)LVM_FINDITEM Message
Dispose Lv_findinfo#
Markieren
Print Gefunden&

If Gefunden&<>-1

    Dim Zeile#,Lvitem
    Clear Zeile#
    @Setfocus(Lv1_handle&)
    Zeile#.Imask&=$8
    Zeile#.Item&=Gefunden&
    Zeile#.State&=$2
    Zeile#.Statemask&=$2
    @Sendmessage(Lv1_handle&,$102B,Gefunden&,Zeile#)Zeile markieren
    Dispose Zeile#

Endif

 
26.08.2006  
 




Jac
de
Lad
Danke!
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
27.08.2006  
 




Michael
Wodrich

KompilierenMarkierenSeparieren
Print SelectString(hGrid&, -1, Hugo)
 
Programmieren, das spannendste Detektivspiel der Welt.
27.08.2006  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

5.976 Betrachtungen

Unbenanntvor 0 min.
Walter04.05.2024
RudiB.26.10.2021
rquindt01.05.2018
iF04.02.2016
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


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