Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: [GLIST] Version "light" Mer 10 Oct 2012 - 18:47 | |
| Bonsoir, Comme Klaus a revu sa copie pour les GLIST, voici une version "light" des GLISTs Mais je tiens à préciser: cette version est beaucoup moins complète que ce qu'a fait Klaus... Il manque pas mal de fonctions encore, mais je tenais à vous en faire découvrir l'état actuel. - Code:
-
CAPTION 0,"DEMO NLIST" HEIGHT 0,600 : WIDTH 0,SCREEN_X/2
LABEL InitDemo:GOSUB InitDemo
' Quelques opérations sur les NLIST APPLICATION_TITLE "DEMO SUPRESSION": MESSAGE "Suppression de l'item 8 de la 1ere NLIST" NLIST_ItemDelete(MyNLIST%,8) APPLICATION_TITLE "DEMO INSERTION" : MESSAGE "Insertion de l'item 8 de la 1ere NLIST" NLIST_ItemInsert(MyNLIST%,8,"Nouvelle ligne 8","italic:bold:RVBFF0000")
MESSAGE "Insertion de l'item 2 (gras,italique,rouge sur fond jaune) de la 2eme NLIST" NLIST_ItemInsert(MyNLIST2%,2,"Nouvelle ligne 2","italic:bold:RVBFF0000:BCKFFE400") APPLICATION_TITLE "DEMO SUPRESSION": MESSAGE "Suppression de l'item 3 de la 2eme NLIST" NLIST_ItemDelete(MyNLIST2%,3) APPLICATION_TITLE "CAS PARTICULIERS" : MESSAGE "Plus vicieux:"+CRLF$+"Insertion de l'item 8 dans la 2eme NLIST" NLIST_ItemInsert(MyNLIST2%,8,"Insertion d'une nouvelle ligne","bold:RVB0000FF") MESSAGE "Dans ce cas, la ligne est ajoutée à la fin"+CRLF$+CRLF$+"Pour la supression, idem:"+CRLF$+"C'est le dernier élément qui sera supprimé" NLIST_ItemDelete(MyNLIST2%,23) APPLICATION_TITLE "FIN" MESSAGE "That's all ! ;)"+CRLF$+"Vous pouvez parcourir les listes et sélectionner des lignes"
END ' ============================================================================== ' "FIN" DU PROGRAMME PRINCIPAL ' ==============================================================================
InitDemo: DIM MyNLIST%,MyNLIST2% DIM CRLF$:CRLF$=CHR$(10)+CHR$(13) NLIST_Create(20,20,SCREEN_X/3,12,"D8ECE2") MyNLIST% = NLIST_Create_return% ' on en crée une 2eme pour le fun NLIST_Create(20,220,SCREEN_X/4,12,"55FFAA") MyNLIST2% = NLIST_Create_return%
DIM i
' la 1ere NLIST NLIST_SetOption(MyNLIST%,"RAFR","OFF") : ' on désactive le rafraichissement FOR i=1 TO 5 NLIST_ItemAdd(MyNLIST%,"Ligne "+str$(i),"") NEXT i NLIST_ItemAdd(MyNLIST%,"Ligne 6","") NLIST_ItemAdd(MyNLIST%,"Ligne 7","bold") NLIST_ItemAdd(MyNLIST%,"Ligne 8","strike") NLIST_ItemAdd(MyNLIST%,"Ligne 9","italic:bckFFAA55") NLIST_ItemAdd(MyNLIST%,"Ligne 10","italic:bold") NLIST_ItemAdd(MyNLIST%,"Ligne 11","italic:RVBFF0000:bold:bckCCCCFF") NLIST_ItemAdd(MyNLIST%,"Ligne 12","RVB0000FF:bold:strike") FOR i=13 TO 25 NLIST_ItemAdd(MyNLIST%,"Ligne "+str$(i),"") NEXT i NLIST_SetOption(MyNLIST%,"RAFR","ON") : ' on force un rafraichissement de la liste NLIST_SetOption(MyNLIST%,"ACTIVE","ON"): ' option "bidon" qui ne sert à rien pour l'instant, c'est juste pour montrer la syntaxe
' la 2eme NLIST NLIST_ItemAdd(MyNLIST2%,"Ligne 1","italic:RVBDDEEFF:bold:bckFFAA55") NLIST_ItemAdd(MyNLIST2%,"Ligne 2","strike:RVBFF0000:bold:bckCCFFFF") NLIST_SetOption(MyNLIST2%,"RAFR","ON") : ' on force un rafraichissement de la liste NLIST_ItemAdd(MyNLIST2%,"Ligne 3","strike:RVBFFDD00:bckCC00FF") RETURN
' ============================================================================== ' ============================================================================== ' DEBUT DES PROCEDURES DE GESTION POUR LA GLIST ' ============================================================================== ' ==============================================================================
SUB NLIST_Init() DIM NLIST_LINE_HEIGHT%: NLIST_LINE_HEIGHT% = 14 : ' Hauteur d'une ligne de la GLIST LABEL NLIST_Scroll,NLIST_clickListe DIM NLIST_LstDescripteur%:NLIST_ObjectId%(): NLIST_LstDescripteur% = NLIST_ObjectId_return% DLIST NLIST_LstDescripteur% DIM Debug:Debug=0 IF Debug=1 FORM 1000 : TOP 1000,TOP(0)+HEIGHT(0)+20 END_IF END_SUB
SUB EXPLODE(delimiter$,chaine$,liste%) WHILE INSTR(chaine$,delimiter$)<>0 ITEM_ADD liste%,LEFT$(chaine$,INSTR(chaine$,delimiter$)-1) chaine$=RIGHT$(chaine$,LEN(chaine$)-INSTR(chaine$,delimiter$)) END_WHILE ITEM_ADD liste%,chaine$ END_SUB
' ------------------------------------------------------------------------------ ' Procédure interne pour fonctionnement de la librairie ' Renvoie un numéro d'objet libre ' ------------------------------------------------------------------------------ SUB NLIST_ObjectId%() IF VARIABLE("NLIST_ObjectId_return%")=0 THEN DIM NLIST_ObjectId_return% NLIST_ObjectId_return% = 1 WHILE OBJECT_EXISTS(NLIST_ObjectId_return%) = 1 : NLIST_ObjectId_return% = NLIST_ObjectId_return% + 1 : END_WHILE END_SUB
' ------------------------------------------------------------------------------ ' Descripteur ' 1: n°Id liste des items ' 2: Nombre de lignes affichables (hauteur) ' 3: n°Id liste de service ' 4: n°Id Zone graphique 1 ' 5: n°Id Zone graphique 2 ' 6: n°Id Scrollbar ' 7: n°Id Zone graphique active ' 8: Indice de la 1ere ligne affichée dans la GLIST ' 9: Indice de la ligne sélectionnée ' ------------------------------------------------------------------------------
' ------------------------------------------------------------------------------ ' Param L% Left ' Param T% Top ' Param W% Width ' Param H% Height ' Retour: le numero de la liste de description de l'objet ' ------------------------------------------------------------------------------ SUB NLIST_Create(L%,T%,W%,H%,Bck$) IF VARIABLE("NLIST_Create_return%")=0 THEN DIM NLIST_Create_return% IF VARIABLE("NLIST_LINE_HEIGHT%")=0 THEN NLIST_Init() DIM_LOCAL Descriptor%,Service%,Graph%,Scroll% DIM_LOCAL NLIST% ' création de la liste de description NLIST_ObjectId%():Descriptor% = NLIST_ObjectId_return% IF Debug=1 PRINT_TARGET_IS 1000 LIST Descriptor%:PARENT Descriptor%,1000 HEIGHT Descriptor%,HEIGHT(1000)-50:WIDTH Descriptor%,20 ELSE: DLIST Descriptor%: END_IF ITEM_ADD NLIST_LstDescripteur%,Descriptor% ' création de la NLIST NLIST_ObjectId%(): NLIST% = NLIST_ObjectId_return% : DLIST NLIST% ITEM_ADD Descriptor%,STR$(NLIST%) : ' *** DESCRIPTOR 1 IF Debug=1 THEN PRINT " N°id liste item"
' Nombre d'items affichables dans la NLIST ITEM_ADD Descriptor%,STR$(H%) : ' *** DESCRIPTOR 2 IF Debug=1 THEN PRINT " Nb item (hauteur NLIST)"
' Création de la liste "service" : attributs + variables diverses NLIST_ObjectId%(): Service%= NLIST_ObjectId_return% DLIST Service% : ITEM_ADD Descriptor%, Service% : ' *** DESCRIPTOR 3 : on met à jour la zone de définition ITEM_ADD Service%,"" : ' pas d'option pour l'instant IF Debug=1 THEN PRINT " N°id Liste de service (attributs,options)"
' Création des 2 zones graphiques de la GLIST NLIST_ObjectId%(): Graph%= NLIST_ObjectId_return% PICTURE Graph% : HIDE Graph% : ITEM_ADD Descriptor%,Graph% : ' *** DESCRIPTOR 4 LEFT Graph%,L% : TOP Graph%,T% : WIDTH Graph%,W% HEIGHT Graph%, H% * NLIST_LINE_HEIGHT% ON_CLICK Graph%,NLIST_clickListe IF Debug=1 THEN PRINT " N°id Image 1"
NLIST_ObjectId%(): Graph%= NLIST_ObjectId_return% PICTURE Graph% : ITEM_ADD Descriptor%,Graph% : ' *** DESCRIPTOR 5 LEFT Graph%,L% :TOP Graph%,T% : WIDTH Graph%,W% HEIGHT Graph%, H% * NLIST_LINE_HEIGHT% ON_CLICK Graph%,NLIST_clickListe IF Debug=1 THEN PRINT " N°id Image 2"
' Création du scrollbar de la GLIST NLIST_ObjectId%(): Scroll%= NLIST_ObjectId_return% SCROLL_BAR Scroll% : ITEM_ADD Descriptor%,Scroll% : ' *** DESCRIPTOR 6 VERTICAL Scroll% : MIN Scroll%,1 : MAX Scroll%,1 LEFT Scroll%,L% + W% + 3 : TOP Scroll%,T% HEIGHT Scroll%, H% * NLIST_LINE_HEIGHT% ON_CHANGE Scroll%,NLIST_Scroll IF Debug=1 THEN PRINT " N°id Scrollbar"
' Zone graphique active ITEM_ADD Descriptor%,ITEM_READ$(Descriptor%,5) : ' *** DESCRIPTOR 7 IF Debug=1 THEN PRINT " N°id Image active"
' Indice de la 1ere ligne affichée ITEM_ADD Descriptor%,"1" : ' *** DESCRIPTOR 8 IF Debug=1 THEN PRINT " Indice 1ere ligne"
' Indice de la ligne sélectionnée ITEM_ADD Descriptor%,"1" : ' *** DESCRIPTOR 9 IF Debug=1 THEN PRINT " Indice ligne sélectionnée" PRINT_TARGET_IS 0 NLIST_Create_return% = Descriptor% ' Ajoute l'option font d'écran NLIST_SetOption(Descriptor%,"BCK",Bck$) NLIST_SetOption(Descriptor%,"RAFR","ON") NLIST_redraw(Descriptor%) END_SUB
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ NLIST_Scroll: OFF_CHANGE NUMBER_CHANGE NLIST_ScrollInterne(NUMBER_CHANGE) RETURN
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_ScrollInterne(Obj%) DIM_LOCAL i,Descriptor%,ScrollBar% WHILE MOUSE_LEFT_DOWN(Obj%)=1:END_WHILE FOR i=1 TO COUNT(NLIST_LstDescripteur%) Descriptor% = VAL(ITEM_READ$(NLIST_LstDescripteur%,i)) ScrollBar%= VAL(ITEM_READ$(Descriptor%,6)) IF Obj% = ScrollBar% ' Mise à jour de l'indice de la ligne courante dans le descripteur ITEM_CHANGE(Descriptor%,8,STR$(POSITION(Obj%))) NLIST_redraw(Descriptor%) ON_CHANGE ScrollBar%,NLIST_Scroll END_IF NEXT i END_SUB
' ------------------------------------------------------------------------------
' ------------------------------------------------------------------------------ NLIST_clickListe: OFF_CLICK NUMBER_CLICK NLIST_clickListeInterne(NUMBER_CLICK) RETURN
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_clickListeInterne(Obj%) DIM_LOCAL i,Descriptor%,PicActive% DIM_LOCAL x%,y%,itemSelect%,FirstItem% FOR i=1 TO COUNT(NLIST_LstDescripteur%) Descriptor% = VAL(ITEM_READ$(NLIST_LstDescripteur%,i)) PicActive%= VAL(ITEM_READ$(Descriptor%,7)) FirstItem%= VAL(ITEM_READ$(Descriptor%,8)) IF Obj% = PicActive% x%=MOUSE_X_LEFT_DOWN(PicActive%) y%=MOUSE_Y_LEFT_DOWN(PicActive%) itemSelect% = FirstItem% + INT((y%+NLIST_LINE_HEIGHT%-1)/NLIST_LINE_HEIGHT%)-1 if itemSelect% > COUNT(VAL(ITEM_READ$(Descriptor%,1))) THEN itemSelect%=0 CAPTION 0,"Item Select:"+STR$(itemSelect%) ITEM_CHANGE(Descriptor%,9,STR$(itemSelect%)) NLIST_redraw(Descriptor%) ON_CLICK PicActive%,NLIST_clickListe END_IF NEXT i END_SUB
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_SetOption(N%,Opt$,status$) DIM_LOCAL NOPT$:NOPT$=ITEM_READ$(VAL(ITEM_READ$(N%,3)),1) DIM_LOCAL i Opt$=UPPER$(Opt$):status$=UPPER$(status$) IF INSTR(NOPT$,Opt$)<>0 DIM_LOCAL Service%:NLIST_ObjectId%() Service%= NLIST_ObjectId_return% DLIST Service%:EXPLODE(":",NOPT$,Service%) FOR i = 1 TO COUNT(Service%) IF INSTR(ITEM_READ$(Service%,i),opt$)<>0 IF COUNT(Service%)=1:DELETE Service%:DLIST Service% ELSE:ITEM_DELETE Service%,i:END_IF ITEM_INSERT Service%,i,opt$+"_"+status$ EXIT_FOR END_IF NEXT i NOPT$=ITEM_READ$(Service%,1) IF COUNT(Service%)>1 FOR i = 2 TO COUNT(Service%):NOPT$=NOPT$+":"+ITEM_READ$(Service%,i):NEXT i END_IF DELETE Service% ELSE IF NOPT$<>"" THEN NOPT$=NOPT$+":" NOPT$=NOPT$+Opt$+"_"+status$ END_IF ITEM_CHANGE(VAL(ITEM_READ$(N%,3)),1,NOPT$) ' CAPTION 0,NOPT$ IF opt$+"_"+status$ ="RAFR_ON" THEN NLIST_redraw(N%) END_SUB
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_GetOption(N%,Opt$) IF VARIABLE("NLIST_GetOption_return$")=0 THEN DIM NLIST_GetOption_return$ DIM_LOCAL i%,NOPT$: NOPT$=ITEM_READ$(VAL(ITEM_READ$(N%,3)),1) Opt$=UPPER$(Opt$) NLIST_GetOption_return$="" IF INSTR(NOPT$,Opt$)<>0 DIM_LOCAL Service% :NLIST_ObjectId%(): Service%= NLIST_ObjectId_return% DLIST Service%: EXPLODE(":",NOPT$,Service%) FOR i%=1 TO COUNT(Service%) IF INSTR(ITEM_READ$(Service%,i%),Opt$)<>0 NLIST_GetOption_return$=ITEM_READ$(Service%,i%) i%=INSTR(NLIST_GetOption_return$,"_") NLIST_GetOption_return$ = RIGHT$(NLIST_GetOption_return$,LEN(NLIST_GetOption_return$)-i%) EXIT_FOR END_IF NEXT i% DELETE Service% END_IF END_SUB
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_GetRVB(V$) IF VARIABLE("NLIST_RVB")=0 THEN DIM NLIST_RVB(3) NLIST_RVB(0)=HEX(LEFT$(V$,2)): NLIST_RVB(1)=HEX(MID$(V$,3,2)): NLIST_RVB(2)=HEX(RIGHT$(V$,2)) END_SUB ' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB ITEM_CHANGE(N%,Id,t$) ITEM_INSERT N%,Id,t$ ITEM_DELETE N%,Id+1 END_SUB ' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_redraw(N%) DIM_LOCAL NLIST%,idPic%,idPicActive%,idPic1%,idPic2%,off7%,Count% DIM_LOCAL Attr% DIM_LOCAL itemSelected% DIM_LOCAL i% DIM_LOCAL oldPicActive% DIM_LOCAL BackgroundPic% ' on recupere les valeurs RVB par défaut pour le fond NLIST_GetOption(N%,"BCK") NLIST_GetRVB(NLIST_GetOption_return$)
NLIST%=VAL(ITEM_READ$(N%,1)) : ' liste contenant les items Count%=VAL(ITEM_READ$(N%,2)) : ' IF Count%>COUNT(NLIST%) THEN Count%=COUNT(NLIST%) Attr%=VAL(ITEM_READ$(N%,2))
idPic1%=VAL(ITEM_READ$(N%,4)) idPic2%=VAL(ITEM_READ$(N%,5)) idPicActive%=VAL(ITEM_READ$(N%,7)) off7%=VAL(ITEM_READ$(N%,8)) itemSelected%=VAL(ITEM_READ$(N%,9)) ' pour éviter des clignotements désagréables à l'écran ' on recontruit la NLIST sur le PICTURE qui se trouve en arrière plan IF idPicActive% = idPic1% : BackgroundPic% = idPic2% : ELSE : BackgroundPic% = idPic1% : END_IF ' on commence par l'effacer 2D_TARGET_IS BackgroundPic%:2D_CLEAR 2d_flood 10,10,NLIST_RVB(0),NLIST_RVB(1),NLIST_RVB(2) ' puis on la définie comme étant la nouvelle cible PRINT_TARGET_IS BackgroundPic%: 2D_TARGET_IS BackgroundPic% ' parcours de tous les items IF COUNT(NLIST%)<>0 FOR i% = off7% TO (off7% + Count%-1) IF i%<=COUNT(NLIST%) WAIT 2 ' si c'est la ligne qui est sélectionée IF i% = itemSelected% ' par défaut, cette ligne est sur fond bleu 2d_fill_color 0,0,255 : 2d_pen_color 0,0,255 2d_rectangle 0,int((i%-off7%)*NLIST_LINE_HEIGHT%),width(BackgroundPic%),int((i%-off7%+1)*NLIST_LINE_HEIGHT%) ' et les caractères sont blancs font_color BackgroundPic%,255,255,255 NLIST_ResetAttr(BackgroundPic%) : ' elle n'a pas d'attributs d'affichage print item_read$(VAL(ITEM_READ$(N%,1)),i%) ELSE ' couleur du fond 2d_fill_color NLIST_RVB(0),NLIST_RVB(1),NLIST_RVB(2) : 2d_pen_color NLIST_RVB(0),NLIST_RVB(1),NLIST_RVB(2) 2d_rectangle 0,int((i%-off7%)*NLIST_LINE_HEIGHT%),width(BackgroundPic%),int((i%-off7%+1)*NLIST_LINE_HEIGHT%) font_color BackgroundPic%,0,0,0 : ' Par défaut, les caractères sont noirs NLIST_DrawItem(N%,i%) END_IF END_IF NEXT i% ' l'image est prête : on inverse l'affichage ' Vivement les fonctions un swap(a,b) serait pas mal... oldPicActive% = idPicActive% idPicActive%= BackgroundPic% BackgroundPic% = oldPicActive% SHOW idPicActive%: HIDE BackgroundPic% ITEM_CHANGE(N%,7,STR$(idPicActive%)) ' puis on redefinie la cible pour utilisation diverse PRINT_TARGET_IS idPicActive% : 2D_TARGET_IS idPicActive% END_IF END_SUB
' ------------------------------------------------------------------------------ ' N% : Descripteur ' Note : Le print_target et 2d_target doivent être déjà définis ' ------------------------------------------------------------------------------ SUB NLIST_ResetAttr(PicActive%) FONT_BOLD_OFF PicActive% FONT_ITALIC_OFF PicActive% FONT_STRIKE_OFF PicActive% END_SUB
' ------------------------------------------------------------------------------ ' ' ------------------------------------------------------------------------------ SUB NLIST_DrawItem(N%,Item%) DIM_LOCAL Attr$ : Attr$=ITEM_READ$(VAL(ITEM_READ$(N%,3)),Item%+1) DIM_LOCAL Service%: NLIST_ObjectId%(): Service%= NLIST_ObjectId_return% DIM_LOCAL PicActive%:PicActive%=VAL(ITEM_READ$(N%,7)) DIM_LOCAL ItemList%:ItemList%=VAL(ITEM_READ$(N%,1)) DIM_LOCAL i%,r,v,b,j% IF PicActive%=VAL(ITEM_READ$(N%,4)):PicActive%=VAL(ITEM_READ$(N%,5)) ELSE:PicActive%=VAL(ITEM_READ$(N%,4)):END_IF DLIST Service% : EXPLODE(":",Attr$,Service%)
' Reset des attributs NLIST_ResetAttr(PicActive%) ' Parcours de la liste des attributs FOR i%=1 TO COUNT(Service%) Attr$=TRIM$(LOWER$(ITEM_READ$(Service%,i%))) IF Attr$="bold" THEN FONT_BOLD PicActive% IF Attr$="italic" THEN FONT_ITALIC PicActive% IF Attr$="strike" THEN FONT_STRIKE PicActive% IF LEFT$(Attr$,3)="bck" IF VAL(ITEM_READ$(N%,9))<>Item% j%=VAL(ITEM_READ$(N%,8)) r=HEX(MID$(Attr$,4,2)):v=HEX(MID$(Attr$,6,2)):b=HEX(MID$(Attr$,8,2)) 2d_fill_color r,v,b : 2d_pen_color r,v,b 2d_rectangle 0,int((Item%-j%)*NLIST_LINE_HEIGHT%),width(PicActive%),int((Item%-j%+1)*NLIST_LINE_HEIGHT%) END_IF END_IF IF LEFT$(Attr$,3)="rvb" r=HEX(MID$(Attr$,4,2)):v=HEX(MID$(Attr$,6,2)):b=HEX(MID$(Attr$,8,2)) FONT_COLOR PicActive%,r,v,b END_IF NEXT i% print item_read$(VAL(ITEM_READ$(N%,1)),Item%) DELETE Service% END_SUB
' ------------------------------------------------------------------------------ ' ------------------------------------------------------------------------------ SUB NLIST_ItemAdd(N%,Chaine$,Attr$) ITEM_ADD VAL(ITEM_READ$(N%,1)),Chaine$ ITEM_ADD VAL(ITEM_READ$(N%,3)),Attr$ MAX VAL(ITEM_READ$(N%,6)),COUNT(VAL(ITEM_READ$(N%,1))) ' on regarde si le rafraichissement est actif NLIST_GetOption(N%,"RAFR") IF NLIST_GetOption_return$="ON" THEN NLIST_Redraw(N%) : ' on rafraichi la liste END_SUB
' ------------------------------------------------------------------------------ ' ------------------------------------------------------------------------------ SUB NLIST_ItemDelete(N%,Item%) DIM_LOCAL SizeOfNLIST% : SizeOfNLIST% =COUNT(VAL(ITEM_READ$(N%,1))) IF Item% > SizeOfNLIST% THEN Item% = SizeOfNLIST% ITEM_DELETE VAL(ITEM_READ$(N%,1)),Item% ITEM_DELETE VAL(ITEM_READ$(N%,3)),Item%+1 ' on regarde si le rafraichissement est actif NLIST_GetOption(N%,"RAFR") IF NLIST_GetOption_return$="ON" THEN NLIST_Redraw(N%) : ' on rafraichi la liste END_SUB ' ------------------------------------------------------------------------------ ' ------------------------------------------------------------------------------ SUB NLIST_ItemInsert(N%,Item%,Chaine$,Attr$) DIM_LOCAL SizeOfNLIST% : SizeOfNLIST% =COUNT(VAL(ITEM_READ$(N%,1))) IF Item% > SizeOfNLIST% NLIST_ItemAdd(N%,Chaine$,Attr$) ELSE ITEM_INSERT VAL(ITEM_READ$(N%,1)),Item%,Chaine$ ITEM_INSERT VAL(ITEM_READ$(N%,3)),Item%+1,Attr$ ' on regarde si le rafraichissement est actif NLIST_GetOption(N%,"RAFR") IF NLIST_GetOption_return$="ON" THEN NLIST_Redraw(N%) : ' on rafraichi la liste END_IF END_SUB EDIT1:- Ajout de NLIST_ItemDelete()
- Ajout de NLIST_ItemInsert()
Dernière édition par Nardo26 le Mer 10 Oct 2012 - 23:47, édité 3 fois (Raison : Ajout nouvelles fonctions) | |
|