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.
Début d'un autre IDE  - Page 9 Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
Début d'un autre IDE  - Page 9 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Début d'un autre IDE  - Page 9 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Début d'un autre IDE  - Page 9 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Début d'un autre IDE  - Page 9 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Début d'un autre IDE  - Page 9 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Début d'un autre IDE  - Page 9 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Début d'un autre IDE  - Page 9 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Début d'un autre IDE  - Page 9 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Début d'un autre IDE  - Page 9 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Début d'un autre IDE  - Page 9 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Début d'un autre IDE  - Page 9 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Début d'un autre IDE  - Page 9 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Début d'un autre IDE  - Page 9 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Début d'un autre IDE  - Page 9 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
-55%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
49.99 € 109.99 €
Voir le deal

 

 Début d'un autre IDE

Aller en bas 
+4
sergeauze
papydall
Yannick
Klaus
8 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
AuteurMessage
Yannick




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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: re   Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 1: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
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 2: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
http://sergeauze.blog-video.tv/
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 18: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
http://sergeauze.blog-video.tv/
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 19: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
http://klauspanoramic.comxa.com/index.html
Yannick




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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: re   Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 22:20

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

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 23: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
http://sergeauze.blog-video.tv/
Yannick




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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: re   Début d'un autre IDE  - Page 9 EmptySam 22 Mar 2014 - 23: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
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 0: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
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 0: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
http://sergeauze.blog-video.tv/
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 0:17

J'ai croise vos réponses
Revenir en haut Aller en bas
http://sergeauze.blog-video.tv/
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 0: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
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 19: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
http://sergeauze.blog-video.tv/
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 19: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
http://klauspanoramic.comxa.com/index.html
sergeauze

sergeauze


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 20: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
http://sergeauze.blog-video.tv/
Jicehel

Jicehel


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyDim 23 Mar 2014 - 20:20

Ca sert à ça le forum Wink
Revenir en haut Aller en bas
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyMer 2 Avr 2014 - 10: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
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 EmptyMar 8 Avr 2014 - 12: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
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Début d'un autre IDE  - Page 9 Empty
MessageSujet: Re: Début d'un autre IDE    Début d'un autre IDE  - Page 9 Empty

Revenir en haut Aller en bas
 
Début d'un autre IDE
Revenir en haut 
Page 9 sur 9Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
 Sujets similaires
-
» Début d'un jeu de labyrinthe
» Début d'un nouveau système de 2D et Sprites
» Clone Début - Tableur
» Début d'un constructeur d'un GUI Panoramic
» systeme de combat et compétence[Skill system and battle sys]

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: