Şu araçla deneyebilirsin:
http://dsource.org/projects/bcd
Onun ürettiklerini elle düzeltmek gerekebilir.
Aslında genelde basit ama belki de uzun bir işlem... Benim bu güne kadarki tek denemem, ncurses için deneysel bir iliştirici yazmak olmuştu:
module benim_ncurses;
extern (C):
enum TRUE = 1;
enum FALSE = 0;
alias void WINDOW;
WINDOW * initscr();
int cbreak();
int noecho();
int nonl();
int intrflush(WINDOW * win, bool bf);
// Hile: extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
__gshared WINDOW * stdscr;
int keypad(WINDOW *win, bool bf);
int getch();
int printw(const char *fmt, ...);
int endwin();
Çoğunlukla bire bir bir işlem... Şöyle bir programda kullanabilmiştim:
import benim_ncurses;
int x;
int*p = &x;
void main()
{
int c;
// Baştan bunu cağırmak şartmış
initscr();
// Bunların çağrılması öneriliyor
cbreak();
noecho();
nonl();
intrflush(stdscr, FALSE);
keypad(stdscr, TRUE);
while (c != 'H') {
c = getch();
printw("basıldı: %d '%c'\n", c, c);
}
// Temizlik
endwin();
}
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]