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 |
|
|
| PANORAMIC et informatique de gestion (les tableaux) | |
|
+6Jack Yannick Minibug papydall Klaus Ouf_ca_passe 10 participants | |
Auteur | Message |
---|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Ven 25 Nov 2016 - 15:02 | |
| De toute façon ça ne coûte rien d'essayer, et si ça ne te convient pas, tu laisses. D'abord recoller les morceaux du source ci-dessus et l'installer avec tes sources panoramic sous le nom 'Aide.bas'. Ensuite, modifier les lignes 30 à 43 pour adapter les chemins: 1) ra$ = chemin des sources panoramic (chez moi C:\PANORAMIC\... original, non ?) 2) kgp$ = chemin de KGF.pdf, la documentation de la dll de l'ami Klaus (chez moi dans un sous-répertoire du précédent, c.a.d C:\PANORAMIC\KLAUS\DLLs\, qui contient KGF.dll et KGF.pdf) 3) Créer un sous-répertoire rm$ du principal (chez moi C:\PANORAMIC\Manuel\) qui va contenir tous les sous-fichiers texte d'aide qui seront en principe créés vides par le programme si non trouvés: fa$, fl$, ff$, fc$, fnews$, fas$, fmc$. Mais je peux te les passer pour que tu aies déjà une base de départ, je ne sais pas encore sous quelle forme. Tu me diras où tu en es stp ? PS Pour le point 3), rm$ sera automatiquement créé s'il n'existe pas, et la liste des mots-clés sera également créée à partir de Panoramic_Editor (et recréée sur demande en cas d'évolution de panoramic_Editor) Le mieux c'est de lancer le programme tel que je l'ai mis, et de voir ce qui coince éventuellement. PS2 La sub Chronos() est appelée pour lancer un petit exécutable (source panoramic) qui affiche un petit chrono circulaire à l'écran pour faire patienter (notamment pendant la reconstitution de la liste des mots-clés, qui dure plusieurs secondes). Si cet exécutable n'existe pas c'est pas grave, il n'y aura pas de chrono. Pour info voici quand même le source de ce petit gadget: - Code:
-
' Exécutable d'affichage d'un chrono rotatif sur l'écran ' Paramètre dans le clipboard: fichier texte contenant les coordonnées d'affichage. ' Arrêt quand le fichier donné en paramètre n'existe plus DIM ft$,a$,x%,y%,i% ft$ = CLIPBOARD_STRING_PASTE$ FILE_OPEN_READ 1,ft$ FILE_READLN 1,a$: x% = VAL(a$) FILE_READLN 1,a$: y% = VAL(a$) FILE_CLOSE 1 WIDTH 0,120: HEIGHT 0,80: TOP 0,y%: LEFT 0,x%: BORDER_HIDE 0 COLOR 0,255,255,0: TO_FOREGROUND 0 FONT_NAME 0,"Wingdings 2": FONT_SIZE 0,64: FONT_BOLD 0: FONT_COLOR 0,128,0,0 i% = 135 WHILE FILE_EXISTS(ft$) = 1 PRINT_LOCATE 28,0: PRINT CHR$(i%) i%=i%+1: IF i% > 146 THEN i% = 135 WAIT 200 END_WHILE TERMINATE | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Ven 25 Nov 2016 - 21:17 | |
| NB à l'attention de Ouf_ca_passe et des autres éventuellement intéressés: Dans le programme que j'ai mis plus haut (mise à jour des mots-clés Panoramic), il faut insérer après la ligne 919 (tout début de la Sub MotsClesPano()) la ligne suivante: - Code:
-
Nomcourt(Edp$): Edp$ = CLIPBOARD_STRING_PASTE$ suivie de DIM_LOCAL etc. qui transforme le chemin de Panoramic_Editeur en nom court (sans espaces), sans ça chez moi ça ne marche plus, je ne sais pas pourquoi... Cette partie met en tête du fichier des mots-clés la version de l'éditeur, pour ne pas avoir à reconstituer la liste à chaque fois si l'éditeur est inchangé. Je précise, mais c'est sans doute évident, que ce programme est destiné à devenir un exécutable avec raccourci sur le bureau, pour être appelable à tout moment (en cours de travail dans l'éditeur). du genre (la 3ème): | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: C'est pointu Sam 26 Nov 2016 - 8:22 | |
| @ JL35
Je vais m'y mettre la semaine prochaine.
Bon we à tou(te)s | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 26 Nov 2016 - 14:10 | |
| @ Ouf_ca_passe, En réponse à ton mail. - Code:
-
' ------------------------------------------------------------------------------ ' EXEMPLE D UTILISATION D UN OBJET ' LIST ' PAR : ygeronimi ' ------------------------------------------------------------------------------
' Je ne ferai pas dans le visuel dans cette exemple, les objets auront ' leurs attributs par defaut ' Le format des lignes du fichier de sauvegarde sera : ' N°d'enregistrement+;+Nom+;+Prénom+; ' ce qui correspond à un enregistrement dans un fichier *.csv
' 1/ je déclare mes variables pour les objets
dim Obj_List% dim Obj_Alpha%(3) dim Obj_Edit%(3) dim Obj_Button%(3) ' 2/ je déclare mes variables d' incrémentation et systeme ' -->incrementation dim i% dim no% ' -->systeme ' pour stocker une ligne récupérée dans l' objet LIST dim line$ ' pour recup de l'emplacement séparateur de données dans la ligne d' enregistrement dim sep% ' numero de la ligne de l' enregistrement dans le fichier dim Nitem% ' numero d' enregistrement attribué à l' enregistrement de la fiche affiché dim Nenrgt$ ' nom et prenom du contact dim Nom$ dim Prenom$ ' 3/ je déclare et initialise une variable pour retrouver mon dossier source dim Path$ : Path$=dir_current$ if right$(path$,1)="\" : path$=left$(path$,len(path$)-1) : end_if Path$=path$+"\" ' 3/ je déclare le fichier de sauvegarde et j' initialise son adresse dim Dest$ : Dest$= Path$+"Carnet.txt" ' 4/ j' initialise mes variables objet en leur donnant un numéro no%=no%+1 : Obj_List%=no% for i%=1 to 3 : no%=no%+1 : Obj_Alpha%(i%)=no% : next i% for i%=1 to 3 : no%=no%+1 : Obj_Edit%(i%)=no% : next i% for i%=1 to 3 : no%=no%+1 : Obj_Button%(i%)=no% : next i% ' 5/ je déclare les labels label Selection label Nouveau label Supprimer label Enregistrer label AvantDeQuitter ' 6/ Je crée mon interface ' --> définition des dimensions et de l' emplacement sur l' écran du formulaire 0 height 0,300 width 0,500 top 0,(screen_y-height(0))/2 left 0,(screen_x-width(0))/2 caption 0,"Carnet d' adresse"
' --> définition des dimensions et de l' emplacement des objets sur le form 0 List Obj_List% height Obj_List%,260 width Obj_List%,200 top Obj_List%,5 left Obj_List%,5 on_click Obj_List%,Selection
alpha Obj_Alpha%(1) top Obj_Alpha%(1),5 left Obj_Alpha%(1),210 caption Obj_Alpha%(1),"N° Enregistrement" Edit Obj_Edit%(1) top Obj_Edit%(1),20 left Obj_Edit%(1),210 width Obj_Edit%(1),60 inactive Obj_Edit%(1) alpha Obj_Alpha%(2) top Obj_Alpha%(2),45 left Obj_Alpha%(2),210 caption Obj_Alpha%(2),"Nom"
Edit Obj_Edit%(2) top Obj_Edit%(2),60 left Obj_Edit%(2),210 width Obj_Edit%(2),150 alpha Obj_Alpha%(3) top Obj_Alpha%(3),85 left Obj_Alpha%(3),210 caption Obj_Alpha%(3),"Prénom"
Edit Obj_Edit%(3) top Obj_Edit%(3),100 left Obj_Edit%(3),210 width Obj_Edit%(3),200 Button Obj_Button%(1) top Obj_Button%(1),height(0)-height(Obj_Button%(1))-35 left Obj_Button%(1),250 caption Obj_Button%(1),"Nouveau" cursor_point Obj_Button%(1) on_click Obj_Button%(1),Nouveau Button Obj_Button%(2) top Obj_Button%(2),height(0)-height(Obj_Button%(2))-35 left Obj_Button%(2),250+width(Obj_Button%(2))+5 caption Obj_Button%(2),"Supprimer" cursor_point Obj_Button%(2) on_click Obj_Button%(2),Supprimer Button Obj_Button%(3) top Obj_Button%(3),height(0)-height(Obj_Button%(2))-35 left Obj_Button%(3),250+width(Obj_Button%(2))+10+width(Obj_Button%(3)) caption Obj_Button%(3),"Enregistrer" cursor_point Obj_Button%(3) on_click Obj_Button%(3),Enregistrer
' --> si le fichier de sauvegarde existe je le charge dans l' objet LIST if file_exists(Dest$)=1 : file_load Obj_List%,Dest$ : end_if end
' 7/ je crée les fonctions liées aux objets ' fonction de selection d' une fiche dans l' objet LIST par click Selection: if Count(Obj_List%)>0 Nitem%=item_index(Obj_List%) Line$=item_index$(Obj_List%)
sep%=instr(Line$,";") Nenrgt$=left$(Line$,sep%-1) Line$=right$(Line$,len(Line$)-sep%) sep%=instr(Line$,";") Nom$=left$(Line$,sep%-1) Line$=right$(Line$,len(Line$)-sep%) sep%=instr(Line$,";") Prenom$=left$(Line$,sep%-1) text Obj_Edit%(1),Nenrgt$ text Obj_Edit%(2),Nom$ text Obj_Edit%(3),Prenom$ end_if return
' fonction de création d' une nouvelle fiche, formulaire vierge avec attribution ' du numéro d' enregistrement Nouveau: text Obj_Edit%(1),"" text Obj_Edit%(2),"" text Obj_Edit%(3),""
Nitem%=0 Line$="" Nom$="" Prenom$="" if Count(Obj_List%)>0 Line$=item_read$(Obj_List%,Count(Obj_List%)) sep%=instr(Line$,";") Nenrgt$=left$(Line$,sep%-1) else Nenrgt$="0" end_if Nenrgt$=str$(val(Nenrgt$)+1) text Obj_Edit%(1),Nenrgt$ return
' fonction de suppression d' une fiche enregistrement Supprimer: if Nitem%>0 item_delete Obj_List%,Nitem%
text Obj_Edit%(1),"" text Obj_Edit%(2),"" text Obj_Edit%(3),""
Line$="" Nitem%=0 Nenrgt$="" Nom$="" Prenom$="" file_save Obj_List%,Dest$ end_if return
' enregistrer une nouvelle fiche ou les modifs d' une fiche Enregistrer: if text$(Obj_Edit%(1))="" or text$(Obj_Edit%(2))="" or text$(Obj_Edit%(3))="" Message "Tous les champs doivent être remplis !" return else Line$=text$(Obj_Edit%(1))+";"+text$(Obj_Edit%(2))+";"+text$(Obj_Edit%(3))+";" if Nitem%=0 Item_add Obj_List%,Line$ else item_delete Obj_List%,Nitem% item_insert Obj_List%,Nitem%,Line$ end_if end_if text Obj_Edit%(1),"" text Obj_Edit%(2),"" text Obj_Edit%(3),""
Line$="" Nitem%=0 Nenrgt$="" Nom$="" Prenom$="" file_save Obj_List%,Dest$ return Y a plus court et certaines choses sont inutiles mais j' ai tout mis pour que tu vois bien la démarche. | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Lun 28 Nov 2016 - 8:42 | |
| Bonjour à tou(te)s Ygeronimi m'a écrit (maintenant que je sais comment faire une citation, ça va y aller) - Ygeronimi a écrit:
Essaye de mettre un $ à la place de S de tableau à la ligne 23
Mdr !
Je suis très content de te faire rire avec mes erreurs. Sache que tu vas souvent rire avec moi et que c'est plutôt rare pour les gens qui me connaissent. En effet, cette erreur-là est fréquente chez moi. Vivement que je trouve un éditeur de code qui affiche les $ comme mot-clé (lettre-clé). @ tou(te)s Je ne sais pas si le Gestionnaire de Projets Panoramic de Minibug sait travailler autrement qu'en mode "graphique". Je ne l'ai pas essayé. S'il sait éditer avec saisie prédictive, peut-être éviterais-je de taper n'importe quoi (C'est même pas sûr !) Et vivement que des seniors des PANO (-ramic ou FB-) postent des clips videos comme le fait Michael à Chicago sur son site The frugal computer guy. Avec une voix féminine, ce serait mieux. C'est rare dans les vidéos de vulgarisation que je visionne. La série pourrait s'intituler "Les incroyables pouvoirs de PANORAMIC". Bon je retourne à mes études de tout ce que vous m'avez envoyé. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Lun 28 Nov 2016 - 14:36 | |
| Salut Ouf_ca_passe ! - Citation :
- Je ne sais pas si le Gestionnaire de Projets Panoramic de Minibug sait travailler autrement qu'en mode "graphique".
Concernant GPP, il travaille avec les 2. D'un coté tu crées tes objets et de l'autre tu complètes ton code et tes sous_programmes. - Citation :
- S'il sait éditer avec saisie prédictive, peut-être éviterais-je de taper n'importe quoi (C'est même pas sûr !)
Ce n'est pas encore fait mais j'y pense... J'ai une petite idée derrière la tête mais pour l'instant ce n'est pas encore à l'ordre du jour. | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Trop forts les PANORAMICIEN(NE)S Lun 28 Nov 2016 - 14:41 | |
| Cordialement | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Lun 28 Nov 2016 - 17:25 | |
| Bonsoir à tous,
@ Ouf_ça_passe, Je pense que l'article, que je viens de déposer sur le Webdav de Ygeronimi, dans les articles à corriger de Panoramic Le Mag, peut t’intéresser.
A+ | |
| | | Ouf_ca_passe
Nombre de messages : 285 Age : 76 Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France Date d'inscription : 21/12/2015
| Sujet: Oui, ça m'intéresse. Lun 28 Nov 2016 - 18:22 | |
| @ Jean-Claude
Merci Jean-Claude. Je vais voir ça cette semaine.
Dans mon esprit, il existe 3 types de fichiers "logiques" de données (il en existe probablement plus) - les fichiers à accès séquentiel Il existe en DOS puis sur Windows des caractères "spéciaux" pour séparer des lignes d'enregistrements composés de 1 à plusieurs champs (autrefois on les appelait des zones). Il n'existe pas de caractères pour séparer les champs. D'où l'inclusion d'un caractère rarement employé dans un champ comme | (pipe in english). Par contre, il existe le caractère eof (end of file) et la combinaison des caractères CR (carriage return) et LF (line feed) pour séparer 2 lignes d'enregistrements consécutives. (Ca me rappelle le temps de mon téléscripteur à bande perforée) - Les fichiers à accès direct qui ne nécessite pas de séparateur de champs puisque leur dimension est "fixée" au départ et par conséquent tous les enregistrements (addition de tous les champs) ont la même longueur dans un fichier de ce type. Il est facile d'accéder à un champ particulier en retrouvant son adresse par le calcul des longueurs des lignes d'enregistrement qui le précèdent augmenté des longueurs des champs qui le précèdent + 1. (longueur enreg x nombre d'enreg) + longueur champ 1 + longueur champ 2 + ... + 1 - les fichiers à index du genre Indexed Sequential Acces Method dont je ne me suis jamais servi et que j'espère bien apprendre un jour avec vous. | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) Lun 28 Nov 2016 - 18:42 | |
| @Ouf_ça_passe, Tu verras, dans l'article, que pour le moment je travaille mon fichier plutôt en mode séquentiel. Toutefois, et on le verra par la suite de ces articles, mon but est d'arriver progressivement à montrer une gestion de fichier avec des lignes qui comportent plusieurs éléments séparés par un séparateur (comme un tableau). Je le fait couramment et ce n'est pas si difficile en utilisant un DLIST. Avec les prochains articles je fournirai des procédures (SUB) pour gérer les fichiers de cette manière. Je les ai déjà, mais je ne veux pas les publier sans un tutoriel. Soit patient A+ | |
| | | Contenu sponsorisé
| Sujet: Re: PANORAMIC et informatique de gestion (les tableaux) | |
| |
| | | | PANORAMIC et informatique de gestion (les tableaux) | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |