Forum | | | | - page 1 - |
| Dietmar Horn | allô zusammen,
aujourd'hui wende je mich la fois avec einem SQL-Problem zwecks s'il te plaît um Hilfestellung à qui SQL-Experten sous euch.
je travaille z.Z. avec XProfan 11 à einem komplexeren projet. c'est déjà droite large gediehen. qui bisher einzigste, mais entscheidende Problempunkt ist pour mich qui à- bzw. Einbindung des RDBS Firebird (Freeware bzw. Open-Source) bzw. Interbase (cela kostenpflichtige Gegenstück de Borland trop Firebird - ähnlich comment cela Relations entre MS Office et Open-Office).
Bisher mußte je mich encore nie grand avec SQL beschäftigen, sauf qui je mir toujours fois le XProfan-Aider zum SQL-Thema reingezogen et cela alles comme droite logisch empfunden hatte. Doch comment des öfteren, liegt qui le chien bestimmt seulement dans einem winzigen Detail begraben, quoi je pas kenne, ou bien dans einem faute, den je gemacht ou bien übersehen habe.
Firebird et Interbase kannte je jusqu'à avant 4 Wochen encore pas la fois vom Namen her, weil je quelque chose comme encore nie nécessaire hatte - mais eh bien ist es soweit.
ODBC-Treiber et Firebird sommes installiert.
Zunächst ca va tout autor, une liaison herzustellen. sous Windows 2000 (dans unserem Vereins-cabinet) klappt qui initialisation avec SQLInit inzwischen.
qui initialisation liefert sous W 2000 comment gewünscht cela Handle zurück:
sous Windows XP ergibt cela cependant jusqu'à maintenant toujours 0 (alors gescheitert), et im opposition trop W 2000 erscheint là auparavant encore pas la fois qui Dialog zum Eingeben de Username, PWD, usw.
Bevor cet Problem avec dem Herstellen qui liaison pas gelöst ist, brauche je gar pas grand weitermachen.
Literatur sur Firebird habe je inzwischen tonnenweise, doch bevor je es pas schaffe, sur allen Windows-Systemen ab 2000 aufwärts une zuverlässige liaison herzustellen, nützt mir cela alles malheureusement pas allzu viel.
peux mir peut-être quelqu'un weiterhelfen, qui sich déjà la fois quelque chose näher avec cela beschäftigt hat?
qui prochain Schritte, alors cela Neuanlegen einer banque de données, ou bien cela Travailler / Lecture einer vorhandenen DB et cela Weiterverarbeiten qui données im réel Programme pourrait ensuite lediglich encore einer reine Fleiß- et Logik-travail son.
cela Ausweichen z.B. sur dBase ist pas possible, weil dBase dbzgl. pas sur qui pour cet projet erforderlichen Feautures verfügt.
qui peux peut-être. weiterhelfen?
je vermute la fois, si cela Programme irgendwann avec Firebird fonctionne, ensuite devrait cela Programme aussi avec Interbase marcher - ou bien?
Salut et merci d'avance 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: [...] | 11.01.2009 ▲ |
| |
| | | | | - page 6 - |
| RGH | Dietmar Horn
Dietmar Hornet qui BLOBs volonté oui par qui 64KB-frontière des Treibers versaut cela peux so pas stimmen, car autre Konkurrenzprodukte trop meinem bzw. unserem aktuellen projet travailler avec echten Blobs dans Interbase et Firebird (cependant dans C et Delphi programmiert). seulement avec XProfan scheint cela jusqu'à maintenant malheureusement plan encore pas trop marcher.
cet anderen Programme kommunizieren sous Umständen (avec ziemlicher Sicherheit) pas per ODBC avec Firebird/Interbase, mais direct. voilà naturellement entier autre Sachen possible. XProfan kommuniziert seulement sur ODBC avec allen Datenbanken, qui une solche Schnittstelle bieten. et aussi ici bietet XProfan (zumindest pas sans API) pas alle Opportunités, mais seulement qui communication sur SQL per SQLExec (dem qui ODBC-API SQLExelDirect entspricht). et pour SQL-Statementsgibt es chez Firebird/Interbase plan qui Begrenzung sur 64 kB. Pascal hat oui déjà gezeigt, comment on qui ODBC-API nutzen peux et je hatte plus dessus oui aich déjà qui APIs erwähnt, avec denen es probablement possible ist, BLOBs sous Umgehung qui 64k-frontière trop befüllen. si je Zeit finde, werde je mir cela la fois anschauen.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.03.2009 ▲ |
| |
| | RGH | Uwe Pascal Niemeier
Hi gens! Mutmaßung: Entweder ist qui db-Unterstützungvon Delphi völlig anders gestrickt comme qui de Profan
Korekt! Delphi peux sur bestimmte Komponenten direct avec Interbase kommunizieren et allez dabei pas sur ODBC.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 01.03.2009 ▲ |
| |
| | Uwe ''Pascal'' Niemeier | Hi Dietmar!
cela peux so pas stimmen, car autre Konkurrenzprodukte trop meinem bzw. unserem aktuellen projet travailler avec echten Blobs dans Interbase et Firebird (cependant dans C et Delphi programmiert). seulement avec XProfan scheint cela jusqu'à maintenant malheureusement plan encore pas trop marcher.
je erinnere nochmal à den vorgeschlagenen Workaround, chez dem qui données dans mehreren Häppchen dans même chose Datenfeld geschrieben volonté. cela Ergebnis ist définitif un echter BLOB!
avec irgendeiner 32- ou bien 64-KB-frontière irgendeines ODBC-Treibers pourrait cela rien trop 1faire avons,...
Roland erwähnte oui, cela ca sogar dans irgendeiner Doku erwähnt wird. cela qui gens de FireBird ses Treiber comme Stiefkinder regarder ist pas Profans Schuld
aussi qui EMS-SQL-Manager peux echte Blob-Felder anlegen
là pourrait on oui la fois regarder, comment il pouvoir... mais là Roland oui sowieso déjà avec cela zugange ist, lohnt es sich wohl pas, weil cela Ergebnis déjà avec qui prochain Profan-Version obsolete wäre.
SeeYou Pascal |
| | | | |
| | RGH | et und dir doch: Echte Binäre BLOBs avec XProfan
Bevor je mon obiges Beispielprogramm sur echte BLOBs umschreibe, hierzunächst qui Solution per ODBC-API: KompilierenMarqueSéparationwindow 50,50-500,500
DEF &SQL_PARAM_INPUT 1
DEF &SQL_SUCCESS 0
DEF &SQL_HANDLE_STMT 3
DEF &SQL_C_DEFAULT 99
DEF &SQL_CHAR 1
DEF &SQL_NUMERIC 2
DEF &SQL_DECIMAL 3
DEF &SQL_INTEGER 4
DEF &SQL_SMALLINT 5
DEF &SQL_FLOAT 6
DEF &SQL_REAL 7
DEF &SQL_DOUBLE 8
DEF &SQL_VARCHAR 12
DEF &SQL_DATE 9
DEF &SQL_TIME 10
DEF &SQL_TIMESTAMP 11
DEF &SQL_LONGVARCHAR -1
DEF &SQL_BINARY -2
DEF &SQL_VARBINARY -3
DEF &SQL_LONGVARBINARY -4
DEF &SQL_BIGINT -5
DEF &SQL_TINYINT -6
DEF &SQL_BIT -7
def SQLAllocHandle(3) !odbc32,SQLAllocHandle
def SQLFreeHandle(2) !odbc32,SQLFreeHandle
def SQLPrepare(3) !odbc32,SQLPrepare
def SQLBindParameter(10) !odbc32,SQLBindParameter
def SQLExecute(1) !odbc32,SQLExecute
proc SQLPutBlob
parameters Exec$, DATA#
declare stmt&, size&, ret%, error$
SQLAllocHandle(&SQL_HANDLE_STMT, &SQLDBC, addr(stmt&))
size& = SizeOf(Data#)
Ret% = SQLBindParameter(stmt&, 1, &SQL_PARAM_INPUT, &SQL_BINARY, &SQL_LONGVARBINARY,
SizeOf(Data#), 0, Data#, 0, Addr(size&))
If LoWord(Ret%) = &SQL_SUCCESS
Ret% = SQLPrepare(stmt&,addr(Exec$),len(Exec$))
If LoWord(Ret%) = &SQL_SUCCESS
Ret% = SQLExecute(stmt&)
Case LoWord(Ret%) <> &SQL_SUCCESS : Error$ = SQLExecute
Else
error$ = SQLPrepare
EndIf
Else
error$ = SQLBindParameter
EndIf
Case Len(error$) : MessageBox(error$ + fehlgeschlagen!, ODBC-Fehler, 16)
SQLFreeHandle(&SQL_HANDLE_STMT, stmt&)
endproc
Declare Bild#
CLS
Var datei$ = HELLOWEEN.JPG
Dim Bild#, FileSize(datei$)
BlockRead(datei$, Bild#, 0, FileSize(datei$))
var db& = sqlinit(DSN=KursDB;UID=SYSDBA;PWD=masterkey;DBNAME=D:\Dokumente\FireBird\KURSDB.GDB)
SQLPutBlob(INSERT INTO TCS (Feld1) VALUES (?), Bild#)
SQLDone
Print Blob geschrieben!
waitin >
end
cela Ergebnis peux on avec dem SQL-Manager begutachten et z.B. den geschriebenen BLOB comme Dossier Sauver et cet ensuite avec einem Bildbearbeitungsprogramm betrachten. BTW: Helloween.jpg ist ca. 1,5 MB grand.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.03.2009 ▲ |
| |
| | | | - page 7 - |
| | RGH | Lesen et écrivons binärere BLOB-Felder avec XProfan
et ici cela komplette Beispiel avec binären BLOB-Feldern. (Pour Blobfelder avec langen Texten devrait es quelque chose umgeschrieben volonté.) Im Beispiel wird une Bild-Dossier comme BLOB gespeichert, wieder ausgelesen et sur qui Festplatte zurückgeschrieben. (Bien sûr peut ici beliebige Dateitypen verwandt volonté.) KompilierenMarqueSéparation
{ ========================================
KONSTANTEN UND API FUNKTIONEN DEFINIEREN
========================================
DEF &SQL_PARAM_INPUT 1
DEF &SQL_SUCCESS 0
DEF &SQL_HANDLE_STMT 3
DEF &SQL_C_DEFAULT 99
DEF &SQL_CHAR 1
DEF &SQL_NUMERIC 2
DEF &SQL_DECIMAL 3
DEF &SQL_INTEGER 4
DEF &SQL_SMALLINT 5
DEF &SQL_FLOAT 6
DEF &SQL_REAL 7
DEF &SQL_DOUBLE 8
DEF &SQL_VARCHAR 12
DEF &SQL_DATE 9
DEF &SQL_TIME 10
DEF &SQL_TIMESTAMP 11
DEF &SQL_LONGVARCHAR -1
DEF &SQL_BINARY -2
DEF &SQL_VARBINARY -3
DEF &SQL_LONGVARBINARY -4
DEF &SQL_BIGINT -5
DEF &SQL_TINYINT -6
DEF &SQL_BIT -7
def SQLAllocHandle(3) !odbc32,SQLAllocHandle
def SQLFreeHandle(2) !odbc32,SQLFreeHandle
def SQLPrepare(3) !odbc32,SQLPrepare
def SQLBindParameter(10) !odbc32,SQLBindParameter
def SQLExecute(1) !odbc32,SQLExecute
def SQLExecDirect(3) !odbc32,SQLExecDirect
def SQLGetData(6) !odbc32,SQLGetData
def SQLFetch(1) !odbc32,SQLFetch
}
================
BLOB-Funktionen:
================
proc SQLPutBlob
parameters Exec$, DATA#
declare stmt&, size&, ret%, error$
SQLAllocHandle(&SQL_HANDLE_STMT, &SQLDBC, addr(stmt&))
size& = SizeOf(Data#)
Ret% = SQLBindParameter(stmt&, 1, &SQL_PARAM_INPUT, &SQL_BINARY, &SQL_LONGVARBINARY,
SizeOf(Data#), 0, Data#, 0, Addr(size&))
If LoWord(Ret%) = &SQL_SUCCESS
Ret% = SQLPrepare(stmt&,addr(Exec$),len(Exec$))
If LoWord(Ret%) = &SQL_SUCCESS
Ret% = SQLExecute(stmt&)
Case LoWord(Ret%) <> &SQL_SUCCESS : Error$ = SQLExecute
Else
error$ = SQLPrepare
EndIf
Else
error$ = SQLBindParameter
EndIf
Case Len(error$) : MessageBox(error$ + fehlgeschlagen!, ODBC-Fehler, 16)
SQLFreeHandle(&SQL_HANDLE_STMT, stmt&)
endproc
proc SQLGetBlob
parameters Exec$
declare Data#, size&, stmt&, ret%, error$
SQLAllocHandle(&SQL_HANDLE_STMT, &SQLDBC, addr(stmt&))
SQLExecDirect(stmt&, addr(Exec$), len(Exec$))
dim Data#, 1 Dummy-DIM zur Größenermittlung
Ret% = SQLFetch(stmt&)
If LoWord(Ret%) = &SQL_SUCCESS
Ret% = SQLGetData(stmt&, 1, &SQL_BINARY, Data#, 0, addr(size&))
if Size& > 0
dim Data#, size&
SQLGetData(stmt&, 1, &SQL_BINARY, Data#, SizeOf(Data#), addr(size&))
endif
Else
error$ = SQLFetch
endif
SQLFreeHandle(&SQL_HANDLE_STMT, stmt&)
Case Len(error$) : MessageBox(error$ + fehlgeschlagen!, ODBC-Fehler, 16)
Return Data#
endproc
=============================
Das eigentliche Testprogramm:
=============================
declare db&, sql$, bild#, sbild$, datei$, startpos&, teil$, teilnr%, ergebnis$, bildnr%
cls
db& = sqlinit(DSN=KursDB;UID=SYSDBA;PWD=masterkey;DBNAME=D:\Dokumente\FireBird\KURSDB.GDB)
If db& > 0
=================
TABELLEN ERZEUGEN
=================
Tabellen löschen, wenn schon vorhanden
Set(Errorlevel,0)
SQLExec DROP TABLE bilderliste,0
SQLExec DROP TABLE bild,0
Set(Errorlevel,1)
Tabelle für die Bilder neu erzeugen
SQLExec CREATE TABLE bilderliste (name CHAR(40), fotograf CHAR(40), bildnr INTEGER, bild BLOB),1
=========================
BILD IN TABELLE SPEICHERN
=========================
Da für eine Bild zwei Schreibvorgänge nötig sind, werden wir diese in eine Transaktion
zusammmenfassen.
Zunächst also die automatische Bestätigung einzelner SQL-Befehle ausschalten. Die folgenden
SQL-Befehle werden also erst mal zwischengespeichert ohne wirklich in die Datenbank zu gehen
sqlexec #AUTOCOMMIT_OFF, 0
Tabelle Bilderliste füllen: Bild 1 hinzufügen, das Bild selbst noch weg lassen
sql$ = INSERT INTO bilderliste VALUES (Helloween Muffins,Jasmin Hülsmann,1,)
sqlexec sql$,0
Nun das Bild in Bild# einlesen
datei$ = HELLOWEEN.JPG
Dim Bild#, FileSize(datei$)
BlockRead(datei$, Bild#, 0, FileSize(datei$))
Und das Bild in die Tabelle einfügen
ACHTUNG: Das SQL-Statement darf nur ein Feld enthalten und zwar das BLOB-Feld (nur INSERT oder UPDATE)
SQLPutBlob(UPDATE bilderliste SET bild = ? WHERE bildnr = 1, Bild#)
Wenn bis hierher alles glatt gegangen ist, konnte alle Felder in den Satz geschrieben
werden. Es erfolgt also die Bestätigung, dass es nun wirklich in die Datenbank kann:
sqlexec #COMMIT, 0
Für die folgenden Befehle benötigen wir die Transaktionskontrolle nicht mehr, so dass
jede SQL-Anweisung automatisch bestätigt werden soll:
sqlexec #AUTOCOMMIT_ON, 0
=========================
BILD AUS TABELLE AUSLESEN
=========================
Ein Bild aus der Tabelle Bilderliste auswählen, dabei das BLOB-Feld bild nicht anzeigen
sql$ = SELECT name, fotograf, bildnr FROM bilderliste
clearlist
sqlexec sql$,1
Überschrift und Trennzeile entfernen
DeleteString(0,0)
DeleteString(0,0)
ergebnis$ = listbox$(Bild auswählen und mit OK bestätigen:,2)
if ergebnis$ >
Die Nummer des gewählten Bildes steht im dritten Feld
bildnr% = Int(Val(SubStr$(ergebnis$,3,|)))
Jetzt das Bild laden
Wir benötigen jetzt nur das BLOB-Feld bild
ACHTUNG: Das SQL-Statement darf nur ein Feld enthalten und zwar das BLOB-Feld (nur SELECT)
sql$ =SELECT bild FROM bilderliste WHERE bildnr = + Str$(bildnr%)
Clear Bild#
Bild# = SQLGetBlob(sql$)
Bild auf Festplatte speichern
blockwrite GelesenesBild.jpg, Bild#, 0, SizeOf(Bild#)
Bild zur Kontrolle anzeigen
DrawSizedPic GelesenesBild.jpg, 0, 0 - 400, 300, 0
EndIf
SQLDone
Else
Print Datenbank konnte nicht geöffnet werden!
Endif
waitinput
end
un technischer Hinweis encore: aussi pour qui dessus erwähnten Correction dans XProfan wird cela Lesen binärer Blobs avec SQLExec pas direct possible son. là ging es um longtemps Text-Blobs. |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 02.03.2009 ▲ |
| |
| | RGH | allô Dietmar,
reicht Dir cela avec den BLOBs soweit ou bien fehlt encore quoi?
je denke je werde qui BLOB-Bearbeitung avec dans qui prochain Version qui Aider aufnehmen et une sqlblobs.ph mitliefern, qui qui obigen définition de Konstanten et externe Funktionen contient. je hoffe, dass eh bien deutlich geworden ist, comment avec quelque chose ODBC-API selbst grand binäre BLOBs avec XProfan relativ problemlos possible sommes.
Salut Roland |
| | | Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 05.03.2009 ▲ |
| |
| | Dietmar Horn | allô Roland,
merci seulement la fois pour Votre Mühe!
Weil je depuis Ende dernier semaine gesundheitlich pas entier si bien sur elle était, suis je malheureusement encore pas grand zum Testen gekommen. je hoffe, qui es au plus tard am Wochenende avec cela marcher wird, après que je wieder sur dem aufsteigenden Ast suis.
Pour dem ersten Überfliegen serait mir peut-être. encore cela Effacer et cela Updaten qui Inhalte qui BLOB-Felder manquer. mais comment dit, je suis dbzgl. jusqu'à maintenant encore pas grand zum Experimentieren gekommen ...
Salut 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: [...] | 05.03.2009 ▲ |
| |
| | Dietmar Horn | allô zusammen,
kennt quelqu'un peut-être une Possibilité, comment on on dem Anwender cela Einbinden qui ganzen SQL-Treibergeschichten et cela S'inscrire qui *.fdb- bzw. *.gdb-DB ersparen peux - alors entweder per separatem Setup-Programme, ou bien besser encore, juste vom eigenen Programme aus ...
lente finde je vraie plaisons à dem ganzen SQL-Zeugs! encore jusqu'à avant einem Vierteljahr hätte je pas la fois en trop träumen gewagt, qui cela aussi encore dans meinen alten Knusperkopp reinpassen pourrait.
avant allem Thomas Z. hat sich un dickes, fettes Lob et Dankeschön pour sa Ausdauer avec mir verdient - pour, qui il mir qui SQL-Grundlagen so verständlich eingeprügelt hat! je trouve es jedenfalls prima so, comme ist: seulement apprendre qui Schüler jahrelang de ihrem l'instituteur - et später funktioniert cela andersrum également Bestens!
avant allem qui BLOBs sommes une geniale Erfindung (aussi si je cela vorerst sur VARCHAR-Felder et qui obigen Solution de Roland mittels Encode64-String-Verschlüsselung realisiere)! Doch irgendwann werde je garantiert la fois wieder intensiver blobben et mich stärker avec den BLOBs versuchen anzufreunden.
si je avec meinem aktuellen projet quelque chose plus suis, ensuite werde je dans einigen ruhigeren Stunden meinem kleinen XProfan-Lehrbuch bestimmt encore une partie zum Thema Datenbanken (introduction dans dBase et SQL avec Firebird) spendieren.
je connais inzwischen sogar une renommierte Software-Schmiede pour den medizinischen Bereich, qui ses Programme aktuell vom kostenpflichtigen Interbase (de Borland) sur cela kostenlos erhältliche Firebird ajuster, weil es avec Interbase chez ihren Kunden avec en Software ständig Probleme avec dem gemeinsamen Datenbankzugriff im Netzwerk gibt, si plus que 5 Clients angeschlossen sommes.
cet Firma erspart dem Anwender jedenfalls cela Herumklickern dans qui Systemsteuerung à cause de des Anmeldens qui SQL-Geschichte bereits avec dem Setup pour ses Programme. mais so dicke suis je avec denen malheureusement aussi encore pas befreundet, qui vous mir cet Vorgehensweise verraten würden.
Irgendwie doit cela alors aller - doch comment?
Salut 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: [...] | 19.03.2009 ▲ |
| |
| | | qui liaison simple selbst herstellen, Winsock-Zeugs si Du so veux. Du könntest Dir une Include écrivons quelle Votre Statements per TCP/IP à IP/PORT absendet dans dem Format, comme qui jeweilige Datenbankserver/Dienst erwartet. Im Grunde rien d'autre comme si Du z.B. une FTP-liaison selbst aufbaust.
on pourrait sogar beim SQL-Server une FTP-Server zurechtfummeln comme lokalen Wrapper pour SQL. (unl.Mgl...) |
| | | | |
| | Dietmar Horn | *nurbahnhofversteh* et comment allez cela? |
| | | 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: [...] | 19.03.2009 ▲ |
| |
| | | Na c'est cela [...] ici - hab je aussi avant (erstmalig) dans einem Spiel (XNoid) pour un Online-Multiplayer anzutesten.
je denke mais, à cause de dem sûrement pas unerheblichen Aufwand dans Deinen le cas pour DB-Zeugs, devrait Du Dir pour qui création cette indépendance später Zeit prendre - ist oui aussi un Thema pour sich.
Du wolltest seulement savons doch comment?! |
| | | | |
| | Uwe ''Pascal'' Niemeier | Hi Dietmar!
suis Je ne sûrement, si je toi richtig verstanden habe; cela installer qui jeweiligen Treiber läßt sich wohl pas vermeiden, denke je. cela Einrichten einer Datenquelle dans qui Systemsteuerung peux du dir allerdings dans qui acte schenken; qui Treiber laisser sich aussi direct ansprechen. Wirf nochmal nen perspective dans mon Demos: là fais je es genauso. Weitere Infos trop Verbindungen trop diversen Datenbanken findest du sous [...]
HTH Pascal |
| | | | |
|
répondreOptions du sujet | 18.819 Views |
Themeninformationencet Thema hat 9 participant: |