Gambas France BETA


Pas de compte ? Incription

importation de fichier TXT dans un tableau puis effectuer des Tris

123456
AuteurMessages
defcom#31 Posté le 4/8/2010 à 11:49:00

quand je lance il dit que unknown identifier : conteneur

j'ai remplacer conteneur par container pour voir mais la il dit Container.children is not static.

Prokopy#32 Posté le 4/8/2010 à 11:53:00
Kinder PinguiIl ne faut pas mettre conteneur mais le nom de ton Panel. Quand je mets conteneur comme ça, c'est juste pour faire comprendre qu'il faut remplacer par le nom d'un conteneur. ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#33 Posté le 4/8/2010 à 17:12:00
Avec Gambas ca roule ! :geek: :geek: :geek: :geek: :geek:
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Prokopy#34 Posté le 4/8/2010 à 18:56:00
Kinder PinguiBen quoi ? Qu'est-ce que j'ai dit ? :lol:
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#35 Posté le 4/8/2010 à 19:06:00
Avec Gambas ca roule !Tu est parfait prokopy..... :) :) et très dévoué..... Tu ne ménages pas ta peine et nous t'en remercions :) c'est tout .
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
defcom#36 Posté le 4/8/2010 à 19:08:00
pour les conteneurs ça focntionne

j'ai un petit problème quand je rempli le tableau température est qu'il manque une valeur le tableau ne se rempli plus ou se décale.

s'il manque une valeur je desir qu'il rentre 0 dans la température.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
DIM J AS INTEGER = 1

WHILE NOT Eof(fichier)
LINE INPUT #fichier, ligne
IF String.InStr(ligne, "nvoSpaceTemp") > 0 AND String.InStr(ligne, ("CLVCP" & Module1.TOUR & Module1.ETAGE & Format(J, "000"))) > 0
J = J + 1
dates.Add(Left(ligne, 18))
temperatures.Add(CFloat(Right(ligne, 5)))
ENDIF

WEND

s'il manque une valeur je désir qu'il rentre 0 dans la température et continu à remplir le tableau.


merci pour toutes ces réponses en espérant que cela ne te dérange pas.

:D
Prokopy#37 Posté le 4/8/2010 à 19:28:00
Kinder PinguiEuh là pour ton truc je comprends pas bien : il y a des labels qui restent vides ou ce sont les tableaux dates et temperatures qui sont décalés entre eux ?

manu > Vous allez me faire l'éloge à chaque sujet comme ça ? Non parce que là je trouve que je ressemble de plus en plus à celui-là :



:lol!: :lol!: :lol!:
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
defcom#38 Posté le 4/8/2010 à 20:00:00
j'ai pas parler des label il fonctionne bien

voila une exemple

30/07/10 06:00:08 CLVCPTB10001 nvoSpaceTemp 21.62

30/07/10 06:00:08 CLVCPTB10002 nvoSpaceTemp 21.62

30/07/10 06:00:08 CLVCPTB10003 nvoSpaceTemp 21.82

30/07/10 06:00:08 CLVCPTB10005 nvoSpaceTemp 22.62


quand le tableau ce rempli voila ce que j'obtiens

index temperatures
0 --> 21.62
1 --> 21.62
2 --> 21.82

il plante car le ne trouve pas la variable CLVCPTB10003

je veut obtenir ça

index temperatures
0 --> 21.62
1 --> 21.62
2 --> 21.82
3 --> 0
4 --> 22.62




manu#39 Posté le 4/8/2010 à 20:39:00
Avec Gambas ca roule !ok Prokopy... maintenant je serais mechant ! :lol!: :lol!: :lol!:

Defcom : Excuses pour ces petites intrusions sans intérêts, de ma part . Et t’inquiètes pas, tant que tu as des réponses, c'est que tu n’embête personne. :)
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Prokopy#40 Posté le 4/8/2010 à 23:12:00
Kinder PinguiTu ne m'ennuies pas du tout. Au contraire, tu es mon passe-temps. Je m'ennuie à mourir, et j'ai trouvé un bon punching-ball. :P

Sinon j'ai trouvé une solution à ton problème, il suffit de n'ajouter une ligne "0" que si on se rend compte qu'il y a eu un "saut", ou même plusieurs. Pour cela, une petite boucle qui continue tant que J n'est pas où il faut.

Un petit cocktail de l'été, servez-vous tant que c'est frais :

1
WHILE NOT Eof(fichier) LINE INPUT #fichier, ligne IF String.InStr(ligne, "nvoSpaceTemp") AND String.InStr(ligne, "CLVCP" & Tour & Etage) 'Si déjà c'est une ligne nvoSpaceTemp CLVCP While String.InStr(ligne, "CLVCP" & Tour & Etage & Format(J, "000")) = 0 'On vérifie ensuite si le nobre qui est dans la "suite" n'existe pas Inc J 'Si c'est le cas, on avance de 1 et on crée une case avec 0 dates.Add(0) temperatures.Add(0) Wend dates.Add(Val(Left(ligne, 18))) 'On ajoute les valeurs temperatures.Add(CFloat(Right(ligne, 5))) Inc J 'On incrémente Endif Wend


J'ai même essayé en ne mettant que 003 et 008 dans le fichier, ça marche, le tableau reste complet ! Rien ne me résiste. Mouhouhahaha. :twisted:
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
defcom#41 Posté le 5/8/2010 à 10:23:00
Merci ca fonction à une exception lorsque CLVCPTB10001 n'existe pas cela décale tout le tableau.

Il index CLVCPTB10002 directement dans l'index 0 au lieu de l'index 2, il ne met pas de 0 dans l'index 0 et 1.


Prokopy#42 Posté le 5/8/2010 à 10:37:00
Kinder PinguiEuh normalement CLVCPTB10002 est censé être dans l'index 1, pas l'index 2.
De plus moi quand je mets ça dans le fichier :

1
30/7/10 6:0:8 CLVCPTB10002 nvoSpaceTemp 21.6230/7/10 6:0:8 CLVCPTB10003 nvoSpaceTemp 21.8230/7/10 6:0:8 CLVCPTB10005 nvoSpaceTemp 22.62


J'obtiens ce tableau :

0 => 0
1 => 21.62
2 => 21.82
3 => 0
4 => 22.62

Et c'est son comportement normal. T'es sûr que tu ne te serais pas planté lors de l'affichage ? Tu fais comment pour afficher ton tableau ?
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
defcom#43 Posté le 5/8/2010 à 12:25:00
Quand CLVCPTB10001 existe est qu'il y a des trou plus loin ça fonctionne.
mais des que le 001 n'est plus la le tableau se rempli à partir de zero.

pour voir le tableau je fait un double clique sur la variable temperature en mode pas à pas est ça m'affiche un tableau avec les variables qui s'incrémente à chaque fois que la variable est modifier.



1
DIM Label AS ControlDIM fichier AS FileDIM ligne AS StringDIM dates AS NEW String[]DIM temperatures AS NEW Float[]DIM i AS INTEGER = 1DIM J AS INTEGER = 1''J = 1 TO 79 fichier = OPEN "Donnees3.txt" FOR INPUT 'ouvre le fichierWHILE NOT Eof(fichier) LINE INPUT #fichier, ligne 'lecture du fichier ligne par ligne IF String.InStr(ligne, "nvoSpaceTemp") > 0 AND String.InStr(ligne, "CLVCP" & Module1.TOUR & Module1.ETAGE) > 0 'Si déjà c'est une ligne nvoSpaceTemp CLVCP WHILE String.InStr(ligne, "CLVCP" & Module1.TOUR & Module1.ETAGE & Format(J, "000")) 'On vérifie ensuite si le nobre qui est dans la "suite" n'existe pas INC J 'Si c'est le cas, on avance de 1 et on crée une case avec 0 dates.add(Val(Left(ligne, 18))) temperatures.Add(0) WEND dates.Add(Val(Left(ligne, 18))) 'On ajoute les valeurs temperatures.Add(CFloat(Right(ligne, 5))) INC J 'On incrémente ENDIF WENDend

Prokopy#44 Posté le 5/8/2010 à 13:05:00
Kinder PinguiC'est la ligne de ton While qui ne va pas. Ce n'est pas :

1
WHILE String.InStr(ligne, "CLVCP" & Module1.TOUR & Module1.ETAGE & Format(J, "000"))


Mais :

1
WHILE String.InStr(ligne, "CLVCP" & Module1.TOUR & Module1.ETAGE & Format(J, "000")) = 0


T'as juste oublié le = 0. ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
defcom#45 Posté le 5/8/2010 à 13:31:00
c'est bon j'ai mis =0, car j'avais mis >0
123456