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.
problème avec dimension du Form 0 et/ou timer Emptypar Pedro Aujourd'hui à 8:08

» Un autre pense-bête...
problème avec dimension du Form 0 et/ou timer Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
problème avec dimension du Form 0 et/ou timer Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
problème avec dimension du Form 0 et/ou timer Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
problème avec dimension du Form 0 et/ou timer Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
problème avec dimension du Form 0 et/ou timer Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
problème avec dimension du Form 0 et/ou timer Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
problème avec dimension du Form 0 et/ou timer Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
problème avec dimension du Form 0 et/ou timer Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
problème avec dimension du Form 0 et/ou timer Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
problème avec dimension du Form 0 et/ou timer Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
problème avec dimension du Form 0 et/ou timer Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
problème avec dimension du Form 0 et/ou timer Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
problème avec dimension du Form 0 et/ou timer Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
problème avec dimension du Form 0 et/ou timer 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

 

 problème avec dimension du Form 0 et/ou timer

Aller en bas 
3 participants
AuteurMessage
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 10:49

Bonjour,

Quelqu'un pourrait me dire pourquoi ce programme ne fonctionne pas correctement ?

Si on supprime les commentaires (qu'on valide l'exécution de la boucle) le programme plante.

1- La boucle en fait, ralenti le prog de manière à ce qu'un évènement timer se déclenche avant le show 0. Pour cet exemple, j'ai mis une boucle avec un wait mais en réalité dans mon programme je fais des appels à des procédures d'initialisation qui sont un peu longues...

2- Les dimensions du form 0 lorsqu'il est caché sont de 600x480 pixels... donc pas de soucis de ce coté là...


Code:
hide 0

label TimerEvent,FinProg,Resize
dim ClientW:ClientW=0
dim ClientH:ClientH=0

dim i%
timer 1 : timer_interval 1,100
button 2:caption 2,"Quitter": on_click 2,FinProg
list 3:top 3,height(2)+5
on_timer  1,TimerEvent

' for i%=0 to 1000
'  wait 2
' next i%

show 0

end

TimerEvent:
 if (ClientW<>width(0)) or (ClientH<>height(0))
  ClientW=width(0):ClientH=height(0)
  gosub Resize
 end_if
return

Resize:
 width 3,ClientW-10: height 3,ClientH-height(2)-40
return

FinProg:
  terminate

Le programme ne plante plus si je déclare le on_timer après avoir fait le show 0. Pourquoi ?
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


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

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 12:49

Je ne peux expliquer l'erreur "not correct arithmetic expression" que par le fait que le timer intervient à un moment inopportun pour Panoramic, et une instruction n'est exécutée que partiellement. Je sais, c'est léger, mais:
remplace ta boucle par un wait 2000, et tout fonctionne. C'est dont bien l'intrerruption de ta boucle par le tmer qui pose problème, et cela ne devrait pas arriver.

Je pense que c'est à Jack de regarder ce problème - tu as peut-être bien relevé un bug !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 13:39

J'ai deux expérience avec ce programme.
Je l'ai copier dans un nouvel éditeur (au cas où, et j'ai eu raison), et à chaque lancement, le programme resté bloqué. Jusqu'à ce que l'éditeur se ferme avec l'habituel "impossible to run".
Je l'ai relancé de nouveau avec un éditeur (même édition) et maintenant, il marche sans problème.
Pendant les premiers lancements, il y a eu entre temps l'optimisation de la ram, et maintenant que la ram est optimisée, j'ai plus de problème.
Mais moi je rajouterais ceci dans time_Event: off_timer 1, pour le rétablir ensuite. Je ferais la même chose avant le terminate.

A mon avis, et je crois que comme moi, tu as un problème de mémoire, le principal problème vient de là.
Revenir en haut Aller en bas
Klaus

Klaus


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

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 14:30

Le problème est plus complexe que ça. J'ai appliqué ton idée, Cosmos70, en modifiant la routine TimerEvent:
Code:
TimerEvent:
timer_off 1
 if (ClientW<>width(0)) or (ClientH<>height(0))
  ClientW=width(0):ClientH=height(0)
  gosub Resize
 end_if
timer_on  1,TimerEvent
return
Résultat, "Not correct onject number" sur la iigne timer_on 1,TimerEvent...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 14:46

C'est en faisant quoi que tu as ce problème?
Je n'arrive plus à avoir d'erreur!
Je modifie les dimensions avec la souris la fenêtre, mais cela suit. Je n'arrive plus à avoir d'erreur.
Curieux?
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 14:48

@cosmos :

J'étais en train de te répondre quand tu as envoyer ton msg...
Regarde le dernier bout de code en bas du post, celui là pose problème...

Je viens de faire l'essai sur un PC avec 1Go de RAM. Le problème demeure...
je ne pense pas que ce soit la RAM. Le code tel que je l'ai écrit au dessus fonctionne - pour éviter les cris... Wink -

En fait dans mon programme initial, je lance plusieurs procédures avant de faire le show 0. Pour le post, il n'était pas nécessaire de fournir tout le code, c'est pour cela que j'ai simuler mes appels par une boucle "for" avec un wait dedans. J'ai volontairement mis une boucle et non pas un simple wait 5000 car je pense que le wait est non-interruptible... du moins, je n'obtient pas la même chose...

Pour en revenir au pb : Si j'enlève les caractères de mise en commentaire de la boucle "for", j'ai le message "(29) Not Correct Arithmetic Expression." sur la ligne du return de la procédure TimerEvent. Au passage, le programme tourne encore tant que je n'ai pas cliqué sur Stop dans l'éditeur... (le timer?)

pourtant il n'y a aucune raison que cela plante :
Code:
hide 0

label TimerEvent,FinProg,Resize
dim ClientW:ClientW=0
dim ClientH:ClientH=0
dim i%

button 2:caption 2,"Quitter": on_click 2,FinProg
list 3:top 3,height(2)+5
form 4:list 5:parent 5,4:width 4,400:full_space 5:top 4,height(0)
item_add 5,"width 0 ->"+str$(width(0)) : item_add 5,"height 0 ->"+str$(height(0))
item_add 5,"width 3 ->"+str$(width(3)) : item_add 5,"height 3 ->"+str$(height(3))
timer 1 : timer_interval 1,100

on_timer  1,TimerEvent

for i%=0 to 1000
 wait 2
next i%

show 0
end

TimerEvent:
 if (ClientW<>width(0)) or (ClientH<>height(0))
  ClientW=width(0):ClientH=height(0)
  gosub Resize
 end_if
return

Resize:
  item_add 5,"resize\width 0 ->"+str$(width(0)) : item_add 5,"resize\height 0 ->"+str$(height(0))
  item_add 5,"resize\width 3 ->"+str$(width(3)) : item_add 5,"resize\height 3 ->"+str$(height(3))
  item_add 5,"resize\ClientW ->"+str$(ClientW)  : item_add 5,"resize\ClientH ->"+str$(ClientH)
  width 3,ClientW-10: height 3,ClientH-height(2)-40
return

FinProg:
  terminate
l'exécution de :
Code:
width 3,ClientW-10: height 3,ClientH-height(2)-40
normalement ne devrait pas poser problème...
Ce n'est pas non plus le gosub dans TimerEvent car j'ai fait l'essai en remplacant celui-ci par le redimensionnement de ma list.
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 15:01

J'ai juste fait l'essai à l'instant, et j'ai un problème de return en ligne 29. Mais je rappelle que Jack avait bien précisé que les wait étaient interdit avec timer, et c'est la raison qu'il ne voulait pas mettre cette instruction à notre disposition.

J'ai vraiment pas le temps de regarder maintenant, pas avant ce soir, peut-être que la solution sera trouvée d'ici là.
Je quitte.
Revenir en haut Aller en bas
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 15:05

En réduisant mon éditeur, j'ai vu ceci en quittant: C'est en arrière fond

problème avec dimension du Form 0 et/ou timer Restem
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 15:25

Depuis plusieurs semaines, je n'ai plus trop le temps de continuer le développement de PANORAMIC (mais ne vous inquiétez pas, le développement reprendra).
Tout ce que je fais concernant PANORAMIC, c'est de regarder les forums plusieurs fois par jour. Je suis particulièrement sensible en cas de description d'un problème.

J'ai regardé et exécuté le code fourni par Nardo26, et il y a manifestement un bug.
Il n'est pas normal qu'il y ait un plantage.
J'essaye de corriger cela au plus vite.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 16:27

Bonjour Jack.
Je me doute que tu dois être bien occupé en ce moment.
Pour palier au problème j'ai pour l'instant déclaré l'évènement timer après le show 0.

Une petite info supplémentaire :
Si tu déplaces les 2 item_add qui se trouvent juste avant la déclaration du timer en fin de prog, juste après le show 0 -> ces 2 items_add ne sont pas exécutés...

Peut être un pb de réservation de ressource (l'objet 3) entre la cde show et les cde utilisées dans le timer ?
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 17:24

J'ai pas pu m'empêcher de regarder en passant à côté de mon ordi.

Il y a une chose qui ne me parait pas normal dans la conception du programme.
J'ai toujours mis en route le timer juste avant le END, parce que tu déclenche celui-ci avant même d'avoir terminé de mettre en place tes objets. Tu n'as pas fini ta liste, mais tu déclenche le timer qui est une interruption. C'est pas logique.
Si tu mets on_timer juste avant le END, ça fonctionne.
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 18:41

Hello cosmos70

Si tu regardes bien le code juste au dessus, tu remarqueras que les boutons et la liste sont déclarés AVANT le timer. Je me permet même de faire des add_item avant la déclaration du timer...
PS: Je te rassure: tu n'as pas des hallucinations Smile -> tu dois avoir la 1ere version du code, car j'ai tapé à-la-va-vite l'exemple. J'ai entre-temps arrangé tout ça... t'as du récupérer le code juste après mon 1er post... et je ne pensais pas que quelqu'un entre-temps l'avait récupéré...

Dans le programme initial , je fais dans l'ordre : (ça me parait logique, mais bon, chacun fait comme il l'entend...)

  1. masquage de form 0
  2. déclaration des labels
  3. déclaration des variables
  4. déclaration des objets
  5. déclaration des évènements
  6. affichage de form 0. (ça fait plus propre que de voir l'interface graphique se dessiner petit à petit)
  7. un bon gros End des familles
  8. déclaration des procédures, avec de préférence le EndProg (terminate sur on_close 0) en 1er (je sais, ce n'est pas le cas dans l'exemple Wink )

    C'est cet ordre qui pose problème alors qu'il n'y a pas de raison. Après le pt 4, tout est en place ! Actuellement pour que cela fonctionne, il faut inverser le pt 5 avec le pt 6
Mon hypothèse : Ce qui doit gêner c'est que la fct show doit utiliser en interne les cde width(),height(),etc... pour afficher les objets alors que le timer lui aussi cherche à les utiliser (et il doit y avoir conflit, pb de réentrance?..)
Ça ne reste qu'une hypothèse. Il n'y a que Jack qui pourrait (s'il le souhaite) nous donner la réponse...

Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 19:10

Je viens de reprendre le code depuis le forum à l'instant, et je trouve le même cas de figure.
Tu confonds déclaration des objets, y compris TIMER1, et l'envoi de l'événement comme ON_TIMER 1, ..., qui lui exécute dès l'instant cette instruction.
Tant que cette instruction n'est pas envoyé, le TIMER ne fait rien, vu qu'il n'a pas de branchement.
Tel que je prend le code sur le forum, j'ai le message suivant: expression arithmétique incorrecte, ou bien RETURN, je ne sais plus quoi... qui vient du fait que "ON_TIMER 1TimerEvent" est intervenu avant que le mot END ne soit trouvé.
En déplaçant ON_TIMER 1,TimerEvent, juste avant le END, tout est en place, et là les interruptions ne provoquent pas d'erreur. En tout cas sur ma "saloperie d'ordi" cela fonctionne comme je le dis.

TIMER est un objet ici, donc tu le place où tu veux. Le fonctionnement dépends de l'emplacement. A mon avis, l'erreur vient du fait qu'il n'est pas en mode événementiel, il est envoyé, et lorsqu'il arrive au return, il n'a plus de branchement. C'est une remarque que je me suis faite au fil du temps, avec différents objets. Il y a quelque chose de pas très clair. Je voulais rajouter autre chose, mais je ne peux rien affirmer, donc j'arrète.

Je peux juste rajouter, qu'on a eux des problèmes avec on_click, ou on change, et je pense qu'on voir les choses de la même manière
Revenir en haut Aller en bas
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 19:23

Je viens de revoir ton programme.
J'ai déplacé le SHOW 0, avant la boucle wait.
Donc on a deux cas.
1er cas: je clique sur quitter avant la fin de la boucle, et j'ai le message d'erreur: Access Violation.....
2ème cas: je suis patient et j'attends la fin de la boucle, et là pas de message d'erreur.
Pourquoi? parce que On_timer fait une interruption pendant un wait, et là c'est le problème. Tu ne dois pas faire d'interruption pendant le WAIT qui est aussi une attente. Jack avait signalé que cela posait problème. Si tu attends pendant que wait est en fonctionnement, cela se passe bien, sinon il y a deux interruption en parallèle.
Vois comme tu veux, évite ce problème et je pense que cela se passera bien.

A+
Revenir en haut Aller en bas
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 20:05

Apparemment je suis un moulin à vent. Ai-je vraiment tord? ou ai-je rien compris?
Revenir en haut Aller en bas
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptyVen 3 Sep 2010 - 21:28

Désolé, cosmos70 je voudrai bien te répondre mais je ne peut pas pour l'instant,
j'ai une interruption prioritaire.... Smile
A+
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptySam 4 Sep 2010 - 6:52

Bonjour à tous !

Pour avancer dans le shmilblik, voici mon programme initial.
C'est un programme qui me permet de filtrer des messages contenu dans un fichier de log. (j'en dépiotte plusieurs fois par jours et chaque fichier contient plusieurs centaines de lignes, c'est vraiment pénible!)
un truc du style :

14:59:45 UT-L P 48 position run
14:59:15 UT-L P 53 position stop
14:59:15 UT-L P 54 position run
14:58:41 UT-L P 54 position stop
14:58:41 UT-L P 48 position stop
14:58:11 UT-L P 48 position stop on error: Yarn break (maitre)
14:34:32 UT-L P 31 position stop on error: Over tension (maitre)
13:58:58 UT-L P 20 position run

Dans ce programme je ne fait appel à aucun moment à l'instruction Wait

Pour info (je pense que cela peut intéresser Jack) : le form0 ne s'ouvre pas SAUF de temps en temps si j'ai le message :
"Cannot open file C:\DOCUME~1\Nardo\LOCALS~1\Temp\PANORAMIC.exe"
et quand il s'ouvre, apparemment mon formulaire FormDebug% n'est pas déclaré !

@cosmos :
regarde les commentaires dans le prog. J'ai essayer de mettre en oeuvre quelques trucs que tu m'as conseillé (timer_on/timer_off, une boucle...)

Code:
hide 0
caption 0,"Log Analyser"

label FinProg,Open_log,Filtre
label TimerEvent,Resize
label SearchParam
label Search,Plage
' -------------------------------------------------------
'              Définition des numéros d'objets
' -------------------------------------------------------
dim Verbose%:Verbose%=1

if Verbose% = 1
  dim FormDebug%:FormDebug%=1
  dim ListDebug%:ListDebug%=2
end_if

dim EditFiltre%:EditFiltre%=10
dim TextFiltre%:TextFiltre%=11
dim SelectFile%:SelectFile%=12
dim EditPlage% :EditPlage% =13
dim TextPlage% :TextPlage% =14
dim EditPlage2%:EditPlage2%=15
dim TextPlage2%:TextPlage2%=16

dim ButtonLoad%:ButtonLoad%=100
dim ButtonQuit%:ButtonQuit%=101
dim ButtonCopy%:ButtonCopy%=102

dim ListBuffer%:ListBuffer%=200
dim ListBuffer2%:ListBuffer2%=201
dim ListFiltre%:ListFiltre%=202
dim MainTimer% :MainTimer% =203


' -------------------------------------------------------
'                Déclaration des variables
' -------------------------------------------------------
dim fichier$,filtre$,ligne$,i%
dim params$,TabParam$(10,2),j%,k%
dim Search_i%,Search_j%
dim ClientH,ClientW,OldClientH,OldClientW
dim Boucle%:Boucle%=0

' ---- Init des variables
ClientW=0:ClientH=0
OldClientW=1:OldClientH=1

' -------------------------------------------------------
'                  Déclaration des objets
' -------------------------------------------------------

' ---- IHM
open_dialog SelectFile%: filter SelectFile%,"Log File|*.log"
button ButtonLoad%:caption ButtonLoad%,"Load":top ButtonLoad%,height(ButtonLoad%)*2:left ButtonLoad%,5
button ButtonCopy%:caption ButtonCopy%,"Copy":top ButtonCopy%,top(ButtonLoad%)+height(ButtonLoad%)+5:left ButtonCopy%,5
button ButtonQuit%:caption ButtonQuit%,"Exit":top ButtonQuit%,top(ButtonCopy%)+height(ButtonCopy%)+5:left ButtonQuit%,5

dlist ListBuffer%
dlist ListBuffer2%

list ListFiltre%
left ListFiltre%,left(ButtonLoad%)+width(ButtonLoad%)+10
width ListFiltre%,width(0)-left(ListFiltre%)-15
height ListFiltre%,height(0)-top(ListFiltre%)-40

edit EditFiltre%:left EditFiltre%, left(ListFiltre%) : width EditFiltre%,width(ListFiltre%)
alpha TextFiltre%:caption TextFiltre%,"Filter :":top TextFiltre%,5 : left TextFiltre%, left(EditFiltre%)-width(TextFiltre%)-10

alpha TextPlage%:left TextPlage%,left(EditFiltre%):caption TextPlage%,"Start : ":top TextPlage%,top(EditFiltre%)+height(EditFiltre%)+10
edit EditPlage%:left EditPlage%,left(TextPlage%)+width(TextPlage%)+10:top EditPlage%,top(EditFiltre%)+height(EditFiltre%)+5
alpha TextPlage2%:left TextPlage2%,left(EditPlage%)+width(EditPlage%)+20:caption TextPlage2%,"End : ":top TextPlage2%,top(EditFiltre%)+height(EditFiltre%)+10
edit EditPlage2%:left EditPlage2%,left(TextPlage2%)+width(TextPlage2%)+10:top EditPlage2%,top(EditFiltre%)+height(EditFiltre%)+5

top ListFiltre%,top(EditPlage%)+height(EditPlage%)+5
timer MainTimer% : timer_interval MainTimer%,100

' -------------------------------------------------------
'  Définition des actions à lancer sur évènements :
' -------------------------------------------------------

' A partir de là, en dehors de mon formulaire de débug (qui n'est pas sollicité
' à l'ouverture du prog), tout est déclaré...
' Pourquoi je n'ai pas le droit d'écrire, à cet endroit, la ligne en dessous ?
' Il n'y a aucune instruction Wait dans le programme...

on_timer  MainTimer%,TimerEvent
on_click ButtonLoad%,Open_log
on_click ButtonQuit%,FinProg
on_change EditFiltre%,Filtre
on_close 0,FinProg

' ---- Debug
if (Verbose% = 1)
  form FormDebug%
  memo ListDebug%:parent ListDebug%,FormDebug% : full_space  ListDebug%
  caption FormDebug%,"Debug"
end_if

' ---- Affichage du formulaire principal
show 0

' Hypothèse cosmos70 :
' Dans le cas où Timer ne fonctionne pas en mode évènementiel
' on met une boucle d'attente (pour le return du timer)
While (Boucle% = 0) : end_while

END

' *****************************************************************************************
' *              FIN D'INITIALISATION DU PROGRAMME
' *****************************************************************************************

FinProg:
 Boucle%=1
 Terminate


TimerEvent:
  Timer_off MainTimer%
  if (ClientW <> width(0) or ClientH <> height(0)) then gosub Resize
  ClientW = width(0) : ClientH = height(0)
  Timer_on MainTimer%
return

Resize:
  if (width(0) > left(ListFiltre%)) then width ListFiltre%, width(0)-left(ListFiltre%)-10
  if (height(0) > (top(ListFiltre%)+40)) then height ListFiltre%, height(0)-top(ListFiltre%)-40
  width EditFiltre%,width(ListFiltre%)
return

' -------------------------------------------------------
'            Ouverture du fichier de log
' -------------------------------------------------------
Open_log:
  fichier$ = FILE_NAME$(SelectFile%)
  if (fichier$ <> "_")
      FILE_LOAD ListBuffer%,fichier$
      gosub Filtre
  end_if
return


Filtre:
  params$ = text$(EditFiltre%): gosub SearchParam
  clear ListFiltre% : clear ListBuffer2%

  for i%=1 to count(ListBuffer%)
      ligne$ = item_read$(ListBuffer%,i%)
      if (TabParam$(0,1) = "0")
        item_add ListBuffer2%,ligne$
      else
        gosub Search
        if (Search_j%<>0) then item_add ListBuffer2%,ligne$
      end_if
  next i%
  params$ = text$(EditPlage%) : i% = 0 : if (len(params$) <> 0) then gosub Plage
  Search_i% = i%
  params$ = text$(EditPlage2%) : i% = 0: if (len(params$) <> 0) then gosub Plage
  Search_j% = i%
  for j% = 1 to count(ListBuffer2%)
      if ((Search_i% <> 0) or (Search_j%<>0))
        params$ = left$(item_read$(ListBuffer2%,j%),8) : gosub Plage
        if (i% > Search_i%) then item_add ListFiltre%,item_read$(ListBuffer2%,j%)
      else
        item_add ListFiltre%,item_read$(ListBuffer2%,j%)
      end_if
  next j%
return

Plage:
 if (Verbose% = 1) then Item_add ListDebug%,"Appel Plage("+params$+")"
 i% = (val(left$(params$,2))*3600)+(val(mid$(params$,4,2))*60)+(val(right$(params$,2)))
 if (Verbose% = 1)
  Item_add ListDebug%,str$(i%)
  Item_add ListDebug%, "---------------------------------------"
 end_if
return

Search:
  Search_j% = 0
  Search_j% = instr(ligne$,TabParam$(1,0))
  for Search_i% = 2 to val(TabParam$(0,1))
    if (TabParam$(Search_i%-1,1) = "&")
      if (instr(ligne$,TabParam$(Search_i%,0)) = 0)
        Search_j%=0
        exit_for
      end_if
    end_if
    if (TabParam$(Search_i%-1,1) = "|")
      Search_j% = Search_j% + instr(ligne$,TabParam$(Search_i%,0))
    end_if
    if (TabParam$(Search_i%-1,1) = "")
      if (instr(ligne$,TabParam$(Search_i%,0)) = 0)
          if (Search_j% = 1) then Search_j% = Search_j% + 1
      else
          Search_j% = 0
      end_if
    end_if
  next Search_i%
return

SearchParam:
  ' raz du tableau de paramètre
  for i% = 0 to 10:  TabParam$(i%,0)= "" : TabParam$(i%,1) = "" : next i%
  if (len(params$) = 0)
    TabParam$(0,1) = "0"
    return
  end_if
  TabParam$(0,1) = "1" : j% = 0
  for i% = 1 to len(params$)
    if (mid$(params$,i%,1) = "&") or (mid$(params$,i%,1) = "|") or (mid$(params$,i%,1) = "")
      TabParam$(val(TabParam$(0,1)),1) = mid$(params$,i%,1)
      TabParam$(0,1) = str$(val(TabParam$(0,1))+1)
    else
      TabParam$(val(TabParam$(0,1)),0) = TabParam$(val(TabParam$(0,1)),0) + mid$(params$,i%,1)
    end_if
  next i%
  if (Verbose% = 1)
    Item_add ListDebug%,"Nb de paramètre :"+TabParam$(0,1)
    Item_add ListDebug%, TabParam$(1,0)+" = "+TabParam$(1,1)
    Item_add ListDebug%, TabParam$(2,0)+" = "+TabParam$(2,1)
    Item_add ListDebug%, "---------------------------------------"
  end_if
return
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Invité
Invité




problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer EmptySam 4 Sep 2010 - 8:03

Je vois ton message.
Je te dis tout de suite, j'ai trop de problème à résoudre les miens pour essayer ton programme. Cela ne veut pas dire qu'un jour ou l'autre je ne reviendrais pas dessus.

Ce que je ne comprends pas, c'est pourquoi tu t'obstines à ne pas vouloir mettre on_timer en dernier avant le end.
Dois t'il fonctionner tout de suite avant la fin des instructions.
Comprends moi bien, ce n'est pas une critique, vu que je ne rentre pas dans le programme, mais à la différence des autres objets et aux commandes comme on_click, on_timer est automatique et agit seul (ON: mise en route), alors que par exemple on_click attend l'appui d'un bouton pour agir, ce qu'on ne fait évidemment pas avant que tout soit installé. Une opération automatique, on agit pas dessus, seulement après coup. Si cela n'empêche pas le reste des opérations, rien à dire.
Là c'est toi qui décide. J'ai fait mon rôle de "formateur", mot impropre pour moi, vu que je n'ai pas de compétences. Je pense seulement que je suis dans le vrai, tout au moins, tant que l'un d'entre vous n'intervienne pour me montrer le contraire. Ce que je dis me semble logique, mais ai-je raison?
Revenir en haut Aller en bas
Contenu sponsorisé





problème avec dimension du Form 0 et/ou timer Empty
MessageSujet: Re: problème avec dimension du Form 0 et/ou timer   problème avec dimension du Form 0 et/ou timer Empty

Revenir en haut Aller en bas
 
problème avec dimension du Form 0 et/ou timer
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème avec timer
» Problème avec select case Probleme réglé merci
» Problème d'affichage de Form.
» Problème de Timer.
» Des incomprèhension avec Timer

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: