Effacer l historique

Résolu/Fermé
H.C1 Messages postés 4 Date d'inscription mardi 14 janvier 2014 Statut Membre Dernière intervention 15 janvier 2014 - 14 janv. 2014 à 21:22
H.C1 Messages postés 4 Date d'inscription mardi 14 janvier 2014 Statut Membre Dernière intervention 15 janvier 2014 - 15 janv. 2014 à 21:40
Saluut tt l monde, je developpe un programme en C qui contient une phase d Login et mot de passe , et j aimerai bien qu apres avoir verifier le Login et le mdp , une autre page s affiche ou que ce qui etait ecrit avant s efface , commeca j aurai la page vide apres la verification..et merci d avance

3 réponses

H.C1 Messages postés 4 Date d'inscription mardi 14 janvier 2014 Statut Membre Dernière intervention 15 janvier 2014 1
14 janv. 2014 à 21:38
En fait , mon programme consite a gerer une caisse d un supermarché , et j aurai besoin a faire une facture a la fin du programme , je demande pas que vous fasiez ca pour moi , mais j ai besoin de vous conseils Yodeli , je vous demande si il existe une fonction ou un astuce pour faire ca , parceque a la fin j aurai besoin a avoir la facture , et ca serai mieux si la page contient que la facture..Merci
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
14 janv. 2014 à 21:50
J'ai déjà répondu (cf. post #1).
0
Yodeli Messages postés 51 Date d'inscription mardi 21 août 2012 Statut Membre Dernière intervention 15 janvier 2014 7
Modifié par Yodeli le 14/01/2014 à 23:18
Tu vas y arriver j'en suis sûr mais il faut déjà avoir la patience d'aller pas à pas dans ton projet et pas trop compter sur les astuces des copains. Quand ton programme sera avancé et que tu maîtriseras sa programmation.tu comprendras par toi même. Il ne faut pas essayer d'aller plus vite que la musique. Quand tu auras bien avancé dans l'apprentissage d'un langage tu pourras diriger un résultat de calculs vers une imprimante pour établir une facture.
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
14 janv. 2014 à 21:27
Bonjour,

Il n'y a pas de façon standard de faire ce que tu demandes... Mais, c'est en possible en utilisant des fonctions propres à l'OS. Quel est-il ?

Sinon, pourquoi vouloir effacer l'écran après s'être connecté ? Généralement, on laisse l'écran en l'état.

Cdlt,
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié par [Dal] le 15/01/2014 à 01:47
Si tu connais la taille en lignes de ta console, tu peux, après avoir affiché ta "facture", ajouter des lignes vides avec autant de printf("\n"); que nécessaires pour faire défiler l'écran jusqu'à ce que le haut de ta facture soit en haut de l'écran et qu'il n'y ait rien d'autre de visible.


Dal
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
15 janv. 2014 à 07:10
Yep mais en C standard il n'y a pas de notion de console. Cela est spécifique à l'OS.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié par [Dal] le 15/01/2014 à 11:03
fiddy : oui, la taille de la console n'est pas définie par le standard du C, et le C standard ne permet pas non plus de trouver cette information. Ce que je propose est juste du bricolage présupposant une taille de la console.

En pratique, sous Windows, la taille initiale par défaut de la console est de 80x25.

https://en.wikipedia.org/wiki/Text_mode

By far the most common text mode used in DOS environments, and initial Windows consoles, is the default 80 columns by 25 rows, or 80×25, with 16 colors. This mode was available on practically all IBM and compatible personal computers.

Sous Linux, et les systèmes POSIX, la console émule en général vt102 et propose 80x24 par défaut.

Alors, on peut parier sur le fait qu'en scrollant de 25 lignes, on va probablement effacer l'écran.

Bien sûr, si ces tailles sont redimensionnées, le programme ne fonctionnera plus comme attendu.

H.C1, tu ne réponds pas à la question de fiddy, qui t'interroge sur le système sur lequel du programmes. Cela serait bien que tu répondes.

Pour un florilège de solutions à cette question fréquente, proposant des solutions pour plusieurs types de systèmes (dont le "bricolage" ci-dessus et d'autres plus fiables), tu peux consulter :

https://www.cprogramming.com/faq/cgi-bin/smartfaq.cgi?answer=1031963460&id=1043284385

où on te dit, par exemple, que pour le faire sous Windows, tu peux utiliser l'API de Windows, et créer une fonction comme celle-ci :
#include <windows.h>

void clear_screen ( void )
{
  DWORD n;                         /* Number of characters written */
  DWORD size;                      /* number of visible characters */
  COORD coord = {0};               /* Top left screen position */
  CONSOLE_SCREEN_BUFFER_INFO csbi;

  /* Get a handle to the console */
  HANDLE h = GetStdHandle ( STD_OUTPUT_HANDLE );

  GetConsoleScreenBufferInfo ( h, &csbi );

  /* Find the number of characters to overwrite */
  size = csbi.dwSize.X * csbi.dwSize.Y;

  /* Overwrite the screen buffer with whitespace */
  FillConsoleOutputCharacter ( h, TEXT ( ' ' ), size, coord, &n );
  GetConsoleScreenBufferInfo ( h, &csbi );
  FillConsoleOutputAttribute ( h, csbi.wAttributes, size, coord, &n );

  /* Reset the cursor to the top left position */
  SetConsoleCursorPosition ( h, coord );
}


ou vois la source officielle https://docs.microsoft.com/en-us/windows/console/clearing-the-screen en plus compliqué, ou pour plus de détails.

Si tu n'es pas sous Windows, le lien vers la faq précitée te donne des solutions pour d'autres systèmes d'exploitation.


Dal
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
15 janv. 2014 à 14:38
Exactement :-). J'attends encore que notre ami donne son OS ^^.
0
H.C1 Messages postés 4 Date d'inscription mardi 14 janvier 2014 Statut Membre Dernière intervention 15 janvier 2014 1
15 janv. 2014 à 21:27
Excusez moi pour le retard ...je travaille sur windows...
0
H.C1 Messages postés 4 Date d'inscription mardi 14 janvier 2014 Statut Membre Dernière intervention 15 janvier 2014 1
15 janv. 2014 à 21:40
Merci Dal , fiddy.. la structure marche tres Bien...
0