Computerhilfen.de Logo
Forum
Tipps
News
Frage stellen

ungepufferter editor in C

hallo leute ich arbeite mit MS visiual studio und arbeite grade an einen selbsterstellten texteditor
Die eingabe soll zeichenweise erfolgen mit getch();
man muss in der lage sein mit den pfeiltasten rechts,links im text zu laufen.
die POS1 taste soll dich an die erste stelle im text bringen
die ENDE taste soll dich an die letze stelle im text bringen
Die INSERT taste soll funktionsfähig sein also wenn ich mitten im text die insert taste drücke soll ich den text überschreiben o.ä.^^
und backspace natürlich soll auch funktionieren.
soweit sogut hab ich es geschaft die pfeiltasten und das backspace zu programmieren, jetz weis ich aber nicht wie ich es schaffe insert oda ENDE u. POS1 hinzukriegen
ich bitte um schnelle hilfe da ich morgen das projekt fertig haben soll (in einer fertigen form abliefern soll^^)
hier is mein programm:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include "conscreen.h"
#pragma warning(disable:4996)
void eingabe(char t[], int len);

#define MAX 1000

void main()
{
   char text[MAX];
   eingabe(text,MAX);
   printf("\n\n%s\n\n",text);

}




void eingabe(char t[], int len)
{
   int i=0;
   int c;
   int x,y;
   int links=0,rechts=0;
   int pos1;
   int ende;

   GetXY(&x,&y);
   
   while((c=getch())!='\r')
   {                             //BACKSPACE
      if(c==8 && i<len)
      {
            //t=c;
            putch('\b');
            putch(32);
            putch('\b');
            --i; --x;
      }
      else if(c==224)         // STEUERZEICHEN
      {
         c=getch();
      if(c==75 && i>0 && i<=len)    // LINKS-TASTE
      {
         --x;--links;--i;
         SetXY(x,y);
      }
      else if(c==77 && i<t)   // RECHTS-TASTE
      {
         ++x;++i;++rechts;
         SetXY(x,y);
      }
      else if(c==82)   // EINFG-TASTE
      {
      }
      else if(c==83)  // ENTF-TASTE
      {
      }
      else if(c==71 && i<len) // POS1-TASTE
      {
         pos1=0;
         --pos1;--x;
         SetXY(pos1+x,y);
      }
      else if(c==79) // ENDE-TASTE
      {
         ende=i;
         SetXY(ende,y);
      }
      }
      else if(i<len)
      {
         t=c;
         ++i;++x;
         putch(c);
         t=0;
      }

   }
   }
 

« Externe Programme in Access verwenden.PHP Eclipse Kubuntu 9.04 »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Blende
Die Blende, oder auch fotografische Blende, ist eine mechanische Vorrichtung und Teil des Objektives bei Foto- und Videokameras. Dieser Teil des Objektivs kontrolliert di...