Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| un module Multipage | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: un module Multipage Sam 31 Oct 2009 - 14:02 | |
| le code: - Code:
-
dim dossier$,boite%,ligne%,a$,onglet% ,a%,PrimOnglet%,NbOnglet% ,DernierOnglet%,LigOnglet%,suivre% dim ongletclic% , MultiPage% label DeCadix ,lecture,sauve,save,load,rajouOnglet,choixFichier left 0,480:top 0,00:width 0,750:height 0,750 :color 0,210,230,210
MultiPage%=7 PrimOnglet%=MultiPage%+6
button MultiPage%+1:left MultiPage%+1,670:top MultiPage%+1,10:width MultiPage%+1,70 caption MultiPage%+1,"lecture":on_click MultiPage%+1,load button MultiPage%+2:left MultiPage%+2,670:top MultiPage%+2,40:width MultiPage%+2,70 caption MultiPage%+2,"sauvegarde":on_click MultiPage%+2,save button MultiPage%+3:left MultiPage%+3,670:top MultiPage%+3,70:width MultiPage%+3,70 caption MultiPage%+3,"New onglet":on_click MultiPage%+3,rajouOnglet button MultiPage%+4:left MultiPage%+4,670:top MultiPage%+4,100:width MultiPage%+4,70 caption MultiPage%+4,"FICHIER ?":on_click MultiPage%+4,choixFichier open_dialog MultiPage%+5
NbOnglet%=0 memo MultiPage%:left MultiPage%,10:top MultiPage%,37:width MultiPage%,650:height MultiPage%,600:color MultiPage%,226,223,186 :font_size MultiPage%,12 :bar_vertical MultiPage% ' ---------------------------------------------------------------------- NbOnglet%=NbOnglet%+1:suivre%= PrimOnglet%+NbOnglet% edit suivre%:left suivre%,40:top suivre%,20:width suivre%,70:height suivre%,22:color suivre%,226,223,186 on_click suivre%,DeCadix : suivre%=suivre%+1 DernierOnglet%=1
dlist suivre% :NbOnglet%=NbOnglet%+1 :rem 1er onglet dlist PrimOnglet% :rem titres onglets
end ' ======================================================================================================================
choixFichier: filter MultiPage%+5,"chercher le fichier|existance fiches.txt" dossier$=file_name$(MultiPage%+5) return ' -------------------------------------------------------------- DeCadix: for a%=PrimOnglet%+1 to PrimOnglet%+ DernierOnglet%*2-1 step 2 if clicked(a%)=1 then exit_for next a% ongletclic%=a% :if onglet%=0 then onglet%=a% color onglet%,251,223,211:font_color onglet%,0,0,0:font_bold_off onglet% gosub sauve onglet%=ongletclic%:color onglet%,226,223,186:font_color onglet%,255,0,0:font_bold onglet% :rem celui du mémo gosub lecture :set_focus MultiPage% return ' -------------------------------------------------------------- sauve: color MultiPage%,251,186,159:display:wait 100 height onglet%,19 clear PrimOnglet% for a%=1 to (NbOnglet%-1)*2 step 2 a$=text$(PrimOnglet%+a%) item_add PrimOnglet%,a$ next a% rem les titres clear onglet%+1:ligne%=1 if count(MultiPage%)>0 while ligne%<=count(MultiPage%) a$=item_read$(MultiPage%,ligne%):item_add onglet%+1,a$ ligne%=ligne%+1 end_while end_if clear MultiPage% return ' -------------------------------------------------------------- lecture: color onglet%,251,223,211:font_color ongletclic%,0,0,0:font_bold_off onglet% wait 50:clear MultiPage% :wait 50 if count(onglet%+1)>0 ligne%=1 while ligne%<= count(onglet%+1) a$=item_read$(onglet%+1,ligne%) item_add MultiPage%,a$ ligne%=ligne%+1 end_while end_if height onglet%,22 :font_color onglet%,255,0,0:color onglet%, 226,223,186 color MultiPage%,226,223,186
return ' -------------------------------------------------------------- save: caption MultiPage%+2,"sauve" color MultiPage%,251,186,159:display:wait 100 for a%=1 to DernierOnglet% a$="onglet "+str$(a%)+".fic" file_save a%*2 + PrimOnglet%, a$ next a%
clear PrimOnglet% for a%=PrimOnglet%+1 to PrimOnglet%+(nbOnglet%-1)*2 step 2:item_add PrimOnglet%,text$(a%):next a% item_add PrimOnglet%,"$$$" file_save PrimOnglet%,"titre onglets.fic" caption MultiPage%+2,"sauvegarde":color MultiPage%,226,223,186 return ' -------------------------------------------------------------- load: color MultiPage%,251,186,159:display:wait 100 caption MultiPage%+1,"lire" clear PrimOnglet%:color MultiPage%,226,223,186 onglet%=PrimOnglet%+1: height onglet%,23
ligne%=1 while file_exists("onglet "+str$(ligne%)+".fic")=1 a$="onglet " + str$(ligne%) + ".fic" if ligne%>DernierOnglet% then gosub rajouOnglet if file_exists("onglet "+str$(ligne%)+".fic")=0 then exit_while file_load ligne%*2 + PrimOnglet% ,a$ ligne%=ligne%+1
end_while file_load PrimOnglet%,"titre onglets.fic" if count(PrimOnglet%)>0 ligne%=1 :ligOnglet%=1 while ligne%<= count(PrimOnglet%) a$=item_read$(PrimOnglet%,ligne%) if a$="$$$" then exit_while text PrimOnglet%+ligOnglet%,a$ ligne%=ligne%+1 :ligOnglet%=ligOnglet%+2 if ligne%>DernierOnglet% then exit_while end_while end_if gosub lecture : boite%=PrimOnglet%+2 caption MultiPage%+1,"lecture" :color MultiPage%,226,223,186 return ' -------------------------------------------------------------- rajouOnglet: suivre%=suivre%+1 edit suivre%:left suivre%,110-70+DernierOnglet%*70:top suivre%,20:width suivre%,70:height suivre%,22:color suivre%,251,223,211 font_color suivre%,0,0,0: on_click suivre%,DeCadix: suivre%=suivre%+1 dlist suivre%:NbOnglet%=NbOnglet%+1 DernierOnglet%=DernierOnglet%+1 return
Je sais pas si je pourrais suivre les éventuelles commentaire, je vais partir plusieurs jours dans le Jura A+ J'ai réédité ce code dont des lignes ont sautées
Dernière édition par cosmos70 le Sam 31 Oct 2009 - 16:54, édité 1 fois |
| | | Invité Invité
| Sujet: Re: un module Multipage Sam 31 Oct 2009 - 14:07 | |
| Super cosmos ton Multipage !
Juste une chose il peut déborder d'onglets.
A+ |
| | | Invité Invité
| Sujet: Re: un module Multipage Sam 31 Oct 2009 - 14:40 | |
| Désolé, comme je l'ai dis, je n'ai pas fini. J'ai l'intention de pouvoir aussi en mettre sur les côtés. J'ai un module à faire aussi pour modifier les paramètres. Mais une chose à la fois. Il y aura des modifs, qui j'espère n'aura pas d'effet sur ce pourra être enregistrés d'ici là. |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: un module Multipage Sam 31 Oct 2009 - 15:15 | |
| Content de te relire, je commencais à être inquiet.
Ton truc est pas mal, çà donne des idées. Il faut pour que çà marche créer le fichier ,"titre onglets.fic" à moins que je n'ai pas compris la mise en route.
Je vais regarder cela de plus près. | |
| | | Invité Invité
| Sujet: Re: un module Multipage Sam 31 Oct 2009 - 15:29 | |
| Il y a juste à crée un fichier vide, c'est seulement pour faciliter la recherche avec open_dialog. Seul ce fichier est visible lorsqu'il existe, ce qui facilite le repérage. J'ai beaucoup de chose à faire en ce moment, et je préfère intervenir que par nécessité. Mais je n'oubli rien. Pour que cela marche, il faut déjà écrire quelque chose dans un mémo, pour qu'il les retrouve à la lecture. Donc d'abord créer un fichier, là où on sauvegarde (vu que chaque mémo a un fichier, le mieux est de créer un dossier spécifique, à ce mémo) et mettre le fichier "existance fiches.txt" dans ce dossier. Après 1 ou 2 appels, il ne devrait plus avoir de problème. Le débordement d'onglet, je le savais lorsque j'ai envoyé ce post, mais il sera résolu ensuite. Je vais partir quelques jours. Je ne peux pas le faire maintenant. A+ |
| | | Invité Invité
| Sujet: Re: un module Multipage Sam 31 Oct 2009 - 17:01 | |
| J'ai réédité le programme. Des lignes ont sautées lors du nettoyage La couleur de l'onglet en cours, ne correspondait plus au mémo. Ensuite, si ce programme fonctionnait bien en cliquant sur lecture pour recharger les pages sauvegardées, il se bloquait au départ. Une variable n'était plus actualisée. A+ |
| | | Georges
Nombre de messages : 290 Age : 55 Localisation : Martinique Date d'inscription : 29/05/2009
| Sujet: re Mar 3 Nov 2009 - 15:34 | |
| salut Bravo Cosmos70, bel exemple de multi-pages @+ | |
| | | Invité Invité
| Sujet: Re: un module Multipage Dim 6 Déc 2009 - 12:08 | |
| modification silencieuse le 9 décembre 7h36
J'ai refais mon programme, dont voici l'effet: https://2img.net/r/ihimizer/img188/5789/mmopourweb.jpgJe n'arrive plus à mettre les images directement ici? ESSAYEZ CE PROGRAMME? IL EST IMPORTANT DE CONNAITRE LES LIMITES DU BASIC et qui apparaissent iciJe viens de rééditer : il faut tout mettre dans le même dossier, et modifier la ligne:50 avec: dossier$="E:\MEMO\" pour ettre en conformité avec votre extension (désolé mais avec les problèmes que j'ai eu, je n'ai plus pensé à revoir la faculté de choisir ou modifier le dossier) A partir du moment que le programme fonctionne, tout nouvel onglet, ou nouvelle liste, se chargera de lui-même. Vous quittez sur le bouton stop, et la sauvegarde se fait sans rien demander. Je ne le recopie pas sur l'autre, parce que celui-ci est plus complet, mais des fonctions refusent de fonctionner, la suite en dessous. Je vous livre cette nouvelle version de multi page. Cette version n'est pas parfaite, je l'aurai bien voulu, mais je suis confronté depuis plusieurs jours à un problème qui n'est pas le mien, mais celui de Panoramic. Je ne suis d'ailleurs pas sure qu'il soir vraiment en cause, mais peu être lié aux interruptions liés au système de xp. J'ai inclus dans mon programme une boite de propriété, et depuis je n'ai que des problèmes. Ce n'ai pas une erreur de programmation, pas encore, puisque la cause n'a pas été signalée (à ma connaissance), mais le deviendra ensuite, si il est défini dans ses limites. En incluant cette boite (d'ailleurs ce problème je l'ai déjà eu précédemment, mais je ne savais pas pourquoi), des lignes de programme ne sont plus prise en compte, ainsi dans un des sous programme "DeCadix" (pourquoi DeCadix? parce que codage: LABEL DeCadix a des yeux de velours ... c'est pour les anciens) vers la ligne 370: position barFonteROUGE,rouge% position barFonteVERT,vert% etc.... toutes ces lignes ont étés déplacé, elles étaient codées ainsi a$=item_read$(listINI,boite%) Frouge%=val(left$( a$,3)):position barFonteROUGE,rouge% Fvert%=val( mid$(a$,5,3)):position barFonteVERT,vert% etc... etc... et là, le texte ne s'affichait plus correctement. Les paramètres n'étaient plus actualisé. C'est en déplaçant « position ... » que j'ai pu afficher le texte avec les paramètres convenablement. Par contre en déplacant ces lignes, c'est celle-ci qui ne sont plus dans le sous/prog n'est plus fonctionnel. La question est la suivante: EST-CE IL N'Y A PAS UNE LIMITE DANS LE NOMBRE D'OBJETS QUI PUISSENT FONCTIONNER ENSEMBLE ? Le basic étant un basic à événements, est-ce que avec ON_CLIC ON_CHANGE qui surement sont lus pendant les interruptions, ceux-ci sont limité par le nombre, est-ce que la fréquence du processeur entre en compte? Il serait bien que Jack donne des précisions pour savoir quoi faire. Peut-être avec la fonction que je vois, OFF_CLICK ..., il faut l'utiliser pour que ne soit opérationnel qu'une parties des objets cliquables à la fois ??? Dans ce cas il faudra prévoir une table pour savoir si on doit ou non modifier ces paramètres, comme dans ce type de programme, où les onglets, on les ajoute ou on les efface à volonté. Quoi qu'il en soit, je livre le programme tel-quel. J'ai mis des lignes en REM lorsque cela pose problème dans le logiciel, c'est à vous de voir, si certaines peuvent oui ou non être incorporées. (Ayant un vieux XP avec 500 MG de mémoire est-ce le problème?). Dans ce programme, j'ai utilisé en partie le programme de Georges pour ce qui concerne une boite d'appels diverses. En regardant de très près, j'ai trouvé une solution pour pouvoir modifier un objet ALPHA. A vous de chercher. Même si vous n'aimez pas ce programme, je vous demande de l'essayer, et de modifier les lignes qui sont mis en REM. Vous verrez qu'il y a une limite à ce qu'on peut faire. Je remarque aussi, cela dépend, qu'il faut cliquer une 2ème fois sur un onglet pour que l'affichage soit entièrement actualisée (texte et propriétés) REMARQUE: si la bordure reste marron, il faut re-cliquer sur l'onglet, le programme n'a pas été jusqu'au "RETURN" Cette fois-ci il est nécessaire de télécharger les boutons qui vont avec ce programme Apparemment Jack a retirer toute possibilité de pouvoir afficher des images sur ce site (et faire une aide avec - je n'ai pas le temps pour l'inclure dans le programme). - Code:
-
' boite d'onglets complétée donc Version 02 dim dossier$,boite%,ligne%,a$,onglet% ,a%,i%,PrimOnglet%,NbOnglet% ,DernierOnglet%,LigOnglet%,suivre% dim ongletclic% ,sauve% ,table% ,decale%,objet%,suivi%,ga%,mi%,dr%,f$,liste%,tiroir$,larg%,alfa%,haut% dim gauche%,Hfonte% dim VIGNETTE% dim rouge%,vert%,bleu% ,Frouge%,Fvert%,Fbleu% ,boiteprop%,Fnom$,default$
' ------------VARIABLES NOM D'OBJETS------------------------------------------- dim FenDoc,FlecheG,FlecheD,halt,DDialog,tiroir,MMenuM,MMenuFichier,MMenuLecture dim MMenuSauve,MMenuOnglet,MMenuQuelFichier,Cinoche,enreg,onglet,TableOnglet dim listINI,BoiteBOX,BoutonOUI,BoutonNON,ALFAques,Repond,AJOUTliste,Renomme dim etiquet,OnglEface,montreSize,BarSize,alfaSize,boutonGO,listeFONTE,montrExemple dim carreFondBLEU,carreFondVERT,carreFondROUGE,BarFondBLEU,BarFondVERT dim BarFondROUGE,alfaFontImage,carreFonteBLEU,carreFonteVERT,carreFonteROUGE dim BarFonteBLEU,BarFonteVERT,BarFonteROUGE,choixFonteBARRE,choixFonteSOULIGNE dim choixFonteITALIC,choixFonteGRAS,alfaFONTE,choixLargHaut,BoiteModif dim ApelStyl,stoppe
' Ces lignes suivantes ont étées défini par le programme publié sur des objets nommés par des variables rem variables définissant les objets FenDoc=1 : FlecheG=FenDoc+1 : FlecheD=FlecheG+1 : halt=FlecheD+1 : DDialog=halt+1 tiroir=DDialog+1 : MMenuM=tiroir+1 : MMenuFichier=MMenuM+1 : MMenuLecture=MMenuFichier+1 MMenuSauve=MMenuLecture+1 : MMenuOnglet=MMenuSauve+1 : MMenuQuelFichier=MMenuOnglet+1 Cinoche=MMenuQuelFichier+1 : enreg=Cinoche+1 : onglet=enreg+1 : TableOnglet=onglet+1 listINI=TableOnglet+1 : BoiteBOX=listINI+1 : BoutonOUI=BoiteBOX+1 : BoutonNON=BoutonOUI+1 ALFAques=BoutonNON+1 : Repond=ALFAques+1 : AJOUTliste=Repond+1 : Renomme=AJOUTliste+1 etiquet=Renomme+1 : OnglEface=etiquet+1 : montreSize=OnglEface+1 : BarSize=montreSize+1 alfaSize=BarSize+1 : boutonGO=alfaSize+1 : listeFONTE=boutonGO+1 : montrExemple=listeFONTE+1 carreFondBLEU=montrExemple+1 : carreFondVERT=carreFondBLEU+1 : carreFondROUGE=carreFondVERT+1 BarFondBLEU=carreFondROUGE+1 : BarFondVERT=BarFondBLEU+1 : BarFondROUGE=BarFondVERT+1 alfaFontImage=BarFondROUGE+1 : carreFonteBLEU=alfaFontImage+1 : carreFonteVERT=carreFonteBLEU+1 carreFonteROUGE=carreFonteVERT+1 : BarFonteBLEU=carreFonteROUGE+1 : BarFonteVERT=BarFonteBLEU+1 BarFonteROUGE=BarFonteVERT+1 : choixFonteBARRE=BarFonteROUGE+1 : choixFonteSOULIGNE=choixFonteBARRE+1 choixFonteITALIC=choixFonteSOULIGNE+1 : choixFonteGRAS=choixFonteITALIC+1 : alfaFONTE=choixFonteGRAS+1 choixLargHaut=alfaFONTE+1 : BoiteModif=choixLargHaut+1 : ApelStyl=BoiteModif+1 : stoppe=ApelStyl+1
VIGNETTE%=stoppe+1:' cet variable permet d'ajouter des objets sans revoir l'intérieur du programme ' autrement elle serait inutile label DeCadix ,lecture,sauve,save,load,rajouOnglet,choixFichier,fin ,vu,droite,gauche,voir_onglet,liste,nom label box,oui,non ,changeNom,alfa1,accepte label del_Onglet,sortieBoite,fermeBoite,afice,prisePosition,DeCadix1 ' labels pour boite propriété label auf ,unserem ,bild ,vier,manner,mit,schneider
color 0,205,242,227 :left 0,200 : gauche%=100 : haut% =100
' ------------------------------------------------------------------------------ ' ' ' ' dossier$="E:\MEMO\" :' rem ADAPTEZ LE DOSSIER SELON VOTRE EMPLACEMENT ' dir_change dossier$ : ' ' ' ' ' ' ------------------------------------------------------------------------------' ' ============================================================================== picture AJOUTliste :left AJOUTliste,505:top AJOUTliste,0:width AJOUTliste,25:height AJOUTliste,23 stretch_on AJOUTliste:file_load AJOUTliste,dossier$+"new_item.jpg":hint AJOUTliste,"Ajouter une LISTE"
picture Renomme :left Renomme,535:top Renomme,0:width Renomme,25:height Renomme,23 stretch_on Renomme:file_load Renomme,dossier$+"rename.jpg" :hint Renomme,"changer le nom de la liste"
suivre%=VIGNETTE% :' suivre% défini chaque onglet par EDIT et DLIST dans lequel chaque mémo est sauvegardé.
larg%=680:haut%=720 left 0,550:top 0,10:width 0,larg%:height 0,haut% :color 0,210,230,210 :rem border_hide 0 caption 0,"Mémo multiple" mi%=int((width(0)-120 )/70): ' nb d'onglets disponible sur la largeur ' ======================== picture FlecheG:left FlecheG,52:top FlecheG,24:width FlecheG,23:height FlecheG,23 file_load FlecheG,"FlecheG.jpg":hint FlecheG,"onglet précédent": hide FlecheG on_click FlecheG,gauche picture FlecheD:top FlecheD,24:width FlecheD,23:height FlecheD,23 file_load FlecheD,"FlecheD.jpg":hint FlecheD,"onglet suivant": hide FlecheD on_click FlecheD,droite : left FlecheD,(mi%+1)*70+3 ' -------------------------------------------------------------------- button halt:left halt,580:top halt,3:width halt,40:height halt,18 caption halt,"Stop" :on_click halt,fin:hint halt,"Quittez avec sauvegarde" open_dialog DDialog ' -------------------------------------------------------------------- ' ' list pour remplacer les onglets verticaux combo tiroir:left tiroir,200 :top tiroir,0:width tiroir,300 height tiroir,20:color tiroir,210,230,210:font_size tiroir,11 font_bold tiroir:font_color tiroir,0,0,255 :hint tiroir,"changer de liste" on_click tiroir,liste ' -------------------------------------------------------------------- LigOnglet%=0 main_menu MMenuM sub_menu MMenuFichier:caption MMenuFichier,"Menu":parent MMenuFichier,MMenuM sub_menu MMenuLecture:caption MMenuLecture,"Lecture":parent MMenuLecture,MMenuFichier on_click MMenuLecture,load sub_menu MMenuSauve:caption MMenuSauve,"Sauvegarde":parent MMenuSauve,MMenuFichier on_click MMenuSauve,save sub_menu MMenuOnglet:caption MMenuOnglet,"Neuw Onglet":parent MMenuOnglet,MMenuFichier on_click MMenuOnglet,rajouOnglet sub_menu MMenuQuelFichier:caption MMenuQuelFichier,"FICHIER ?":parent MMenuQuelFichier,MMenuFichier on_click MMenuQuelFichier,choixFichier ' -------------------------------------------------------------------- memo FenDoc:left FenDoc,10:top FenDoc,42:width FenDoc,width(0)-30:height FenDoc,haut%-110 color FenDoc,230,250,155 :font_size FenDoc,14 :bar_both FenDoc ' ------------------------------------------------------------------- picture Cinoche:left Cinoche,0:width Cinoche,25 :height Cinoche,23 stretch_on Cinoche:file_load Cinoche,dossier$+"RAJEUNIR.jpg" hint Cinoche,"adapter les onglets et le mémo avec la fenêtre" on_click Cinoche,vu ' ------------------------------------------------------------------- dlist TableOnglet :rem titres onglets ' ------------------------------------------------------------------- picture enreg:left enreg,70:top enreg,0:width enreg,23:height enreg,23 file_load enreg,dossier$ + "SAVE1.jpg" on_click enreg,save:hint enreg,"sauvegarder" ' ------------------------------------------------------------------- picture onglet:left onglet,97:top onglet,0:width onglet,25:height onglet,25 stretch_on onglet:file_load onglet,dossier$+"AjOnglet.jpg":on_click onglet,rajouOnglet hint onglet,"ajouter un onglet" ' ------------------------------------------------------------------- ' la fonte pour cet edit est une fonte ayant des caractères de largeur identique (27 dans cet edit) ' si elle n'est pas installé, mettre une ayant les mêmes caractéristiques edit etiquet:left etiquet,200:top etiquet,0:width etiquet,280:height etiquet,20 font_size etiquet,13:font_color etiquet,0,0,255:font_name etiquet,"aSwIt Mono 864" font_bold etiquet:color etiquet,148,243,206 picture OnglEface:left OnglEface,127:top OnglEface,0:width OnglEface,25 height OnglEface,23:hint OnglEface,"effacer l'onglet en cours" stretch_on OnglEface:file_load OnglEface,dossier$+"efface.jpg":on_click OnglEface,accepte ' ------------------------------------------------------------------- picture ApelStyl:left ApelStyl,30:top ApelStyl,0:width ApelStyl,25:height ApelStyl,23 stretch_on ApelStyl:file_load ApelStyl,dossier$+"BoitePropriétés.jpg" on_click ApelStyl,sortieBoite:hint ApelStyl,"monter BOITE PROPRIÉTÉ"
' =================BOITE PROPRIÉTÉ DES ONGLETS================================== form BoiteModif :hide BoiteModif :left BoiteModif,200+left(FenDoc):top BoiteModif,100 width BoiteModif,330 : height BoiteModif,320: color BoiteModif,242,232,205 border_hide BoiteModif : on_click BoiteModif,auf
COMMAND_TARGET_IS BoiteModif Dlist listINI ' ----------------FONTE------------------------------- ' FONTE alpha alfaFONTE:left alfaFONTE,20:top alfaFONTE,40:font_color alfaFONTE,255,0,0 font_bold alfaFONTE:caption alfaFONTE,"FONTE:" check choixFonteGRAS:left choixFonteGRAS,20:top choixFonteGRAS,65 caption choixFonteGRAS,"gras":width choixFonteGRAS,60:on_click choixFonteGRAS,vier check choixFonteITALIC:left choixFonteITALIC,80:top choixFonteITALIC,65 caption choixFonteITALIC,"italic":width choixFonteITALIC,60 :on_click choixFonteITALIC,manner check choixFonteSOULIGNE:left choixFonteSOULIGNE,140:top choixFonteSOULIGNE,65 caption choixFonteSOULIGNE,"souligné":width choixFonteSOULIGNE,60 on_click choixFonteSOULIGNE,mit check choixFonteBARRE:left choixFonteBARRE,200:top choixFonteBARRE,65 caption choixFonteBARRE,"barré":width choixFonteBARRE,60:on_click choixFonteBARRE,schneider ' ----------------------------------------------- scroll_bar BarFonteROUGE:left BarFonteROUGE,20:top BarFonteROUGE,090 width BarFonteROUGE,250:height BarFonteROUGE,10:max BarFonteROUGE,255 on_change BarFonteROUGE,auf scroll_bar BarFonteVERT:left BarFonteVERT,20:top BarFonteVERT,110 width BarFonteVERT,250:height BarFonteVERT,10:max BarFonteVERT,255 on_change BarFonteVERT,auf scroll_bar BarFonteBLEU:left BarFonteBLEU,20:top BarFonteBLEU,130 width BarFonteBLEU,250:height BarFonteBLEU,10:max BarFonteBLEU,255 on_change BarFonteBLEU,auf picture carreFonteROUGE:left carreFonteROUGE,290:top carreFonteROUGE,88 width carreFonteROUGE,15:height carreFonteROUGE,15:color carreFonteROUGE,255,0,0 picture carreFonteVERT:left carreFonteVERT,290:top carreFonteVERT,108 width carreFonteVERT,15:height carreFonteVERT,15:color carreFonteVERT,0,255,0 picture carreFonteBLEU:left carreFonteBLEU,290:top carreFonteBLEU,128 width carreFonteBLEU,15:height carreFonteBLEU,15:color carreFonteBLEU,0,0,255 ' ----------------FOND DU MEMO ET ONGLET-------------- alpha alfaFontImage:left alfaFontImage,20:top alfaFontImage,160 font_color alfaFontImage,255,0,0:font_bold alfaFontImage caption alfaFontImage,"FOND image:" scroll_bar BarFondROUGE:left BarFondROUGE,20:top BarFondROUGE,180 width BarFondROUGE,250:height BarFondROUGE,10:max BarFondROUGE,255 min BarFondROUGE,0 :position BarFondROUGE,255:on_change BarFondROUGE,auf scroll_bar BarFondVERT:left BarFondVERT,20:top BarFondVERT,200 width BarFondVERT,250:height BarFondVERT,10:max BarFondVERT,255:min BarFondVERT,0 position BarFondVERT,255:on_change BarFondVERT,auf scroll_bar BarFondBLEU:left BarFondBLEU,20:top BarFondBLEU,220 width BarFondBLEU,250:height BarFondBLEU,10:max BarFondBLEU,255:min BarFondBLEU,0 position BarFondBLEU,255:on_change BarFondBLEU,auf picture carreFondROUGE:left carreFondROUGE,290:top carreFondROUGE,178 width carreFondROUGE,15:height carreFondROUGE,15:color carreFondROUGE,255,0,0 picture carreFondVERT:left carreFondVERT,290:top carreFondVERT,198 width carreFondVERT,15:height carreFondVERT,15:color carreFondVERT,0,255,0 picture carreFondBLEU:left carreFondBLEU,290:top carreFondBLEU,218 width carreFondBLEU,15:height carreFondBLEU,15:color carreFondBLEU,0,0,255 ' -----------------TEXTE EXEMPLE----------- memo montrExemple:left montrExemple,20:top montrExemple,240:width montrExemple,300:' texte vérifie height montrExemple,70:color montrExemple,200,200,200 item_add montrExemple,"aAbBcC . ; , : 123456789" :font_size montrExemple,20 combo listeFONTE:left listeFONTE,70:top listeFONTE,40:height listeFONTE,20 : ' LISTE FONTE width listeFONTE,250:font_names_load listeFONTE:on_click listeFONTE,unserem ' ----------------------------------------- alpha alfaSize:left alfaSize,308:top alfaSize,75:caption alfaSize,"Size" :' HAUTEUR FONTE scroll_bar BarSize:vertical BarSize:left BarSize,310:top BarSize,90 width BarSize,10:height BarSize,230:min BarSize,1:max BarSize,30 position BarSize,12 :on_change BarSize,auf edit montreSize:top montreSize,152:left montreSize,280:width montreSize,25 :' VALEUR SIZE button boutonGO:left boutonGO,240:top boutonGO,20:width boutonGO,45 height boutonGO,16:caption boutonGO,"voir":on_click boutonGO,bild picture stoppe:left stoppe,300:top stoppe,10:width stoppe,25:height stoppe,23 stretch_on stoppe:file_load stoppe,dossier$+"stop.jpg":on_click stoppe,fermeBoite hint stoppe,"fermer la boite" ' ________________________________________________________________________ command_target_is 0:display PrimOnglet% = suivre% gosub rajouOnglet :boite%=1 ' ============ ============= =============== if file_exists(dossier$+"existance fiches.txt")=1 f$="LISTE1\":liste%=1 gosub load end_if
' =======boite box pour ajouter une série d'onglet=repris en partie à Georges=== form BoiteBOX : hide BoiteBOX :border_small BoiteBOX :color BoiteBOX,227,96,21: height BoiteBOX,145 caption BoiteBOX,"INPUT BOX" : top BoiteBOX,300 : left BoiteBOX,450 : width BoiteBOX,420
' rem button ques+4:on_click ques+4,box :left ques+4,400:caption ques+4,"go" button BoutonOUI : caption BoutonOUI,"Oui" : parent BoutonOUI,BoiteBOX : top BoutonOUI,80 left BoutonOUI,100 : show BoutonOUI : width BoutonOUI,70 : on_click BoutonOUI,oui ' -- button BoutonNON : caption BoutonNON,"Annulé" : parent BoutonNON,BoiteBOX : top BoutonNON,80 left BoutonNON,240 : show BoutonNON : width BoutonNON,80 : on_click BoutonNON,non ' rem alpha ques+3 :caption ques+3,"NOM de la liste d'onglet ? :" :parent ques+3,ques :alfa%=1 ' rem top ques+3,10 :left ques+3,30 ' -- edit Repond :parent Repond,BoiteBOX : top Repond,40 : left Repond,30 width Repond,350 :height Repond,30 :font_size Repond,12:font_bold Repond ' ________________ on_click AJOUTliste,box : on_click Renomme,nom ' ---------------
end : ' $$$$$$$$$$$$$$$$$ FIN LISTAGE DES OBJETS $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
' ==================SOUS PROGRAMMES BOITE BOX=================================== fermeBoite: hide BoiteModif :boiteprop%=0 return ' --------------- sortieBoite: if boiteprop%=0 show BoiteModif :boiteprop%=1 ' mettre les curseurs (en réalité ne le fait que très mal gosub afice ' rem position BarSize,Hfonte%:text montreSize,Hfonte% idem else hide BoiteModif :boiteprop%=0 end_if return ' --------------- alfa1: show Repond if alfa%=1 then delete ALFAques:alfa%=0:' ici comment modifier un ALPHA alpha ALFAques :parent ALFAques,BoiteBOX :alfa%=1:top ALFAques,10:left ALFAques,10 ' ----------------FONTE------------------------------- font_size ALFAques,11:font_bold ALFAques:font_name ALFAques,"aSwIt Mono 864" font_color ALFAques,115,255,0 return ' --------------- box: gosub alfa1 : caption ALFAques,"NOM de la liste d'onglet ? :" inactive 0:show BoiteBOX:set_focus Repond return ' --------------- oui: active 0 :hide BoiteBOX set_focus FenDoc if count(tiroir)>0 for a%=1 to count(tiroir) if item_read$(tiroir,a%)=text$(Repond) then exit for next a% if a%>count(tiroir) item_add tiroir,text$(Repond) if dir_exists(dossier$+"LISTE"+str$(count(tiroir)))=0 dir_make dossier$+"LISTE"+str$(count(tiroir)) end_if end_if end_if return
non: active 0 :hide BoiteBOX:return ' --------------- nom: gosub alfa1 caption ALFAques,"quel nom pour remplacer: "+item_read$(tiroir,liste%)+" ?" inactive 0:show BoiteBOX:set_focus Repond on_click BoutonOUI,changeNom return ' --------------- changeNom: item_delete tiroir,liste% item_insert tiroir,liste%,text$(Repond):on_click BoutonOUI,oui active 0:hide BoiteBOX return ' --------------- accepte: gosub alfa1 caption ALFAques,"Suppression de l'onglet: "+text$(onglet%) hide Repond inactive 0:show BoiteBOX on_click BoutonOUI,del_Onglet :on_click AJOUTliste,box return ' --------------- prisePosition: position barFonteROUGE,rouge% position barFonteVERT,vert% position barFonteBLEU,bleu%
position barFondROUGE,Frouge% position barFondVERT,Fvert% position barFondBLEU,Fbleu% position BarSize,Hfonte% text listeFONTE,Fnom$ return ' ============================================================== vu: mi%=int((width(0)-120 )/70): ' nb d'onglets disponible sur la largeur width FenDoc,width(0)-30:height FenDoc,height(0)-110 hide FlecheD:Decale%=0 if NbOnglet%>mi% then decale%=NbOnglet%-mi% ga%=PrimOnglet%+1+suivi%*2 :left FlecheD,(mi%+1)*70+3 dr%=ga%+(mi%-1)*2 for a%= primOnglet%+1 to suivre%-1 step 2:hide a%: next a% if dr%>suivre%-1 then dr%=suivre%-1 for a%=ga% to dr% step 2 show a% next a% dr%=dr%+2 while dr%<DernierOnglet% *2+PrimOnglet%+1 hide dr% :show FlecheD dr%=dr%+2 end_while if mi%=>NbOnglet% for a%=PrimOnglet%+1 to suivre%-1 step 2 :' rappel PrimOnglet est la table, et +1 le 1er onglet (2 par 2 avec dlist) show a%:wait 100 ' rem curieusement si il y décalage dans le cas où tous les onglets ' rentrent dans la fenêtre, certain onglets ne se montrent pas parfois, alors SHOW les activent normalement???? ' message a% :' pour voir le résultat !!! curieux next a% hide FlecheG :hide FlecheD : suivi%=0 : decale%=0 end_if return ' -------------------------------------------------------------- choixFichier: filter DDialog,"chercher le fichier|existance fiches.txt" dossier$=file_name$(DDialog) return ' ============================================================== DeCadix: color 0,206,155,75 gosub fermeBoite boite%=0 for a%=PrimOnglet%+1 to suivre%+ DernierOnglet%*2-1 step 2 boite%=boite%+1 if clicked(a%)=1 then exit_for next a% ongletclic%=a% :if onglet%=0 then onglet%=a% caption 0,item_read$(TableOnglet,boite%) DeCadix1: a%=count(listINI) if a%>0 and boite%<=a% a$=item_read$(listINI,boite%) Frouge%=val(left$( a$,3)) Fvert%=val( mid$(a$,5,3)) Fbleu%=val( mid$(a$,9,3)) color FenDoc,Frouge%,Fvert%,Fbleu% :color PrimOnglet%+1+(boite%-1)*2,Frouge%,Fvert%,Fbleu% color FenDoc,Frouge%,Fvert%,Fbleu% :color PrimOnglet%+1+(boite%-1)*2,Frouge%,Fvert%,Fbleu%
rouge%=val(mid$(a$,13,3)) vert% =val(mid$(a$,17,3)) bleu% =val(mid$(a$,21,3)) font_color FenDoc,rouge%,vert%,bleu%:font_color PrimOnglet%+1+(boite%-1)*2,rouge%,vert%,bleu% font_color FenDoc,rouge%,vert%,bleu%:font_color PrimOnglet%+1+(boite%-1)*2,rouge%,vert%,bleu%
Hfonte%=val(mid$(a$,25,2)):font_size FenDoc,Hfonte% Hfonte%=val(mid$(a$,25,2)):font_size FenDoc,Hfonte% Fnom$=right$(a$,len(a$)-35):font_name FenDoc,Fnom$ text listeFONTE,Fnom$ if mid$(a$,28,1)="0" :' J'ai retirer le décochement, il faut cliquer 2 fois pour que le bon texte s'affiche font_bold_off FenDoc:' mark_off choixFonteGRAS else font_bold FenDoc:' mark_on choixFonteGRAS end_if if mid$(a$,30,1)="0" font_italic_off FenDoc:' mark_off choixFonteITALIC else font_italic FenDoc:' mark_on choixFonteITALIC end_if if mid$(a$,32,1)="0" font_underline_off FenDoc:' mark_off choixFonteSOULIGNE else font_underline FenDoc:' mark_on choixFonteSOULIGNE end_if if mid$(a$,34,1)="0" font_strike_off FenDoc:' mark_off choixFonteBARRE else font_strike FenDoc:' mark_on choixFonteBARRE end_if end_if color 0,210,230,210 onglet%=onglet%:ongletclic%=ongletclic% font_bold_off onglet% wait 1:print gosub sauve if onglet%<> ongletclic% onglet%=ongletclic% font_bold onglet% :rem celui du mémo clear FenDoc gosub lecture :set_focus FenDoc end_if font_bold onglet% ' rem arque: si les 7 lignes suivantes, vous les mettez plus haut (avant END_IF) ' les lignes suivant le END_IF ne sont pas prisent en compte dans le programme jusqu'au RETURN position barFonteROUGE,rouge% position barFonteVERT,vert% position barFonteBLEU,bleu% position barFondROUGE,Frouge% position barFondVERT,Fvert% position barFondBLEU,Fbleu% position BarSize,Hfonte%:text montreSize,Hfonte% return ' -------------------------------------------------------------- sauve: color 0,206,155,75 height onglet%,19 ' -------------------- on prend le titre de chaque vignette =>> dlist clear TableOnglet for a%=1 to (NbOnglet%)*2 step 2 a$=text$(PrimOnglet%+a%) item_add TableOnglet,a$ next a% ' -------------------- on transmet le memo dans dlist clear onglet%+1:ligne%=1 if count(FenDoc)>0 while ligne%<=count(FenDoc) a$=item_read$(FenDoc,ligne%):item_add onglet%+1,a$ ligne%=ligne%+1 end_while end_if return ' -------------------------------------------------------------- lecture: color 0,206,155,75 font_color ongletclic%,0,0,0 font_bold_off onglet% wait 50:clear FenDoc :wait 50 if count(onglet%+1)>0 ligne%=1 while ligne%<= count(onglet%+1) a$=item_read$(onglet%+1,ligne%) item_add FenDoc,a$ ligne%=ligne%+1 end_while sauve%=1 end_if height onglet%,22 font_bold onglet% if NbOnglet%<=mi% then hide FlecheD color 0,210,230,210 return ' --------------------------------------------------------------!!!!!!!!!!!!!!!! afice: ' on vient ici pour connaitre les curseurs avant d'afficher la boite de propriété ' ce s/prog était aussi appelé par DeCadix, mais empéchait l'actualisation de l'affichage de FenDoc (mémo) a%=count(listINI) if a%>0 if boite% <= a% a$=item_read$(listINI,boite%) Frouge%=val(left$( a$,3)) Fvert%=val( mid$(a$,5,3)) Fbleu%=val( mid$(a$,9,3)) color FenDoc,Frouge%,Fvert%,Fbleu% :color PrimOnglet%+1+(boite%-1)*2,Frouge%,Fvert%,Fbleu%
rouge%=val(mid$(a$,13,3)) vert% =val(mid$(a$,17,3)) bleu% =val(mid$(a$,21,3)) font_color FenDoc,rouge%,vert%,bleu%:font_color PrimOnglet%+1+(boite%-1)*2,rouge%,vert%,bleu%
Hfonte%=val(mid$(a$,25,2)):font_size FenDoc,Hfonte% ' rem arques: Il n'est pas possible chez moi, d'afficher le texte et mettre mark_... a jour!!!! text montreSize,Hfonte% :' le texte de la fonte n'est pas renouvelé !!!
if mid$(a$,28,1)="0" font_bold_off FenDoc:' mark_off choixFonteGRAS else font_bold FenDoc:' mark_on choixFonteGRAS end_if if mid$(a$,30,1)="0" font_italic_off FenDoc:' mark_off choixFonteITALIC else font_italic FenDoc:' mark_on choixFonteITALIC end_if if mid$(a$,32,1)="0" font_underline_off FenDoc:' mark_off choixFonteSOULIGNE else font_underline FenDoc:' mark_on choixFonteSOULIGNE end_if if mid$(a$,34,1)="0" font_strike_off FenDoc:' mark_off choixFonteBARRE else font_strike FenDoc:' mark_on choixFonteBARRE end_if Fnom$=right$(a$,len(a$)-35):font_name FenDoc,Fnom$ : hide FenDoc:show FenDoc text listeFONTE,Fnom$ ' je ne suis plus sure que les 3 cdes suivantes sont pris en compte position barFondROUGE,Frouge%:position barFondVERT,Fvert%:position barFondBLEU,Fbleu% position barFonteROUGE,rouge%:position barFonteVERT,vert%:position barFonteBLEU,bleu% position BarSize,Hfonte% ' message "Frouge%vert%bleu%="+str$(Frouge%)+" "+str$(Fvert%)+" "+str$(Fbleu%)+chr$(13)+"fonte="+str$(rouge%)+" "+str$(vert%)+" "+str$(bleu%)+" Hfonte%="+str$(Hfonte%) ' rem IL NE MET PAS LE CURSEUR EN POSITION POUR SIZE ET LA TAILLE DU TEXTE ' rem for a%=PrimOnglet%+1 to suivie% step 2:off_click a%:message a%:next a% end_if end_if return ' -------------------------------------------------------------- save: ' return: ' pour éviter la sauvegarde pendant les testes ! color 0,206,155,75 file_load enreg,dossier$+"SAVE2.jpg":wait 500:file_load enreg,dossier$+"SAVE1.jpg" gosub sauve sauve%=1 :f$="LISTE"+str$(liste%)+"\" if sauve%=1 color FenDoc,251,186,159:display:wait 100 for a%=1 to DernierOnglet% a$="onglet "+str$(a%)+".fic" file_save a%*2 + PrimOnglet%, f$+a$ next a% clear TableOnglet for a%=PrimOnglet%+1 to PrimOnglet%+(nbOnglet%)*2 step 2 item_add TableOnglet,text$(a%) : next a% item_add TableOnglet,"$$$" file_save TableOnglet,f$+"titre onglets.fic" color FenDoc,230,250,155 file_save tiroir,dossier$+"LISTE.fic" file_save listINI, f$+"style.fic" end_if color FenDoc,Frouge%,Fvert%,Fbleu% :color PrimOnglet%+1+(boite%-1)*2,Frouge%,Fvert%,Fbleu% font_color FenDoc,rouge%,vert%,bleu%:font_color PrimOnglet%+1+(boite%-1)*2,rouge%,vert%,bleu% color 0,210,230,210 return ' -------------------------------------------------------------- load: color 0,206,155,75 color FenDoc,251,186,159:display:wait 100 clear TableOnglet:color FenDoc,230,250,155 onglet%=PrimOnglet%+1: height onglet%,23 ligne%=1 f$="LISTE"+str$(liste%)+"\" while file_exists(f$+"onglet "+str$(ligne%)+".fic")=1 a$=f$+"onglet " + str$(ligne%) + ".fic" if ligne%>DernierOnglet% then gosub rajouOnglet if file_exists(f$+"onglet "+str$(ligne%)+".fic")=0 then exit_while file_load ligne%*2 + PrimOnglet% ,a$ ligne%=ligne%+1 end_while if file_exists( f$+"titre onglets.fic") =1 file_load TableOnglet,f$+"titre onglets.fic" if count(TableOnglet)>0 ligne%=1 :ligOnglet%=1 while ligne%<= count(TableOnglet) a$=item_read$(TableOnglet,ligne%) if a$="$$$" then exit_while text PrimOnglet%+ligOnglet%,a$ ligne%=ligne%+1 :ligOnglet%=ligOnglet%+2 if ligne%>DernierOnglet% then exit_while end_while end_if else if count(TableOnglet)=0 then item_add TableOnglet,"Début" end_if gosub lecture if file_exists (dossier$+"LISTE.fic")=1 file_load tiroir,dossier$+"LISTE.fic":ligne%=1 repeat a$=item_read$(tiroir,ligne%) if trim$(a$)="" then item_delete tiroir,ligne%:exit_repeat ligne%=ligne%+1 until ligne%>count(tiroir) ' si une autre fonte est installée, voir si 28 permet le centrage du texte a$=item_read$(tiroir,liste%):text etiquet,left$(" ",int((28-len(a$))/2))+a$ end_if :' ici ^^ if file_exists(f$+"style.fic" )=1 file_load listINI, f$+"style.fic" end_if color FenDoc,230,250,155 gosub afice color 0,210,230,210 return ' -------------------------------------------------------------- liste: color 0,206,155,75 if item_index(tiroir)<>liste% hide FenDoc:wait 500:show FenDoc:set_focus FenDoc ' traitement on sauvegarde d'abord avant de modifier liste% gosub save ' on supprime onglets et dlist for a%=PrimOnglet%+1 to suivre% delete a% next a% hide FlecheD:hide FlecheG suivre%=VIGNETTE% :PrimOnglet% = suivre%: DernierOnglet%=0:suivi%=0:NbOnglet%=0 liste%=item_index(tiroir) tiroir$=item_index$(tiroir) onglet%=PrimOnglet%+1:ongletclic%=onglet% ' si une autre fonte est installée, voir si 28 permet le centrage du texte clear listINI text etiquet,left$(" ",int((28-len(a$))/2))+tiroir$ gosub rajouOnglet:boite%=1 :' ici ^^ gosub load end_if color 0,210,230,210 return ' -------------------------------------------------------------- del_Onglet: active 0:hide BoiteBOX if NbOnglet%>1 if onglet%<suivre%-1 for a%=onglet%+2 to suivre%-1 step 2 text a%-2, text$(a%) clear a%-1 if count(a%+1)>0 for i%=1 to count(a%+1) item_add a%-1,item_read$(a%+1,i%) next i% end_if next a% else if NbOnglet%>1 onglet%=onglet%-2 :ongletclic%=onglet% else clear FenDoc end_if end_if delete suivre%-1 delete suivre% if count(listINI)>=boite% then item_delete listINI,boite% if file_exists(f$+"onglet "+str$(DernierOnglet%)+".fic")=1 then file_delete f$+"onglet "+str$(DernierOnglet%)+".fic" suivre%=suivre%-2:DernierOnglet%=DernierOnglet%-1:NbOnglet%=NbOnglet%-1 if boite%>NbOnglet% then boite%=NbOnglet% if NbOnglet%>0 then gosub lecture end_if return ' -------------------------------------------------------------- rajouOnglet: color 0,206,155,75 suivre%=suivre%+1 edit suivre%:left suivre%,140-70+DernierOnglet%*70:top suivre%,24:width suivre%,70 height suivre%,22:color suivre%,251,223,211 default$="251|223|211|000|000|000|12|0|0|0|0|verdana" :item_add listINI,default$ font_color suivre%,0,0,0: on_click suivre%,DeCadix DernierOnglet%=DernierOnglet%+1 if DernierOnglet%>mi% then show FlecheD: decale%=decale%+1:hide suivre% suivre%=suivre%+1 dlist suivre%:NbOnglet%=NbOnglet%+1 color 0,210,230,210 return ' ------------------------------------------------------------- droite: color 0,206,155,75 if decale%<DernierOnglet% show FlecheG :suivi%=suivi%+1 ga%=PrimOnglet%+1+suivi%*2 dr%=ga%+(mi%-1)*2 if dr%>PrimOnglet%-1+DernierOnglet%*2 then dr%=PrimOnglet%-1+DernierOnglet%*2 hide ga%-2 gosub voir_onglet if ga%=dr% then hide FlecheD end_if color 0,210,230,210 gosub afice return ' ------------------------------------------------------------- gauche: color 0,206,155,75 if suivi%>0 suivi%=suivi%-1 ga%=PrimOnglet%+1+suivi%*2 : dr%=ga%+(mi%)*2 if dr%>PrimOnglet%+1+(DernierOnglet%-1)*2 then dr%=PrimOnglet%+1+(DernierOnglet%-1)*2 if suivi%=0 then hide FlecheG gosub voir_onglet if ligne%>mi%+1 then hide a%-2 if suivi%>0 then show FlecheD end_if color 0,210,230,210:gosub afice return '___________ voir_onglet: ligne%=1 for a%=ga% to dr% step 2 left a%,70*ligne% : show a% ligne%=ligne%+1 next a% return ' ============================================================================== ' ___________________SOUS PROGRAMME BOITE PROPRIETE_____________________________ unserem: Fnom$=text$(listeFONTE) auf: Hfonte%=position(BarSize) font_size montrExemple,Hfonte% text montreSize,Hfonte%
rouge%=position(BarFonteROUGE) vert%=position(BarFonteVERT) bleu%=position(BarFonteBLEU) font_color montrExemple,rouge% ,vert%,bleu%
if checked(choixFonteGRAS)=1 then font_bold montrExemple if checked(choixFonteITALIC)=1 then font_italic montrExemple if checked(choixFonteITALIC)=0 then font_italic_off montrExemple if checked(choixFonteSOULIGNE)=1 then font_underline montrExemple if checked(choixFonteSOULIGNE)=0 then font_underline_off montrExemple if checked(choixFonteBARRE)=1 then font_strike montrExemple if checked(choixFonteBARRE)=0 then font_strike_off montrExemple
Frouge%=position(BarFondROUGE):Fvert%=position(BarFondVERT):Fbleu%=position(BarFondBLEU) color montrExemple,Frouge%,Fvert%,Fbleu% if Fnom$<>"" then font_name montrExemple,Fnom$:font_name FenDoc,Fnom$ return ' ------------------------------------------------ bild: font_name FenDoc,Fnom$ rouge% = position(BarFonteROUGE):vert% =position(BarFonteVERT):bleu% =position(BarFonteBLEU) Frouge%=position(BarFondROUGE):Fvert%=position(BarFondVERT):Fbleu%=position(BarFondBLEU) Hfonte%=position(BarSize):text montreSize,str$(Hfonte%) font_size FenDoc,Hfonte% font_color FenDoc,rouge%,vert%,bleu%:font_color onglet%,rouge%,vert%,bleu% color FenDoc,Frouge%,Fvert%,Fbleu% color onglet%,Frouge%,Fvert%,Fbleu% a$=right$("000"+str$(Frouge%),3)+"|"+right$("000"+str$(Fvert%),3)+"|"+right$("000"+str$(Fbleu%),3)+"|" a$=a$+right$("00"+str$(rouge%),3)+"|"+right$("00"+str$(vert%),3)+"|"+right$("00"+str$(bleu%),3)+"|" a$=a$+right$("00"+str$(Hfonte%),2)+"|" a$=a$+str$(checked(choixFonteGRAS))+"|"+str$(checked(choixFonteITALIC))+"|"+str$(checked(choixFonteSOULIGNE)) a$=a$+"|"+str$(checked(choixFonteBARRE))+"|"+Fnom$
if count(listINI)>0 if boite%<=count(listINI) item_delete listINI,boite% item_insert listINI,boite%,a$ end_if end_if return ' --------------------- vier: ' bold gras if checked(choixFonteGRAS)=1 font_bold FenDoc:font_bold montrExemple else font_bold_off montrExemple :font_bold_off FenDoc end_if return ' --------------------- manner: ' italique if checked(choixFonteITALIC)=1 font_italic FenDoc :font_italic montrExemple else font_italic_off montrExemple:font_italic_off FenDoc end_if return ' --------------------- mit: ' souligné if checked(choixFonteSOULIGNE)=1 font_underline FenDoc :font_underline montrExemple else font_underline_off montrExemple:font_underline_off FenDoc end_if return ' --------------------- schneider: ' barré if checked(choixFonteBARRE)=1 font_strike FenDoc :font_strike montrExemple else font_strike_off montrExemple:font_strike_off FenDoc end_if return ' -------------------------------------------------------------
fin: gosub save terminate
@+ NOTA: le bouton de gauche avec les flèches vert et hori. permet après redimensionnement de la forme, de mettre l'affichage en rapport avec celle-ci Vous remarquerez que tout le programme a été fait avec un nom pour chaque objet (je voulais voir le résultat), et ici avec les problèmes rencontrés, savoir le nom dans les lignes de codage, ma bien été utile. Je mets le codage des noms d'objet (ce que je ne sais pas c'est si cela ralenti le programme une fois compilé) - Code:
-
' programme nommant les objets
dim a$ ,c$ ,i% ,j% ,d$ ,r% dim t$(100)
width 0,1200:height 0,600 memo 1 :left 1,10:width 1,1180 :height 1,550:font_size 1,14:font_name 1,"Locida Console" bar_both 1 item_add 1," récupérer par copier/coller, les >>DIM<< suivants:":item_add 1,"" item_add 1,"" item_add 1,"' ------------VARIABLES NOM D'OBJETS-------------------------------------------"
rem les noms des datas sont des exemples. Vous faitez votre propre liste. rem terminez la liste par $$$ ' ----------------ICI LA LISTE A DEFINIR (ceci sont des exemples)------------- ' ------------VARIABLES NOM D'OBJETS------------------------------------------- data FenDoc,FlecheG,FlecheD,halt,DDialog,tiroir,MMenuM,MMenuFichier,MMenuLecture data MMenuSauve,MMenuOnglet,MMenuQuelFichier,Cinoche,enreg,onglet,TableOnglet data listINI,BoiteBOX,BoutonOUI,BoutonNON,ALFAques,Repond,AJOUTliste,Renomme,etiquet,OnglEface data montreSize,BarSize,alfaSize,boutonGO,listeFONTE data montrExemple,carreFondBLEU,carreFondVERT,carreFondROUGE,BarFondBLEU data BarFondVERT,BarFondROUGE,alfaFontImage,carreFonteBLEU,carreFonteVERT data carreFonteROUGE,BarFonteBLEU,BarFonteVERT,BarFonteROUGE,choixFonteBARRE data choixFonteSOULIGNE,choixFonteITALIC,choixFonteGRAS,alfaFONTE,choixLargHaut data BoiteModif,ApelStyl,stoppe,$$$ ' ---------------------------------------------------------------------------- c$="" :a$="dim ":i%=1 repeat read c$ if c$<>"$$$" a$=a$+c$+"," : t$(i%)=c$:i%=i%+1 if len(a$)>70 then item_add 1,left$( a$ , len(a$) -1 ):a$="dim " end_if until c$="$$$" if a$<>"dim " then item_add 1,left$( a$ , len(a$) -1 ) item_add 1,""
data "reportez les variables dans votre programmes, avant de vous en servir " data "pour définir vos objets. Si vous voulez incorporer d'autres " data "objets, il suffit de reprendre ce programme, d'y mettre les noms à la place qui vous" data " convient, et de remplacer l'ensemble des noms, " data "par ceux-ci. Ainsi votre propre programme est automatiquement régénéré."
read a$:read c$: item_add 1,a$+c$ read a$:read c$: item_add 1,a$+c$ read a$:item_add 1,a$ :item_add 1,"":item_add 1,""
item_add 1,"' ------------VARIABLES définissant le N° de l'objet---------------------------" r%=00 :' N° du dernier objet du programme, ceux définis ici ' s'ajoutent aux précédents d$="" for j%=1 to i%-1 if j%=1 d$=d$+t$(j%)+"="+ str$(j%+r%) else d$=d$+t$(j%)+"="+t$(j%-1)+"+1" end_if if len(d$)>80 item_add 1,d$:d$="" else d$=d$+" : " end_if next j% item_add 1,d$ ' _____________représentation du nom par rapport à la valeur______________ item_add 1,"":item_add 1,"Vérification":item_add 1,"" c$="":j%=1 while t$(j%)<>"" item_add 1,right$("0"+str$(j%+r%),2)+" <<=>> "+t$(j%) j%=j%+1 end_while
item_add 1,"" item_add 1,"Si il y a erreur sur les numéros, modifier la variable ' r% ' en conséquence"
Dernière édition par cosmos70 le Mer 9 Déc 2009 - 7:38, édité 2 fois |
| | | Invité Invité
| Sujet: Re: un module Multipage Lun 7 Déc 2009 - 19:22 | |
| Si certain ont repris le programme multipage, je viens de rééditer celui-ci. Une ligne manquait et ne permettait pas de créer une nouvelle liste. dernière modification silencieuse le 9 déc à 7h36 Je ne veux pas intervenir sur la liste des sujets en cours. Si certains ont télécharger ce programme et sont intéressés des modifications faites, qui le disent, alors dans ce cas je ferais une note visible.
|
| | | Contenu sponsorisé
| Sujet: Re: un module Multipage | |
| |
| | | | un module Multipage | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |