Changes

Jump to: navigation, search

Console startup oop344 - 20123

2,141 bytes added, 16:43, 7 October 2012
Created page with 'Tester: <pre> #include "console.h" using namespace cio; int main(){ char text[41] = "Hello how are you this morning!"; bool insertMode = true; int curpos = 8; int offset…'
Tester:
<pre>
#include "console.h"
using namespace cio;

int main(){
char text[41] = "Hello how are you this morning!";
bool insertMode = true;
int curpos = 8;
int offset = 10;
console.setPos(10, 20);
console<<"*****************";
console.setPos(11, 20);
console<<"*****************";
console.setPos(12, 20);
console<<"*****************";
console.edit(text, 11, 21, 15, 40, &insertMode, &offset, &curpos, false, false);
console.setPos(15,20);
console<<text;
console.pause();
return 0;
}
</pre>
console.edit()
<pre>
int Console::edit(char* str, int row, int col,
int fieldLength, int maxStrLength,
bool* insertMode, int* strOffset, int* curPosition,
bool IsTextEditor, bool ReadOnly){
bool done = false;
int key = 0;
while(!done){
// displaying the interface
display(str + *strOffset, row, col, fieldLength);
setPos(row, col + *curPosition);
// end displaying the interface
switch(key = getKey()){
case LEFT:
if(*curPosition > 0){
(*curPosition)--;
}
else if(*strOffset > 0){
(*strOffset)--;
}
else{
// beep
}
break;
case INSERT:
//if(*insertMode){
// *insertMode = false;
//}
//else{
// *insertMode = true;
//}
*insertMode = !(*insertMode);
break;
case HOME:
*strOffset = *curPosition = 0;
break;
case ESCAPE:
done = true;
break;
default:
if(key >=32 && key <= 126){ // I have a printable character to work with
if(*insertMode){ // edit in insert mode

}
else{ // edit in overstrike mode
if(max string lenght is not reached){
str[*strOffset + *curPosition] = key;
if(the cursor is not at the end of the field){
(*curPosition)++;
}
else if(MaxStrlen is not reached){
(*strOffset)++;
}
}
}
}
}
}
return 0;
}

</pre>

Navigation menu