亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? dibujo3.htm

?? manual de delphi!!!!!!!!!!!!!!!!
?? HTM
字號:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
<title>Un programa de Dibujo III</title>
</head>

<body bgcolor="#FFFFFF">

<p align="right">13 de Diciembre de 1999</p>

<p align="center"><strong><big><big><big>Un programa de Dibujo III</big></big></big></strong></p>

<p>&nbsp;&nbsp;&nbsp; Vamos a construir un pequeqo programa de dibujo con todo lo
aprendido,&nbsp; y alguna cosa mas. Lo primero es saber como hacer formas basicas, hasta
ahora solo pintabamos, pero vamos a hacer lineas cuadrados y circulos (o elipsis, que
viene a ser lo mismo a la hora de dibujarlas). Para ello contamos con tres mitodos que se
pueden aplicar sobre el Canvas:</p>

<p align="center"><strong>Mitodos aplicables al Canvas</strong></p>
<div align="center"><center>

<table border="1" width="587" height="154">
  <tr>
    <td width="150" height="52" align="center" bgcolor="#C0C0C0"><strong>Mitodo</strong></td>
    <td width="425" height="52" align="center" bgcolor="#C0C0C0"><strong>Descripcisn</strong></td>
  </tr>
  <tr>
    <td width="150" height="27" align="center">LineTo (X,Y)</td>
    <td width="425" height="27">Traza una lmnea desde el punto actual donde se haya el lapiz
    al punto indicado por las coordenas X,Y</td>
  </tr>
  <tr>
    <td width="150" height="29" align="center" bgcolor="#C0C0C0">Rectangle(Origen.X,Origen.Y,Punto.X,Punto.Y);</td>
    <td width="425" height="29" bgcolor="#C0C0C0">Dibuja un cuadrado usando las primeras
    coordenadas como esquina izquierda superior, y la zltimas como esquina derecha inferior</td>
  </tr>
  <tr>
    <td width="150" height="25" align="center">Ellipse (Origen.X,Origen.Y,Punto.X,Punto.Y);</td>
    <td width="425" height="25">Dibuja una elipse (o circulo) usando la lmnea formado por el
    par de coordenadas, como diametro.</td>
  </tr>
</table>
</center></div>

<p>Lo siguiente a tener en cuenta es que el usuario debe poder elegir que quiere hacer, un
cuadrado, una lmnea, etc. Para ello he dispuesto un menz, en el cual elige la forma.
Tambien he dispuesto otro menz con el cual se puede cambiar las propiedades del lapiz
(ver capmtulo anterior). </p>

<p align="center"><strong>&nbsp;&nbsp; Menz Formas</strong></p>
<div align="center"><center>

<table border="1" width="281" height="138">
  <tr>
    <td width="127" height="33" align="center" bgcolor="#C0C0C0"><strong>Nombre</strong></td>
    <td width="142" height="33" align="center" bgcolor="#C0C0C0"><strong>Descripcisn</strong></td>
  </tr>
  <tr>
    <td width="127" height="29" align="center">Pincel</td>

    <td width="142" height="29" align="left">Pinta continuo</td>
  </tr>
  <tr>
    <td width="127" height="33" align="center" bgcolor="#C0C0C0">Lmneas</td>
    <td width="142" height="33" align="left" bgcolor="#C0C0C0">Pinta una lmnea</td>
  </tr>
  <tr>
    <td width="127" height="33" align="center">Cuadrados</td>
    <td width="142" height="33" align="left">Pinta un cuadrado</td>
  </tr>
  <tr>
    <td width="127" height="33" align="center" bgcolor="#C0C0C0">Circulos</td>
    <td width="142" height="33" align="left" bgcolor="#C0C0C0">Pinta un circulo</td>
  </tr>
</table>
</center></div>

<p align="left">Cada vez que el usuario selecciona un forma a dibujar debemos registrarlo
en algun sitio. Para ello estan las variables, se puede asignar un valor a una variable
segzn la seleccion del usuario, que la podemos llamar herramienta. Podriamos asignar el
valor uno, al pincel, el dos Lineas, etc. Por ejemplo si selecciona el pincel:</p>

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Herramienta := 1;</p>

<p align="left">Todo esto esta bien teoricamente, pero a la hora de seguir y entender un
programa se puede complicar, y de hecho es sera dificil de entender. Se puede mejor el
sistema si en lugar de colocar un valor numirico colocamos una constante (declarada
anteriormente), algo asi:</p>

<p align="left">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Herramienta := Pincel;</p>

<p align="left">Este sistema tiene buena pinta, pero nos obliga a tener que declarar las
constantes, y ademas tiene la pega que cualquier constante o valor nzmerico puede ser
asignado, lo cual puede generar un error lsgico (el programa no hace lo que esperamos), y
sera dificil de rastrear. Por ellos el lenguaje Pascal, y por extensisn el Delphi, pone
a nuestra disposicisn un tipo de variables, que son tipos definidos. Estas aburrido de
usarlos, por ejemplo,&nbsp; muchas propiedades de los componentes de Delphi, solo admiten
una serie de valores, y no otros. Podemos usar este tipo de variables, y definir que
valores seran permitidos a nuestro antojo. </p>

<p align="left">Lo primero es definir la variable, para ello esta la palabra reservada
Type. Antes de la declaracisn del formulario coloca esto:</p>

<p align="left"><em><strong>Type</strong><br>
THerramientas = (hrPincel,hrLinea,hrCirculo,hrCuadrado);</em></p>

<p align="left">Con esto hemos creado un nuevo tipo de variable que solo podra contener
los valores que hemos indicado. Pero solo hemos creado el tipo de variable, ahora en la
seccisn private (tambiin se puede poner en la seccisn public, ver capmtulos
anteriores) colocamos la declaracisn de la variable:</p>

<p align="left"><strong>private</strong><br>
<font color="#0000FF"><em>{ Private declarations }</em></font><br>
Herramienta : THerramientas; <font color="#0000FF">//Almacena la herramienta en uso</font><br>
</p>

<p align="left">Ahora en cada vez que el usuario seleccione un herramienta cargamos el
valor que nos interese. Esto son los eventos de dos d menus.</p>

<pre><b>procedure </b>TForm1.Pincel1Click(Sender: TObject);
<b>begin
</b>Pincel1.Checked := True;
Herramienta := hrPincel;
<b>end</b>;
<b>procedure </b>TForm1.Circulos1Click(Sender: TObject);
<b>begin
</b>Circulos1.Checked := True;
Herramienta := hrCirculo;
<b>end</b>;.</pre>

<p>Pues este es el secreto de este programa. El otro menz seleccion el tipo de lapiz
(Pen) y le asigna el color, aqui os pongo el csdigo fuente, aunque tambien lo podeis
descargar en la seccisn de ficheros.<br>
<br>
<br>
</p>

<hr>

<pre><b>unit </b>uMain;

<b>interface

uses
</b>Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ExtCtrls;

<b>type
</b>THerramientas = (hrPincel,hrLinea,hrCirculo,hrCuadrado);


<b>type
</b>TForm1 = <b>class</b>(TForm)
MainMenu1: TMainMenu;
Image1: TImage;
Archivo1: TMenuItem;
Salir1: TMenuItem;
Formas1: TMenuItem;
Lineas1: TMenuItem;
Cuadrados1: TMenuItem;
Circulos1: TMenuItem;
Lapiz1: TMenuItem;
Color1: TMenuItem;
Estilo1: TMenuItem;
Ancho1: TMenuItem;
Fino1: TMenuItem;
Mediano1: TMenuItem;
Grueso1: TMenuItem;
Lineacontinua1: TMenuItem;
Lineadiscontinua1: TMenuItem;
Lineadepuintos1: TMenuItem;
Pincel1: TMenuItem;
ColorDialog1: TColorDialog;
<b>procedure </b>Lineas1Click(Sender: TObject);
<b>procedure </b>Cuadrados1Click(Sender: TObject);
<b>procedure </b>FormCreate(Sender: TObject);
<b>procedure </b>Pincel1Click(Sender: TObject);
<b>procedure </b>Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
<b>procedure </b>Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
<b>procedure </b>Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
<b>procedure </b>Circulos1Click(Sender: TObject);
<b>procedure </b>Color1Click(Sender: TObject);
<b>procedure </b>Lineacontinua1Click(Sender: TObject);
<b>procedure </b>Lineadiscontinua1Click(Sender: TObject);
<b>procedure </b>Lineadepuintos1Click(Sender: TObject);
<b>procedure </b>Fino1Click(Sender: TObject);
<b>procedure </b>Mediano1Click(Sender: TObject);
<b>procedure </b>Grueso1Click(Sender: TObject);
<b>procedure </b>Salir1Click(Sender: TObject);
<b>private
</b><font
COLOR="Navy"><i>{ Private declarations }
</i></font>Herramienta : THerramientas; <font
COLOR="Navy"><i>//Almacena la herramienta en uso
</i></font>Pintando : Boolean; <font
COLOR="Navy"><i>//Indica si estamos pintado o no
</i></font>Origen, <font COLOR="Navy"><i>//Punto donde se estabamos;
</i></font>Punto: TPoint; <font
COLOR="Navy"><i>//Puntos donde estamos

</i></font><b>Procedure </b>Linea (<b>Const </b>X,Y : Integer); <font
COLOR="Navy"><i>//Dibuja una linea
</i></font><b>Procedure </b>Cuadrado (<b>Const </b>X,Y : Integer);//Dibuja un el cuadrado;
<b>Procedure </b>Circulo (<b>Const </b>X,Y : Integer); <font
COLOR="Navy"><i>//Dibuja un circulo
</i></font><b>Procedure </b>Pincel (<b>Const </b>X,Y : Integer); <font
COLOR="Navy"><i>//Dibuja seguido
</i></font><b>public
</b><font COLOR="Navy"><i>{ Public declarations }
</i></font><b>end</b>;

<b>var
</b>Form1: TForm1;

<b>implementation

</b><font
COLOR="Navy"><i>{$R *.DFM}

</i></font><b>procedure </b>TForm1.Lineas1Click(Sender: TObject);
<b>begin
</b>Lineas1.Checked := True;
Herramienta := hrLinea
<b>end</b>;

<b>procedure </b>TForm1.Cuadrados1Click(Sender: TObject);
<b>begin
</b>Cuadrados1.checked := True;
Herramienta := hrCuadrado;
<b>end</b>;

<b>procedure </b>TForm1.FormCreate(Sender: TObject);
<b>begin

</b>Herramienta := hrPincel;
Pintando := False;

Image1.Canvas.Refresh;

<b>end</b>;

<b>procedure </b>TForm1.Pincel1Click(Sender: TObject);
<b>begin
</b>Pincel1.Checked := True;
Herramienta := hrPincel;
<b>end</b>;
<b>procedure </b>TForm1.Circulos1Click(Sender: TObject);
<b>begin
</b>Circulos1.Checked := True;
Herramienta := hrCirculo;
<b>end</b>;

<b>procedure </b>TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
<b>begin
If </b>Button = mbLeft <b>Then
Begin
</b>Pintando := True;
Image1.Canvas.MoveTo (X,Y);
Origen.X := X;
Origen.Y := Y;
<b>end</b>;
<b>end</b>;

<b>procedure </b>TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
<b>begin
If </b>Button = mbLeft <b>Then
Begin
</b>Pintando := False;
Image1.Canvas.MoveTo (X,Y);
<b>end</b>;
<b>end</b>;

<b>procedure </b>TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
<b>begin
If </b>Pintando <b>Then
Begin
Case </b>Herramienta <b>Of
</b>hrLinea:
Linea (X,Y);
hrCuadrado:
Cuadrado (X,Y);
hrCirculo:
Circulo (X,Y);
hrPincel:
Pincel (X,Y);

<b>end</b>; <font
COLOR="Navy"><i>//Final del Case
</i></font><b>end</b>; <font COLOR="Navy"><i>//Final del If
</i></font>Punto := Point (X,Y);
Image1.Canvas.Pen.Mode := pmCopy;
<b>end</b>;
<b>Procedure </b>TForm1.Cuadrado (<b>Const </b>X,Y :integer);
<b>Begin
With </b>Image1.Canvas <b>Do Begin
</b>Pen.Mode := pmNotXor;
MoveTo (Origen.X,Origen.Y);
Rectangle (Origen.X,Origen.Y,Punto.X,Punto.Y);
MoveTo (Origen.X,Origen.Y);
Rectangle (Origen.X,Origen.Y,X,Y);
<b>end</b>; <font
COLOR="Navy"><i>//Final del With Image1.Canvas
</i></font><b>end</b>;

<b>Procedure </b>TForm1.Linea (<b>Const </b>X,Y : Integer);
<b>Begin
With </b>Image1 <b>Do Begin
</b>Canvas.Pen.Mode := pmNotXor;

Canvas.MoveTo (Origen.X,Origen.Y);
Canvas.LineTo (Punto.X,Punto.Y);

Canvas.MoveTo (Origen.X,Origen.Y);
Canvas.LineTo (X,Y);
<b>end</b>;

<b>end</b>;
<b>Procedure </b>TForm1.Circulo (<b>Const </b>X,Y : Integer);
<b>Begin
With </b>Image1.Canvas <b>Do Begin
</b>Pen.Mode := pmNotXor;
MoveTo (Origen.X,Origen.Y);
Ellipse (Origen.X,Origen.Y,Punto.X,Punto.Y);
MoveTo (Origen.X,Origen.Y);
Ellipse (Origen.X,Origen.Y,X,Y);
<b>end</b>; <font
COLOR="Navy"><i>//Final del With Image1.Canvas
</i></font><b>end</b>;

<b>Procedure </b>TForm1.Pincel (<b>Const </b>X,Y : Integer);
<b>Begin
With </b>Image1.Canvas <b>Do Begin
</b>Pen.Mode := pmNotXor;
LineTo (X,Y);
<b>end</b>;
<b>end</b>;

<b>procedure </b>TForm1.Color1Click(Sender: TObject);
<b>begin
If </b>ColorDialog1.Execute <b>Then
</b>Image1.Canvas.Pen.Color := ColorDialog1.Color;
<b>end</b>;

<b>procedure </b>TForm1.Lineacontinua1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Style := psSolid;
LineaContinua1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Lineadiscontinua1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Style := psDash;
LineaDiscontinua1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Lineadepuintos1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Style := psDot;
Lineadepuintos1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Fino1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Width := 1;
Fino1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Mediano1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Width := 5;
Mediano1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Grueso1Click(Sender: TObject);
<b>begin
</b>Image1.Canvas.Pen.Width := 10;
Grueso1.Checked := True;
<b>end</b>;

<b>procedure </b>TForm1.Salir1Click(Sender: TObject);
<b>begin
</b>Close;
<b>end</b>;

<b>end</b>.</pre>

<hr>

<p><a href="dibujo2.htm" target="centro"><img SRC="atras.gif" BORDER="0" WIDTH="75"
HEIGHT="26"></a></p>

<p align="center"><a HREF="formu.htm" target="_self"><img SRC="correo.gif"
ALT="Correo Electrsnico" BORDER="0" WIDTH="50" HEIGHT="67"></a></p>
</body>
</html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久第一福利 | 国产欧美视频在线观看| 欧美久久久久久久久中文字幕| 99国产欧美另类久久久精品| 国产乱子轮精品视频| 老司机精品视频导航| 日本不卡的三区四区五区| 日本欧美一区二区在线观看| 日韩avvvv在线播放| 美女在线一区二区| 激情五月婷婷综合| 国产美女久久久久| 成人午夜激情在线| 91精品福利视频| 欧美四级电影网| 欧美一级在线免费| 国产欧美日韩在线观看| 日本一区二区三区电影| 亚洲天堂av一区| 亚洲va国产va欧美va观看| 蜜乳av一区二区| 成人av资源网站| 欧美男女性生活在线直播观看| 91精品国产综合久久蜜臀| 久久人人超碰精品| 亚洲啪啪综合av一区二区三区| 同产精品九九九| 国产一区二区电影| 欧美中文字幕亚洲一区二区va在线 | 国产69精品久久久久777| 色综合中文字幕国产 | 欧美性色黄大片| 日韩一级大片在线| 中文字幕一区二区三区四区 | 精品99一区二区| 综合欧美亚洲日本| 奇米亚洲午夜久久精品| 成人激情校园春色| 欧美韩国日本一区| 亚洲一区欧美一区| 国产精品一区二区三区四区| 91国偷自产一区二区三区成为亚洲经典| 欧美高清视频在线高清观看mv色露露十八| 久久综合中文字幕| 亚洲成在人线在线播放| 不卡在线视频中文字幕| 日韩精品中文字幕在线不卡尤物| 国产精品久久久久久久久免费樱桃 | 国产精品亚洲一区二区三区在线| 日本高清不卡视频| 久久婷婷色综合| 偷偷要91色婷婷| 综合欧美一区二区三区| 久久精品噜噜噜成人av农村| 色综合天天综合狠狠| 久久久久久一二三区| 天堂va蜜桃一区二区三区漫画版| av激情综合网| 久久久精品一品道一区| 日本不卡一区二区三区 | 51精品国自产在线| 亚洲综合成人网| 中文字幕成人在线观看| 九色porny丨国产精品| 欧美伊人精品成人久久综合97 | 色综合中文字幕国产| 久久综合狠狠综合久久综合88| 日韩电影在线看| 欧美色网一区二区| 亚洲最快最全在线视频| 99re这里只有精品视频首页| 国产欧美日韩精品一区| 国产一区二区三区四| www国产精品av| 国产在线精品一区二区| 久久夜色精品国产欧美乱极品| 日韩国产在线观看一区| 精品污污网站免费看| 亚洲成人中文在线| 欧美高清精品3d| 日本伊人色综合网| 日韩欧美一区在线| 国产一区在线看| 国产视频亚洲色图| 成人午夜免费电影| 亚洲欧美另类小说| 欧美主播一区二区三区| 日韩福利电影在线观看| 日韩欧美国产高清| 国产精品99久久久久久似苏梦涵| 久久久www成人免费无遮挡大片| 国产精品白丝jk黑袜喷水| 国产亚洲精久久久久久| 91在线看国产| 亚洲h在线观看| 精品日韩欧美一区二区| 国产成人综合在线播放| 中文字幕av资源一区| 一本色道久久加勒比精品| 亚洲成人激情av| 26uuuu精品一区二区| 成人免费视频播放| 一区二区免费在线播放| 欧美一级一区二区| 成人午夜电影久久影院| 一区二区在线电影| 日韩一区二区免费在线观看| 国产成人精品免费看| 亚洲高清久久久| 国产日韩欧美电影| 欧美亚洲一区二区在线观看| 久久国产尿小便嘘嘘| 亚洲欧美日韩国产一区二区三区| 日韩亚洲欧美在线| av在线一区二区| 奇米色777欧美一区二区| 中文字幕永久在线不卡| 欧美疯狂做受xxxx富婆| 成人国产精品免费观看动漫| 日韩高清不卡一区| 亚洲免费在线观看| 久久久国产午夜精品| 欧美日韩高清一区二区| 成人国产精品免费网站| 免费成人在线网站| 亚洲国产中文字幕在线视频综合 | 91丨porny丨国产入口| 免费日本视频一区| 一区二区三区四区激情| 国产精品日韩成人| 欧美成人bangbros| 69堂精品视频| 色久优优欧美色久优优| 国产精品911| 九九精品视频在线看| 亚瑟在线精品视频| 亚洲精品第1页| 国产精品乱码一区二区三区软件| 欧美电影免费观看高清完整版在线观看 | 国产日韩精品一区| 日韩一区二区三区免费看| 欧美视频一区二区三区四区| 9人人澡人人爽人人精品| 91麻豆精品国产自产在线 | 91精品国产综合久久久久久漫画| 91农村精品一区二区在线| 国产成人av网站| 国产很黄免费观看久久| 国产综合久久久久久鬼色 | 成人精品免费网站| 国产福利不卡视频| 国产aⅴ综合色| 国产成人精品aa毛片| 国产成人精品三级| 国产suv一区二区三区88区| 国产99久久久久久免费看农村| 国产另类ts人妖一区二区| 国产一区二区在线免费观看| 久久99这里只有精品| 极品尤物av久久免费看| 国产乱理伦片在线观看夜一区| 国产一区二区三区精品欧美日韩一区二区三区| 日本大胆欧美人术艺术动态| 蜜桃一区二区三区在线| 国产一区高清在线| av爱爱亚洲一区| 在线看一区二区| 宅男噜噜噜66一区二区66| 日韩美一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 久久久蜜桃精品| 中文字幕在线不卡一区| 亚洲二区在线视频| 麻豆精品视频在线观看| 粉嫩av一区二区三区在线播放| 国产suv精品一区二区三区| 91麻豆视频网站| 9191国产精品| 欧美高清在线一区| 亚洲在线视频一区| 狠狠色丁香久久婷婷综| 99国产精品国产精品毛片| 欧美日韩一区二区三区免费看| 欧美成人免费网站| 国产精品国产馆在线真实露脸| 亚洲在线成人精品| 国产自产2019最新不卡| 一本大道久久精品懂色aⅴ| 欧美一区二区啪啪| 国产精品久久久久久久久久免费看| 亚洲影院理伦片| 国产成人av一区二区| 欧美久久一二三四区| 欧美国产一区视频在线观看| 亚洲一区二区欧美| 成人黄色av电影| 欧美一区二区三区在线观看视频| 中文成人av在线| 激情深爱一区二区| 欧美色国产精品|