curses/ncurses liberary in D

pascal111 judas.the.messiah.111 at gmail.com
Fri Aug 5 18:20:36 UTC 2022


On Friday, 5 August 2022 at 04:14:22 UTC, H. S. Teoh wrote:
> On Thu, Aug 04, 2022 at 11:52:48PM +0000, pascal111 via 
> Digitalmars-d-learn wrote:
>> On Thursday, 4 August 2022 at 21:35:37 UTC, Adam D Ruppe wrote:
>> > On Thursday, 4 August 2022 at 21:15:39 UTC, pascal111 wrote:
>> > > > https://github.com/adamdruppe/arsd/blob/master/terminal.d
>> > > 
>> > > How can I use this terminal module? Is there a document 
>> > > for it?
>> > 
>> > http://arsd-official.dpldocs.info/arsd.terminal.html
>> 
>> They didn't mention how can I determine the cursor position 
>> like C functions "wherex, wherey, gotoxy".
>
> Did you read the docs at all?  Look at the code examples where 
> it creates a Terminal struct.  Now go to the docs and click on 
> "Terminal" under the section "Structs", and you get to this 
> page:
>
> 	http://arsd-official.dpldocs.info/arsd.terminal.Terminal.html
>
> The first code block on this page contains a full list of all 
> the functions Terminal supports, including cursorX, cursorY, 
> and moveTo, which are what you are looking for.
>
> (Granted, though, the main page could be expanded to include 
> examples of how to use these functions.. take that up with 
> Adam. :-P)
>
>
> T

It works:

'''D
module temp;

import std.stdio;
import std.string;
import std.conv;
import dcollect;
import std.math;
import std.algorithm;
import std.array;
import std.functional;
import arsd.terminal;



int main(string[] args)
{

     auto terminal = Terminal(ConsoleOutputType.linear);

     int x=30,
     y=3, c=1;

     for(auto i=1; i<=10; i++){

         terminal.moveTo(x,y);
         terminal.writeln(strstring(c,"*"));
         x-=2;
         y++;
         c+=4;}

	return 0;
}

'''

But I'll need help to understand some functions like how we can 
use "readf" equivalent, I don't see it.


More information about the Digitalmars-d-learn mailing list