Begin a := b + c; Insertar(a); end; ! "# $ % & & ! ! # ! ( ) ) ' " + ,$ " - -$ # . " / / $ # (* Todo este trozo es un comentario *) begin {esto también es un comentario} a := b + c; // aquí se esta haciendo una suma Insertar(a); end; 0 ! ( 1 2 # *& # # . ' & ! ) ! !" 3 ! ! 4 5 5 5 5 . 1 ) & % 2 ! 2 # 1 " $ . 0 " 1 $ Const Const Const Const pi = 3.141592; B = 18; anio = 2001; tamano = 12; 0 ) ' ) 4 ' & 4 7 4 Var Nombrevariable1 : tipo; Nombrevariable2 : tipo; 5 " 0 4 $ ! 8 "9 $ : " :'01 $ 3) 1 B 2 2 2 ; < 7== >*7?@A *7?@? < @==*= 6 C 0 3 9 ( 2 7DE?F EA*@E? 2 2 2 9 3 1 >7DE?F EA*@EA < 7DE?F EA*@E? Var Edad : byte; Nombre : string; DNI : cardinal; Curso : byte; Puntuación : real; Varon : boolean; 3 9 1C :'01 5G '1C H5'3C I5 & ) ) # 8 J K 2 7 4 5 J 7EK JL ( G & F K ! ' J DM7K 9 J ?M7K ! 0 G M ! ( 1 ! J DM EK N / 9 O ( 2 ( 2 9 ( O ! J A> 7K J 7- D?K J DE/ *K ! J DE ! ! *K J DE *K % & 0 8 1 1 K K K ( " $ Var Fichapersona : record Nombre: string; Edad: byte; Telefono: longint; End; ( :) & * % :) :) :) 4 5 JL ( G J 77K & J ?==<D@EK O' 9C 31 % 5 & : 4 F K 0 4 5 6 P D DD 7D * ( Q & K 4 & R 4 4 4 ) ! P D D<Q & K P D D<< D 7<Q &S K P D D< D D< D D<Q && K G% 9'3C G5 1 3G5 3'( 5'1 0 ! N% M % 5 ' 5 JL ( JL G 3 9 & N% ( F K F K J M LLM K ! " $ K ( ! 2 JL T " @ D<$ K U F K ! D< 4 ! 3G58 91C I5 ( ! @ 4 C %G1 L F G % L *F ) J K R * # L *F 2 % & N & ! 2 S 2 9 ) 4 5 ) 2 4 K & K & DAV*EK J " & $ K 1 2 2 // JD C N% # 1 K K JL D7*F K J1 C "$ K C 1 2 // JD7* N & ! % K K J D7K JL D7F 1 9 3 LM C 9'1 ( ( 3C 1C I5 1 "$ K // JL 1 ! 1 & ! ) ! 7K ( $ % " 4 # !D $ ! ) & '()" 4 ! ( (" C & J ) J 7K ' $ ! $ JD 4 C & J ) J DK J 7K J *K J =K J *K J <K K 0 ! 4 C & J & ! ) J DK J 7K J *K K 4 4 W%9 1C G5 1 GG0 '5'1 % # # ! # ! D ! 7 # ! ! 0 ( ( X Y XJ YJ YX J ) *( + $ +$ ) 0 , ( X YE XJ * YJ ? YX < JE # ! ( +$ ) *( + $ +$ ) , ( " X $ " Y *$ " X $ " Y *$ " J $ ! # * !" ) Z ! ) [0 #$ " - " " 3 & 2 ) C &\ 1 . ! D< D D= 7 7< * * < ! & # % ) ) & 4 & ) ! & O ! 0 " " " $ $ $ $ # # # % ( & % ) 4 & & & 1 & ! ! . # ! " ! 2 ) ( ) # * /N 1 ! +(. ! & 2 1 # & " # ' % D< 4 ! & ( ! +(. $ ()& ) /N 1 ! 1 # # # ' ! 4 * ) * (* * *( 4 ! ! ! +(. ( (& $/N 1 ) +' ,# - ! ' # ! 4 * +' .* * * ( - * 4 ! & D< " # ! $% ! " # & $ * ( 0 ) ; ! ! % 1 & / 0 1 /0 ' /0 ' $ $ $ ' 2 ( 4 4 % *' (+(, )-( &/ 3 4 ( & 2 ! & ! & % 4 ! ' (% ) . & 3.3( 4 53 ( ) & 2 ! & 4 4 ! ) 6 7 0 6 7 0 6 ( 69 3 3 & ! 4 8 4 8 0 & ! & * & ! 2 4 0 ! ; 1 & & & ! & ! & & 2 2 : : 0 *0' / ; 0 < =0 0 ; >? 0 ; >; " A * < * @ & B 2 @ & : : 0 *0' / </ < =0 : & ! / . / >C %0 @ ! < =0 : / < =0 </ %0 ; ' >? 0 ;" A ; ' >1 # @ & B 2 @ " 0 Z] : : & 0 *0' / / ! [% 4 4 . D 6 4 / 0 ! (! Z3 4 [ & * & V 2 ! 41 4 ! : : 0 *0' / / D 4 . D 6 4 / ! " # () * # ! ' ! ! !1 " 0 ! ! & 4' " E </ " </ " </ " $ $ $ : &/ ' ' ' 0 ' ' 0 4 & ! 4' ' %0 ; < 4 D : 6F" ' % % (. > : 9 ;G2 @ 1 % : : $0 $ ' & 0 " 3 4 % 4 & 4' ' , :" %0 ; H / < 4 :/ &/ &/ 0 I/ O F" $ %0 > F" J < 4 ) %1 % ! & ) . 0 . 3 & ! G@ 1 & & & ) % * 3 1 4 & ) 1 % ! ' 3 ( ) ( & . 4 B *7 *7N 1 C 3 3 C ) ( ' ( 3 3 3 1 ; ( ' ( 3 ] 4 3 ( 3 & & 3 B *D 3 ! S *DD B 1 ' . 4 ' 3 ( W ' W 1 ) ; C G & & & 5 & . G0 4& & ! * * * " " 3 . & ! 0 0 . ) 0 ) O ^ O 0 0 4 2 ! 0 4 3 % & & O ) : ( T ) & ' 4 %# T ; ) ! % 2" 3 0& 4 ( ! # & ( # & 8 4 B ) ' ) # # # 4 0 O . # !2 0 4 ; 1 ! 0 ! &) O 4 )& O ( O % 2 *( + $ +$ ) % 2 ! 2 ! 0 % # # 1 & ) % 3 # O 3 . % # 2 ! 3) ^ # 3 8 & . 1 ! ! < ) 9 0 3 3 G # # 2 % ! 3 O 3 3 O 3 # 1 ! ( H 9 # H O % O % ! ! ! & % % & & ! H 4& 1 & ! ; 4& 1 ! 4 1 2 C C % 4 & 1 # # 4 # & # 1) " . ( & : * & !1 0 & ) ) % [ ! & Z3! ) 1 7 0 & & & 0 " & B & S & ! B 4 S ! * 0 " & ! 0 4 & ) & ! 4 2 1 & & & 4 2 1 ) & 4 4 # 4 % # 4 & 4 2 ( 4 4 5 " 3 & ; # # & 3 & & 5 / * & 6% ! ! * 4 0 & " 0 & C & 2" 3 ) 2" 37 & & ! ) ! & # O & 6G 2" 3 5 ! & *( + $ +$ ) ! & 2 ! G^ 3 ' 9 C R ! ! ! ! ! !R ! ! ! ! ! G^ 3 ' 9 C " 9 " C $ $ 5 ' !5 ! ! ! 34 9 ! 3 3 C 3 / T ; & & ! T 8 3 ! ! 4 9 ! ! : ; procedure TForm1.Button1Click(Sender: TObject); begin close; {Esta orden cierra el formulario} end; ! "0 " ! B S 4 & 4 2 & # ! ! % & & . ! @ 4 0 1 :< 1 ( ) 1 = 61 2 1 ! % ) 1 1 & " 3 & & & & 3 ^ 1 2/ > ! = & ! : ; # 0 & ! ! ' 0 4 # ( : > ) / % ! % ! 7 ! K ! & ) ! ' & ) ! . & 2 & % 4 . 4 ! ( ) & & & ) ' ) & ! ) ! 3 * * * 4 ? 2: ! 5S 7 = / # & & 2 & # = / ! 1 # & # (*************************************** Ejemplo de declaración de una unidad **************************************** *) Unit Mensajes; {El nombre del fichero, pero sin .PAS} Interface //Solo cabeceras de las funciones y proc. procedure Di (mensaje:String); function PreguntaNombre:String; Implementation //Implementación de las rutinas procedure Di(mensaje:String); Begin //Muestra en pantalla el mensaje que se pasa por parámetro Showmessage(mensaje); End; Function PreguntaNombre:String; Begin PreguntaNombre := Inputbox('Identificación', 'Teclee su nombre', '(Desconocido)'); End; end. 3 ! ? Program Ejemplo; Uses Mensajes, Calculos; Var a : Word; Begin Di (‘Hola’); a := logaritmo(10); End; " ($ O % ) ) ? " 5 1 2 ! / > @ # % . ! . ! @ 32 ! / > = # % ! % # O 3/ > 9( # ! & % / > / > . % 8 & & # 4 / > 2 ( 3 " ;/ > 68 & # # ! / > 6O 2 / > 68 & 4 ; ! / > 63 : . ) 6% C & ! & 1 % + 2 4 3 ^ 2 4 & 2. 4 & , % ! : ! @: 2. 2. 1 ,' ! 7 1 & 1 ! 2 & 3. & 4 . ^ ! 2. & 3 2 4 * ,' # ! 1 4 ! / > 2/ > ) ^ % ! @ . / > 2/ > O . 2 % ^ 2 3 ! ? 3 + ( ) 4 ^ 2. ! 4 / ! & ) * - "* 3 # ) ! ! ) & & ! . & ! . H & ) % & 9> ! 1 & ) 3 & 4 ( ) ! # ! ) 1 ! ! & ! 3 & : % ! 4 " 5 1 2 ) ( ! # ! * 4 / > 9 ( ) ) & 4 / > ! 2 ) ! 1 ) . & ) ) & 2 ( " ;8 & ! % * " 0 ! " * ! 2/ > : ! 4 = A ! @ % 9 % & ( : 2 1 & ' 7 " & 4 ! . C ! ( ) 5 3 % @ / ) @ 9 ' 2 W : ! # ! 0 4 B%? B % ! % ! ! ! ! (2 = ! 1 ! @ ( ) 2" 3 9( / / / ( : / @ # ! ) 1 2 . & ' 9 . ! 7 5 " 4 ; % # B ) 4 " ( ) 7 9 ( 9 ! & ) & ! 1 & ) 9> 1 & & 1 & ) &. % ( ) & ) ! * ( " - ) ! # 1 ; 4 &4 ) ()& ) 4 (+ $ +$ )6 4 0 7 C D % & . 9( 2 ; ) # # 1 ) ^ 4 . 0 ! ! 7 & ! % . . ! Procedure Form.Ejemplo; Begin Showmessage(‘Hola’) //aquí no hay punto y coma Showmessage(‘Hola otra vez’); // aquí da el error End; ' . (Error)Ejemplo.pas(40): Missing operator or semicolon in Form.Ejemplo # 6E ! F E ! F1 Procedure Form.Ejemplo; Var v:byte; Begin v := ‘h’; //v solo puede almacenar números, no caracteres Showmessage(‘Hola’); End; ' . (Error)Ejemplo.pas(50): Incompatible types: ‘Byte’ and ‘Char’ ? # ) % 6E (F ) ) Procedure Form.Ejemplo; Var MiNombre: string; Direccion:sting; //”string” mal escrito Begin MiNombe := ‘David Osornio Fernández’; //”MiNombre” mal escrito Telefono := ‘755-01-64’; End; ' //Variable no definida . (Error)Ejemplo.pas(40): Undeclared identifier: ‘sting’ (Error)Ejemplo.pas(42): Undeclared identifier: ‘MiNombe’ (Error)Ejemplo.pas(43): Undeclared identifier: ‘Telefono’ E G F( /@: 91?@9 & ! & Procedure Form.Ejemplo; Begin Showmessage(‘Hola’); End // aquí falta el unto y coma Procedure Form.Ejemplo2; // Begin Showmessage(‘Hola otra vez’); End; ' aquí da el error . (Error)Ejemplo.pas(45): ‘;’ expected but found PROCEDURE E G F( E &F & ) //estamos definiendo los métodos del objeto MiObjeto Procedure MiObjeto.Ejemplo2; // nombre de clase mal escrito Begin Showmessage(‘Hola’); End; ' . (Error)Ejemplo.pas(50): ‘;’ expected but ‘,’ found . 6E (F ) ) # G //tenemos Uses Crt, // // Procedure Begin ... las unidades unidad1 y unidad2 unidad1, uidad2, unidad3; Unidad2 mal escrita Unidad3 no existe MiObjeto.Ejemplo2; ' . (Error)Ejemplo.pas(10): File not found ‘uidad2’; (Error)Ejemplo.pas(10): File not found ‘unidad3’; 1 & " 7$ ' 4 ( 6E (F C 91 ) 89$ )& : ( ) ! # ! ; % ( . ) ) E BF & ! ) Procedure Form.Ejemplo; Var v : byte; // Definimos v, pero no la usamos Begin Showmessage(‘Hola’); End; ' . (Hint)Ejemplo.pas(40): Variable ‘v’ is declared but never used in Form.Ejemplo E BF & ! ) Procedure Form.Ejemplo; Var v : byte; Begin v := 1; //damos un valor pero no volvemos a usar v Showmessage(‘Hola’); End; ' . (Hint)Ejemplo.pas(40): Value assigned to ‘v’ never used in Form.Ejemplo / E (F & * & 1 - # ) & ) ! & * ) ) 0 &. & 1 ! 1 ) . ! ! . 4 ! ! . . " ; 9 % 5 ^ 9( " " " < 2@ * 0 ! 4 & ) # 3 9( @ # 3 # 4 ! ) . ' 4 ! H 1 4 < " ( ) ) % ! ! 4 & 6 # & ! & & ! &&&9( ! 0 Try Bloque “peligroso Except # 0 ! Bloque alternativo End; ( & 4 ! ! % < Try a := b/c; Except Showmessage(‘error al dividir’); End; ! 1 0 0 4& & R 0 ( ) * " 9 ) 4& # 4 # 2" 4 & / @ & 4 & ) ! _ %H _ % H O% C 3G B: BO: 4 % & 4 & 4 % & # 4 % 4( & & 2 4 # 0 % C 2 & / % 7 ] ) 1 ! 4 4 0 ) 4 ; ; ) 9 & ; & ! 2 0 2" ) & ) & )& ( 1 1 1 1 1 3 3. 9 9 9 9 3 9 1 9 11 4 0$ 4 ( & 3 =&$ + 4 4 3 ' . 2" & / 0 3 7 5 2 " ' ) $ )$ % $ + %1 %( ) %( % ( )( % ( )( %3 0 & & ( . . 1 / 4 " & ) & ) 4 3 2 " & & 0 $ )$ % $ + ( 3 3 ( 3 :( 1 T 8 9 1 9 9 9 3 9 9 " . . . . ! . . ! ) ) " 4& 4 2 ! & *( 7 2" & # : & : : : : : : 0 0 0& 0 9 )0 2 4 $ )$ % $ + *( " 4 $ 4 . . . . 6] & ) ) & ) 7 $ )$ % $ + 0S 0 & 0 9 & & & 0 0 3 & 4 ; ( & 0 ) 3 = ) $ ( ) ) *( + $ +$ ) & & : % % % # . % % %# % O 4 4& 4& 4& ( ' =& 4 3 0 ) 4 *( + $ +$ ) ( , ( " D<7<D<<D=<$ K 9 4 4 ' ( ' " D<7<D<<D=<D<7<7<<7<<$ K ! 9 4 4 & O ( & O " ==$ K ! 0 ( . 0 " D<<D<<$ K ! ) 9 ( 9 4 " D<D<A<=<$ K 4 & ) #G C # +& $ + *( #G " D<D<F T F $ K )7 4 1 1 4 & 4 "(% & 6IJH (6# 6JH 9($ '& 6IJH & & ) : / 4 4 & ! Procedure Tformulario.FormPaint(Sender:Tobject); Var x:word; Begin Imagen.canvas.pen.color := clBlue; {Color de borde azul} Imagen.canvas.ellipse(120,12,220,220); {elipse} Imagen.canvas.pen.color := clRed; {Color de borde rojo} Imagen.canvas.rectangle(200,150,280,300); {Rectángulo} Imagen.canvas.pen.color := clPurple; {Color de borde púrpura} Imagen.canvas.brush.color := clPurple; {Color de relleno púrpura} Imagen.canvas.brush.style := bsFDiagonal; {estilo de relleno líneas diagonales} Imagen.canvas.ellipse(300,100,600,150); {Elipse} Imagen.canvas.pen.width := 3; {Figura de borde ancho} Imagen.canvas.brush.color := clRed; {Color de relleno rojo} Imagen.canvas.brush.style := bsDiagCross; {diagonales cruzadas} Imagen.canvas.pen.color := clYellow; {Color de borde amarillo} Imagen.canvas.ellipse(10,200,150,300); {Elipse} Imagen.canvas.brush.style := bsSolid; {Relleno sólido} Imagen.canvas.pen.color := clGreen; {color de borde verde} Imagen.canvas.pen.width := 1; {Borde fino} For x:=1 to 100 do begin {línea que va de (x*10,10) a (300-x*10,80)} imagen.canvas.MoveTo (x*10,10); imagen.canvas.LineTo (300-x*10,80); end; Imagen.canvas.brush.color := clNone; {Sin color de relleno} imagen.canvas.Font.color := clBlack; {Color de texto negro} imagen.canvas.Font.size := 16; {Tamaño de texto 16} imagen.canvas.TextOut(100,300,’Hola esta es una demostración de Canvas’); End; ! & 2 & ! % 3 & 2 ) ! . Image1.canvas.ellipse(20,50,10,20) % . Canvas.ellipse(20,50,10,20) " 4 & . . & !$ && ) 4& ! & % &4 ! 0 $ ( 3 H O 0 1 *( + $ +$ ) ! # ) % H 4& 1 ! % ! 1 ! # & ( ! 4& # 4& # ! # ! ) ^' ^' ^3 ^3 ^T ^C ^5 ^G^ ^9 ^R ' 4 & * % * 3 20 & ; 4& 4 1 4 − − − − − 3 T 5 % B H ( ) & 9 JHH& 9 & 2 ) LHH& ) K & ) 1 4 & 4 4 − − − − − − − 1 4 3 3 0& 5 T B " .$ 5" & H / 1 H& ) M H& ) M H& >& 4 − − − − − 0& 5 T B 4 H& 1 H& ) M H& ) M H& ') 4 − − − − − − 4 4 ` 0& 5 T B 1 >& ! 4 ; & MJH& 4 2 M H& ) MH& ) H& 4 ! & & ! ! Procedure Teditor.BotonSalirClic(Sender: Tobject); Begin Close; End; 1 4 − − − − − − R 3 0& 5 T B ! 4 4 & MJH& 4 H& ) MH& ) H& & 1 4 ! . 4 4 − − − − − − 3 0& 5 T B 1 D & MJH& 4 NH& ) MH& ) H& 4 & ! 4 R 4 − − − − − − 1 3 0& 5 T B ; ) 4 = & ) ) ( & ) 4 4 ( )(4 MJH / ' ) 4 HH H H 0& 5 3 3 & 4 4 $ ( T B 9 & MJH& 4 9 MH& ) MH& ) H& & )(> MOH / @> ' ) @ HH H H ; ! 4 ! ! ! )(? )(@ MPH / ' ) A HH H H JH / ' ) 4 ; HH H H & & ! 4 Private ColorFigura:TColor; Figura:byte; XRaton, Yraton:word; O E & & ! 4 4 ) & )(A JIH / 4 ' ) 5" HH H H 7 7 4 4 Procedure Teditor.AreaDibujoMouseMove(Sender: Tobject; Shift: TShiftState; X, Y: Integer); Begin XRaton:=x; YRaton:=y; End; R & ! ! ! ) 4 & & 4 Procedure Teditor.BotonCuadradoClic(Sender: TObject); Begin Figura:=0; End; ! 3. 4 ! Procedure Teditor.BotonCirculoClic(Sender: TObject); Begin Figura:=1; End; R Procedure Teditor.BotonElipseClic(Sender: TObject); Begin Figura:=2; End; ' . & 4 = & Procedure TEditor.PanelAzulClic(Sender: Tobject); Begin ColorFigura:=clBlue; End; 0 4 ! B) 4 "9 $ ^ ( ! & 4 4 & 4 Procedure TEditor.AreaDibujoClic(Sender: TObject); Begin AreaDibujo.canvas.pen.color:=colorfigura; AreaDibujo.canvas.brush.color:=colorfigura; Case figura of 0: AreaDibujo.canvas.rectangle(xraton50,yraton-50, xraton+50, yraton+50); 1: AreaDibujo.canvas.ellipse(xraton-50, yraton-50, xraton+50, yraton+50); 2: AreaDibujo.canvas.ellipse(xraton-100, yraton-20, xraton+100, y raton+100); end; End; : & & 4 & Procedure TEditor.FormCreate(Sender: TObject); Begin Figura:=0 {Figura por defecto, cuadrado} Colorfigura :=clBlue; {color por defecto, azul} End; " " * 0 4 4& ) 1 4 ; " ( * ) * " 9 & ! & ! 0 ; & ; B *7 3 & ) / 7 4 '8C 3 S ; 1 & ) " ,/0%, . & # . ! '8C # 0 & . ' 4 4 ' ! 4 . & . 0 . & ) '8C 4 @ 3 2 2 ) 52 & ) . . 4 . . . 4 4 C C & . D & & 4 < . 4 & 1 ! 1 & 4 9 ! :'01 :'01 ! 5 B S # ) 4 ) ) ( 4 2 & ) '8C % ' # *( + $ +$ ) 3 3 ( : : : 9 : : : ) 8 8 ) ) 9 8 ) 3 : : ) : 8 ) 1 ! 4 4 D ! ! ! G 1 " ( * " ) ! 3(F & ) O(C # 4 & ) S 7 3 4 1 . & 3 O3C" 7 # % & O3C O O O3C ( ) ) 4 $3 ) &4 % & % & ( 1 B *( + $ +$ ) & 1 1 '8C 8 3(' OOO ( 8 8 ( 839 (' G 1 G) ' " B'8$ 1 O(C 8 & '8C 3( " 2 $ ' ! & OOO 8. ( 8. 3( 8 3 1 ! . ( 4 G ' 1 1 0 ! 4 & ! ! B'8 OC ( O ! 0 C ! V ) $ ( ' *( + $ +$ ) 3 ! ' & ) G 1 % % 9 4 ' 9S 1 9 4 3 % & ! ( ! & O ( % 2 % 4 & % : 5 5 8 % 4 ! ) 4 4 1 4 ! ! . ! G ! 1 O % & G 3 # : O % ) 4 9 0 ' 4 O . G % 3(F ! ! '8C & ' & & % & & : O : ) & )& ( &O &: & &1 &TO1 &O1: & O1: &1O% 7E &1O% 7= &1O% *< &1O% *<( 0 0 O 3 O O T O % 1O% 1O% 1O% 1O% & 7E 7= *< 7V & O1: &O1: &TO1 % & K 0 )+$ ) O3C 6TO16TG 9 B (& &TO1 # O3C 6TO16OC 5 &TO1 # O3C 6TO161 3G5( &TO1 # *(7 (7( ) &TO1 &TO1 &TO1 O3C 6O1:6OC 5 &O1: # &O1: O3C 6O1:61 3G5( &O1: # &O1: O3C 6O1:6:9'O &O1: # &O1: O3C 6 O1:6 9'3` & O1: # & O1: O3C 6 O1:6OC 5 & O1: # & O1: O3C 6 O1:61 3G5( & O1: # & O1: O3C 6 O1:6:9'O & O1: # & O1: & ) & # ! % & ! ) ; ; & & % = " 3 ! % / O ! % ! % ! . ! & 0 . ; % ) # ;/ ! < ! = ^% ' . P =Q ^% P <Q % ! ;= " ' . ^0 7 )P 7Q