Avatar billede nfotx Nybegynder
14. januar 2002 - 21:06 Der er 26 kommentarer og
1 løsning

Rydde skærmen???

Hej! Er lige begyndt på C++, og sidder og laver nogle simple ms-dos programmer. Her er lige et par spørgsmål:

1. Hvordan rydder jeg skærmen???
2. Hvordan eksekverer jeg andre programmer???
3. Hvordan skriver jeg til filer???
Avatar billede komp Nybegynder
14. januar 2002 - 21:08 #1
hvilket udviklingsmiljø arbejder du I?
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:10 #2
Har Symantec C++ version 7.5... den er vist fuldt kompatibel med Borland
Avatar billede renesdk Nybegynder
14. januar 2002 - 21:10 #3
Gå på biblioteket og lån en bog der hedder C++ Turbo....

1. skriv \"cls;\" (uden \")
2. aner det ikke
3. er helt på herrens mark
Avatar billede fri-hash Nybegynder
14. januar 2002 - 21:12 #4
1: kald funktionen
clrscr();

3: kig på funktionen
fopen();
Avatar billede komp Nybegynder
14. januar 2002 - 21:12 #5
hvis du så skal have ryddet skærmen. så brug funktionskaldet clrscr(); men husk at inkludere conio.h.
Avatar billede svuppenator Nybegynder
14. januar 2002 - 21:15 #6
søg på google. Der vrimler med c++ tuts.
Avatar billede komp Nybegynder
14. januar 2002 - 21:16 #7
ang skrivning til filer så prøv at kigge her:

http://gethelp.devx.com/techtips/cpp_pro/10min/2001/june/10min0601.asp


Avatar billede nfotx Nybegynder
14. januar 2002 - 21:17 #8
hmm.... kan ikk bare kalde funtionen clrscr() ved at skrive det i koden.. her er et eksempel på et program:

#include <iostream.h>
int p;
int main() {
    cout<<\"Hej\"<<endl;  /* Skriv \"Hej\" til skærmen */
    cin<<p; /*Be om input til variablen p */
    ???  /*slet skærmen*/
    return 0;
}
Avatar billede komp Nybegynder
14. januar 2002 - 21:18 #9
husk #include <conio.h>
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:18 #10
aaah!! har ikk included conio.h!
Avatar billede fri-hash Nybegynder
14. januar 2002 - 21:19 #11
desuden skal p erklæres inde i main, tror jeg
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:20 #12
hmm.... mit program ser nu sådan her ud:

#include <iostream.h>
#include <conio.h>
int p;
int main() {
    cout<<\"Hej\"<<endl;
    cin<<p;
    clrscr();
    return 0;
}

Men jeg får stadig fejl når jeg prøver at compile programmet:

sc main.cpp -ms -o+time -3 -a2 -c -ID:\\apss\\sc\\include -omain.obj
Error: d:\\dokumenter\\prj\\test\\main.cpp(6): illegal operand types
d:\\dokumenter\\prj\\test\\main.cpp(6): Had: void *
Warning: d:\\dokumenter\\prj\\test\\main.cpp(6): value of expression is not used
Error: d:\\dokumenter\\prj\\test\\main.cpp(7): function \'clrscr\' has no prototype
Lines Processed: 1187  Errors: 2  Warnings: 1
Build failed
Avatar billede komp Nybegynder
14. januar 2002 - 21:22 #13
ja jeg tænkte det nok. clrscr() er en borland standard og findes derfor ikke i andre compilere.
Avatar billede fri-hash Nybegynder
14. januar 2002 - 21:22 #14
cin >>
cout <<
og erklær p inde i main
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:22 #15
HOVSA!!! STOOOOR FEJL!!! brugte \"<<\" i stedet for \">>\", men det virker stadig ikk!
Avatar billede komp Nybegynder
14. januar 2002 - 21:28 #16
Havde det samme problem med clrscr() for et par år siden, da clrscr() er en borland-standard. Du kan eventuelt downloade dev-c++ compileren. Det virkede for mig dengang.

http://www.bloodshed.net/devcpp.html
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:33 #17
det hele virker hvis jeg fjerner linjen med clrscr();
Avatar billede komp Nybegynder
14. januar 2002 - 21:34 #18
bortset fra at du ikke får ryddet skærmen.
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:36 #19
hmm... prøver at downloade dec-c++...
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:39 #20
ja, lige præcis... er der ikke en simpel måde at gøre det på i Symantec C++??? Plz!!!
Avatar billede komp Nybegynder
14. januar 2002 - 21:42 #21
Kender ikke i Symantec, men i VC++ kunne man ikke gøre det. Jeg endte dengang bare med at lave en 20-25 linieskift. :)
Avatar billede nfotx Nybegynder
14. januar 2002 - 21:46 #22
hehe! det var også det jeg havde tænkt mig at gøre! det er bare lidt bøvlet :)
Avatar billede acid-head Nybegynder
14. januar 2002 - 21:55 #23
For at slette skærmen kan du bare bruge DOS\'s egen... CLS...

#include <iostream.h>
#include <stdlib.h> //HUSK DEN!

void main(void)
{
cout << \"Hallo\" << endl;
system(\"cls\");
return 0;
}

Den har jeg ihvertfald brugt... ;)
Avatar billede acid-head Nybegynder
14. januar 2002 - 21:58 #24
Mhs. til dit andet spørgsmål, omkring eksekvering af forskellige andre programmer kan man faktisk også bruge SYSTEM();
Avatar billede mbulow Nybegynder
14. januar 2002 - 22:06 #25
Jeg er ikke sikker på om det virker eller ej (Kender ikke Symantec C++), men jeg fandt en mulig hjælper :=)

Hvis jeg lige skal skrive \"nfotx\"\'s kode lidt om:
-------------------------------------------------
#include <iostream.h>
#include <disp.h>
int p;
int main() {
    cout<<\"Hej\"<<endl;
    cin>>p;
    disp_open();
    disp_move(0, 0);
    disp_eeop();
    disp_close();
    return 0;
}

Prøv og se om det ikke skulle klare sagen

Jeg poster det jeg fandt i den efterfølgende kommentar
Avatar billede mbulow Nybegynder
14. januar 2002 - 22:10 #26
URL:
----
http://groups.google.com/groups?q=%2Bsymantec+%2Bc%2B%2B+%2Bclear+%2Bscreen&hl=da&selm=6n388r%249ge%241%40trellis.wwnet.net&rnum=1




FuRy wrote in message <898709952.423842@si2-paris>...
>I saw in a book that you must type :
>
>cout << \"033[2J\";
>
>but it doesn\'t work i get an error message.
>Please mail me at fury95@cyberdude.com


I see you are using C++, but this still may help you out.  Found at:
www.snippets.org  the file \"pclrscrn.how\"

-Mike

-----
Anti-SPAM measure in place:  To reply via email, please remove
the \"BBB\" from the email address.  Thank you.
----------------------------------------------------------------


      C Language Topic:  Clearing a Text Mode DOS PC screen
====================================================================

The following question is often asked in the FidoNet C_ECHO and
other C/C++ programming forums/areas:

\"How do I clear a \"text mode DOS PC\" screen using the C Language?\"

Answers to the above question vary.  First, if portability is of
concern, a portable clear screen function \"clrscr()\" exists within
the SNIPPETS archive.  Within SNIPPETS, please refer to:

\"Vidport.C - DOS: Portable gotoxy(), clrscr(), etc. equivalents\"

Also, many compiler vendors supply a clear screen function,
which is \"compiler specific\" (i.e. - non portable).  (See below.)

====================================================================
  Compiler (Vendor)    *  Clear Screen Function  *  Header File
====================================================================
Borland Turbo C++ 3.0,  *        clrscr()        *    conio.h
Borland C++ 3.x, 4.xx  *                        *
--------------------------------------------------------------------
M.S. Quick C 2.5,      *                        *
M.S. Visual C++ 1.52,  *    _clearscreen()      *    graph.h
Watcom C/C++ 10.x      *                        *
--------------------------------------------------------------------
Mix Power C 2.2.0      *        clrscrn()        *    bios.h
--------------------------------------------------------------------
Symantec C++ v7.x,      *  [ See example below ]  *    disp.h
Zortech C 2.18          *    disp_xxxx() family  *
--------------------------------------------------------------------

Examples of specific vendor approaches to clearing a PC screen in DOS:

--------------------------------------------------------
/* Example - Borland Turbo C++ 3.0, Borland C++ 3.1, and
            Borland C++ 4.x Clear Screen (DOS PC)  */

#include <conio.h>

int main(void)
{
  clrscr();

  return 0;
}
--------------------------------------------------------
--------------------------------------------------------
/* Example - M.S. Quick C 2.5, M.S. VC++ 1.52, and
            Watcom 10.x Clear Screen (DOS PC)  */

#include <graph.h>

int main(void)
{
  _clearscreen(_GCLEARSCREEN);  /* or _clearscreen(0) */

  return 0;
}
--------------------------------------------------------
--------------------------------------------------------
/* Example - Power C 2.2.0 Clear Screen (DOS PC)  */

#include <bios.h>

int main(void)
{
  clrscrn();

  return 0;
}
--------------------------------------------------------

To clear the PC screen in DOS with Symantec C++ or
Zortech C++, use the disp_xxxx() functions to set the
cursor to the beginning of the screen and then call the
disp_eeop() function to erase to the end of the screen.
--------------------------------------------------------
/* Example - Symantec C++ and Zortech C++ (all versions)
            Clear Screen (DOS PC)  */

#include <disp.h>

int main(void)
{
  disp_open();
  disp_move(0, 0);
  disp_eeop();
  disp_close();

  return 0;
}
--------------------------------------------------------
========================================================

Furthermore, when using ANSI.SYS (or an equivalent), one
may clear the screen using ANSI screen control codes.
Within the SNIPPETS archive, please refer to ANSICODE.H,
which defines: ANSI_cls(), or note the following equivalent
ANSI screen control code clear screen example:

--------------------------------------------------------
/* Example - Using ANSI screen control codes to
            Clear Screen (DOS PC)

    Note:  ANSI.SYS or equivalent must be loaded
            for this example to clear the PC screen.  */

#include <stdio.h>

#define  ESC  27

int main(void)
{

  printf(\"%c[2J\", ESC);

  return 0;
}
--------------------------------------------------------
Avatar billede soepro Nybegynder
15. januar 2002 - 08:25 #27
Tja, mbulow fandt vist svaret ovenfor.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester