Tin học Chương trình đồng hồ Pascal

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên
14 Tháng năm 2017
3,974
7,619
744
21
Phú Yên
Trường THPT Lương Văn Chánh
Còn gì tuyệt vời hơn một chương trình như thế này nữa phải không nào JFBQ001620702013A
upload_2018-5-23_17-7-45.png
Dùng được thì cho mình xin cái nhận xét :p

Code này sử dụng unit graph nên bạn nào chưa có thì phải chèn vào nhá
Mã:
 Program Clock;
 uses crt,graph,dos;
 const R = 170;
       days : array[0..6] of string = ('SunDay','MonDay','Tuesday',
       'Wednesday','Thursday','Friday',
       'Saturday');

 var gd,gm,cX,cY: integer;
     second,minute,hour,hund,lasth,lastm,lasts,ly,ld,lm,ldo: Word;

 Procedure DrawFace;
 var i: integer;
     s: string;
     dx,dy: real;
     X,Y: integer;
 Begin
      for i := 1 to 360 do
      begin
           X := random(cX*2);
           Y := random(cY*2);
           PutPixel(X,Y,1+Random(14));
      end;
      SetColor(LightGreen);
      SetFillStyle(1,LightGreen);
      FillEllipse(cX,cY,R+10,R+10);
      SetFillStyle(1,Yellow);
      SetColor(Yellow);
      FillEllipse(cX,cY,R,R);
      SetFillStyle(1,Brown);
      FillEllipse(cX,cY,2,2);
      for i := 1 to 360 do
      if i mod 30 = 0 then
      begin
           dx := cX + (R-10) * sin(i*Pi/180);
           dy := cY - (R-10) * cos(i*Pi/180);
           X := trunc(dx);
           Y := trunc(dy);
           SetColor(Black);
           Str(i div 30,s);
           OutTextXY(X,Y,s);
      end
      else if i mod 6 = 0 then
      begin
           dx := cX + (R-10) * sin(i*Pi/180);
           dy := cY - (R-10) * cos(i*Pi/180);
           X := trunc(cX + (R-20) * sin(i*Pi/180));
           Y := trunc(cY - (R-20) * cos(i*Pi/180));
           SetColor(Cyan);
           Line(X,Y,Trunc(dx),Trunc(dy));
      end;
 End;

 Procedure ClearMove(t: char;time: Word);
 var s,m,h: real;
 Begin
      SetColor(Yellow);
      case t of
      's':
      begin
      s := time*Pi/30;
      Line(cX,cY,cX + trunc((R-20)*sin(s)),cY - trunc((R-20)*cos(s)));
      end;
      'm':
      begin
      m := time*Pi/30;
      Line(cX,cY,cX + trunc((R-40)*sin(m)),cY - trunc((R-40)*cos(m)));
      end;
      'h':
      begin
      h := time*Pi/6;
      Line(cX,cY,cX + trunc((R-60)*sin(h)),cY - trunc((R-60)*cos(h)));
      end;
                end;
 End;

 Procedure DrawMove;
 var s,m,h: real;
     date,month,year,dow: Word;
     sr,st: string;
 Begin
      SetColor(Red);
      s := second*Pi/30;
      Line(cX,cY,cX + trunc((R-20)*sin(s)),cY - trunc((R-20)*cos(s)));
      SetColor(Blue);
      m := minute*Pi/30;
      Line(cX,cY,cX + trunc((R-40)*sin(m)),cY - trunc((R-40)*cos(m)));
      SetColor(Green);
      h := hour*Pi/6;
      Line(cX,cY,cX + trunc((R-60)*sin(h)),cY - trunc((R-60)*cos(h)));

      {------------------- Ve Ngay -------------------------}
      GetDate(year,month,date,dow);
      if (ly = year) and (lm = month)
      and (ld = date) and (ldo = dow) then begin end
      else
      begin
      Bar(cX - 100,cY + R + 20,cX + 100,cY + R + 40);
      st := Days[dow] + '/';
      Str(date,sr);
      st := st + sr + '/';
      Str(month,sr);
      st := st + sr + '/';
      Str(year,sr);
      st := st + sr;
      OutTextXY(cX - length(st)*4,cY + R + 27,st);
      ld := date;
      lm := month;
      ly := year;
      ldo := dow;
      end;
 End;

 BEGIN
      InitGraph(gd,gm,'');
      cX := GetMaxX div 2;
      cY := GetMaxY div 2 - 20;
      GetTime(hour,minute,second,hund);
      DrawFace;
      DrawMove;
      repeat
      if lastm <> minute then
      ClearMove('m',lastm);
      if lasth <> hour  then
      ClearMove('h',lasth);
      if lasts <> second then
      ClearMove('s',lasts);
      DrawMove;
      lasth := hour;
      lastm := minute;
      lasts := second;
      GetTime(hour,minute,second,hund);
      until keypressed;
      CloseGraph;
 END.
 

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên
14 Tháng năm 2017
3,974
7,619
744
21
Phú Yên
Trường THPT Lương Văn Chánh
@trà nguyễn hữu nghĩa không hiểu sao chạy nó báo phần mềm không dùng library graph.
Mình nói rồi mà, phải chèn thư viện Graph vào mới được.
Làm như thế này nhé: Copy file graph.tpu trong thư mục unit và file EGAVGA.BGI trong thư mục BGI vào thư mục Bin
rồi chạy Pascal lên là dùng được thư viện Graph.:p
 
  • Like
Reactions: mỳ gói

kaito kuroba

Học sinh mới
Thành viên
1 Tháng một 2020
36
12
6
17
Bình Dương
THCS Lê Quý Đôn
Mình nói rồi mà, phải chèn thư viện Graph vào mới được.
Làm như thế này nhé: Copy file graph.tpu trong thư mục unit và file EGAVGA.BGI trong thư mục BGI vào thư mục Bin
rồi chạy Pascal lên là dùng được thư viện Graph.:p
cái này là xài pascal nào vậy anh
 

kaito kuroba

Học sinh mới
Thành viên
1 Tháng một 2020
36
12
6
17
Bình Dương
THCS Lê Quý Đôn
Mình nói rồi mà, phải chèn thư viện Graph vào mới được.
Làm như thế này nhé: Copy file graph.tpu trong thư mục unit và file EGAVGA.BGI trong thư mục BGI vào thư mục Bin
rồi chạy Pascal lên là dùng được thư viện Graph.:p
thư mục unit ở đâu mà em tìm không thấy
 

kaito kuroba

Học sinh mới
Thành viên
1 Tháng một 2020
36
12
6
17
Bình Dương
THCS Lê Quý Đôn
Mình nói rồi mà, phải chèn thư viện Graph vào mới được.
Làm như thế này nhé: Copy file graph.tpu trong thư mục unit và file EGAVGA.BGI trong thư mục BGI vào thư mục Bin
rồi chạy Pascal lên là dùng được thư viện Graph.:p
mà chèn làm sao vậy anh
 

trà nguyễn hữu nghĩa

Cựu Mod Vật Lí |Cây bút Thơ|Thần tượng VH
Thành viên
14 Tháng năm 2017
3,974
7,619
744
21
Phú Yên
Trường THPT Lương Văn Chánh
mà chèn làm sao vậy anh
hướng dẫn tận tình luôn nè
upload_2020-1-3_19-1-27.png
tìm cho ra cái thư mục DosBox này nhá

rồi vào tìm đến cái UNITS
upload_2020-1-3_19-2-17.png

Copy cái file Graph.tpu
upload_2020-1-3_19-2-56.png

Rồi vào thư mục BIN dán nó ra
upload_2020-1-3_19-3-50.png

Rồi lại làm tương tự với cái File EGAVGA.BGI này (Copy rồi dán)
upload_2020-1-3_19-4-31.png
Rồi em lại dán code vào và chơi thôi
 
  • Like
Reactions: Bella Dodo

kaito kuroba

Học sinh mới
Thành viên
1 Tháng một 2020
36
12
6
17
Bình Dương
THCS Lê Quý Đôn
hướng dẫn tận tình luôn nè
View attachment 141447
tìm cho ra cái thư mục DosBox này nhá

rồi vào tìm đến cái UNITS
View attachment 141448

Copy cái file Graph.tpu
View attachment 141450

Rồi vào thư mục BIN dán nó ra
View attachment 141451

Rồi lại làm tương tự với cái File EGAVGA.BGI này (Copy rồi dán)
View attachment 141452
Rồi em lại dán code vào và chơi thôi
dán code vào đâu anh
 
Top Bottom