home *** CD-ROM | disk | FTP | other *** search
- #include<kiwi_inc.h>
- #include<kiwilib.h>
- #include<kiwipro.h>
- #include<demopro.h>
-
-
- /* initialisiere Editmenu */
- MENU edits[6]={
- "Datensatz ",0,1,"Eingabe eines kompletten Datensatzes",
- "Texteingabe ",0,1,"Eingabe einer Textpassage",
- "Passwort ",0,1,"Verdeckte Eingabe eines Passwortes",
- "──────────────",-1,0,"",
- "Radiobuttons ",0,1,"Zeigt die Möglichkeiten mit Radiobuttons in einer Masken",
- "List & Buttons",0,1,"Zeigt die Möglichkeiten mit Radiobuttons in einer Masken",
- };
-
-
-
-
- /* Definiere Datensatz */
- struct datensatz{
- char anrede[8];
- char vorname[35];
- char name[35];
- int plz;
- char ort[50];
- char strasse[50];
- int alter;
- DATUM tag;
- ZEIT uhr;
- float groesse;
- long verdienst;
- };
-
-
- #define STRING_LEN 100
- extern int screen_mode;
- extern long int maus_speed;
-
- /*****************************************************************************
- *Name :editmenu
- *Typ :int
- *Zweck:Steuert das Geschehen bei editmenu
- *
- *
- * Name Typ Zweck
- *Aufrufpara :
- *
- *Rueckgabep :
- *
- *Funktionswt: 0 Immer
- *
- *****************************************************************************/
- int editmenu()
- {
- int i,c,wahl,ptr,alter1=0,alter2=0;
- WINDOW sw1=0,sb=0,pw=0,sw2=0,win=0;
- struct datensatz record;
- char text[6][STRING_LEN],name1[20],name2[20];
- char string[30];
- VSCREEN vs;
- RADIO radio1=2,radio2=4;
-
-
- init_string(string,sizeof(string)); /* loesche Daten */
- for(i=0;i<6;i++)init_string(text[i],sizeof(text[i]));
- init_string(record.anrede,sizeof(record));
-
- set_help_name("Editor");
- wahl=choose_sub_menu(edits,6,&sb);
- switch(wahl){
-
- case 0: set_help_name("Datensatz Eingabe");
- if(dialog2("Sollen alle Eingabefelder invertiert werden \n oder nur das aktuelle Eingabefeld",
- "Alle","Nur Eingabe",AM,AM)==1)
- set_scanf(INVERT_ALL);
- else set_scanf(INVERT_INPUT);
-
- set_color_table(4);
- init_editor(EDIT_ROW);
- set_edit_mode(EDIT_EXIT_TASTEND);
- set_edit_mode(EDIT_EXIT_CUREND);
- set_scanf_exit_code(1,F9,0);
-
- /******************************************************************************
- Code generated by KIWI ScreenManager V 1.00
- generate at Date :12.11.1990 Time :16:40:47.40
- ******************************************************************************/
-
- sw1=load_window("DEMO10 .WND");
-
-
- i=scanf_mask(sw1,0, "x", record.anrede, /* Type=S Len= 8 */
- record.vorname,/* Type=S Len= 35 */
- record.name, /* Type=S Len= 35 */
- &record.plz, /* Type=D Len= 4 */
- record.ort, /* Type=S Len= 50 */
- record.strasse,/* Type=S Len= 50 */
- &record.alter, /* Type=D Len= 2 */
- &record.tag, /* Type=M Len= 0 */
- &record.uhr, /* Type=T Len= 0 */
- &record.groesse,/* Type=F Len= 10 */
- &record.verdienst);/* Type=L Len= 10 */
-
-
- close_window(sw1);
-
- /************************************ EOC *************************************/
-
-
-
- set_color_table(0);
- NORMAL
- break;
-
- case 1: set_help_name("Text Eingabe");
- sw1=open_vs_window("Eingabe Text",8,5,72,14,DOPPELT,105,10);
- sw2=open_window("Kontrollfenster",8,16,72,24,EINFACH);
- vs=get_linked_screen(sw1);
- link_virtuell_screen(vs,sw2,0,0);
-
- init_editor(EDIT_FIELD);/* Schalte Editor auf Feldmodus */
- display_string("Geben Sie bitte den Text ein. Ende mit ESC",sw1,AM,1);
- set_window_color(sw1,FLIP);
- wlocate(sw1,1,1);/* zeige Eingangsfeld */
- for(i=0;i<6;i++)display_string2(text[i],sw1,2,2+i,sizeof(text[0]));
- ptr=0;
-
- do
- {
- if(ptr % 2)set_edit_mode(EDIT_UPPER_ONLY);
- else set_edit_mode(EDIT_LOWER_ONLY);
-
- c=edit_string(text[ptr],sw1,2,2+ptr,sizeof(text[ptr]));
- if(c==13 || c==14 || c==206 || c==202)ptr++;
- else if(c==208)ptr--;
- /* Gleiches Spiel wie bei Datensatzeingabe */
- if(ptr<0)ptr=5;
-
- }while(c!=27 && ptr<6);
-
- set_edit_mode(EDIT_NO_CASE);
- set_window_color(sw1,FLIP);
- display_string("Beliebige Taste für weiter",sw1,AM,8);
- wait_of_action();
-
- close_window(sw2);
- close_window(sw1);
- break;
-
- case 2: set_help_name("Passwort Eingabe");
- sw1=open_window("Eingabe Passwort",8,10,72,17,DOPPELT);
- init_editor(EDIT_ROW);
- display_string("Geben Sie bitte das Passwort ein",sw1,AM,1);
- set_window_color(sw1,FLIP);
- set_edit_mode(EDIT_CURSOR_OFF);/* Cursor weg */
- set_edit_mode(EDIT_INSERT_OFF);/* kein Insertmode */
- /* Eingabe erfolgt in sw1, aber pw wird druebergelegt */
- wahl=wait_input();
- pw=load_window("demo11.wnd");
- ungetch_keyboard(wahl);
- edit_string(string,sw1,AM,2,sizeof(string));
- close_window(pw);
- /* Jetzt zeige was eingegeben wurde */
- set_edit_mode(EDIT_CURSOR_ON);
- set_edit_mode(EDIT_INSERT_ON);
- set_window_color(sw1,FLIP);
- display_string("Ihre Eingabe war ",sw1,AM,3);
- display_string(string,sw1,AM,4);
- display_string("Beliebige Taste für weiter",sw1,AM,5);
- wait_of_action();
- close_window(sw1);
- break;
-
- case 3: break;
-
- case 4: set_help_name("Radiobuttons");
- init_string(name1,sizeof(name1));
- init_string(name2,sizeof(name2));
- win=load_window("radio1.wnd");
- scanf_mask(win,0,"x", name1, /* Type=S Len= 20 */
- &alter1, /* Type=D Len= 2 */
- &radio1, /* Type=R Len= 6 */
- &radio2, /* Type=R Len= 6 */
- name2, /* Type=S Len= 20 */
- &alter2); /* Type=D Len= 2 */
-
-
- close_window(win);
- break;
-
- case 5: display_file_content();
- break;
-
- default:break;
- }
-
- close_window(sb);
- return(0);
- }
-
-
-
-
- /*****************************************************************************
- *Name :kill_selectet_file
- *Typ :int
- *Zweck:Loescht die datei mit remove
- *
- *
- * Name Typ Zweck
- *Aufrufpara : pfad char* Pfad
- * datei char* Dateiname
- *
- *Rueckgabep :
- *
- *Funktionswt: 0 Immer
- *
- *****************************************************************************/
- int kill_selectet_file(char *file)
- {
-
- remove_file(file); /* Loesche Datei */
-
- return(0);
- }
-
-
-
- /*****************************************************************************
- *Name :print_selectet_file
- *Typ :int
- *Zweck:Druckt die Datei
- *
- *
- * Name Typ Zweck
- *Aufrufpara : pfad char* Dateipfad
- * datei char* Dateiname
- *
- *Rueckgabep :
- *
- *Funktionswt: -1 Datei nicht da sonst 0
- *
- *****************************************************************************/
- int print_selectet_file(char *file)
- {
- unsigned char ch;
- FILE *in;
- WINDOW win1;
-
- if((in=fopen(file,"rb"))==NULL)/* Oeffne Datei */
- {
- set_error_name("Dateilesen Fehler");
- get_error();
- return(-1);
- }
-
- win1=open_window("Hinweis",20,15,60,20,EINFACH);
- display_string("Escape Taste für Beenden",win1,AM,3);
- do
- {
- ch=fgetc(in); /* Lese zeichen */
- print_char(ch,1); /* Auf Druckausgabkanal */
-
- }while(!feof(in) && input()!=27);
-
- flush_printer();
- fclose(in);
- close_window(win1);
-
- return(0);
- }
-
-
- #include<kiwiwin.h>
-
-
- int frontcolor(struct inter_func_com *ipc)
- {
- int col;
- UCHAR atr;
- WINDOW win,winpos;
-
- col=(*(int *)(ipc->ptr));
- win=ipc->win;
-
- if((winpos=get_window_pos(win-1))==(-1))return(0);
- atr=(window_typ[winpos].attribut & 240);
-
- switch(col){
- case 0: set_window_attribut(win,(VSCHWARZ | atr));
- break;
- case 1: set_window_attribut(win,(VBLAU | atr));
- break;
- case 2: set_window_attribut(win,(VGRUEN | atr));
- break;
- case 3: set_window_attribut(win,(VROT | atr));
- break;
- case 4: set_window_attribut(win,(VMAGENTA | atr));
- break;
- case 5: set_window_attribut(win,(VWEIS | atr));
- break;
- default :break;
- }
-
- return(0);
- }
-
-
-
- int backcolor(struct inter_func_com *ipc)
- {
- int col;
- UCHAR atr;
- WINDOW win,winpos;
-
- col=(*(int *)(ipc->ptr));
- win=ipc->win;
-
- if((winpos=get_window_pos(win-1))==(-1))return(0);
- atr=(window_typ[winpos].attribut & 15);
-
- switch(col){
- case 0: set_window_attribut(win,(atr | HSCHWARZ));
- break;
- case 1: set_window_attribut(win,(atr | HBLAU));
- break;
- case 2: set_window_attribut(win,(atr | HGRUEN));
- break;
- case 3: set_window_attribut(win,(atr | HROT));
- break;
- case 4: set_window_attribut(win,(atr | HMAGENTA));
- break;
- case 5: set_window_attribut(win,(atr | HWEIS));
- break;
- default :break;
- }
-
- return(0);
- }
-
-
-
-
-