Kết quả 1 đến 8 của 8
  1. #1
    Ngày tham gia
    Aug 2015
    Bài viết
    1

    [Help] Chạy chữ từ phải sang trái màn hình.

    Mình có bài tập pascal này nhưng không làm được! Ai biết thì giúp mình với!
    đề bài này:
    Viết thủ tục Chuchay(s,dong) nhận đầu vào là xâu s gồm không quá 79 kí tự và biến nguyên dong, đưa ra xâu s có dạng chữ chạy ở giữa dòng dong.


    cho cám ơn trước nhé!

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    2
    Chữ chạy! Theo bạn thì nó có hiệu ứng gì vậy bạn? Chạy từ trái qua phải ở dòng hay là ...?

  3. #3
    Ngày tham gia
    Aug 2015
    Bài viết
    4
    chạy từ trái qua phải! mà chạy ở dòng thứ n
    giúp mình với nhé!

  4. #4
    Ngày tham gia
    Mar 2016
    Bài viết
    12
    Bạn vô box pascal , trong box đã từng có topic nói về vấn đề này rồi . Cũng có cả bài giải khá chi tiết .

  5. #5
    Ngày tham gia
    Nov 2015
    Bài viết
    10
    Mã:
    Program HappySoftGroup_Diendantinhoc;
            Uses Crt;
            Var s : String;
                n : Byte;
    
            Procedure ChayChu(Var s : String; Var dong : Byte);
                    Var s1 : String;
                        i : Byte;
            Begin
                    s1 := '';
                    For i := 80 downto 80 - Length(s) do
                    Begin
                            GotoXY(i, dong);
                            s1 := s1 + s[81-i];
                            Write(s1);
                            Delay(100);
                            Clrscr;
                    End;
    
                    For i := (80 - Length(s)) downto 1 do
                    Begin
                            GotoXY(i, dong);
                            Write(s);
                            Delay(100);
                            Clrscr;
                    End;
    
                    For i := Length(s) downto 1 do
                    Begin
                            GotoXY(1, dong);
                            Delete(s, length(s)-i, 1);
                            Write(s);
                            Delay(100);
                            Clrscr;
                    End;
            End;
    
    BEGIN
            Clrscr;
            Read(s,n);
            ChayChu(s, n);
    END.

  6. #6
    Ngày tham gia
    Apr 2016
    Bài viết
    9
    Chữ chạy có liên tục không hay là chạy 1 lần rồi dừng lại không chạy nữa?

  7. #7
    Ngày tham gia
    Nov 2015
    Bài viết
    0
    chữ chạy liên tục anh ạ. e thử viết chương trình như của anh HappySoftGroup nhưng mà không được.

  8. #8
    Ngày tham gia
    Feb 2016
    Bài viết
    5
    Trích dẫn Gửi bởi băng_tuyết
    chữ chạy liên tục anh ạ. e thử viết chương trình như của anh HappySoftGroup nhưng mà không được.
    Sao không em! [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG] Đưa Procedure ChayChu vào vòng lặp là nó chạy vô tư luôn. Nếu không có điều kiện dừng thì nó chạy mãi mãi luôn. Kaka [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

    Ví dụ nhá:
    Chạy Chữ Version 1.1
    Mã:
    Program HappySoftGroup_Diendantinhoc;
            Uses Crt;
            Var s : String;
                n : Byte;
    
            Procedure ChayChu(Var s : String; Var dong : Byte);
                    Var s1 : String;
                        i : Byte;
            Begin
                    s1 := '';
                    For i := 80 downto 80 - Length(s) do
                    Begin
                            TextColor(Yellow);
                            GotoXY(30, 1);
                            Writeln('Chay Chu Ver 1.1.');
                            TextColor(Red);
                            GotoXY(30, 2);
                            Write('====== o0o ======');
                            GotoXY(i, dong);
                            s1 := s1 + s[81-i];
                            TextColor(5);
                            Write(s1);
                            Delay(100);
                            Clrscr;
                            If KeyPressed then Halt;
                    End;
    
                    For i := (80 - Length(s)) downto 1 do
                    Begin
                            TextColor(Yellow);
                            GotoXY(30, 1);
                            Writeln('Chay Chu Ver 1.1.');
                            TextColor(Red);
                            GotoXY(30, 2);
                            Write('====== o0o ======');
                            GotoXY(i, dong);
                            TextColor(5);
                            Write(s);
                            Delay(100);
                            Clrscr;
                            If KeyPressed then Halt;
                    End;
                    s1 := s;
                    For i := Length(s) downto 1 do
                    Begin
                            TextColor(Yellow);
                            GotoXY(30, 1);
                            Writeln('Chay Chu Ver 1.1.');
                            TextColor(Red);
                            GotoXY(30, 2);
                            Write('====== o0o ======');
                            GotoXY(1, dong);
                            Delete(s1, length(s1)-i, 1);
                            TextColor(5);
                            Write(s1);
                            Delay(100);
                            Clrscr;
                            If KeyPressed then Halt;
                    End;
            End;
    
    BEGIN
            Clrscr;
            Write('Nhap text: '); Readln(s);
            Write('Nhap dong: '); Readln(n);
            Repeat
                    ChayChu(s, n);
            Until keypressed;
    END.

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •