Gambas France BETA


Pas de compte ? Incription

Soucis avec Format$

1
AuteurMessages
Foromus#1 Posté le 28/4/2013 à 18:03:57
Bonjour,

Là, je tourne en rond depuis hier...
Voici le code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PUBLIC SUB AfficherDate()
DIM Jour AS VARIANT
DIM FichierData AS File

Jour = (Now)
Label2.Text = Jour
Label3.text = Format$(Jour, "dddd dd mmm yyyy")

FichierData = OPEN Application.Path & "/FichDate.txt" FOR CREATE
PRINT #FichierData, Jour
CLOSE FichierData
WAIT 5
FichierData = OPEN Application.Path & "/FichDate.txt" FOR READ
INPUT #FichierData, Jour
CLOSE FichierData
Label2.Text = Jour
Label3.text = Format$(Jour, "dddd dd mmm yyyy")

END


C'est la dernière ligne (17) qui cale, on a l'impression qu'après le passage par le fichier la variable "Jour" ne soit plus adéquate. Si je la mets toute seule comme dans Label2.text ligne 16, elle s'affiche bien, mais à l'état brut.
J'ai bien pensé la reconvertir en variant à la sortie de la lecture du fichier, mais je ne connais pas la fonction adéquate, je pensais à CVariant, mais ça ne colle pas. J'ai aussi essayé d'enlever .txt de mon fichier, rien de nouveau. Si je déclare Jour en autre chose que Variant, ça coince dès le premier appel en ligne 7...
Je patauge...
Reivillo#2 Posté le 28/4/2013 à 20:40:05
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Bonsoir Foromus.

Et ceci:
1
PRINT Format$(Now, "ddd dd mmm yyyy")

Je crois que tu as un d,de trop,au début.
Regarde

Reivillo.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Reivillo#3 Posté le 28/4/2013 à 20:49:23
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Re.

J'ai modifier mon Post précédent.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Foromus#4 Posté le 28/4/2013 à 20:57:50
Bonsoir Reivillo,

Non, il n'y a pas un "d" de trop, il faut 4 d pour nommer littéralement le jour de la semaine, par exemple "dimanche", et par ailleurs, à la ligne 7, ça marche...
Non, j'ai vraiment l'impression que ça ne passe pas dans le fichier... Je n'y comprends plus rien...
Je suis passé par le lien proposé pour confirmer, mais j'ai déjà utilisé ce truc par ailleurs, et ça marchait.
Reivillo#5 Posté le 28/4/2013 à 21:03:10
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »ReRe.

Je crois que ceci devrai te Plaire
1
2
DIM Jour AS DATE = Now
PRINT Format$(Jour, "dddd dd mmm yyyy")

J'avais pas bien saisi le le problème.
Désolé.

Reivillo.

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Reivillo#6 Posté le 28/4/2013 à 21:09:29
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »OK, pour le d.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Foromus#7 Posté le 28/4/2013 à 22:08:25
Re,

Le souci, ce n'est pas que ça me déplaise, c'est que ça ne marche pas...
J'ai aussi essayé de déclarer en Date (du reste, j'ai tout essayé : String, Date, Long, Float, integer), rien ne passe. Du reste, déclarer et et assigner ne me paraît pas judicieux dans ce cas de figure, la variable étant utilisée, avant et après la mise en fichier.
J'ai contourné le truc en faisant ceci :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PUBLIC SUB AfficherDate()
DIM Jour AS VARIANT
DIM FichierData AS File

Jour = (Now)
Label2.Text = Jour
Label3.text = Format$(Jour, "dddd dd mmm yyyy")

FichierData = OPEN Application.Path & "/FichDate.txt" FOR CREATE
PRINT #FichierData, Format$(Jour, "dddd dd mmm yyyy")
CLOSE FichierData
WAIT 5
Jour = ""
FichierData = OPEN Application.Path & "/FichDate.txt" FOR READ
INPUT #FichierData, Jour
CLOSE FichierData
Label2.Text = Jour
Label3.text = Jour
END


Avec ça, ça colle, j'ai juste laissé label3 devenu inutile dans ce cas précis. J'ai aussi remis la variable Jour à Null, pour être sûr.
Dans ce cas, j'enregistre en fichier une variable de type String, elle est donc restituée comme telle.

Cela dit, j'aimerais bien une explication pour le code ci-dessus qui coince...
Reivillo#8 Posté le 29/4/2013 à 17:32:27
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »Dans ton 1er post,
si tu modifies la ligne 17,
(En ajoutant Try au début, comme ceci):
1
TRY Label3.text = Format$(Jour, "dddd dd mmm yyyy")

Cela te bloque le Retour d'Erreur.
(C'est peut-être bien, un Bogue).

Reivillo.

NB:J'ai même testé avec la commande Shell,
cela retourne aussi l'Erreur.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Reivillo#9 Posté le 29/4/2013 à 20:14:32
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »On vient de me faire remarquer,
une bizarrerie;
la variable Jour Trimbale une Décimale(Float),
Voir ci-dessous, quand on la transfert dans Label2.Text
D'ou le retour d'Erreur Float attendu ......allons savoir!!!!

Jour = (Now) >> Jour = 29/04/2013 19:51:24
Label2.Text = Jour >> Label2.Text = 04/29/2013 19:51:24.796
Label3.text = Format$(Jour, " dddd dd mmm yyyy ") >> Label3.text = lundi 29 avril 2013

Qu'en pensez-vous?

Tient au fait:
Je n'ai pas de notification Imail de Suivi de Post.
(Enfin des réponses en Générales, à part ceux que je crée personnellement).
Y a t-il quelques chose à faire pour y Remédier.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Foromus#10 Posté le 29/4/2013 à 21:08:17
Effectivement, si je me souviens bien, la date est sous forme décimale, à gauche, le nombre de jours écoulés depuis la base (je ne sais plus laquelle), à droite, le temps depuis minuit. En mettant sous la forme dddd dd mmm yyyy en format$, on n'utilise que la partie gauche, après, et si on veut l'heure, on rajoute - hh nn (voire ss en +). C'est à partir de ce constat que j'avais essayé de déclarer en float, mais comme je l'ai dit, j'ai essayé tous les cas possibles, ça ne passe pas via le fichier. C'est un peu gênant quand même de formater avant la mise en fichier parce que, une fois récupérée, la variable est du type string, et je suppose qu'il peut alors être difficile de l'utiliser pour des calculs comme une différence de date, genre, "pas fait depuis 10 jours" par exemple.
Oui, c'est probablement un bogue...

Pour info : moi non plus, je n'ai plus de retour de suivi. Mais ce n'est pas la première fois que ça arrive... Un peu de patience, ça revient tout seul (enfin, si les Dieux daignent voir le problème...)
Reivillo#11 Posté le 29/4/2013 à 21:23:32
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »A partir de Demain,
il y aura ici, 2 têtes de plus,
qui utilisent aussi Gambas.
Alors, gardons de l'espoir.

(Si je n'ai pas de notification,
c'est peut-être que je laisse le Post Ouvert.
D'ailleurs, quand le veux te répondre,
je suis obligé de fermer, et repasser par le Forum).

Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
Reivillo#12 Posté le 29/4/2013 à 22:19:31
C' est ici, et nul part ailleurs. « Et pis c'est tout ! »J'ai REinstallé GAMBAS 2.
(Cohabite Très bien avec GAMBAS 3).

Là il n'y a pas de problème.
Ton Code ne Renvoi pas d'Erreur.

Je te donne le Code.
J'ai r' ajouté un Label,
(je me plantais, autrement)
le tout Dans un Button.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
PUBLIC SUB Button1_Click()

DIM Jour AS VARIANT
DIM FichierData AS File

Jour = (Now)
Label1.Text = Jour
Label2.text = Format$(Jour, "dddd dd mmm yyyy")

FichierData = OPEN Application.Path & "/FichDate.txt" FOR CREATE
PRINT #FichierData, Jour
CLOSE FichierData
WAIT 5
FichierData = OPEN Application.Path & "/FichDate.txt" FOR READ
INPUT #FichierData, Jour
CLOSE FichierData
Label3.Text = Jour

Label4.text = Format$(Jour, "dddd dd mmm yyyy")

END


NB:(Donc le problème se trouve,"enfin je pense"
dans le Format$ GB3
J'ai testé en direct sur des variables,
sans les passer par un fichier,
le Bogue subsiste).

@+.
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015)
LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr .
Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous...
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install gambas3 -y
Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016)
Pour la Doc, c'est vers là: Documentation Gambas3 FR
1