Bonjour,
Je cherche à utiliser newt pour fournir une interface aux utilisateurs d'un outil que je développe.
Mon souci: mes notions en C sont assez basiques, et j'avoue avoir du mal à bien utiliser le C dés qu'il s'agit de ce qui sort du commun du calcul scientifique.
Dans l'exemple ici, j'utilise newt, pour créer une interface avec une liste de choix. La liste est configurée pour fermer le form lorsque l'on presse Enter:
Problème, ce que me retourne newtListboxGetCurrent est un * void (https://sourcecodebrowser.com/newt/0...istbox_8c.html), et je ne vois pas comment utiliser cela. Déjà parce que j’espérais un entier, et ensuite parce que quelque soit mon choix dans la liste, result semble toujours avoir la même valeur: 0x400ca7
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <newt.h> #include <stdlib.h> #include <stdio.h> int main(void) { void * result; struct partition * curr; newtInit(); newtCls(); newtComponent form, b1, b2, listbox; newtOpenWindow(10, 10, 80, 30, "Button Sample"); b1 = newtButton(10, 9, "Ok"); b2 = newtButton(22, 9, "Cancel"); listbox= newtListbox(10,15,2, NEWT_FLAG_RETURNEXIT); newtListboxAppendEntry(listbox, "VALUE1" , "1"); newtListboxAppendEntry(listbox, "VALUE2" , "2"); result = newtListboxGetCurrent(listbox); form = newtForm(NULL, NULL, 0); newtFormAddComponents(form, b1, b2, listbox, NULL); newtRunForm(form); newtFormDestroy(form); newtFinished(); printf("%p\n",( void * )result); }
L'un d'entre vous saurais t-il comment bien utiliser cette valeur void ? Ou du moins comment en extraire le choix fait ?
Pour compiler le programme, il faut installer la newt-devel, puis penser à linker à la compilation:
gcc -o test.out test.c -lnewt
Bien cordialement
Ben
Partager