FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Gestionnaire de Projets Panoramic
par Minibug Aujourd'hui à 2:10

» Mah-Jong européen new-look
par jjn4 Hier à 16:35

» Button_picture
par pascal10000 Hier à 11:41

» Pourquoi le compilateur stagne
par Minibug Hier à 11:09

» 4 (en analyse): SYNEDIT_TARGET_IS_OBJECT devient inactif
par Jack Hier à 10:09

» 3 (en analyse): Mauvaise interprétation du string "THEN"
par Jack Hier à 10:03

» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Marc Hier à 10:00

» KGF_dll - nouvelles versions
par pascal10000 Mer 13 Déc 2017 - 17:27

» track_bar circulaire
par Klaus Mar 12 Déc 2017 - 13:54

» API Windows
par Klaus Mar 12 Déc 2017 - 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 PANORAMIC et informatique de gestion (les tableaux)

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3
AuteurMessage
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Ven 25 Nov 2016 - 17: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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Ven 25 Nov 2016 - 23: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):
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 199
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: C'est pointu    Sam 26 Nov 2016 - 10:22

@ JL35

Je vais m'y mettre la semaine prochaine.

Bon we à tou(te)s
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8002
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 26 Nov 2016 - 16: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 199
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Lun 28 Nov 2016 - 10: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é.Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Minibug

avatar

Nombre de messages : 2413
Age : 51
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Lun 28 Nov 2016 - 16: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.Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://gpp.panoramic.free.fr
Ouf_ca_passe

avatar

Nombre de messages : 199
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Trop forts les PANORAMICIEN(NE)S    Lun 28 Nov 2016 - 16:41


Cordialement Very Happy
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Lun 28 Nov 2016 - 19: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+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Ouf_ca_passe

avatar

Nombre de messages : 199
Age : 69
Localisation : Villeneuve d'Ascq (59-Dpt du NORD) France
Date d'inscription : 21/12/2015

MessageSujet: Oui, ça m'intéresse.   Lun 28 Nov 2016 - 20: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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    Lun 28 Nov 2016 - 20: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 Very Happy

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: PANORAMIC et informatique de gestion (les tableaux)    

Revenir en haut Aller en bas
 
PANORAMIC et informatique de gestion (les tableaux)
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 3 sur 3Aller à la page : Précédent  1, 2, 3
 Sujets similaires
-
» Aide des Pros en Informatique
» Gestion de collisions entre sprites en 2D
» Gestion de fichiers: Panoramic versus QBasic
» Un exemple de gestion d'un sprite vaisseau avec panoramic
» Lexique informatique

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: