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.
Ucase$, Lcase$... et questions diverses. Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Ucase$, Lcase$... et questions diverses. Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Ucase$, Lcase$... et questions diverses. Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Ucase$, Lcase$... et questions diverses. Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Ucase$, Lcase$... et questions diverses. Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Ucase$, Lcase$... et questions diverses. Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Ucase$, Lcase$... et questions diverses. Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Ucase$, Lcase$... et questions diverses. Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Ucase$, Lcase$... et questions diverses. Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Ucase$, Lcase$... et questions diverses. Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Ucase$, Lcase$... et questions diverses. Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Ucase$, Lcase$... et questions diverses. Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Ucase$, Lcase$... et questions diverses. Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Ucase$, Lcase$... et questions diverses. Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Ucase$, Lcase$... et questions diverses. 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 du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

 

 Ucase$, Lcase$... et questions diverses.

Aller en bas 
3 participants
AuteurMessage
JL35




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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyJeu 12 Juin 2008 - 16:55

Je n'ai pas trouvé l'équivalent des commandes Basic Ucase$ et LCase$ pour convertir une chaîne en majuscules ou en minuscules ? c'est pratique pour tester la présence d'une séquence (dans mon cas tester des suffixes de fichiers qui peuvent être en majuscules ou en minuscules indifféremment).
Pour le moment, j'ai écrit un sous-programme de conversion en majuscules.

Je ne vais pas créer un sujet supplémentaire, mais j'ai un autre problème:
J'ai un programme qui crée un fichier Html contenant des images d'un répertoire à afficher dans un tableau. A la fin du programme, je lance Internet Explorer pour l'affichage du fichier Html:
EXECUTE ...iexplore.exe fichier.htm.
Je crée un exécutable (.EXE) à lancer depuis le bureau Windows.
Tout va bien, mals le FORM 0 s'affiche en arrière plan, et quand je quitte Internet explorer, je dois ensuite cliquer sur le FORM 0 pour quitter.
Si je fais HIDE 0 en début de programme, le FORM ne s'affiche pas (donc je ne peux pas cliquer dessus), mais quand je quitte Internet Explorer le programme reste actif, ce qui n'est pas bon.
En fait je voudrais que le programme quitte tout de suite après avoir lancé Internet Explorer, sans attendre son exécution (appel "passant" et non "bloquant"), et ne pas être obligé de cliquer pour le terminer.

Rien à voir, mais j'en profite pour signaler un lapsus dans le Manuel de Référence, rubriques FILE_FIND_FIRST$ et FILE_FIND_NEXT$ où on trouve à plusieurs reprises FILE_FILE au lieu de FILE_FIND (dans "Action"). Il faut reconnaître que c'est pas facile à taper ...!


Dernière édition par JL35 le Lun 16 Juin 2008 - 21:46, édité 1 fois
Revenir en haut Aller en bas
Jack
Admin
Jack


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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyVen 13 Juin 2008 - 7:15

UCASE$ et LCASE$ manquent et je vais les coder.

Je vais regarder comment lancer un programme externe puis s'arrêter sans que le programme externe ne s'arrête.

Merci pour vos remarques sur les coquilles des fiches du Manuel de Référence. Je corrige ça tout de suite. PANORAMIC s'améliore de jour en jour!
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyVen 13 Juin 2008 - 15:46

EDIT: PROBLEME RESOLU VOIR PLUS BAS

Je ne me suis peut-être pas exprimé très clairement pour mon exécutable, lancé depuis le bureau de Windows.
En fait, le code est de cette forme (pour affichage par Internet Explorer d'un fichier Html):
Code:
ie$ = "C:\Progra~1\Intern~1\iexplore.exe"
EXECUTE ie$ + " " + "Fichier.htm"
END
Internet Explorer se lance bien et affiche le fichier.
Je le quitte, mais je ne comprends pas pourquoi mon programme Panoramic compilé reste actif en mémoire, malgré le END, et pourquoi je dois cliquer sur le FORM 0 (qui en l'occurence ne me sert à rien) pour l'arrêter à son tour.
(j'ai tenté un DELETE 0, mais c'est interdit).
Après avoir quitté IE je me retrouve avec ceci, qui n'est pas joli, et inutile:
Ucase$, Lcase$... et questions diverses. I3uz6

Ca ne me gêne pas que le programme Panoramic reste actif en même temps qu'IE, ce qui me gêne c'est qu'il reste actif après, malgré le END qui devrait tout libérer. Ou alors il y a une autre directive pour quitter qui m'a échappé ?

PS j'ai également essayé HIDE 0 ou INACTIVE 0, mais là on est coincés, on ne peut plus quiter.

Euréka! je n'avais pas bien regardé la documentation, effectivement il existe la commande TERMINATE qui fait parfaitement mon affaire: quitter le programme et libérer les ressources ! Donc problème résolu ! et mes excuses pour cette longue digression...
Pour la peine, j'ai mis mon code source dans la rubrique "Votre Code"
(Incidemment, la commande TERMINATE ne se colore pas comme les autres dans l'Editeur ?)
Revenir en haut Aller en bas
Jack
Admin
Jack


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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyVen 13 Juin 2008 - 18:08

Exactement!
Si on reprend le Manuel de référence, on peut lire pour END:
Citation :
Cette commande END arrête l'exécution du programme principal. Le programme reste actif et prêt à manipuler les événements.
END arrête le programme principal pour traiter les événements sur les objets système. C'est pourquoi la fenêtre principale (FORM0) reste affichée.

Et pour TERMINATE:
Citation :
Cette commande TERMINATE arrête définitivement l'exécution du programme et libère la mémoire. Tous les objets sont détruits. Le programme n'existe plus en mémoire.
C'est donc TERMINATE qu'il faut utiliser.

Et moi, pour ma peine, je ferai écrire terminate ainsi dans la prochaine version, car cette commande est bel et bien passée "à la trappe" de la coloration syntaxique!
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyVen 13 Juin 2008 - 21:11

Comme ça, tout est bien qui finit bien... décidément Panoramic est plein de ressources, certaines qu'il faut savoir chercher! merci encore.
J'en profite pour souligner encore ujne fois la grande qualité de la documentation, dans le fond et dans la forme.
Revenir en haut Aller en bas
JL35




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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Ucase$/Lcase$... et questions diverses   Ucase$, Lcase$... et questions diverses. EmptySam 14 Juin 2008 - 17:56

Encore une remarque concernant la commande TERMINATE:
En mode Editeur, le programme se termine mais on ne peut plus l'exécuter.
Je m'explique:
Code:
DIM a
a = 4
TERMINATE
Exécution par le menu "Exécuter"
On revient dans l'Editeur, le FORM 0 est bien effacé, on peut travailler à nouveau dans l'Editeur mais on a perdu la fonction "Exécuter" qui reste grisée, il faut relancer Panoramic.

Fonctions FILE_FIND_FIRST$ et FILE_FIND_NEXT$:
Ces fonctions renvoient indifféremment un nom de fichier ou un nom de sous-répertoire.
Comment distinguer s'il s'agit d'un fichier ou d'un répertoire ?

Fonction FILE_LOAD:
Il semble que dans la nouvelle version (allégée) la fonction ne sache plus charger que les fichiers BMP, et non plus les JPG comme avant ?

Test du clavier:
Est-il possible de tester l'état d'une touche ? Je voudrais quand on clique sur un objet faire une action si la touche Ctrl est enfoncée et une autre si elle ne l'est pas.
En QBasic on ferait:
Code:
DEF SEG = &h40
IF (PEEK(&h17) AND 4) > 0 THEN...    'touche Ctrl enfoncée
(le mot &h17 contient l'état des touches de fonction: Maj, Ctrl, Alt..., 1 bit par touche, égal à 1 si la touche est enfoncée).
EDIT: j'ai trouvé (comme souvent, la doc). Il faut tester SCANCODE, qui donne 160 pour Maj, 162 pour Ctrl, 164 pour Alt et 165 pour AltGr. Par contre je récupère toujours 255 pour les flèches de direction ...
Revenir en haut Aller en bas
Jack
Admin
Jack


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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyMer 18 Juin 2008 - 19:18

La commande TERMINATE arrête tout.
Si, dans un exécutable, elle remplit parfaitement son rôle: l'exécutable s'arrête et libère les objets et la mémoire, cela est bien gênant lorsqu'on l'utilise dans l'EDITOR ou dans l'IDE car alors, ceux-ci ne peuvent plus relancer PANORAMIC pour une nouvelle exécution.
Je vais corriger cela pour la prochaine version.

Normalement, FILE_FIND_FIRST$ et FILE_FIND_NEXT$ ne renvoient que des noms de fichier et servent à balayer un répertoire pour y déterminer tous les noms de fichier.
Je ne comprends pas trop la remarque:
Citation :
Ces fonctions renvoient indifféremment un nom de fichier ou un nom de sous-répertoire.
La version STANDARD actuelle ne peut effectivement gérer que le format d'image BMP. La prochaine version gérera aussi le format JPEG, et ce sera écrit dans la documentation.

SCANCODE ne teste pas certaines combinaisons de touches. Mais en ce qui concerne les flèches de direction, je n'ai aucun problème et j'avais d'ailleurs mis sur ce forum un exemple de pilotage d'un cube utilisant les flèches.
Je reteste tout cela.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Vaillant17




Nombre de messages : 34
Age : 75
Localisation : Charente_Maritime
Date d'inscription : 03/06/2008

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyJeu 19 Juin 2008 - 10:23

Bonjour à tous. J'apporte une petite précision concernant la commande FILE_LOAD utilisée sous la version allégée de PANORAMIC.

En fait je n'ai pas de problème avec, pour charger une image, mais il y a un mais..... effectivement, j'avais et j'ai toujours un petit problème (pas grave en fait), "vous n'y comprenez plus rien, je sais moi nous plus" Laughing

Sérieusement, lorsque je lance mon programme (sous l'éditeur), j'ai un message m'informant qu'il y a un erreur à la ligne contenant FILE_LOAD (je ne connais rien en Anglais), or, en relançant une deuxième fois le programme, tout rentre dans l'ordre. Cool
Ceci ne se produit pas lorsque le programme est compilé (application.exe), là il n'y a aucun problème. Wink

A pluche pig
Revenir en haut Aller en bas
http://lesanneesvaillant.fr
Vaillant17




Nombre de messages : 34
Age : 75
Localisation : Charente_Maritime
Date d'inscription : 03/06/2008

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptyMar 24 Juin 2008 - 23:02

Bonjour à tous.

J'ai constater un plantage dans le cas suivant :

Code:
dim a$

dim cpt%

REM    a$ = "4"                : Rem dans ce cas le résultat est bon.

REM    a$ = "0"                : Rem pas de problème non plus.

REM    a$ = "" ou a$ = "a" : Rem il y a plantage.

cpt% = val(a$)

cpt% = cpt% *2

print str$(cpt%)
Il y a toujours moyen d'éviter le plantage, mais y aurait-il la possiblité que la réponse soit "0" lorsque la valeur de a$ est vide
ou alphanumérique.
voilà pour ce soir. A pluche. drunken
Revenir en haut Aller en bas
http://lesanneesvaillant.fr
JL35




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

Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. EmptySam 28 Juin 2008 - 22:34

Effectivement, le QBasic classique renvoie la valeur 0 quand a$ ne contient pas une valeur numérique.
===============================================

panoramic a écrit:
...
Normalement, FILE_FIND_FIRST$ et FILE_FIND_NEXT$ ne renvoient que des noms de fichier et servent à balayer un répertoire pour y déterminer tous les noms de fichier.
Je ne comprends pas trop la remarque:
Citation :
Ces fonctions renvoient indifféremment un nom de fichier ou un nom de sous-répertoire.
...

Pas d'accord. J'ai un répertoire C:\TEMP qui contient un fichier Liste.txt et deux sous-répertoires Temp1 et Temp2.
Si je le parcours avec les fonctions FILE_FIND_FIRST et FILE_FIND_NEXT en affichant le résultat au fur et à mesure, j'obtiens:
Code:
Liste.txt
Temp1
Temp2
et rien ne me permet de distinguer si c'est un fichier ou un sous-répertoire.
Voici mon code complet (pour essai avec C:\Program Files, qui contient surtout des sous-répertoires):
--------------------------------------
Code:
Rem DIR.BAS
dim rep$, f$, Savcur$, pr, nf, x, y, lf, hf, il
label Reb, Sui, Fin
rep$="C:\Program Files"
IF DIR_EXISTS(rep$) = 0 THEN GOTO Fin
Savcur$ = DIR_CURRENT$: Rem Sauvegarde répertoire actuel
DIR_CHANGE rep$
pr = 0
nf = 0
il = 13
FONT_BOLD 0
hf = 994
lf = 690
WIDTH 0,lf
HEIGHT 0,hf
COLOR 0,236,236,236
CAPTION 0,"Répertoire: "+rep$
BORDER_SMALL 0
y = -1*il: x = 1
Reb:
IF pr = 0 THEN f$ = FILE_FIND_FIRST$: pr = 1: GOTO Sui
f$ = FILE_FIND_NEXT$
Sui:
IF f$ <> "_"
  nf = nf +1
  y = y + il
  IF y > (hf-3*il) THEN x = x + lf/3: y = 0
  PRINT_LOCATE x, y
  PRINT f$
  GOTO Reb
END_IF
FILE_FIND_CLOSE
DIR_CHANGE Savcur$
y = y + il
IF y > (hf-3*il) THEN x = x + lf/3: y = 0
PRINT_LOCATE x, y
PRINT
PRINT rep$ + " - " + STR$(nf)+ " fichiers et répertoires."

Fin:
END
===============================================

Concernant toujours les fichiers, est-il possible de connaître la date de création et/ou de dernière modification d'un fichier ? (peut-être aussi ses attributs, etc.)
On peut exécuter la commande Ms-Dos DIR, envoyer le résultat dans un fichier de manoeuvre et aller le lire ensuite, mais c'est lourd, et de plus il y a affichage temporaire d'une fenêtre noire d'exécution Dos qui n'est pas très jolie. De plus il faut introduire une temporisation après la commande, car le fichier résultat n'est pas disponible immédiatement.
La syntaxe EXECUTE "DIR " + répertoire$ + " >" + fichresul$ ne marche pas,
Il faut écrire: EXECUTE "Command.com /C DIR ... paramètres".

Je ne sais toujours pas si la commande EXECUTE est bloquante ou passante, c'est à dire si on attend ou non l'exécution du programme externe appelé avant de poursuivre le programme principal. (les deux options sont utiles, et certains Basics ont deux commandes différentes, par exemple en RapidQ: SHELL bloquant et RUN passant). En effet on peut avoir besoin ou pas du résultat de l'exécution du programme externe (par exemple dans un fichier) avant de continuer.

===============================================

Concernant le SCANCODE:
Pour les touches flèches, Inser, Suppr, Home, Fin, PgUp et PgDn, la fonction ne renvoie effectivement le code de la touche que si le pavé numérique n'est pas verrouillé, dans le cas contraire (ce qui est le cas en permanence chez moi) elle renvoie 255.

===============================================
Et une petite remarque, pour finir (provisoirement...):
La fonction DATE$ renvoie bien le format JJ/MM/AA à la française (et non MM/DD/YY à l'anglo-saxonne, comme indiqué dans le manuel de référence)
Revenir en haut Aller en bas
Contenu sponsorisé





Ucase$, Lcase$... et questions diverses. Empty
MessageSujet: Re: Ucase$, Lcase$... et questions diverses.   Ucase$, Lcase$... et questions diverses. Empty

Revenir en haut Aller en bas
 
Ucase$, Lcase$... et questions diverses.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» UCASE$ et LCASE$
» Questions diverses
» Autres questions
» Question diverses
» Demandes diverses

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: