Page 1 sur 1
Multiligne IDE
Publié : ven. 22/mars/2013 16:55
par kwandjeen
Bonjour,
J'ai un petit soucis avec le multiligne IDE. Ben en fait je comprends pas comment il faut faire.
Un exemple parle mieux
Ce code génère une erreur chez moi.
Je code avec une base sqlite et les lignes interminables c'est une vrai source de bug donc comment faire pour que le saut de ligne IDE fonctionne.
EDIT : HS. Certain fichier comme Esgrid de Srod plante suivant les progs depuis la version 5.11b3 alors qu'en 5.11b2 ça passe (sous xp 32 bits). Quelqu'un à remarqué le problème avec ce fichier ou d'autres.
Re: Multiligne IDE
Publié : ven. 22/mars/2013 18:36
par Backup
Re: Multiligne IDE
Publié : ven. 22/mars/2013 18:37
par Fred
Tu ne peux pas faire ca, le multiline ne fonctionne que pour les expressions. Montre nous plutot une de tes lignes interminables pour voir ce qu'on peut faire.
Re: Multiligne IDE
Publié : ven. 22/mars/2013 19:03
par Backup
ha bah avec mon EPB on peut faire :
ou ça :
Gna gna gna !

Re: Multiligne IDE
Publié : ven. 22/mars/2013 21:49
par kwandjeen
Code : Tout sélectionner
CheckDatabaseUpdate(0, "CREATE TABLE user (co VARCHAR(10), nom VARCHAR(30), prenom VARCHAR(30), pass VARCHAR(15),groupe INT, menu_avion INT, planification INT, alerte INT, chat INT, menu_admin INT, def_of INT, def_station INT, g_groupe INT, g_user INT, system INT,arscript INT)")
Voilà un exemple
peut on avoir un truc du genre
Code : Tout sélectionner
CheckDatabaseUpdate(0, "CREATE TABLE user , |
(co VARCHAR(10), nom VARCHAR(30), prenom VARCHAR(30), |
, pass VARCHAR(15),groupe INT, menu_avion INT, |
etc.
Re: Multiligne IDE
Publié : sam. 23/mars/2013 22:43
par Fortix
Ah wouai

, il faut trouver un truc pour ça
presque tout les IDE ont un truc pour palier à ce genre de souci
mais je pense avoir une petite idée, il faut je pense
copier un caractère "retour chariot" quelques part
et ensuite le coler sur l'IDE et cocher dans l'option "caractère unicode"
je n'ai pas encore essayé et je n'ai franchement pas envies vue la complexitée
de la chose;
la vérité est que je préfère subir en attendant qu'il y est une MAJ

Re: Multiligne IDE
Publié : sam. 23/mars/2013 23:23
par falsam
Bonjour kwandjeen.
Une solution que j'utilise et qui me permet aussi de bien voir et de modifier facilement la structure d'une table.
Code : Tout sélectionner
Global Reqsql.s
Reqsql = "CREATE TABLE user ("
Reqsql + "co VARCHAR(10),"
Reqsql + "nom VARCHAR(30),"
Reqsql + "prenom VARCHAR(30),"
Reqsql + "pass VARCHAR(15),"
Reqsql + "groupe INT,"
Reqsql + "menu_avion INT,"
Reqsql + "planification INT,"
Reqsql + "alerte INT,"
Reqsql + "chat INT,"
Reqsql + "menu_admin INT,"
Reqsql + "def_of INT,"
Reqsql + "def_station INT,"
Reqsql + "g_groupe INT,"
Reqsql + "g_user INT,"
Reqsql + "system INT,"
Reqsql + "arscript INT"
Reqsql + ")"
CheckDatabaseUpdate(0, Reqsql)
Re: Multiligne IDE
Publié : dim. 24/mars/2013 9:13
par kwandjeen
Merci Falsam

c'est déjà beaucoup mieux que la ligne de 12 kilomètres.
Bon dimanche.
Re: Multiligne IDE
Publié : dim. 24/mars/2013 9:37
par kwandjeen
En cherchant j'ai trouvé un code de netmaestro qui fait exactement le retour à la ligne
Il faut le compiler et utiliser l'exe compilé en outils personnalisés.
Code : Tout sélectionner
; Very simple preprocessor for line continuations
; netmaestro December 2007
; More sophistication needed, starting point only
Global NewList line$()
Global find_de_ligne$
find_de_ligne$ = "&_"
For i=0 To CountProgramParameters()-1
path$ + ProgramParameter(i)
Next
If ReadFile(0, path$)
concat = #False
While Not Eof(0)
linein$ = RTrim(ReadString(0))
If concat
If FindString(linein$, find_de_ligne$ , 1)
concat = #True
linein$ = Trim(Left(linein$, FindString(linein$, find_de_ligne$,1)-1))+" "
Else
concat = #False
EndIf
line$() = line$() + LTrim(linein$)
Else
If FindString(linein$, find_de_ligne$ , 1)
concat = #True
linein$ = RTrim(Left(linein$, FindString(linein$, find_de_ligne$,1)-1))+" "
Else
concat = #False
EndIf
AddElement(line$())
line$() = linein$
EndIf
Wend
CloseFile(0)
If CreateFile(1, path$)
ForEach line$()
WriteStringN(1, line$())
Next
CloseFile(1)
EndIf
EndIf
Voici comment remplir les options
Pourquoi ne pas mettre ça dans l'éditeur directement ? Ce ne doit pas être compliqué non ?
exemple de code
Code : Tout sélectionner
CheckDatabaseUpdate(0, "CREATE TABLE user ( &_
co VARCHAR(10), &_
nom VARCHAR(30), &_
prenom VARCHAR(30), &_
pass VARCHAR(15), &_
groupe INT, &_
menu_avion INT, &_
planification INT, &_
alerte INT, &_
chat INT, &_
menu_admin INT, &_
def_of INT, &_
def_station INT, &_
g_groupe INT, &_
g_user INT, &_
system INT, &_
arscript INT")
En tout cas merci pour vos réponses.
Re: Multiligne IDE
Publié : dim. 24/mars/2013 12:27
par Backup
sans avoir testé;
le code de netmaestro
permet de transformer un Code ayant des coupure de ligne avec le "&_" en code normal avant comilation
mais ensuite , que ce passe t'il si quelque minute apres tu recharges le fameux code ?
il me semble qu'il aura perdu tout les Attributs de coupures ...

non?
dans mon IDE (EPB) j'utilise cette methode , mais sans sauvegarder , puisque je soumet la transformation
directement au compilateur , ce qui fait que le fichier original n'est pas touché
on conserve ainsi , les attributs de coupure ..
si Fred veux faire la meme chose , c'est au niveau de son IDE qu'il doit le faire ..
perso comme Cesure j'ai choisi " _" (Espace+"_") ; c'est plus simple a ecrire que "&_" de netmaestro

Re: Multiligne IDE
Publié : dim. 24/mars/2013 17:28
par falsam
Une autre manière d'écrire la chaine Sql
Code : Tout sélectionner
Global Reqsql.s
Reqsql = "CREATE TABLE user (," +
"co VARCHAR(10)," +
"nom VARCHAR(30)," + ;Nom
"prenom VARCHAR(30)," + ;Prénom
"pass VARCHAR(15)," + ;Mot de pass
"groupe INT," +
"menu_avion INT," +
"planification INT," +
"alerte INT," +
"chat INT," +
"menu_admin INT," +
"def_of INT," +
"def_station INT," +
"g_groupe INT," +
"g_user INT," +
"system INT," +
"arscript INT)"
Cette méthode permet elle aussi d'associer un commentaire pour chacun des champs.
Les derniére versions de purebasic permettent d'écrire UNE instruction sur plusieurs lignes comme le montre l'exemple ci-dessous.
Code : Tout sélectionner
Procedure Test(Parametre1, ;Premier paramétre
Parametre2, ;Deuxiéme paramatre
Parametre3) ;Troisiéme paramétre
Debug Parametre1
Debug Parametre2
Debug Parametre3
EndProcedure
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "Line continuation",
#PB_Window_SystemMenu |
#PB_Window_MinimizeGadget|
#PB_Window_SizeGadget)
Test(10,
11,
12)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Cette continuité de ligne est s'effectue avec avec les opérateurs ',' '|' '+' AND OR XOR
Re: Multiligne IDE
Publié : dim. 24/mars/2013 17:34
par Backup
falsam a écrit :
Les derniére versions de purebasic permettent d'écrire UNE instruction sur plusieurs lignes comme le montre l'exemple ci-dessous.
Code : Tout sélectionner
Procedure Test(Parametre1, ;Premier paramétre
Parametre2, ;Deuxiéme paramatre
Parametre3) ;Troisiéme paramétre
Debug Parametre1
Debug Parametre2
Debug Parametre3
EndProcedure
OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "Line continuation",
#PB_Window_SystemMenu |
#PB_Window_MinimizeGadget|
#PB_Window_SizeGadget)
Test(10,
11,
12)
Repeat
Until WaitWindowEvent() = #PB_Event_CloseWindow
Cette continuité de ligne est s'effectue avec avec les opérateurs ',' '|' '+' AND OR XOR
oui mais si tu avais lu le debut du topic , elle ne permet pas ceci
bref on ne peut pas couper ou l'on veux (sauf avec EPB)
voila voila
exemple extreme qu'on peut faire avec EPB (ceci se compile sans erreur )
Re: Multiligne IDE
Publié : dim. 24/mars/2013 17:45
par falsam
@Dobro : j'ai lu le début. Je ne faisais que proposer une solution différente de celle que j'ai posté un peu plus haut dans ce post. De même j'ai fais une piqûre de rappel sur les possibilités de continuation de ligne dans la version actuelle de Pure Basic.
la meilleurs méthode et de n'avoir AUCUN caractère de continuation de ligne

.
en php ça donnerais ceci :
Code : Tout sélectionner
Reqsql = "CREATE TABLE user(,
co VARCHAR(10),
nom VARCHAR(30),
prenom VARCHAR(30),
pass VARCHAR(15),
groupe INT,
menu_avion INT,
planification INT,
alerte INT,
chat INT,
menu_admin INT,
def_of INT,
def_station INT,
g_groupe INT,
g_user INT,
system INT,
arscript INT)"
Re: Multiligne IDE
Publié : lun. 25/mars/2013 9:30
par kwandjeen
Merci Falsam je vais adopter ta méthode du coup ça m'ira très bien sans avoir un outils externe.