Color of the text:
add the red,green,blue parameters in the text object declaration:
Code:
TEXT* namensfeld =
{
  pos_x=21;
  pos_y=350;
  layer=20;
  font = goth;
  red = 1;
  green = 1;
  blue = 1;
  string(Karten_name);
  flags=VISIBLE;
}

By the way: your function for the input is ugly coded wink
If you really want to use a while loop then have a global variable which can be set to terminated that while loop.
Or (even better):
Use the button_number of the field (they would need to be buttons and sitting on one panel) to save the input in the right string.