Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

How can i move a text in C??

neil15neil15 Posts: 1Member
anyone knows how to move a text in C??

if your watching news, it is like the text below ur TV set...

plz help....

thanks...

Comments

  • Ed HallEd Hall Posts: 395Member
    Here's one way to have text crawl across the bottom:

    [code]
    #include
    #include
    #include /* added to provide for gotoxy() function

    /* function defined because gotoxy() is not standard */
    void gotoxy(int x, int y)
    {
    COORD coord;
    coord.X = x;
    coord.Y = y;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
    }

    int main(int argc, char *argv[])
    {
    char cText[300];

    strcpy(cText, " ");
    strcat(cText, "This is the message to have crawl across the bottom of your screen. ");
    strcat(cText, " ");

    int d, i, j, tl = strlen(cText)-80;

    for (i=0;i<tl;i++)
    for (j=0;j<80;j++){
    gotoxy(j, 24);
    printf("%c", cText[i+j]);
    for (d=0;d<200000;d++); /* delay */
    }

    system("PAUSE");
    return 0;
    }
    [/code]

    You will have to change the delay value "d<200000" to achieve your desired speed. But, this should get you started...

    Take Care,
    Ed
  • LundinLundin Posts: 3,711Member
    for (d=0;d<200000;d++);


    Never ever write delays like this. The time turns entirely CPU dependant and the program will occupy CPU resources needlessly on top of it.

    A classic bug like the one above was found in the old Pacman game for 80286. When 386 was released, the game turned very fast, and when 486 was released it turned unplayable, since the figures were moving at the speed of light.

    The correct way is to use the Sleep() function in windows.h.
  • Ed HallEd Hall Posts: 395Member
    Thanks Lundin,

    I agree with you about the delay, but when I try the sleep() function it defaults to seconds instead of milliseconds. I didn't pursue why. Is there a way to call the windows.h function over whatever one is being called now?

    Since sleep() didn't work the way I wanted it to, I figured the OP could at least get an idea of how to perform the crawl using the delay loop, but I should have added a caveat.

    Thanks again.

    Take Care,
    Ed
  • wajihwajih lahorePosts: 2Member

    Can yu tell mee exactly how to move the text on the output of screen in c a short wcode sample ?????????ple ?????????****

  • wajihwajih lahorePosts: 2Member

    can yu tell mee exactly how to move the cursor on the output of the screen in c language with a short code sample

  • tienkhoanguyentienkhoanguyen houPosts: 122Member

    Here is a code you can do in Turbo C. I made it myself through the grace of Jesus Christ. It should also work for Tiny C Compiler which is also free. The code has standard files however the routine is a special development I made many years ago. Thank you Jesus Christ. Honour to my father, Nguyen Binh Thuy. Also honour to my mother Huong Thi Vu. Loving my brother Carl Anh Cuong Cao Vu. Bless God, then my mother. As for me I hope you are happy with my code. It is a lot of work. However, many others have helped me out when I first started. I am still a newbie especially with modern compilers.

    include <stdio.h>

    include <stdlib.h>

    int main() { int i = 1, d = 1; int space = 0; int pause = 0;

    REPEAT:; if (i < 40 && d == 1) { i++; } if (i >= 40) { d = 0; } if (i > 1 && d == 0) { i--; } if (i <= 1) { d = 1; }

    system("cls");

    space = i; SpaceIt:; space--; printf(" "); if (space > 1) { goto SpaceIt; }

    printf("Hello Tien!");

    pause = 120000000; PauseIt:; pause--; if (pause > 1) { goto PauseIt; }

    goto REPEAT;

    return 0; }

  • Malcolm_McLeanMalcolm_McLean Posts: 248Member ✭✭

    Just depends on your platform. C's standard library just has printf() and related functions. Some consoles can be given control codes to fix colour using ascii escape sequences. Others can't. I don't know offhand which system the Windows DOS box supports.

    There are also functions which manipulate the console as a text raster (a matrix or grid of cells containing characters). Under UNIX, you access this through a library called curses. Under DOS, it's called conio.

    But text output is steadily getting fancier as it supports non-Latin characters, right to left languages like Hebrew, proportional fonts, different fonts, colour, different console settings, and so on. You just have to check what is available with your particular compiler.

  • Daniel12Daniel12 USAPosts: 5Member

    How can you Transfer Text Messages from Android to Computer in a simple way? In case of data loss, copy text messages from Android phone to the computer is pretty necessary. To transfer easily, Android Transfer, a professional data transfer program, can help your Backup and Restore Android on Computer. No just text messages, but also photos, videos, contacts and more. With its help, you are also permitted to backup everything of your Android phone with 100% quality. So, it is truly an effective data manager for your Android device.

    Read more: How to Transfer Contacts from Outlook to Android

Sign In or Register to comment.