[SOCPB 2006] Projet # 1 : Rendre facile la gestion de MySQL
ouchla oui, t'inquiètes pas, il y a effectivement encore beaucoup à faire.
c'est un premier jet, juste pour voir si çà fonctionne aussi chez vous.
mais çà sera bcp plus propre après.
je n'ai pas encore inclus les objets pour #PB_Any & co
car j'ai quelques difficultés avec tailbite parfois, alors j'ai voulu réduire la trame au strict minimum pour l'instant. parceque mon tableau que j'utilise pour les ID me plait pas du tout, c'est juste en attendant d'implémenter ton truc. pour jaPBe tant pis, j'aime bien l'IDE purebasic aussi, pas de souci
ma prochaine étape c'est le OpenDatabaseRequester() qui ressemble dors et déjà à çà :

c'est un premier jet, juste pour voir si çà fonctionne aussi chez vous.
mais çà sera bcp plus propre après.
je n'ai pas encore inclus les objets pour #PB_Any & co
car j'ai quelques difficultés avec tailbite parfois, alors j'ai voulu réduire la trame au strict minimum pour l'instant. parceque mon tableau que j'utilise pour les ID me plait pas du tout, c'est juste en attendant d'implémenter ton truc. pour jaPBe tant pis, j'aime bien l'IDE purebasic aussi, pas de souci

ma prochaine étape c'est le OpenDatabaseRequester() qui ressemble dors et déjà à çà :
et puis aussi et surtout pour 'libérer' les objets database automatiquement c'est génial.Flype a écrit :je n'ai pas encore inclus les objets pour #PB_Any & co [...]
sinon, mes premières expériences concernant le développement des subsystems c'est un peu galère en fait.
déjà on peut pas tester avec F5/F6 puisque le nom des fonctions que je redéveloppent existent déjà donc le compilateur s'arrête. normal mais bon...
en fait je bosse avec deux éditeurs en meme temps.
le 1er, pour développer la lib main dans la main avec tailbite
le 2ème pour tester en redémarrant le compilateur à chaque fois
la question d'un outil de dev de subsystem se pose vraiment, histoire de rendre çà plus ergonomique

sinon tu commences par développer en mettant un prefixe à tes fonctions.
_OpenDatabase()
[edit]
peut etre que ce code va t'inspirer ^^
Dri
_OpenDatabase()
[edit]
peut etre que ce code va t'inspirer ^^
Code : Tout sélectionner
Macro OpenDatabase(Database_, Name_, User_, Password_)
_OpenDatabase(Database_, Name_, User_, Password_)
EndMacro
;fin des macros
Procedure.l _OpenDatabase(Database.l, Name.s, User.s, Password.s)
ProcedureReturn #Null
EndProcedure
;fin des fonctions
Debug OpenDatabase(0, "", "", "")
;fin des tests
état d'avancement du projet #1 :
MySQL Database.lib :
MySQL Database.lib :
Code : Tout sélectionner
ExamineDatabaseDrivers() ; non implémenté
NextDatabaseDriver() ; non implémenté
DatabaseDriverName() ; non implémenté
DatabaseDriverDescription() ; non implémenté
InitDatabase() ; implémenté
DatabaseError() ; implémenté
IsDatabase(a) ; implémenté
CloseDatabase(a) ; implémenté
OpenDatabaseRequester(a) ; à finir
OpenDatabase(a, b, c, d, e) ; implémenté - nouvel argument
DatabaseRows(a) ; implémenté - nouveauté
DatabaseColumns(a) ; implémenté
DatabaseColumnName(a, b) ; implémenté
DatabaseColumnType(a, b) ; implémenté
DatabaseQuery(a, b) ; implémenté
DatabaseUpdate(a, b) ; à finir
PreviousDatabaseRow(a) ; à finir
FirstDatabaseRow(a) ; à finir
NextDatabaseRow(a) ; implémenté
GetDatabaseLong(a, b) ; implémenté
GetDatabaseQuad(a, b) ; implémenté
GetDatabaseFloat(a, b) ; implémenté
GetDatabaseDouble(a, b) ; implémenté
GetDatabaseString(a, b) ; implémenté
GetDatabaseDate(a, b) ; implémenté - nouveauté
GetDatabaseBinary(a, b) ; implémenté - nouveauté
Dernière modification par Flype le sam. 24/juin/2006 2:55, modifié 1 fois.
J'arrive pas à le faire tournerFlype a écrit :alpha de chez alpha hein mais çà marche.
http://www.penguinbyte.com/apps/pbwebst ... mysql5.zip

- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Alors résultat du week end ?
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
euh ma foi avec le boulot, la famille, la coupe du monde ( pour d'autres c'est le bac
) et bien çà avance pas mal.
en fait, j'ai presque fini et du coup ce soir je publie le source du subsystem MySQL, en l'état, donc (quasi) fini.
toutes les fonctions purebasic sont implémentées (sauf les xxxDrivers )
ainsi que tout un jeu de fonctions supplémentaires...
voici mon état d'avancement :
en gros il me reste à mieux gérer les erreurs,
donc en gros à tester, tester, tester... avec vous...
et puis aussi, il faut rendre le source compilable avec TailBite parce que pour le moment c'est plusieurs fichiers .pbi ( en tout il y a ~11000 lignes déjà ).
[EDIT]
oups pardon, je voulais dire 1200 lignes - c'est déjà assez comme çà.

en fait, j'ai presque fini et du coup ce soir je publie le source du subsystem MySQL, en l'état, donc (quasi) fini.
toutes les fonctions purebasic sont implémentées (sauf les xxxDrivers )
ainsi que tout un jeu de fonctions supplémentaires...
voici mon état d'avancement :
Code : Tout sélectionner
;-
;- Database.lib - Minimal Set
;-
DeclareDLL.l _ExamineDatabaseDrivers() ; non implémenté
DeclareDLL.l _NextDatabaseDriver() ; non implémenté
DeclareDLL.s _DatabaseDriverName() ; non implémenté
DeclareDLL.s _DatabaseDriverDescription() ; non implémenté
DeclareDLL.l _InitDatabase()
DeclareDLL.s _DatabaseError() ; à finir
DeclareDLL.l _IsDatabase(database.l)
DeclareDLL.l _OpenDatabase(database.l, host.s, user.s, passwd.s, db.s = "")
DeclareDLL.l _OpenDatabaseRequester(database.l)
DeclareDLL.l _CloseDatabase(database.l)
DeclareDLL.l _DatabaseColumns(database.l)
DeclareDLL.s _DatabaseColumnName(database.l, column.l)
DeclareDLL.l _DatabaseColumnType(database.l, column.l)
DeclareDLL.l _DatabaseQuery(database.l, query.s)
DeclareDLL.l _DatabaseUpdate(database.l, query.s)
DeclareDLL.l _PreviousDatabaseRow(database.l) ; à finir
DeclareDLL.l _FirstDatabaseRow(database.l)
DeclareDLL.l _NextDatabaseRow(database.l)
DeclareDLL.l _GetDatabaseLong(database.l, column.l)
DeclareDLL.q _GetDatabaseQuad(database.l, column.l)
DeclareDLL.f _GetDatabaseFloat(database.l, column.l)
DeclareDLL.d _GetDatabaseDouble(database.l, column.l)
DeclareDLL.s _GetDatabaseString(database.l, column.l)
;-
;- Database.lib - Extended Set
;-
DeclareDLL.s _DatabaseQueryString(database.l, query.s)
DeclareDLL.l _DatabaseQueryLong(database.l, query.s)
DeclareDLL.q _DatabaseQueryQuad(database.l, query.s)
DeclareDLL.f _DatabaseQueryFloat(database.l, query.s)
DeclareDLL.d _DatabaseQueryDouble(database.l, query.s)
DeclareDLL.l _DatabaseQueryDate(database.l, query.s)
DeclareDLL.s _DatabaseQueryFormatDate(database.l, query.s, mask.s)
DeclareDLL.l _DatabasePing(database.l)
DeclareDLL.l _DatabaseRows(database.l)
DeclareDLL.l _DatabaseOptions(key.l, *value)
DeclareDLL.s _DatabaseEscString(database.l, string.s)
DeclareDLL.s _DatabaseHexString(string.s)
DeclareDLL.l _GetDatabaseDate(database.l, column.l)
DeclareDLL.s _GetDatabaseFormatDate(database.l, column.l, mask.s)
DeclareDLL.l _GetDatabaseBinary(database.l, column.l, bAllocateMemory.l = #False)
DeclareDLL.l _GetDatabaseLength(database.l, column.l)
DeclareDLL.l _ExamineDatabaseDbs(database.l, wild.s = "")
DeclareDLL.l _NextDatabaseDb(database.l)
DeclareDLL.s _DatabaseDb(database.l)
DeclareDLL.l _ExamineDatabaseTables(database.l, wild.s = "")
DeclareDLL.l _NextDatabaseTable(database.l)
DeclareDLL.s _DatabaseTable(database.l)
DeclareDLL.l _ExamineDatabaseFields(database.l, table.s, wild.s = "")
DeclareDLL.l _NextDatabaseField(database.l)
DeclareDLL.s _DatabaseField(database.l)
DeclareDLL.l _ExamineDatabaseProcesses(database.l)
DeclareDLL.l _NextDatabaseProcess(database.l)
DeclareDLL.s _DatabaseProcess(database.l, field.l)
DeclareDLL.l _DatabaseDbList(database.l, userList.s(), wild.s = "")
DeclareDLL.l _DatabaseTableList(database.l, userList.s(), wild.s = "")
DeclareDLL.l _DatabaseProcessList(database.l, userList.DATABASE_PROCESS())
donc en gros à tester, tester, tester... avec vous...

et puis aussi, il faut rendre le source compilable avec TailBite parce que pour le moment c'est plusieurs fichiers .pbi ( en tout il y a ~11000 lignes déjà ).
[EDIT]
oups pardon, je voulais dire 1200 lignes - c'est déjà assez comme çà.