Примеры программ на разных языках

Applications development, KoOS API questions
  • C/C++

    GCC
    Spoiler:* На нем написано большинство программ C/C++, так что примеры программ найти не трудно.
    * HelloWorld консольный

    Code: Select all

    #include <stdio.h>
    
    int main(void)
    {
        printf("Hello, world!\n");
        return 0;
    };
    * HelloWorld графический

    Code: Select all

    #include <kos32sys.h>
    
    static char * title="Window";
    
    void create_window(){
        BeginDraw();
        DrawWindow(100,100,400,200,title,0x80ffffff,0x13);
        EndDraw();
    }
    
    int main(int argc, char** argv[])
    {
        create_window();
        for (;;)
        {
    		switch(get_os_event())
    		{
    			case 1:
    			   create_window();
    					continue;
    			case 2:
    			   // key pressed, read it and ignore
    			   get_key();
    					continue;
    			case 3:
    			   // button pressed; we have only one button, close
    					if(get_os_button()==1) return 0;
    					continue;
    		}
    	}
    }
    MSVC++
    Spoiler:* Построение графиков Graph
    * Редактор таблиц Table
    * HelloWorld

    Code: Select all

    #include "kosSyst.h"
    #include "kosFile.h"
     
    const char title[] = "HelloWorld test";
    const char string[] = "Hello, World!";
     
    void draw_window(void)
    {
        // start redraw
        kos_WindowRedrawStatus(1);
        // define&draw window
        kos_DefineAndDrawWindow(10,40,150,50,
            0x33,0xFFFFFF,0,0,(Dword)title);
        // display string
        kos_WriteTextToWindow(30,10,8,0,(char*)string,0);
        // end redraw
        kos_WindowRedrawStatus(2);
    }
     
    void kos_Main()
    {
        draw_window();
        for (;;)
        {
            switch (kos_WaitForEvent())
            {
            case 1:
                draw_window();
                break;
            case 2:
                // key pressed, read it and ignore
                Byte keyCode;
                kos_GetKey(keyCode);
                break;
            case 3:
                // button pressed; we have only one button, close
                kos_ExitApp();
            }
        }
    }
    TinyC
    Spoiler:* Множество примеров, в том числе и с boxlib
    * Текстовый редактор TTE
    BorlandC++
    Spoiler:* Игра life2
    * Раньше также были и Checkers, но потом их портировали на GCC
    * HelloWorld

    Code: Select all

    #include <menuet.h>
    #include <me_heap.h>
    #include <me_file.h>
    
    using namespace Menuet;
    
    const char header[] = "HelloWorld test";
    const char string[] = "Hello, World!";
    
    bool MenuetOnStart(TStartData &me_start, TThreadData /*th*/)
    {
    	me_start.Left = 10;
    	me_start.Top = 40;
    	me_start.Width = 150;
    	me_start.Height = 30;
    	me_start.WinData.Title = header;
    	return true;
    }
    
    void MenuetOnDraw(void)
    {
    	DrawString(30,10,0,string);
    }
    
    bool MenuetOnClose(TThreadData /*th*/)
    {return true;}
    int MenuetOnIdle(TThreadData /*th*/)
    {return -1;}
    void MenuetOnSize(int /*window_rect*/[], TThreadData /*th*/)
    {}
    void MenuetOnKeyPress(TThreadData /*th*/)
    {GetKey();}
    void MenuetOnMouse(TThreadData /*th*/)
    {}
  • Who is online

    Users browsing this forum: No registered users and 6 guests