tbs0051.pp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. program TestPutP;
  2. {$ifdef go32v2}
  3. {$define has_colors_equal}
  4. {$endif go32v2}
  5. uses crt,graph;
  6. {$ifndef has_colors_equal}
  7. function ColorsEqual(c1, c2 : longint) : boolean;
  8. begin
  9. ColorsEqual:=((GetMaxColor=$FF) and ((c1 and $FF)=(c2 and $FF))) or
  10. ((GetMaxColor=$7FFF) and ((c1 and $F8F8F8)=(c2 and $F8F8F8))) or
  11. ((GetMaxColor=$FFFF) and ((c1 and $F8FCF8)=(c2 and $F8FCF8))) or
  12. ((GetMaxColor>$10000) and ((c1 and $FFFFFF)=(c2 and $FFFFFF)));
  13. end;
  14. {$endif not has_colors_equal}
  15. var gd,gm,gError,yi,i : integer;
  16. col: longint;
  17. error : word;
  18. BEGIN
  19. if paramcount=0 then
  20. gm:=$111 {640x480/64K HiColor}
  21. else
  22. begin
  23. val(paramstr(1),gm,error);
  24. if error<>0 then
  25. gm:=$111;
  26. end;
  27. gd:=$FF;
  28. InitGraph(gd,gm,'');
  29. gError := graphResult;
  30. IF gError <> grOk
  31. THEN begin
  32. writeln ('graphDriver=',gd,' graphMode=',gm,
  33. #13#10'Graphics error: ',gError);
  34. halt(1);
  35. end;
  36. for i := 0 to 255
  37. do begin
  38. col := i shl 16 + (i div 2) shl 8 + (i div 3);
  39. for yi := 0 to 20 do
  40. PutPixel (i,yi,col);
  41. SetColor (col);
  42. Line (i,22,i,42);
  43. end;
  44. for i:=0 to 255 do
  45. if not ColorsEqual(getpixel(i,15),getpixel(i,30)) then
  46. Halt(1);
  47. {readkey;}delay(1000);
  48. closegraph;
  49. END.