valaquarus | #1 Posté le 13/1/2019 à 18:22:44 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Bonsoir, si une âme charitable veut bien m'aider : (si je demande c'est que je n'ai pas compris la doc sur le sujet) Comment fait on l’instanciation d'un ensemble : TabStrip contenant un Panel qui contient un GridView qui servirait de modèle autant de fois que nécessaire? Ah que merci d'avance. PhilippeSystème d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
didier18 | #2 Posté le 15/1/2019 à 10:45:19 |
---|
![]() | Bonjour valaquarus
A moins que je n'ai pas tout compris ce que tu veux faire, voici comment je ferai (ce n'est qu'un exemple).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| ' Gambas class file
PUBLIC tbstp AS NEW TabStrip(ME) AS "tbstp" 'créé un tabstrip sur le formulaire PUBLIC pnl1 AS NEW Panel(ME) AS "pnl1" 'créé un panel PUBLIC grvw AS NEW GridView(ME) AS "grvw" 'créé le gridview
PUBLIC SUB Form_Open()
WITH tbstp 'pour le tabstrip... .Arrangement = 5 'arrange les composants de sorte qu'ils prennent toute la place .Count = 2 'indique le nombre d'onglets (ici 2 (l'onglet 0 et l'onglet 1)) .H = 200 'hauteur du composant .W = 300 'largeur du composant END WITH tbstp.Index = 1 'sélectionne le 2ème onglet (juste pour l'exemple) 'si tu veux mettre ton pnl1 sur l'onglet0, il faudra écrire tbstp.index = 0 pour le sélectionner. WITH pnl1 'pour le panel 1... .Reparent(tbstp, 0, 0) 'le déplace dans le tabstrip (donc sur le 2ème onglet) .Background = Color.Orange 'met une couleur de fond (juste pour le repérage) END WITH WITH grvw 'pour le gridview... .Reparent(pnl1, 0, 0) 'le déplace dans le pnl1 qui se trouve sur le 2ème onglet .H = 150 'hauteur du composant .W = 200 'largeur du composant END WITH END
|
Les lignes 3, 4, et 5 servent pour la création des composants sur ton formulaire. Dans la sub Form_Open() on 'reparente' les composants, en fait on change leur conteneur parent (par exemple pour le gridview, on le déplace du formulaire vers le panel1 qui se trouve dans le 2ème onglet du tabstrip).
Il suffit juste de copier le code, tel que, dans un nouveau projet, les composants sont créés automatiquement... Comme ils sont public, tu peux accéder directement à leurs événements respectifs (par exemple Public Sub grvw_Drag())
Bonne journée.
|
valaquarus | #3 Posté le 15/1/2019 à 20:02:33 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Merci Didier18, je ne sais vraiment pas dire autre chose que merci, cela peut paraître bête mais venant de visual basic où c'est moins simple, je cherchais autrement. PhilippeSystème d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
valaquarus | #4 Posté le 17/1/2019 à 22:55:42 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Bonsoir, Dans l'exemple de Didier18, si je veux avoir le même gridview dans plusieurs tab du tabstrip comment dois je procéder?
PhilippeSystème d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
spheris | #5 Posté le 17/1/2019 à 23:22:39 |
---|
![](http://gambaslinux.fr/file/forum/crevette2.png) | valaquarus, utilise la fonction reparent. pour simplifier imagine un système de boites dans lequelles tu peux mettres ou sortir les widgets à volonté par la commande :
monwidget.reparent monwidget.child ... etc
regarde la doc à ce sujet, elle donne un bon aperçu de comment l'utiliser. et pour ton exemple, choisi le tab que tu veux par :
1
2
| tabstrip1.index = 1 magridview.reparent(tabstrip1)
|
|
valaquarus | #6 Posté le 18/1/2019 à 01:40:55 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Bonsoir spheris, merci de ta réponse, effectivement Didier18 m'avait orienté dans cette direction mais j'ai un soucis de doublon d'affichage dans le tabstrip dans le deuxième onglet la présentation du grid est systématiquement doublée. Je te met le bout de code pour que tu comprennes :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| PUBLIC SUB affichGrid() DIM i AS INTEGER DIM pnl1 AS NEW Panel(ME) AS "pnl1" DIM grvw AS NEW GridView(ME) AS "grvw" FOR i = 0 TO tbstp.Count - 1 tbstp.Index = i WITH pnl1 .Visible = TRUE .Arrangement = 5 .Reparent(tbstp, 0, 0) .Expand = TRUE END WITH WITH grvw .Visible = TRUE .AutoResize = TRUE .AddColumn("De") '.AddColumn("À") .AddColumn("Objet") .AddColumn("Date") .AddColumn("Taille") .Rows.Count = 13 .COLUMNS[0].WIDTH = 150 .COLUMNS[1].WIDTH = 150 .COLUMNS[2].WIDTH = 150 .COLUMNS[3].WIDTH = 50 '.COLUMNS[4].WIDTH = 15 .Reparent(pnl1, 0, 0) .Grid = TRUE .Header = 3 .Mode = 2 .Padding = 2 .Resizable = TRUE .ScrollBar = 3 .Expand = TRUE .AutoResize = TRUE .Border = TRUE .Sorted = TRUE END WITH NEXT END
|
Philippe
Honte à moi, voici ma correction :
1
2
3
4
| .Columns[0].Title = "De" .Columns[1].Title = "Objet" .Columns[2].Title = "Date" .Columns[3].Title = "Taille"
|
en lieu et place de add.column PhilippeSystème d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
didier18 | #7 Posté le 18/1/2019 à 21:49:12 |
---|
![]() | Bonsoir
valaquarus sans doute (comme je le supposait initialement) je n'ai pas bien compris ta demande... En effet
...si je veux avoir le même gridview dans plusieurs tab du tabstrip... S'agit-il de plusieurs gridview répartis en un par onglet... Ou... D'un seul et unique gridview que tu 'reparentes' lorsque tu changes d'onglet ?
A moins d'un besoin spécifique, je ne vois pas trop l'utilité de la 2ème option, quel est l'intérêt de "trimbaler" un gridview d'un onglet à l'autre ? C'est pourtant ce que fais en utilisant la boucle :
1
2
3
4
5
6
| ... FOR i = 0 TO tbstp.Count - 1 tbstp.Index = i ... NEXT ...
|
Si tu veux mettre un gridview par onglet, je te conseillerai plutôt de créer un 'groupe' de gridview (et un goupe de panel). Pour cela il faut modifier les lignes 4 et 5 comme suit :
1
2
| PUBLIC pnl AS NEW Panel[] 'créé un tableau de Panel PUBLIC grvw AS NEW GridView[] 'créé un tableau de GridView
|
Puis dans une procédure (qui pourra être privée), créer tes objets... En général je crée une procédure 'crecompo' (pour création des composants).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
| PRIVATE SUB crecompo() 'création des composants pour l'application DIM i AS INTEGER '-------------------------------------------------- 'création des pannels '-------------------------------------------------- FOR i = 0 TO 1 'nbr de panels qui sont créés pnl.Add(NULL, pnl.Count) 'on ajoute un panel et on le compte pnl[i] = NEW Panel(ME) AS "grpnl" 'le composant (comptabilisée par i) est un nouveau composant pnl[i].Tag = i 'on met le n° du composant (i) dans sa propriété .tag WITH pnl[i] .Visible = TRUE .Arrangement = 5 .Expand = TRUE END WITH NEXT ' pnl[0] contient ... ' pnl[1] contient ...
'-------------------------------------------------- 'création des gridview '-------------------------------------------------- FOR i = 0 TO 1 'nbr de gridview qui sont créés grvw.Add(NULL, grvw.Count) 'on ajoute un gridview et on le compte grvw[i] = NEW GridView(ME) AS "grgrvw" 'le composant (comptabilisée par i) est un nouveau composant grvw[i].Tag = i 'on met le n° du composant (i) dans sa propriété .tag WITH grvw[i] .Visible = TRUE .AutoResize = TRUE .AddColumn("De") .AddColumn("Objet") .AddColumn("Date") .AddColumn("Taille") .Rows.Count = 13 .COLUMNS[0].WIDTH = 150 .COLUMNS[1].WIDTH = 150 .COLUMNS[2].WIDTH = 150 .COLUMNS[3].WIDTH = 50 .Grid = TRUE .Header = 3 .Mode = 2 .Padding = 2 .Resizable = TRUE .ScrollBar = 3 .Expand = TRUE .AutoResize = TRUE .Border = TRUE .Sorted = TRUE END WITH NEXT ' grvw[0] contient ... ' grvw[1] contient ...
END
|
Comme tu peux le voir, les panels et les gridview sont 'déposés' par défaut sur (Me) donc sur ton formulaire... Il ne te reste plus qu'à 'reparenter' à l'endroit ou tu le souhaite. Si tu t'aperçois après coup qu'il te faut 2 panels et 2 gridview de plus car tu a ajouté 2 onglets à ton tabstrip, rien de plus facile, tu as juste à modifier tes deux boucles For/Next en remplaçant 1 par 3... Bien entendu il faudra aussi reparenter les nouveaux objets, ceci pourra être fait dans une autre procédure, Private Sub initcompo()'initialise les composants.
Pour le coup, la procédure Public Sub Form_Open(), ne contient que les appels au procédures crecompo() et initcompo()...
Bonne journée.
|
valaquarus | #8 Posté le 19/1/2019 à 18:44:05 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Oh vraiment merci de ta réponse Didier18; j'étais justement sur ce problème et j'avais un début de réponse en pensant ranger chaque gridview et panel dans des tabelaux mais je m'y prenais mal alors vraiment merci. je vais modifier mon progr en fonction de ces nouveaux éléments pour moi et je pourrais plus facilement peupler mes différents gridview dans ces nouvelles conditions car je butais justement là. Je te tiendrai au courant. Philippe
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
didier18 | #9 Posté le 20/1/2019 à 00:14:32 |
---|
![]() | Bonsoir
valaquarus, histoire de te faire gagner un peu de temps (inutile de ré-inventer la roue) et si ça correspond grosso modo à ce que tu veux faire, voici l'exemple complet et fonctionnel pour 10 onglets...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
| ' Gambas class file
PUBLIC tbstp AS NEW TabStrip(ME) AS "tbstp" 'créé un tabstrip sur le formulaire PUBLIC pnl AS NEW Panel[] 'créé un tableau de Panel PUBLIC grvw AS NEW GridView[] 'créé un tableau de GridView
PUBLIC SUB Form_Open()
crecompo() 'création des composants pour l'application initcompo() 'initialisation des composants tbstp.Index = 0 'affiche le 1er onglet END
PRIVATE SUB crecompo() 'création des composants pour l'application DIM i AS INTEGER '-------------------------------------------------- 'création des pannels '-------------------------------------------------- FOR i = 0 TO 9 'nbr de panels qui sont créés pnl.Add(NULL, pnl.Count) 'on ajoute un panel et on le compte pnl[i] = NEW Panel(ME) AS "grpnl" 'le composant (comptabilisée par i) est un nouveau composant pnl[i].Tag = i 'on met le n° du composant (i) dans sa propriété .tag WITH pnl[i] .Visible = TRUE .Arrangement = 5 .Expand = TRUE END WITH NEXT ' pnl[0] contient grvw[0] ' pnl[1] contient grvw[1] '... ' pnl[9] contient grvw[9] '-------------------------------------------------- 'création des gridview '-------------------------------------------------- FOR i = 0 TO 9 'nbr de gridview qui sont créés grvw.Add(NULL, grvw.Count) 'on ajoute un gridview et on le compte grvw[i] = NEW GridView(ME) AS "grgrvw" 'le composant (comptabilisée par i) est un nouveau composant grvw[i].Tag = i 'on met le n° du composant (i) dans sa propriété .tag WITH grvw[i] .Visible = TRUE .AutoResize = TRUE .AddColumn("De") .AddColumn("Objet") .AddColumn("Date") .AddColumn("Taille") .Rows.Count = 13 .COLUMNS[0].WIDTH = 150 .COLUMNS[1].WIDTH = 150 .COLUMNS[2].WIDTH = 150 .COLUMNS[3].WIDTH = 50 .Grid = TRUE .Header = 3 .Mode = 2 .Padding = 2 .Resizable = TRUE .ScrollBar = 3 .Expand = TRUE .AutoResize = TRUE .Border = TRUE .Sorted = TRUE END WITH NEXT ' grvw[0] contient ... ' grvw[1] contient ... '... ' grvw[9] contient ... END
PRIVATE SUB initcompo() 'initialisation des composants DIM i AS INTEGER 'configuration du formulaire WITH ME 'pour le formulaire .Arrangement = 5 'arrange les composants de sorte qu'ils prennent toute la place .Title = ("Mes_gidviews") .H = 200 .w = 450 'toutes les autres modifications à apporter au formulaire... '... END WITH 'configuration du tabstrip WITH tbstp .Arrangement = 5 'arrange les composants de sorte qu'ils prennent toute la place .Count = 10 'indique le nombre d'onglets (ici 2 (l'onglet 0 et l'onglet 1)) END WITH 'mise en place des composants selon la valeur contenue dans le tag de chaque composant... FOR i = 0 TO 9 'pour i compte de 0 à 9 (soit pour les 10 onglets du tabstrip) tbstp.Index = i 'sélectionne l'onglet du tabstrip pnl[i].Reparent(tbstp, 0, 0) 'déplace le panel[i] dans l'onglet[i] du tabstrip grvw[i].Reparent(tbstp, 0, 0) 'déplace le gridview[i] dans le panel[i] de l'onglet[i] du tabstrip NEXT END
|
A adapter selon ce que tu veux faire, hein... Tu peux accéder à chaque "grvw" du groupe "grgrvw" individuellement par son numéro de tag (même fonctionnement pour les panels)...
Bon fin de soirée.
|
valaquarus | #10 Posté le 20/1/2019 à 00:42:46 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Merci Didier je crois que j'ai bien compris mais je ne veux pas un nombre précis de grid ou panel à insérer dans les tab mais un nombre dépendant de la saisie de l'opérateur, donc j'ai indexé ta déclaration crecompo(i As Integer) voici mon code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
| PUBLIC SUB LoadSettings()
DIM ix AS STRING, i AS INTEGER, AccountName AS STRING Accounts = NEW Account[] tbstp.Index = 0 FOR EACH ix IN Settings.keys["Accounts"] AccountName = Settings["Accounts/" & ix] i = AccountSlot(AccountName) Accounts[i].Server = Settings[AccountName & "/Server"] Accounts[i].User = UnBase64(Settings[AccountName & "/User"]) Accounts[i].Pass = UnBase64(Settings[AccountName & "/Pass"]) Accounts[i].Port = Settings[AccountName & "/Port"] Accounts[i].SSL = IIf(Settings[AccountName & "/SSL"] = 1, TRUE, FALSE) IF i = 0 THEN 'rien sinon on rajoute au compteur ELSE tbstp.Count = tbstp.Count + 1 ENDIF tbstp.Index = i tbstp[i].Text = AccountName crecompo(i) NEXT tbstp.Index = 0 chkAnimate.value = IIf(Settings["Options/Animate"] = 1, TRUE, FALSE) chkStartHidden.value = IIf(Settings["Options/StartHidden"] = 1, TRUE, FALSE) chkBeep.value = IIf(Settings["Options/Beep"] = 1, TRUE, FALSE) txtInterval.text = Settings["Options/Interval", 10] IF CInt(txtInterval.text) <= 0 THEN txtInterval.Text = 10 ELSE IF CInt(txtInterval.text) > 24 * 60 THEN txtInterval.Text = 24 * 60 END IF txtRun.text = Settings["Options/Run", "notify-send -t 5000 --icon 'email' '%s' 'nombre de courriel :' %m'"] AddLog("paramètres chargés" END
PUBLIC SUB crecompo(i AS INTEGER)
pnl.Add(NULL, pnl.Count) pnl[i] = NEW Panel(ME) AS "grpnl" pnl[i].Tag = i WITH pnl[i] .Visible = TRUE .Arrangement = 5 .Expand = TRUE .Reparent(tbstp, 0, 0) END WITH grvw.Add(NULL, grvw.Count) grvw[i] = NEW GridView(ME) AS "grgrvw" grvw[i].Tag = i WITH grvw[i] .Visible = TRUE .AutoResize = TRUE .AddColumn("De") .AddColumn("Objet") .AddColumn("Date") .AddColumn("Taille") .Rows.Count = 13 .Reparent(pnl[i], 0, 0) .COLUMNS[0].WIDTH = 150 .COLUMNS[1].WIDTH = 150 .COLUMNS[2].WIDTH = 150 .COLUMNS[3].WIDTH = 50 .Grid = TRUE .Header = 3 .Mode = 2 .Padding = 2 .Resizable = TRUE .ScrollBar = 3 .Expand = TRUE .AutoResize = TRUE .Border = TRUE .Sorted = TRUE END WITH
END
|
Ceci fonctionne mais j'ai encore un problème de gestion des tab du tabstrip principal qui "reçoit" tout le monde pour rajouter ou pire détruire un tab le voici déclaré dans le form_open
1
2
3
4
5
6
7
8
9
10
11
12
| WITH tbstp .Reparent(TabStrip1) .Arrangement = 2 .H = 335 .W = 620 .x = 7 .Y = 28 .Expand = TRUE .Padding = 5 .AutoResize = FALSE .Text = "--Avertissement--" END WITH
|
Philippe
Bonne nuit!Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
didier18 | #11 Posté le 20/1/2019 à 17:12:46 |
---|
![]() | Bonjour
...j'ai encore un problème de gestion des tab du tabstrip principal ... Je ne comprend pas bien là, tu as mis tbstp (qui est un TabStrip) dans un TabStrip, c'est ça ? En tout cas c'est ce qui est indiqué dans le dernier morceau de code...
1
2
3
4
| WITH tbstp .Reparent(TabStrip1) ... END WITH
|
D'ou il sort ce TabStrip1 ? Et puis, pour le "reparentage", ce serait plutôt ".Reparent(TabStrip1,0,0)" qu'il faudrait écrire non ? Curieux que gambas ne te l'ai pas signalé, mais je pense que c'est à partir de là qu'il faut rechercher l'erreur...
Pour ma part, gambas me retourne une erreur "Identificateur inconnu: Accounts..." à la lecture de cette ligne : "Accounts = NEW Account[]" Faut-il activer une classe ou un composant spécifique ?
Bonne journée. |
valaquarus | #12 Posté le 20/1/2019 à 21:37:58 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Bonsoir Didier18, d'abord ceci en réponse à ta question :
1
2
3
4
5
6
7
8
9
| PUBLIC STRUCT Account Server AS STRING User AS STRING Pass AS STRING Port AS STRING SSL AS BOOLEAN END STRUCT
PUBLIC Accounts AS Account[]
|
et ensuite le TabStrip1 est comme son nom l'indique un tabstrip à cinq onglets qui reçoit dans le premier le tbstp qui est déclaré et qui va recevoir tous les autres gridview en collection.
1
2
3
4
5
6
7
8
9
10
11
12
| WITH tbstp .Reparent(TabStrip1, 0, 0) .Arrangement = 2 .H = 335 .W = 620 .x = 7 .Y = 28 .Expand = TRUE .Padding = 5 .AutoResize = FALSE .Text = "--Avertissement--" END WITH
|
Je ne peux pas mettre d'images dans mes interventions ni même placer un avatar, dommage car cela équivaut ici à un long discourt. Je suis parti d'un petit projet de BrunoJesus (pop3check) qui se trouve dans la logithèque et j'essaye de lui donner une dimension toute personnelle. pop3check ne fait que dire qu'il y a des mails dans mes boites moi je veux pouvoir les lire avant de les importer ou les détruire si je n'en veux pas. J'en suis d'ailleurs là et je ne sais pas déclencher des événements sur une collection de gridview comme mes grvw. Philippe
![]() Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
valaquarus | #13 Posté le 23/1/2019 à 17:42:46 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | La suite du projet : Bonsoir, bon ça marche, je veux dire par là que ce qui me bloquait jusque là, marche. les gridview sont alimentés correctement pour chaque compte mais j'ai une difficulté à déclarer un tableau pour récupérer les infos des mails. les déclarations faites :
1
2
3
4
5
6
7
8
9
| PUBLIC STRUCT lesMails compte AS INTEGER index AS INTEGER envoyeur AS STRING sujet AS STRING leTexte AS STRING END STRUCT
PUBLIC MailRecu AS LesMails[]
|
et le bout de prog appelant la structure pour la remplir
1
2
3
4
5
6
7
8
9
| MailRecu = NEW LesMails[]
FOR n = 0 TO POP.count - 1 MailRecu[i].compte = i MailRecu[i].index = POP[n].Index MailRecu[i].envoyeur = CStr(POP[n].Message.Sender) MailRecu[i].leTexte = CStr(POP[n].Message.ToString) MailRecu[i].sujet = CStr(POP[n].Message.Subject) NEXT
|
Et je reçois toujours l'erreur : dépassement de tableau or l'index i vaut zéro puisque dans mon test j'ai créé deux comptes (o et 1). Je suis bloqué là et je n'arrive donc pas à peupler ma structure pour en récupérer plus tard les informations.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
valaquarus | #14 Posté le 23/1/2019 à 23:34:58 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Bon vous allez rire, il manquait juste ceci :1
| MailRecu.Resize(Accounts.Count + 1)
|
pour que cela fonctionne sans m'envoyer sur les roses. Donc je vais essayer de récupérer ces informations là, pour gérer les gridView :1
2
3
4
5
| MailRecu[i].compte = i MailRecu[i].index = POP[n].Index MailRecu[i].envoyeur = CStr(POP[n].Message.Sender) MailRecu[i].sujet = CStr(POP[n].Message.Subject) ' MailRecu[i].leTexte = CStr(POP[n].Message.ToString)
|
la dernière ligne est commentée car elle contient une fonction et la bête veut du sur mesure. Bonne nuit PhilippeSystème d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |
valaquarus | #15 Posté le 26/1/2019 à 17:04:11 |
---|
-- Unus Ex Altera --![](images/avatars/avatar-327.png) | Salut à tous, je continue mon roman:
1
| MailRecu.Resize(Accounts.Count + 1)
|
normalement avec deux comptes (Accounts.Count) la dimension de mon tableau devrait passer à deux mais je récupère toujours sur la console, une dimension à 1. Premier mauvais point, deuxième mauvais point comment récupère t on les info rentrées dans ce tableau. Voici comment j'ai alimenté les infos dans le tableau:
1
2
3
4
5
6
7
8
| FOR n = 0 TO POP.count - 1 MailRecu[i].index = POP[n].Index MailRecu[i].envoyeur = CStr(POP[n].Message.Sender) MailRecu[i].sujet = CStr(POP[n].Message.Subject) MailRecu[i].leTexte = CStr(POP[n].Text) MailRecu[i].aqui = CStr(POP[n].Message.To) MailRecu.Add(MailRecu[i], n) NEXT
|
i étant l'indice du compte en question et n le nombre de message à lire. De plus quand je fais un MailRecu.Count j'ai toujours 3 de plus que le POP.Count Mon problème c'est de récupérer chacun des champs au dessus pour lire ou effacer les mails sur le serveur. Philippe P.S. le reste prend bonne forme.
Système d'exploitation : KDE neon 6.0 ~ Version Gambas : 3.19.3 |