FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Base de données relationnelle  Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Base de données relationnelle  Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Base de données relationnelle  Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Base de données relationnelle  Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Base de données relationnelle  Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Base de données relationnelle  Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Base de données relationnelle  Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Base de données relationnelle  Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Base de données relationnelle  Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Base de données relationnelle  Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Base de données relationnelle  Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Base de données relationnelle  Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Base de données relationnelle  Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Base de données relationnelle  Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Base de données relationnelle  Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Boutique Nike : -25% dès 50€ sur TOUT le site Nike avec le code ...
Voir le deal

 

 Base de données relationnelle

Aller en bas 
5 participants
AuteurMessage
Mike

Mike


Nombre de messages : 31
Age : 73
Localisation : NANCY
Date d'inscription : 12/06/2007

Base de données relationnelle  Empty
MessageSujet: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 1:59

Bonsoir à mes amis panoramiciens,

Je poste dans mon webdav une ébauche d’une base de données avec relation de un à plusieurs comprenant intégrité référentielle.
L’intégrité référentielle signifie qu’à chaque suppression à quelque niveau que ce soit, les champs fils, et dépendants soient également supprimés.
La relation de un à plusieurs signifie qu’un article dans la première table admet une nouvelle table qui lui appartient et un nouvel article dans la deuxième table admet une troisième table lui appartenant et ainsi de suite. Ceci permet d’avoir une classification propre et illimitée dans le concept.
Pour l’exemple, mon ébauche est à quatre niveaux, ce qui est largement suffisant pour une bonne classification.
Comme toute base de données, il est important de savoir ce que l’on cherche et la destination voulue. Pour l’exemple, je me suis limité à un double_click au quatrième niveau qui permet de mettre en forme la variable sélectionnée pour une recherche internet aboutissant à quelque chose de très fin et pertinent. Mais il est évident que cette ébauche peut servir à bien d’autres choses avec des valeurs numériques.
Les exemples que je donne ne sont exhaustifs que pour les villes, villages et bourgs de France et les villes des usa. Le reste ne sert que pour l’exemple qui même incomplet reste néanmoins pertinent.
Je me suis inspiré de cette facilité qu’ont les bases de données à tout montrer , vite et de façon claire ce que l’on recherche. J’adore le fait que sur un click se déplie la correspondance espérée.
Il y a plus de 72 000 articles dans l’exemple proposé qui sont juste issus de mon envie de montrer ce qu’une base de données relationnelle peut apporter et aussi de montrer comment la manipulation des fichiers est aisée.
L’avantage de ce programme est qu’il ouvre et referme des fichiers qui peuvent être très importants avec une taille en mémoire qui reste celle du programme, donc faible et exempte de surcharges.
J’ai préféré travailler avec des list car tout est visualisé instantanément et apporte un confort visuel appréciable pour la recherche.
Le fait que les fichiers soient cachés résulte d’une approche esthétique du répertoire de base et puis, j’ai trouvé comment mettre le tout dans un répertoire dédié. J’avoue avoir un peu de mal avec les répertoires.
Voilà, et ne pas prendre ombrage sur le manque de commentaires du programme car je n’ai pas fini et les commentaires ne sont pas ma tasse de thé, mais tout sera explicité
Je voulais juste avoir votre avis sur le principe avant de continuer à le parfaire et merci pour vos critiques
Comme d’habitude, la version dans laquelle a été construite ce programme est incluse afin qu’il ne puisse pas y avoir ambigüité
Ce programme est construit avec un écran 23 pouces et je ne l’ai pas testé sur de plus petits mais cela devrait normalement fonctionner.
En aucun cas, il ne doit y avoir d’ascenseurs en dehors des List
Me dire si cela fonctionne chez vous
Et puis, je m’adresse aux spécialistes :

-Comment déterminer la taille d’un objet en fonction de son nombre d’articles et en tenant compte de la police de caractères ?? Dans l’exemple j’ai trouvé quelque chose d’empirique mais après plusieurs approximations. Est-t’ il possible d’en déduire un algorithme pertinent ?
-Comment interdire dans un list le message d’erreur « out of bounds » et par conséquent le plantage du programme si le list dépasse en taille le nombre d’items ?? Cette question découle de la première.

Je rentre d’une assemblée générale du secours populaire pour laquelle le suis bénévole et j’avais envie de poster ce message bien tardivement.
Merci et bonne journée à tous

Amicalement
Mike
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

Base de données relationnelle  Empty
MessageSujet: re   Base de données relationnelle  EmptyVen 3 Oct 2014 - 2:07

@ Mike,

Je ne regarderai pas cela maintenant ( 2h05  Laughing ) mais promis, je regarderai ton programme.
Je suis ravi que d' autres viennent se joindre à la bande et publient leurs "bébés" et je suis sûr
que cela va faire plaisir à tous le monde..
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 2:29

Salut Mike

Mais comment peut-on accéder à ton Webdav  Base de données relationnelle  Text1461


EDIT :
j'ai trouvé comment accéder à ton webdav.
J'ai téléchargé Base.
J’ai jeté un œil furtif sur le code (je ne suis pas allé plus loin) : ça promet.
Merci pour le partage.

Maintenant c'est Sleep Sleep

A+
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 7:57

J'ai voulu aller voir mais je n'ais pas trouver comment aller sur le webdav. Tant pis, je regarderais demain.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 8:26

Salut Mike,
C'est un très bon début, et l’esthétique est soignée.

Mike a écrit:
-Comment interdire dans un list le message d’erreur « out of bounds » et par conséquent le plantage du programme si le list dépasse en taille le nombre d’items ?? Cette question découle de la première.

Pour ne pas compliquer trop vite, je te réponds sur ce problème uniquement
Dans le code ci-dessous, j'ai déclaré la variable index_list% pour contrôler le click du LIST 2.
Je te laisse le soins de pister cette variable (par la recherche du menu édition)
Je t'ai mis des commentaires pour que tu puisses comprendre la démarche.
Il faudra ensuite que tu termines le travail en groupant tous les ON_CLICK des LIST(s) au label gestion_click_list.

J'ai commencer une remise en forme du code, sans le modifier, pour regrouper et avoir moins de ligne.
Une remarque: une grande partie du code peut être regroupé dans des procédures (SUB), je ne l'ai pas fait (chaque chose en son temps)

En tous cas, Bravo.

Code:
dim taille1,taille2,taille3,taille4,pix,ind$
dim a1$,c1$,e1$,f1$,e1%,i1,b1,c1
dim a2$,c2$,e2$,f2$,e2%,i2,b2,c2
dim a3$,c3$,e3$,f3$,e3%,i3,b3,c3
dim a4$,c4$,e4$,f4$,e4%,i4,b4,gog$
dim long%,nom$,x$, max_t%, chemin$,compt, ext$,ht_max,goog$,i%,i$
dim index_list% :' pour controler le click dans un list
application_title "Base de données relationnelle"
pix=17.5
 ext$=".txt"
 ht_max= screen_y-250
 
dir_change "FIC"
 
label save1, create1, suppression1, save2, create2, suppression2, create3, save3, suppression3
label save4, suppression4,create4,create41, pano
label supniv1,supniv2,supniv3,max_taille,chemin,compt
label gestion_click_list :' pour grouper tout les click(s) des list
left 0,250 : top 0,1 : width 0,900 : color 0,214,220,220
caption 0,"Base de données relationnelle"
border_small 0

dlist 20
' edit 1
edit 1 : left 1,10 : top 1,58 : width 1,180 : font_name 1,"arial"
font_size 1,10 : color 1,247,250,228
hint 1,"Entrez votre nouvel article ici et validez-le au dessus"
' edit 3
edit 3 : left 3,210 : top 3,58 : width 3,180 : font_name 3,"arial"
font_size 3,10 : color 3,247,250,228
hint 3,"Entrez votre nouvel article ici et validez-le au dessus"
hide 3
' edit 5
edit 5 : left 5,410 : top 5,58 : width 5,180 : font_name 5,"arial"
font_size 5,10 : color 5,245,250,228
hint 5,"Entrez votre nouvel article ici et validez-le au dessus"
hide 5
' edit 7
edit 7 : left 7,200 : top 7,8 : width 7,180
font_name 7,"arial" : font_size 7,8
hide 7
' edit 9
edit 9 : left 9,410 : top 9,8 : width 9,180
font_name 9,"arial" :font_size 9,8
hide 9
' edit 11
edit 11 : left 11,610 : top 11,58 : width 11,220
font_name 11,"arial" : font_size 11,10 : color 11,245,250,228
hint 11,"Entrez votre nouvel article ici et validez-le au dessus"
hide 11
' edit 13
edit 13 : left 13,610 : top 13,8 : width 13,180
font_name 13,"arial" : font_size 13,8
hide 13

' alpha 15
alpha 15 : left 15,1 : top 15,1 : width 15,30
font_name 15,"arial" : font_size 15,8
hint 15, "nombre d'articles dans la base"
' alpha 16
alpha 16 : top 16,8 : left 16,200
font_name 16,"comics sans ms" : font_size 16,10
' alpha 17
alpha 17 : left 17,520 : font_name 17,"Papyrus" : Font_size 17,7 : font_color 17,10,118,241
caption 17, "Powered by Panoramic - http://panoramic-language.pagesperso-orange.fr/index.html"
on_click 17,pano
hide 17
' alpha 18
alpha 18 : left 18,710 : font_name 18,"arial" : font_size 18,8

list 2 : left 2,10 : top 2,83 : width 2,180
color 2,216,246,248 : font_name 2,"arial" : font_size 2,9
x$="racine"+ext$
if file_exists(x$) =0
 file_open_write 102,x$
 file_close 102
end_if
file_load 2,"racine"+ext$
file_hide "racine"+ext$
c1=count(2)
taille1 = c1*pix
height 2,taille1


list 4
left 4,210
top 4,83
width 4,180
font_name 4,"arial"
font_size 4,9
color 4,213,248,249
hide 4
on_click 4, create2

list 6
left 6,410
top 6,83
width 6,180
font_name 6,"arial"
font_size 6,9
color 6,213,248,249
on_click 6, create3
 hide 6

list 8
left 8,610
top 8,83
width 8,220
font_name 8,"arial"
font_size 8,9
color 8,213,248,249
on_click 8,create41
on_double_click 8,create4
hide 8
 
 
button 50
left 50,10
width 50,180
top 50, 33
' font_bold 50
caption 50, "Ajouter l'article ci-dessous"
on_click 50, save1

button 51
left 51,10
width 51,180
font_color 51,235,41,15
' font_bold 51
font_strike 51
caption 51, "Supprimer l'article sélectionné"
hide 51
on_click 51, suppression1

button 60
left 60,210
width 60,180
top 60, 33
hide 60
caption 60, "Ajouter l'article ci-dessous"
on_click 60, save2

button 61
left 61,210
width 61,180

caption 61,  "Supprimer l'article sélectionné"
font_strike 61
on_click 61, suppression2
Hide 61

button 70
left 70,410
width 70,180
top 70, 33
caption 70, "Ajouter l'article ci-dessous"
on_click 70, save3
hide 70

button 71
left 71,410
width 71,180
top 71, 33
caption 71, "Supprimer l'article sélectionné"
font_strike 71
on_click 71, suppression3
hide 71

button 80
left 80,610
width 80,220
top 80, 33
caption 80, "Ajouter l'article ci-dessous"
on_click 80, save4
hide 80

button 81
left 81,610
width 81,220
top 81, 33
caption 81, "Supprimer l'article sélectionné"
font_strike 81
on_click 81, suppression4
hide 81

b1= count(2)

taille1 = b1*pix
height 0,taille1+200

gosub gestion_click_list :' pour déclarer tous les ON_CLICK dans les list(s)

gosub compt
' print screen_y

end : ' ========================================================================

gestion_click_list:
' déclaration des on_click (list)
on_click 2, create1
return

save1:

file_load 2, "racine"+ext$
b1= count(2)
taille1 = b1*pix
height 2,taille1
show 51
top 51,taille1+83

a1$=text$(1)
if a1$= ""
message "La chaîne est vide, il convient d'écrire quelque chose !"
return
end_if

if b1>0

for i1=1 to b1
c1$=item_read$(2,i1)
if trim$(a1$)=trim$(c1$)
message "Cet article existe déjà, en choisir un autre !"
text 1,""
return
end_if
next i1
end_if
item_add 2,a1$
file_hide_off "racine"+ext$
file_save 2,"racine"+ext$
file_hide "racine"+ext$
text 1,""
 b1= count(2)

taille1 = b1*pix
height 2,taille1
show 51
top 51,taille1+83
gosub max_taille
gosub compt

RETURN
' ------
create1:
' les 2 lignes ci-dessous sont destinées à controler si le click s'est fait sur une ligne vide
  ' si le click se fait sur une ligne vide retourne au label gestion_click_list et attend un nouveau click
index_list%=item_index(2)
if index_list%=0 then message "Sélection vide" : gosub gestion_click_list : return

' si le click est bon on continu
taille2=0 : taille3=0 : taille4=0
e1$="" : e2$="" : e3$=""
hide 5:hide 6: hide 8:hide 9:hide 11:hide 13: hide 70:hide 71:hide 80:hide 81
show 3:show 4:show 51:show 60:show 61:hide 18
b1=count(2) : taille1 = b1*pix
gosub max_taille
top 51,taille1+83

e1$=item_index$(2)
f1$=e1$+ext$ : text 7,e1$
if file_exists(f1$) =0
 file_open_write 101,e1$+ext$
 file_close 101
end_if
show 4 :file_hide_off f1$ : file_load 4,f1$ : file_hide f1$
b2=count(4) : show 61
if b2=0
   hide 61 : b2=1
end_if
b2=count(4) : taille2 = b2*pix : height 4,taille2
gosub max_taille
top 61,taille2+83 : show 17
gosub chemin

RETURN
' ------


 suppression1:


 e1%=item_index(2)

 if e1% =0
 message "Il n'y a aucun article de sélectionné ou le fichier est vide !"
 return
 end_if
 if message_warning_yes_no("Attention, cette action va effacer définitivement les champs fils sur 4 niveaux !! Continuer ???")=2
 return
 end_if

  e1$=item_index$(2)

 gosub supniv1

 f1$=e1$+ext$
 if file_exists(f1$) =1
 file_delete f1$
 end_if

 item_delete 2,e1%
 hide 4
 file_hide_off "racine"+ext$
 file_save 2,"racine"+ext$
 file_hide "racine"+ext$
 b1= count(2)

taille1 = b1*pix
height 2,taille1
show 51
top 51,taille1+83
text 7,""
gosub compt
 return
 
save2:

b2= count(4)
taille2 = b2*pix
gosub max_taille
height 4,taille2
show 61
top 61,taille2+83

a2$=text$(3)
' if dir_exists ("\Niveau_2")=0
' dir_make "\Niveau_2"
' end_if
if a2$= ""
message "La chaîne est vide, il convient d'écrire quelque chose !"
return
end_if
if b2>0

for i2=1 to b2
c2$=item_read$(4,i2)
if trim$(a2$)=trim$(c2$)
message "Cet article existe déjà, en choisir un autre !"
text 3,""
return
end_if
next i2
end_if

item_add 4,a2$
 f2$=text$(7)
 f2$=f2$+ext$
file_hide_off f2$
file_save 4,f2$
file_hide f2$
 b2= count(4)
taille2 = b2*pix
text 3,""

 taille2 = b2*pix
height 4,taille2
show 61
top 61,taille2+83
gosub max_taille
gosub compt
 return
 
 suppression2:

 e2%=item_index(4)
 if e2% =0
 message "Il n'y a aucun article de sélectionné ou le fichier est vide !"
 return
 end_if
 e2$=item_index$(4)
 if message_warning_yes_no("Attention, cette action va effacer définitivement les champs fils sur 3 niveaux !! Continuer ???")=2
 return
 end_if
 f2$=text$(9)
 f2$=f2$+ext$
 gosub supniv2
 if file_exists(f2$) =1
 file_delete f2$
 end_if
 item_delete 4,e2%
 f2$=text$(7)
 f2$=f2$+ext$
 file_hide_off f2$
 file_save 4,f2$
 file_hide f2$
 b2=count (4)
 taille2 = b2*pix
 height 4,taille2
 top 61,taille2+83
 text 9, ""
 gosub compt
 gosub max_taille
 
 return
 
 create2:
 
 e3$=""
 taille3=0
 taille4=0
 hide 8:hide 11:hide 13:hide 80:hide 81:hide 18
 show 5:show 6:show 70:show 71
 e2$=item_index$(4)
 f2$=e2$+ext$
 ind$=e1$+e2$
 text 9,ind$
 ind$=ind$+ext$
   if file_exists(ind$) =0
    file_open_write 102,ind$
    file_close 102
  end_if
 show 6
 file_hide_off ind$
 file_load 6,ind$
 file_hide ind$
 sort 6
 ind$=e1$+e2$
 c2=count(6)
 show 71
   if c2=0
    hide 71
    c2=1
   end_if
 taille2 = c2*pix
 gosub max_taille
   if taille2 > ht_max
    taille2=ht_max-250
  end_if
 gosub max_taille
 height 6,taille2
 top 71,taille2+83
 gosub chemin

 return
 
 save3:
 
 b3= count(6)
 taille3 = b3*pix
 height 6,taille3
 show 71
 top 71,taille3+83
 a3$=text$(5)
   if a3$= ""
    message "La chaîne est vide, il convient d'écrire quelque chose !"
    return
   end_if
   if b3>0
      for i3=1 to b3
      c3$=item_read$(6,i3)
   if trim$(a3$)=trim$(c3$)
      message "Cet article existe déjà, en choisir un autre !"
   text 5,""
   return
  end_if
 next i3
  end_if
 item_add 6,a3$
 f3$=text$(9)
 f3$=f3$+ext$
 file_hide_off f3$
 file_save 6,f3$
 file_hide f3$
 text 5,""
 b3=count (6)
 taille3 = b3*pix
   if taille3 > ht_max
    taille3=ht_max-250
   end_if
 gosub max_taille
 height 6,taille3
 height 6,taille3
 top 71,taille3+83
 gosub compt
 
 return

suppression3:
 e3%=item_index(6)
 if e3% =0
 message "Il n'y a aucun article de sélectionné ou le fichier est vide !"
 return
 end_if
 e3$=item_index$(6)
 if message_warning_yes_no("Attention, cette action va effacer définitivement les champs fils sur 2 niveaux !! Continuer ???")=2
 return
end_if
 e3$=item_index$(6)

 f3$=e3$+ext$
 gosub supniv3
 if file_exists(f3$) =1
 file_delete f3$
 end_if

 item_delete 6,e3%
 f3$=text$(9)
 f3$=f3$+ext$
 file_hide_off f3$
 file_save 6,f3$
 file_hide f3$
 b3=count (6)
 taille3 = b3*pix
 if taille3 > ht_max
taille3=ht_max-250
end_if

 gosub max_taille

 height 6,taille3

top 71,taille3+83

gosub compt
return

create3:

 show 8
 show 11
 show 80
 show 81
 e3$=item_index$(6)
f3$=e3$+ext$
ind$=e1$+e2$+e3$
text 13,ind$
ind$=ind$+ext$
if file_exists(ind$) =0
 file_open_write 102,ind$
 file_close 102
end_if
show 8

file_hide_off ind$
 file_load 8,ind$
 file_hide ind$
 ind$=e1$+e2$+e3$
 sort 8
c3=count(8)
if c3=0
hide 81
c3=1
 end_if
taille4 = c3*pix
if taille4 > ht_max
taille4=ht_max-250
end_if
gosub max_taille
height 8,taille4
top 81,taille4+83
show 18
caption 18,c3
top 18,taille4+110

gosub chemin
return

 save4:
 b4= count(8)
taille4 = b4*pix
if taille4 > ht_max
taille4=ht_max-250
end_if
gosub max_taille
height 8,taille4
show 81
top 81,taille4+83

a4$=text$(11)

if a4$= ""
message "La chaîne est vide, il convient d'écrire quelque chose !"
return
end_if
if b4>0

for i4=1 to b4
c4$=item_read$(8,i4)
if trim$(a4$)=trim$(c4$)
message "Cet article existe déjà, en choisir un autre !"
text 11,""
return
end_if
next i4
end_if
item_add 8,a4$
 f4$=text$(13)
 f4$=f4$+ext$
 file_hide_off f4$
file_save 8,f4$
file_hide f4$
text 11,""
b4=count(8)
 taille4 = b4*pix

 if taille4 > ht_max
taille4=ht_max-250
end_if
gosub max_taille
height 8,taille4
top 81,taille4+83

gosub compt
return

suppression4:
 e4%=item_index(8)
 if e4% =0
 message "Il n'y a aucun article de sélectionné ou le fichier est vide !"
 return
 end_if
 e4$=item_index$(8)

 f4$=e4$+ext$
 if file_exists(f4$) =1
 file_delete f4$
 end_if

 item_delete 8,e4%
 f4$=text$(13)
 f4$=f4$+ext$
 file_hide_off f4$
 file_save 8,f4$
 file_hide f4$
 b4=count (8)
 taille4 = b4*pix
 if taille4 > ht_max
taille4=ht_max-250


end_if
gosub max_taille
 
 height 8,taille4
top 81,taille4+83


gosub max_taille
 
 return
 
 create4:

 
 ' e3$=item_index$(6)
 ' e3$=trim$(e3$)
  ' for i% =1 to len (e3$)
 ' i$= mid$ (e3$,i%,1)
 ' if asc (i$)=32
 ' i$= chr$(43)
 ' end_if
 ' goog$ = goog$ +left$ (i$,i%)
 ' next i%
 ' e3$=goog$
 ' goog$ =""
 
 e4$=item_index$(8)
 e4$=trim$(e4$)
 for i% =1 to len (e4$)
 i$= mid$ (e4$,i%,1)
 if asc (i$)=32
 i$= chr$(43)
 end_if
 goog$ = goog$ + left$ (i$,i%)
 next i%
 e4$= "http://google.fr/?gws_rd=ssl#q="+goog$
 execute e4$
 e4$=""
 goog$=""
 return



supniv1:

long%= len(e1$)
x$=file_find_first$
x$=file_find_next$
while x$<>"_"
  if left$ (x$,long%)=e1$
    file_delete x$
  end_if
x$=file_find_next$
end_while
file_find_close
hide 3:hide 4:hide 7:hide 51:hide 60:hide 61
return
 
supniv2:
 
long%=len(e1$)+len(e2$)
x$=file_find_first$
x$=file_find_next$
while x$<>"_"
  if left$ (x$,long%)=e1$+e2$
   file_delete x$
  end_if
x$=file_find_next$
end_while
file_find_close
hide 3:hide 4:hide 5:hide 6:hide 7:hide 8:hide 9:hide 11:hide 13:hide 51
hide 60: hide 61: hide 80:hide 81: hide 70:hide 71:hide 18

return
 
supniv3:
 
long%=len(e1$)+len(e2$)+len(e3$)
x$=file_find_first$
x$=file_find_next$
while x$<>"_"
  if left$ (x$,long%)=e1$+e2$+e3$
   file_delete x$
  end_if
x$=file_find_next$
end_while
file_find_close
hide 7:hide 8:hide 9:hide 11:hide 13:hide 80:hide 81:hide 18
gosub max_taille

return

max_taille:

max_t%=max(taille1,taille2)
max_t%=max(max_t%,taille3)
max_t%=max(max_t% ,taille4)
   if max_t% > screen_y
     height 0,900
     return
   end_if
 height 0, max_t% +200
 top 17,max_t% +150
 return
 
 chemin:
 
 chemin$= "  Relations dans la base = "+e1$+" + "+e2$+" + "+e3$+" + "+ e4$
  if e4$=""
   chemin$= "  Relations dans la base = "+e1$+" + "+e2$+" + "+e3$
  end_if
  if e3$=""
   chemin$= "  Relations dans la base = "+e1$+" + "+e2$
  end_if
  if e2$=""
   chemin$= "  Relations dans la base = "+e1$
  end_if
 caption 16,chemin$
  e4$=""
 return
 
 compt:
 
 x$=file_find_first$
 x$=file_find_next$
 while x$<>"_"
  if right$ (x$,4)=ext$
   file_add 20, x$
  end_if
 x$=file_find_next$
 end_while
 file_find_close
 compt= count (20)
 caption 15,compt
 clear 20

 return
 

 create41:
 e4$= item_index$(8)
  gosub chemin
 return
 
 pano:
 execute "http://panoramic-language.pagesperso-orange.fr//index.html"
 return

A+
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 12:14

Jicehel a écrit:
J'ai voulu aller voir mais je n'ais pas trouver comment aller sur le webdav. Tant pis, je regarderais demain.

Bin voilà, même JC a su comment y aller, mais n’a rien dit.
Il était occupé à reformulé le code !

Username : panoramic@Mike54
Password : panoramic123


Il fallait savoir qu'il y a non pas un Mike mais 54, pas un de moins Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Jean Claude

Jean Claude


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

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 12:47

Ben OUAIS !
Mais toi, t'as rien dit non plus.
lol!

J'ai pas de mérite, car le webdav conserve en mémoire les utilisateurs qu'on a déjà visités.

A+
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  EmptyVen 3 Oct 2014 - 16:07

Merci, je purge régulièrement les données d'historique et je ne me souvenais plus du 54 à mettre après Mike. Merci pour les infos messieurs Smile
Revenir en haut Aller en bas
Contenu sponsorisé





Base de données relationnelle  Empty
MessageSujet: Re: Base de données relationnelle    Base de données relationnelle  Empty

Revenir en haut Aller en bas
 
Base de données relationnelle
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» base de données final version
» Une Base de Données Relationnelle (BDR) en Panoramic
» Base de données de type ISAM par Excel sous PANORAMIC
» Logithèque : une base de données en Panoramic pour Panoramic
» base de donnees access

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: