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
» Problème de math
par papydall Aujourd'hui à 1:53

» A propos des attributs de fichier
par papydall Hier à 14:33

» Problème de math
par Marc37 Sam 21 Oct 2017 - 23:04

» I Love You
par papydall Sam 21 Oct 2017 - 19:22

» Un petit "coucou" à tous les Panoramiciens !
par mindstorm Sam 21 Oct 2017 - 17:06

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Mer 18 Oct 2017 - 18:08

» mise a jour calculatrice
par joeeee2017 Mer 18 Oct 2017 - 15:57

» [solved] 3D_LINE How to ?
par Jicehel Mer 18 Oct 2017 - 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 Début d'un autre IDE

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
AuteurMessage
Yannick

avatar

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

MessageSujet: re   Sam 22 Mar 2014 - 3:53

Prenons un Memo .

Normalement tu ecrirai :

Memo 1
top 1,....
left 1,....
height 1,...
width 1,...
Bar_both 1
Font_name 1,"......."

etc.....

Avec le "système" c 'est pareil sauf que tu incrémentes no% et donne sa valeur à une variable% représentant ce numéro.
Une fois que tu as déclaré plusieurs objets, il te suffit de te servir de la variable% qui contient le numéro de ton objet.

Pour un Memo dont la variable% serait Memo_form0% si tu veux récupérer le texte de ce Memo dans une variable$
T$ = Text$(Memo_form0%) au lieu de T$=Text$(1)

Regarde le programme que je viens de publier sur mon webdav dans la section GUI du source
il est pas long ( il fait moins de 1000 lignes avec les sauts de ligne et les commentaires).
Perso, j'utilise obj% au lieu de no% mais tu prendre la variable que tu veux.

PS : Le fichier Recovery.bas  est l' assemblage des deux autres.


En fait tout est possible, au lieu d' écrire le numéro de l' objet tu écris la variable qui le contient.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Sam 22 Mar 2014 - 4:15

Ce fut laborieux de ma part, mais j'ai enfin saisi la truc
Merci pour tes explication et bonne fin de nuit
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Sam 22 Mar 2014 - 20:53

salut

Dans  mes codes il  m'arrive de renommer un objet
picture 1 en picture  100 par exemple
Peut_on  choisir ou changer le numéro  d'un objet ?
Ca   peut être utile parfois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Sam 22 Mar 2014 - 21:56

Su tu regardes bien le code généré, l'IDE génère automatiquement une variable pour chaque objet Panoramic. Cette variable s'appelle MonObjet_n, avec MonObjet étant le type d'objet, et n étant le numéro d'ordre de cet objet. Chacune de ces variables est chargée automatiquement par la valeur de no% en vigueur au moment de la création de l'objet.

Ansi, tu peix avoir des déclarations du genre:
Code:
dim Edit_1% : Edit_1% = 1
dim Button_1% : Button_1% = 2
dim Edit_2% : Edit_2% = 3
etc.

Je pense que cela répond à ton problème. Ces variables sont conçues pour accéder directement aux objets.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

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

MessageSujet: re   Dim 23 Mar 2014 - 0:20

Moi, je me demande bien à quoi peut servir 
de changer le numéro d' un objet... scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 1:33

Embarassed 
Aurais_ je pose un question  hors sujet?
je fais souvent  comme cela  : form 100  reçoit   les objets
en  110,120,130
  210 sera  place sur form 200
ou parfois  j 'établis un e  hiérarchie  selon l'ordre d 'appel dans le déroulement
du programme
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Yannick

avatar

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

MessageSujet: re   Dim 23 Mar 2014 - 1:37

lorsque tu te sers du système no%, tu n' as plus à gérer çà
puisque ton numéro devient une variable%.

l' objet Edit_1_form_0% restera le même qu' il est le numéro 100,200 ou autre,
il sera toujours au même endroit.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 2:03

Effectivement, Ygeronimi.

Il suffira de faire
print text$(edit_1%)
pour imprimer le texte contenu dans l'objet dont le numéro est contenu dans la variable Edit_1%, même si ce numéro est 29 ou 217.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 2:15

Oui  tu as raison
je dois laisser au placard de vieilles habitudes que j'ai hérite
d'un passe très très  lointain ou je faisais  de gammes d'usinage  pour
les premiers tours d'usinage non pas informatises mais automatises
C’était du linéaire la programmation "paramétrique" on  connaissait pas
Mon ordi c’était   un tableau dans lequel je plaçait des piges  et l'erreur
était fatale!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 2:17

J'ai croise vos réponses
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 2:20

Pour exemple, regarde le code de mon jeu Pousse-Pousse.bas. Il est sur mon WebDav dans le dossier Jeux, mais voici le cource complet pour la facilité:
Code:
' C:\Documents and Settings\Klaus\Mes documents\Mes projets Delphi\IDE\15_puzzle\15_puzzle.bas

' poussse-pousse.bas

labels()
constantes()
variables()
user_variables()
objets()
initialisations()
end
 
sub variables()
  dim no_forms%(1)
  dim no%, res%, KGF_present%, WBurl$
  dim Form_1% : Form_1% = 0
  dim Main_menu_1% : Main_menu_1% = 2
  dim Sub_menu_1% : Sub_menu_1% = 3
  dim Sub_menu_2% : Sub_menu_2% = 4
  dim Sub_menu_3% : Sub_menu_3% = 5
  dim Sub_menu_4% : Sub_menu_4% = 6
  dim Sub_menu_5% : Sub_menu_5% = 7
  dim Image_1% : Image_1% = 8
  dim Image_2% : Image_2% = 9
  dim Image_3% : Image_3% = 10
  dim Image_4% : Image_4% = 11
  dim Image_5% : Image_5% = 12
  dim Image_6% : Image_6% = 13
  dim Image_7% : Image_7% = 14
  dim Image_8% : Image_8% = 15
  dim Image_9% : Image_9% = 16
  dim Image_10% : Image_10% = 17
  dim Image_11% : Image_11% = 18
  dim Image_12% : Image_12% = 19
  dim Image_13% : Image_13% = 20
  dim Image_14% : Image_14% = 21
  dim Image_15% : Image_15% = 22
  dim Panel_1% : Panel_1% = 23
  dim Picture_1% : Picture_1% = 24
  dim Picture_2% : Picture_2% = 25
  dim Picture_3% : Picture_3% = 26
  dim Picture_4% : Picture_4% = 27
  dim Picture_5% : Picture_5% = 28
  dim Picture_6% : Picture_6% = 29
  dim Picture_7% : Picture_7% = 30
  dim Picture_8% : Picture_8% = 31
  dim Picture_9% : Picture_9% = 32
  dim Picture_10% : Picture_10% = 33
  dim Picture_11% : Picture_11% = 34
  dim Picture_12% : Picture_12% = 35
  dim Picture_13% : Picture_13% = 36
  dim Picture_14% : Picture_14% = 37
  dim Picture_15% : Picture_15% = 38
  dim Picture_16% : Picture_16% = 39
  dim Open_dialog_1% : Open_dialog_1% = 40
end_sub
 
sub charger_KGF()
  if KGF_present%=0
    dll_on KGF_dll$
    KGF_present%=1
  end_if
end_sub
 
sub objets()
  Top no%, 30
  Left no%, 204
  Width no%, 678
  Height no%, 528
  Caption no%, "Pousse-Pousse"
 
' objet supprimé
  no% = no% + 1

' Main_menu_1
  no% = no% + 1
  Main_menu no%
 
' Sub_menu_1
  no% = no% + 1
  Sub_menu no%
  Parent no%,2
  Caption no%, "Jeu"
 
' Sub_menu_2
  no% = no% + 1
  Sub_menu no%
  Parent no%,3
  Caption no%, "Nouveau"
  On_click no%,nouveau
 
' Sub_menu_3
  no% = no% + 1
  Sub_menu no%
  Parent no%,3
  Caption no%, "Sortir"
  On_click no%,sortir
 
' Sub_menu_4
  no% = no% + 1
  Sub_menu no%
  Parent no%,2
  Caption no%, "Images"
 
' Sub_menu_5
  no% = no% + 1
  Sub_menu no%
  Parent no%,6
  Caption no%, "Charger"
  On_click no%,charger
 
' Image_1
  no% = no% + 1
  Image no%
 
' Image_2
  no% = no% + 1
  Image no%
 
' Image_3
  no% = no% + 1
  Image no%
 
' Image_4
  no% = no% + 1
  Image no%
 
' Image_5
  no% = no% + 1
  Image no%
 
' Image_6
  no% = no% + 1
  Image no%
 
' Image_7
  no% = no% + 1
  Image no%
 
' Image_8
  no% = no% + 1
  Image no%
 
' Image_9
  no% = no% + 1
  Image no%
 
' Image_10
  no% = no% + 1
  Image no%
 
' Image_11
  no% = no% + 1
  Image no%
 
' Image_12
  no% = no% + 1
  Image no%
 
' Image_13
  no% = no% + 1
  Image no%
 
' Image_14
  no% = no% + 1
  Image no%
 
' Image_15
  no% = no% + 1
  Image no%
 
' Panel_1
  no% = no% + 1
  Panel no%
  Top no%, 24
  Left no%, 15
  Width no%, 630
  Height no%, 440
  Caption no%, ""
  Hint no%, ""
  color no%,0,0,0
 
' Picture_1
  no% = no% + 1
  Picture no%
  Top no%, 9
  Left no%, 12
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move
 
' Picture_2
  no% = no% + 1
  Picture no%
  Top no%, 9
  Left no%, 165
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_3
  no% = no% + 1
  Picture no%
  Top no%, 9
  Left no%, 318
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_4
  no% = no% + 1
  Picture no%
  Top no%, 9
  Left no%, 471
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_5
  no% = no% + 1
  Picture no%
  Top no%, 111
  Left no%, 12
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_6
  no% = no% + 1
  Picture no%
  Top no%, 111
  Left no%, 165
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_7
  no% = no% + 1
  Picture no%
  Top no%, 111
  Left no%, 318
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_8
  no% = no% + 1
  Picture no%
  Top no%, 111
  Left no%, 471
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_9
  no% = no% + 1
  Picture no%
  Top no%, 213
  Left no%, 12
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_10
  no% = no% + 1
  Picture no%
  Top no%, 213
  Left no%, 165
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_11
  no% = no% + 1
  Picture no%
  Top no%, 213
  Left no%, 318
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_12
  no% = no% + 1
  Picture no%
  Top no%, 213
  Left no%, 471
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_13
  no% = no% + 1
  Picture no%
  Top no%, 315
  Left no%, 12
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_14
  no% = no% + 1
  Picture no%
  Top no%, 315
  Left no%, 165
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move

' Picture_15
  no% = no% + 1
  Picture no%
  Top no%, 315
  Left no%, 318
  Width no%, 150
  Height no%, 100
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  on_click no%,move
 
' Picture_16
  no% = no% + 1
  Picture no%
  Top no%, 315
  Left no%, 318
  Width no%, 600
  Height no%, 400
  Parent no%,23
  font_size no%,16
  font_bold no%
  Hint no%, ""
  hide no%

' Open_dialog 1
  no% = no% + 1
  Open_dialog no%
  filter no%,"Images|*.jpg;*.bmp"
 
end_sub
 
sub initialisations()
  positions_initiales%(1,1) = left(picture_1%)
  positions_initiales%(1,2) = top(picture_1%)
  positions_initiales%(2,1) = left(picture_2%)
  positions_initiales%(2,2) = top(picture_2%)
  positions_initiales%(3,1) = left(picture_3%)
  positions_initiales%(3,2) = top(picture_3%)
  positions_initiales%(4,1) = left(picture_4%)
  positions_initiales%(4,2) = top(picture_4%)
  positions_initiales%(5,1) = left(picture_5%)
  positions_initiales%(5,2) = top(picture_5%)
  positions_initiales%(6,1) = left(picture_6%)
  positions_initiales%(6,2) = top(picture_6%)
  positions_initiales%(7,1) = left(picture_7%)
  positions_initiales%(7,2) = top(picture_7%)
  positions_initiales%(8,1) = left(picture_8%)
  positions_initiales%(8,2) = top(picture_8%)
  positions_initiales%(9,1) = left(picture_9%)
  positions_initiales%(9,2) = top(picture_9%)
  positions_initiales%(10,1) = left(picture_10%)
  positions_initiales%(10,2) = top(picture_10%)
  positions_initiales%(11,1) = left(picture_11%)
  positions_initiales%(11,2) = top(picture_11%)
  positions_initiales%(12,1) = left(picture_12%)
  positions_initiales%(12,2) = top(picture_12%)
  positions_initiales%(13,1) = left(picture_13%)
  positions_initiales%(13,2) = top(picture_13%)
  positions_initiales%(14,1) = left(picture_14%)
  positions_initiales%(14,2) = top(picture_14%)
  positions_initiales%(15,1) = left(picture_15%)
  positions_initiales%(15,2) = top(picture_15%)
  positions_initiales%(16,1) = positions_initiales%(12,1)
  positions_initiales%(16,2) = positions_initiales%(15,2)
  lignes%(1) = 1
  lignes%(2) = 1
  lignes%(3) = 1
  lignes%(4) = 1
  lignes%(5) = 2
  lignes%(6) = 2
  lignes%(7) = 2
  lignes%(8) = 2
  lignes%(9) = 3
  lignes%(10) = 3
  lignes%(11) = 3
  lignes%(12) = 3
  lignes%(13) = 4
  lignes%(14) = 4
  lignes%(15) = 4
  colonnes%(1) = 1
  colonnes%(2) = 2
  colonnes%(3) = 3
  colonnes%(4) = 4
  colonnes%(5) = 1
  colonnes%(6) = 2
  colonnes%(7) = 3
  colonnes%(8) = 4
  colonnes%(9) = 1
  colonnes%(10) = 2
  colonnes%(11) = 3
  colonnes%(12) = 4
  colonnes%(13) = 1
  colonnes%(14) = 2
  colonnes%(15) = 3
  x% = width(picture_1%)/2
  y% = height(picture_1%)/2
 
  mixer()
  for i%=1 to 15
    print_target_is picture_1%+i%-1
    print_locate x%,y%
'    print str$(tag%(i%))
    print str$(i%)
  next i%
  l_libre% = 4
  c_libre% = 4
  i_libre% = 16
  dll_on KGF_dll$
end_sub
 
' ********* labels
sub labels()
  label charger
  label nouveau
  label sortir
  label move
 
end_sub
 
' ********* procédures
Sub user_variables()
  '  Placez ici vos variables utilisées dans vos procédures
  dim positions%(15,2)
  dim positions_initiales%(16,2)
  dim mixage%(16), tag%(15),  lignes%(15), colonnes%(15)
  dim l_libre%, c_libre%, i_libre%
  dim i%, x%, y%, soluble%
  dim img$
End_Sub

Sub constantes()
  ' adapter ici le chemin vers KGF.dll
  dim KGF_dll$ : KGF_dll$ = "..\..\KGF\KGF.dll"
End_Sub

Sub nouveau()
  remixer()
 
End_sub

Sub sortir()
  terminate
End_sub

Sub charger()
  dim_local f$, i%, l%, c%
  f$ = file_name$(Open_dialog_1%)
  if f$="_" then exit_sub
  if file_exists(f$)=0 then exit_sub
  img$ = f$
  i% = dll_call1("LoadAnyImageFile",adr(img$))
  i% = dll_call2("ResizePicture",600,400)
  clipboard_paste picture_16%
  for i%=1 to 15
    l% = int((i%+3)/4)
    c% = i% - (l%-1)*4
    2d_target_is picture_16%
    2d_image_copy i%+image_1%-1,(c%-1)*150,(l%-1)*100,c%*150-1,l%*150-1
    2d_target_is i%+picture_1%-1
    2d_image_paste i%+image_1%-1,0,0
  next i%
End_sub

sub move()
  dim_local n%, x%, y%, i%, l%, c%, f%
  dim_local check_bas%, check_haut%, check_gauche%, check_droite%
  n% = number_click - picture_1% + 1
  x% = left(number_click)
  y% = top(number_click)
  for f%=1 to 16
    if positions_initiales%(f%,1)=x%
      if positions_initiales%(f%,2)=y%
        l% = int((f%+3)/4)
        c% = f% - (l%-1)*4
        exit_for
      end_if
    end_if
  next f%
  if l%<4 then check_bas% = 1
  if l%>1 then check_haut% = 1
  if c%<4 then check_droite% = 1
  if c%>1 then check_gauche% = 1
  if check_bas%=1
    if l_libre%=l%+1
      if c_libre%=c%
        swap(n%,f%,l%,c%)
        victoire()
        exit_sub
      end_if
    end_if
  end_if
  if check_haut%=1
    if l_libre%=l%-1
      if c_libre%=c%
        swap(n%,f%,l%,c%)
        victoire()
        exit_sub
      end_if
    end_if
  end_if
  if check_gauche%=1
    if l_libre%=l%
      if c_libre%=c%-1
        swap(n%,f%,l%,c%)
        victoire()
        exit_sub
      end_if
    end_if
  end_if
  if check_droite%=1
    if l_libre%=l%
      if c_libre%=c%+1
        swap(n%,f%,l%,c%)
        victoire()
        exit_sub
      end_if
    end_if
  end_if
end_sub

sub victoire()
  dim_local i%, ok%
  ok% = 1
  for i%=1 to 15
    if left(i%+picture_1%-1)<>positions_initiales%(tag%(i%),1)
      ok% = 0
      exit_for
    end_if
    if top(i%+picture_1%-1)<>positions_initiales%(tag%(i%),2)
      ok% = 0
      exit_for
    end_if
  next i%
  if ok%=1 then message "Bravo ! Vous avez réussi !"
End_sub

sub swap(n%,f%,l%,c%)
  left n%+picture_1%-1,positions_initiales%(i_libre%,1)
  top n%+picture_1%-1,positions_initiales%(i_libre%,2)
  i_libre% = f%
  l_libre% = l%
  c_libre% = c%
end_sub


' ********* procédures spécifiques

sub remixer()
  mixer()
  i_libre% = 16
  l_libre% = 4
  c_libre% = 4
end_sub

sub mixer()
  dim_local i%, j%, n%, f%, n1%, n2%
  for i%=1 to 16
    mixage%(i%) = 0
  next i%
  n% = int(rnd(15))+1
  mixage%(1) = n%
  tag%(1) = 1
  left picture_1%,positions_initiales%(n%,1)
  top picture_1%,positions_initiales%(n%,2)
  for i%=2 to 15
    repeat
      f% = 0
      n% = int(rnd(15))+1
      for j%=1 to i%-1
        if n%=mixage%(j%) then f% = 1
      next j%
    until f%=0
    mixage%(i%) = n%
    tag%(i%) = i%
    left i%+picture_1%-1,positions_initiales%(n%,1)
    top i%+picture_1%-1,positions_initiales%(n%,2)
    if n%=14 then n1% = i%
    if n%=15 then n2% = i%
  next i%

  ' tester si la combinaison est soluble
  test_soluble()
  if soluble%=0
    left n1%+picture_1%-1,positions_initiales%(15,1)
    top n1%+picture_1%-1,positions_initiales%(15,2)
    left n2%+picture_1%-1,positions_initiales%(14,1)
    top n2%+picture_1%-1,positions_initiales%(14,2)
  end_if
end_sub

' parité des permutations:
' 1 2 3 4 5  position idéale
' 1 3 4 5 2  permutation

' 1/2->1/3 1
' 1/3->1/4 1
' 1/4->1/5 1
' 1/5->1/2 0

' 2/3->3/4 1
' 2/4->3/5 1
' 2/5->3/2 0

' 3/4->4/5 1
' 3/5->4/2 0

' 4/5->5/2 0
' On compte les "0". Ici, il y en a 4 donc la permutation est paire.

sub test_soluble()
  dim_local i%, j%, inversions%
  soluble% = 1
  for i%=1 to 14
    for j%=i%+1 to 15
      if tag%(i%)>tag%(j%) then inversions% = inversions% + 1
    next j%
  next i%
  soluble% = 1 - bin_and(inversions%,1)
end_sub

' ********* evenements
charger:
  charger()
  return

nouveau:
  nouveau()
  return

sortir:
  sortir()
  return
 
move:
  move()
  return

 
 
' activer la ligne suivante si KGF_SUB.bas est utilisée
' et adapter le chemin vers KGF_SUB.bas
' #INCLUDE "KGF_SUB.bas"
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 21:52

salut
j'ai beaucoup appris ces dernier jours en particulier sur DIM
je n'aurais jamais pense à ça par exemple
Code:
dim  p%  :p%=1000*3
 dim pn%  :pn%=1000*5
 dim  no%  :no%=p%+pn%
 print no%
La doc sur dim ne le laisse pas entrevoir ces possibilités pour un débutant
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 21:58

Oh, ce ne sont pas des possibilités de la commande DIM ! C'est simplement l'utilisation des lignes de continuation séparées par des ":" qui permet d'ajouter une commande sur la même ligne qu'une autre. Et dans ce cas, il s'agit simplement de charger une valeur dans une variable qu'on vient de définir.

C'est la même choses, sur le plan de la syntaxe, que de faire:
Code:
dim no%
...
no% = no% + 1 : edit no% : top no%,200 : left no%,210 : width no%,65
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
sergeauze

avatar

Nombre de messages : 391
Age : 65
Localisation : Hautes Alpes France
Date d'inscription : 09/01/2010

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 22:08

@
Une fois de plus je faisais fausse route  confused 
Je te remercie  de me remettre sur la bonne voie
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://sergeauze.blog-video.tv/
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Début d'un autre IDE    Dim 23 Mar 2014 - 22:20

Ca sert à ça le forum Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Mer 2 Avr 2014 - 11:37

Nouvelle version:
IDE V1.0.29 du 02/04/2014

Nouveauté:
- évènement ON_CLOSE pour FORM
- séparer la taille de la grille magnétique pour les dimensions horizontales/verticales
- corriger un petit problème de prise en compte de la grille magnétique au démarrage


Modules modifiés:
IDE.exe

Les sources sont à jour.

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

Nombre de messages : 10075
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Début d'un autre IDE    Mar 8 Avr 2014 - 13:29

Nouvelle version:
IDE V1.0.30 du 08/04/2014

Nouveauté:
correction d'un bug au lancement initial sous W8

Modules modifiés:
IDE.exe

Les sources sont à jour.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé




MessageSujet: Re: Début d'un autre IDE    

Revenir en haut Aller en bas
 
Début d'un autre IDE
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 9 sur 9Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
 Sujets similaires
-
» Un autre mystère
» Comment faire un lien vers une autre page du site ?
» mettre à l'heure d'un autre pays
» Comment faire un lien vers un autre site?
» [RESOLU] Fermer une fenêtre avant d'ouvrir une autre

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: