Viết chương trình pascal dòng chữ chạy ngang màn hình

  1. Dòng chữ chạy ngang qua màn hình

    Viết chương trình để nhập 1 xâu kí tự từ bàn phím và đưa xâu đó ra màn hình có dạng dòng chữ chạy giữa màn hình văn bản 25 x 80.


  2. Bài này thuộc dạng vẽ hình chuyển động.
    Cách đơn giản nhất là xóa đi vẽ lại.

    PHP Code:

    Đặt (x,ylà tọa độ bắt đầu dòng chữ.
    Repeat
          SetColor
    (Yellow);
          
    OutTextXY(x,y,st);
          
    Delay(10); // làm trễ
          
    SetColor(Black);
          
    OutTextXY(x,y,st);
          
    x:=x+dx// dx là bước nhảy, dx càng lớn thì chạy càng nhanh
          
    If x+Length(st)>GetMaxX then x:="Giá trị x ban đầu";
    Until KeyPressed

    Cách 2: Sử dụng biến động, cách này vẽ đẹp hơn.
    Cần thì post sau.


  3. Code:

    uses  crt;
    var   i:integer;
          a:string;
    begin
          a:='Chao Mung Ban Den Dien Dan Tin Hoc';
          for i:=1 to 78 do
                a:=' '+a;
          a:=a+a;
          clrscr;
          repeat
                inc(i);
                gotoxy(1,12);
                write(copy(a,i,79));
                delay(150);
                if i=120 then
                begin
                      i:=0;
                      clrscr;
                end;
          until keypressed;
    end.


  4. Pà chị chơi ở Text Mode à?
    Cái chữ chuyển động thế này Text Mode xấu lắm. Graph Mode mới chấp nhận được.


  5. c chỉ bik thế này thôi
    Viết chương trình pascal dòng chữ chạy ngang màn hình
    . Nghịch cho vui thôi chứ đâu có thi mí cái nì


  6. Các bạn tham, gia các cách viết chương trình


  7. học pas gần 1 năm trời rồi mà mình có biết gì đến đồ họa đâu , chắc cũng chỉ chơi text mode thôi
    Viết chương trình pascal dòng chữ chạy ngang màn hình


  8. Đồ họa khá nhiều cái hay. Thi xong thử học đi.
    Nhân tiện post cách 2:
    1. Lưu hình: Để lưu hình bất kì, tính HCN bao hình đó:
    Dùng hàm

    PHP Code:

    ImageSize(x1,y1,x2,y2:Integer):Integer

    Hàm này trả về kích thước HCN bao có đỉnh trên trái (x1,y1), dưới phải (x2,y2).
    2. Bố trí bộ nhớ để cất hình:
    Thủ tục:

    PHP Code:

    GetMem(Var P:Pointern:Word); 

    Thủ tục này sử dụng con trỏ ko định kiểu P, tạo ra 1 biến động có độ lớn n byte.
    Để giải phóng:

    PHP Code:

     FreeMem(Var P:Pointer;n:Word); 

    3. Chép hình vào bộ nhớ:
    Sử dụng thủ tục:

    PHP Code:

    GetImage(x1,y1,x2,y2:Integer; Var P:Pointer); 

    TT này chép các điểm ảnh trong HCN (x1,y1,x2,y2) trên màn hình vào vùng nhớ được con trỏ P trỏ tới.
    4. Khôi phục hình đã cất = GetImage, sử dụng thủ tục:

    PHP Code:

    PutImage(x,y:Integer;Var P:Pointer;Mode:Word); 

    Thủ tục này chép hình lưu trong biến động được trỏ tới bởi P vào vị trí x,y.
    Mode có các giá trị:
    CopyPut=0: Sao chép đè lên. Hình cũ mất
    XORPut=1: Không nhớ, nhưng dùng cái này để tạo hình chuyển động.
    Hình như còn AndPut hay OrPut thì phải, quên rồi.
    Vậy thì các bước cần làm là:

    PHP Code:

    1. Vẽ chữLưu vào biến động ko định kiểu.
    2. Tạo trễ (Delay)
    3. Xóa hìnhkhôi phục nền cũ với PutImage và phép XORPut.
    4. Vẽ ở vị trí mới 

    Đơn giản thôi mà.
    Cần thêm ví dụ không?


  9. cho tôi hỏi thứ tự làm cho dòng chữ chạy trên màn hình destop