What ? Quel rapport entre conio et sleep() ?Envoyé par skip78
What ? Quel rapport entre conio et sleep() ?Envoyé par skip78
Pas de Wi-Fi à la maison : CPL
Et quel rapport entre UTF-8 et les conflits Console/Fenêtre ?
J'ai du mal à voir, là...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
est ce qu'on peut ouvrir une photo ? c'est a dire il y a un photo avec un certain nom dans le pc et quand le programme lis l'instruction, la photo s'affiche a l'écran, s'affiche pendant un certain temps, puis la ferme automatiquement et après le programme continue ?
JE VEUX JUSTE OUI OU NON ?
Si l'instruction existe, je ferai quelque recherche et d'ici quelque jours je vous dirai si ca marche et demanderais conseil si ca marche pas.
Si l'instruction n'existe pas, ba ....tampis....
Si j'ai posé cette question c'est pour ne pas faire des recherches de quelque chose qui n'existe pas
Oui.Envoyé par gdumouli
Pas de Wi-Fi à la maison : CPL
Oui, mais...
Aucune instruction standard n'existe pour faire ça. Tu devras toi-même utiliser les fonctions non-standard apportées par la plate-forme graphique choisie (Bibliothèques dites portables, fonctions graphiques de l'API Win32, etc.).
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Je comprend pas fonction non-standards ???
Ca veut dire que je vais devoir créer moi même ces fonctions, les inclure dans une librairie de windows, comme ca en rajoutant la librairie dans un INCLUDE au début, le programme reconnaitra la fonction que j'aurais tapé dans le programme et ne me marquera pas fonction inconnue lors de la compilation???
c'est çà ???
Non, je dis que tu vas devoir utiliser des fonctions qui existent déjà, mais pas dans le C standard.
Les fonctions graphiques de Windows existent sur tous les Windows, mais elles ne sont pas standard, puisqu'elles ne marchent que sous Windows".
Les bibliothèques dites "portables" comme Qt exposent des fonctions non-standard (puisque la bibliothèque en question est nécessaire), mais elles marchent sur tout OS sur lequel une version de la bibliothèque existe.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
... Utf8 est justement le moyen permettant l'utilisation des accents dans une fenetre ...Envoyé par Médinoc
Par exemple lorsqu'on travaille sur Gtk, il suffit de faire :Envoyé par Wikipedia
Ainsi en mode console j'avoue ne plus me souvenir de comment il faut s'y prendre, mais ca doit se trouver vite fait. Parce que passer par la table Ascii pour y remedier ca devient vite relou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 txt = g_strdup_printf("àëîöùy"); txt = g_locale_to_utf8(txt, -1, NULL, NULL, NULL);
Edit : Bon bah il semblerait que sans Api yait pas le choix
Donc il faut faire genre
voir sur http://www.lookuptables.com/ pour les correspondances
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 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(void){ char sans_espace[20]; int i; for(i=0;i<20;i++)sans_espace[i]=(int)NULL; printf("Saisir chaine sans espace\n"); scanf("%s",&sans_espace); for(i=0;i<20;i++){ if(sans_espace[i]==(char)"é")printf("/130"); else if(sans_espace[i] != (int)NULL)printf("%c",sans_espace[i]); } printf("\n"); system("pause"); return 0; }
Autant pour moi je croyais que conio générait sa propre fonction sleep mais aprés verification elle ne fait qu'inclure <windows.h>Envoyé par Emmanuel Delahaye
Et voilà.
Pour toi, il est question d'UTF-8 et de GTK, ici, il est question de console Windows...
En passant par un buffer, on peut afficher les accents sans *trop* de problèmes dans une console:
ou bien:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 char buf[] = "àëîöùy"; #ifdef WIN32 CharToOemA(buf, buf); #endif puts(buf);
Et encore, on peut toujours définir une macro en tête de fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifdef WIN32 char buf[10]; CharToOemA("àëîöùy", buf); puts(buf); #else puts("àëîöùy"); #endif
Par contre, c'est vrai que dans tous les cas, il y a recopie de la chaîne, car une conversion est nécessaire. Mais bon, visiblement, une recopie est nécessaire aussi dans GTK...
Edit: Autre possibilité, utiliser la fonction unicode WriteConsoleW(). Le gros reproche que je fais à cette fonction, c'est qu'elle n'a pas de mode "zero-terminated", il est obligatoire de calculer la taille avant de l'appeler.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Interface pour C++.Envoyé par Médinoc
GTK+2 a une interface pour le C.
Pas de Wi-Fi à la maison : CPL
Et encore plus compact comme ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 #ifdef WIN32 #define TOCONSOLE(x) CharToOemA(x, x) #else #define TOCONSOLE(x) ((void)0) #endif
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
donc pour ouvrir et fermé une photo du pc j'ai trouvé ceci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 FILE* fopen(const char* Super11.jpeg, const char* r); Sleep(10000); fclose(fichier);
Donc il ouvre la photo Super11.jpeg.
l'affiche 10 sec.
et la ferme.
la fichier Super11.jpeg se trouve dans le m^me dossier que l'executable sinon ca marcherait pas...
mode d'ouverture j'ai pris r pour juste le lire
Bon donc j'ai essayé çà et ca marche pas du tout....je suis dans la bonne voie ou c'est pas du tout comme çà...
Envoyé par gdumouli
Tu es bien loin de pouvoir visualiser ta photo.
Prend le temps d'examiner ton code et de le compiler.
Essaie au moins d'avoir un bout de code qui compile sans erreur (je supporte les warnings ).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FILE* fopen(const char* Super11.jpeg, const char* r); Sleep(10000); fclose(fichier);
Voici un bout de code que tu peux utiliser comme base.
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 <stdlib.h> #include <stdio.h> int main(void) { FILE* fichier = NULL; int result = EXIT_FAILURE; /* On ouvre le fichier en mode lecture binaire */ fichier = fopen("Super11.jpeg", "rb"); /* On teste si l'ouverture est OK */ if (fichier != NULL) { /* On affiche la photo pendant 10 secondes */ /* A faire: chercher une bibliothèque permettant l'affichage d'une image. en mode console. */ /* On ferme les fichiers et on retourne toutes les ressources réservées */ close(fichier); result = EXIT_SUCCESS; } else { /* Un message d'erreur pour l'utilisateur serait sympa */ } return result; }
Bien le bonjour chez vous
Jowo
#include <stdlib.h>
#include <stdio.h>
#include<windows.h> /* pour utiliser le Sleep*/
int main(void) {
FILE* fichier = NULL;
int result = EXIT_FAILURE;
/* On ouvre le fichier en mode lecture binaire */
fichier = fopen("Super11.jpeg", "rb");
/* On teste si l'ouverture est OK */
if (fichier != NULL) {
/* On affiche la photo pendant 10 secondes */
Sleep(10000);
/*
A faire: chercher une bibliothèque permettant l'affichage d'une image.
en mode console.
*/
là j'ai pas encore trouvé... mais faudra l'inclure a la suite des librairies au début ou a cet endroit la du programme. A moins qu'il ne faille créer une fenetre en utilisant la fonction g2 et l'ouvrir a l'intérieur de cette fenetre ???
/* On ferme les fichiers et on retourne toutes les ressources réservées */
fclose(fichier);
result = EXIT_SUCCESS;
}
else {
/* Un message d'erreur pour l'utilisateur serait sympa */
printf("l'image qui devait s'ouvrir ne pas pu s'ouvrir");
}
system("pause");
return resul
[/CODE]
Pour l'insant le programme compile mais il ne m'affiche que le message d'erreur normal j'ai pas encore trouvé cette fameuse bibliothèque ?? Etait elle trouvable sur vos Tutoriels du forum ????
c'est fclose et pas close ??, non ???
Envoyé par gdumouli
Je confirme mon erreur. C'est bien fclose qu'il faut utiliser.
Bien le bonjour chez vous
Jowo
Oui, c'est bien fclose().
Et pour afficher l'image, y a quelque chose là dessus sur le site :
http://chgi.developpez.com/windows/image/
[alkama] quelqu'un est allé voir la guerre des mondes?
[@Chrisman] j'espère pour spielberg
--- bashfr.org
Il y a une librairie spéciale a rajouté pour utilisé " case WM_PAINT :" ????
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 #include <stdlib.h> #include <stdio.h> #include<windows.h> int main () { case WM_PAINT : { HBITMAP hBmp; HDC hdc; PAINTSTRUCT ps; hBmp=LoadImage(NULL,"1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE); hdc = BeginPaint(hwnd, &ps); DrawState(hdc,NULL,NULL,(long)hBmp,NULL,10,10,0,0,DST_BITMAP); EndPaint(hwnd, &ps); DeleteObject(hBmp); system("pause"); return 0; }
Déjà, tu peux virer le "case...", puisque tu n'as pas de "switch".
Je pense qu'ils l'avaient mis dans leur exemple pour traiter différents types d'images.
[alkama] quelqu'un est allé voir la guerre des mondes?
[@Chrisman] j'espère pour spielberg
--- bashfr.org
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager