/programs/develop/ktcc/trunk/samples/console/console.c |
---|
0,0 → 1,70 |
// Console dynamic link library. Sample by Ghost |
#include <stdio.h> |
#include <string.h> |
#include <kolibrisys.h> |
char* dllname="/sys/lib/console.obj"; |
int i; |
char* imports[] = {"START","version","con_init","con_write_asciiz","con_printf","con_exit",NULL}; |
char* caption = "Console test - colors"; |
dword (* dll_start)(dword res); |
dword* dll_ver; |
void stdcall (* con_init)(dword wnd_width, dword wnd_height, dword scr_width, dword scr_height, const char* title); |
void stdcall (* con_write_asciiz)(const char* string); |
void cdecl (* con_printf)(const char* format,...); |
void stdcall (* con_exit)(dword bCloseWindow); |
struct import{ |
char *name; |
void *data; |
}; |
void link(struct import *exp, char** imports){ |
dll_start = (dword (*)(dword)) |
_ksys_cofflib_getproc(exp, imports[0]); |
dll_ver = (dword*) |
_ksys_cofflib_getproc(exp, imports[1]); |
con_init = (void stdcall (*)(dword , dword, dword, dword, const char*)) |
_ksys_cofflib_getproc(exp, imports[2]); |
con_write_asciiz = (void stdcall (*)(const char*)) |
_ksys_cofflib_getproc(exp, imports[3]); |
con_printf = (void cdecl (*)(const char*,...)) |
_ksys_cofflib_getproc(exp, imports[4]); |
con_exit = (void stdcall (*)(dword)) |
_ksys_cofflib_getproc(exp, imports[5]); |
} |
int main(int argc, char **argv){ |
struct import * hDll; |
int a,b,c,d; |
if((hDll = (struct import *)_ksys_cofflib_load(dllname)) == 0){ |
debug_out_str("can't load lib\n"); |
return 1; |
} |
link(hDll, imports); |
debug_out_str("dll loaded\n"); |
if(dll_start(1) == 0){ |
debug_out_str("dll_start failed\n"); |
return 1; |
} |
con_init(-1, -1, -1, -1, caption); |
for(i = 0; i < 256; i++){ |
con_printf("Color 0x%02X: ", i); |
con_write_asciiz("Text sample."); |
con_printf(" printf %s test %d\n", "small", i); |
} |
con_exit(0); |
debug_out_str("all right's ;)\n"); |
} |
/programs/develop/ktcc/trunk/samples/simple/simple.c |
---|
0,0 → 1,61 |
// simple sample by Ghost |
#include <stdio.h> |
#include <string.h> |
#include <kolibrisys.h> |
#define FONT0 0 |
#define FONT1 0x10000000 |
#define BT_NORMAL 0 |
#define BT_DEL 0x80000000 |
#define BT_HIDE 0x40000000 |
#define BT_NOFRAME 0x20000000 |
char header[]={" -= C demo programm. Compiled whith KTCC halyavin and andrew_programmer port =- "}; |
void rotate_str(char *str){ |
char tmp; |
int i; |
tmp = str[0]; |
for(i = 1; str[i]; i++)str[i - 1] = str[i]; |
str[i - 1] = tmp; |
} |
void draw_window(){ |
static int offs = 0; |
static int fcolor = 0; |
static int col = 0; |
_ksys_window_redraw(1); |
_ksys_draw_window(100, 100, 300, 120, 0xaabbcc, 2, 0x5080d0, 0, 0x5080d0); |
_ksys_write_text(6 - offs, 8, fcolor | FONT0, header, strlen(header)); |
_ksys_draw_bar(1, 6, 5, 13, 0x05080d0); |
_ksys_draw_bar(274, 6, 26, 13, 0x05080d0); |
_ksys_make_button(300 - 19, 5, 12, 12, 1 | BT_NORMAL, 0x6688dd); |
_ksys_window_redraw(2); |
offs = (offs + 1) % 6; |
if(!offs)rotate_str(header); |
fcolor += (col)?-0x80808:0x80808; |
if(fcolor > 0xf80000 || fcolor == 0)col = !col; |
} |
int main(int argc, char **argv){ |
while(!0){ |
switch(_ksys_wait_for_event(10)){ |
case 2:return 0; |
case 3: |
if(_ksys_get_button_id() == 1)return 0; |
break; |
default: |
draw_window(); |
break; |
} |
} |
} |
/programs/develop/ktcc/trunk/samples/files/FILES.C |
---|
0,0 → 1,43 |
#include <stdio.h> |
#include <stdlib.h> |
int main(int argc, char **argv) |
{ |
int i; |
char c; |
FILE *f; |
FILE *fin; |
FILE *fout; |
//write to file |
f=fopen("testfile.txt","w"); |
for(i=0;i<50;i++) |
{ |
fputc('1',f); |
} |
fclose(f); |
//append to file |
f=fopen("testfile.txt","a"); |
for(i=0;i<50;i++) |
{ |
fputc('2',f); |
} |
fclose(f); |
//copy from testfile.txt to copyfile.txt |
fin=fopen("testfile.txt","r"); |
fout=fopen("copyfile.txt","w"); |
while((c=fgetc(fin))!=EOF) |
{ |
fputc(c,fout); |
} |
fclose(fin); |
fclose(fout); |
} |