Ir al contenido


Foto

Consulta: Lo básico, detalles de la Unit


  • Por favor identifícate para responder
10 respuestas en este tema

#1 Daheel

Daheel

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 15 febrero 2011 - 09:32

Soy un, casi, absoluto novato. Acabo de migrar de Delphi y me ha dado un error al tratar de usar un Button para mostrar un Form con:

Form2.Show;

El problema era que en los Uses no estaba mencionada la Unit2.

Soy un total ignorante del programación y carente de profesor. ¿Sería posible que me explicaran los detalles del texto que aparece por defecto en la Unit y cómo debería tratarlo?



delphi
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs;
  9.  
  10. type
  11.   TForm1 = class(TForm)
  12.   private
  13.     { private declarations }
  14.   public
  15.     { public declarations }
  16.   end;
  17.  
  18. var
  19.   Form1: TForm1;
  20.  
  21. implementation
  22.  
  23. initialization
  24.   {$I unit1.lrs}
  25.  
  26. end.   



//Gracias por su atención y su ayuda.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 febrero 2011 - 09:45

Hola Daheel, bienvenido a Delphiaccess

Para comenzar puedes descargar el libro La Cara Oculta de Delphi 6.

Salud OS
  • 0

#3 Daheel

Daheel

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 15 febrero 2011 - 11:14

Hola y gracias por la bienvenida egostar.

También te agradezco que me enlaces con material didáctico pero, a no ser que el autor tenga complejo de japonés y haya empezado por el final, yo no puedo seguir debidamente su lectura.

He tenido que tirar de wikipedia para comprender conceptos que ignoraba el sentido que tienen en la informática (clases, encapsular, herencia, implementar, polimorfismo, zócalo, puntero) y, además, aún sin acabar la segunda página del primer capítulo me encuentro con este código como ejemplo:




delphi
  1. type
  2.   TStrings = class(TPersistent)
  3. public
  4.       function Add(const S: string): Integer;
  5. procedure Delete(Index: Integer);
  6. function IndexOf(const S: string): Integer;
  7. property Strings[Index: Integer]: string; default;
  8.   end;


Ni puta idea de lo que me dice. Y lo que cuenta del código parece que se lo comente un alumno a su profesor en un examen en lugar de un profesor a su alumno en clase para que aprenda.

Aún así, gracias...


  • 0

#4 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 15 febrero 2011 - 11:15

Hola  Daheel, la de Egostar es una muy buena recomendación, de todas maneras tu problema, pasa, por grabar las unit, y luegos pones el nombre de la form que quieres llamar, como ya haces compilas, te da un error, vuelves a compilar y solucionado, te ha agregado la unit. De todas maneras la manera de hacerlo a mano es, después de implementacion
con la siguiente frase. (imaginemos que tu unit se llame  UBase)




delphi
  1. uses UBase;



Si necesitaras llamar  alas unit UBase y la unit UContac, sería



delphi
  1. uses UBase, UContac;


  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 15 febrero 2011 - 11:23

Hola
El codigo es de Lazarus, no de delphi.
Son muy similares, pero no iguales, tienen sus diferencias.
La pregunta del millon:
Con que quieres programar: con delphi o Lazarus ??.
Saludos
  • 0

#6 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 febrero 2011 - 11:23

Hola y gracias por la bienvenida egostar.

También te agradezco que me enlaces con material didáctico pero, a no ser que el autor tenga complejo de japonés y haya empezado por el final, yo no puedo seguir debidamente su lectura.

He tenido que tirar de wikipedia para comprender conceptos que ignoraba el sentido que tienen en la informática (clases, encapsular, herencia, implementar, polimorfismo, zócalo, puntero) y, además, aún sin acabar la segunda página del primer capítulo me encuentro con este código como ejemplo:


type
  TStrings = class(TPersistent)
public
      function Add(const S: string): Integer;
procedure Delete(Index: Integer);
function IndexOf(const S: string): Integer;
property Strings[Index: Integer]: string; default;
  end;

Ni puta idea de lo que me dice. Y lo que cuenta del código parece que se lo comente un alumno a su profesor en un examen en lugar de un profesor a su alumno en clase para que aprenda.

Aún así, gracias...



Entiendo, mi error fué pensar que al decir migrar a Delphi ya tenias algunos conceptos de programación, no hay problema, mis sinceras disculpas si el enlace que he proporcionado te ha provocado algún problema.

Y bueno, ya nuestro amigo Andrés Desart te ha comentado algo sobre como "implementar" una forma adicional a la forma principal.

Salud OS

[off-topic]
Creo que debo salir a caminar, ya mis ojos no ven bien jejejeje
[/off-topic]
  • 0

#7 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 febrero 2011 - 11:43

Hola Daheel,
Por lo que veo te faltan conocimientos más sólidos de lo que es y hace al paradigma Orientado a Objetos (OO). Para ello yo sugiero la lectura del libro La Cara Oculta de Delphi 4, que se puede descargar libremente desde nuestra Zona de Desacarga. En el capítulo 6 presenta los conceptos de una manera sencilla y fácil de comprender.
No te sabría decir si en la edición de la Cara Oculta D6 vuelve a exponer la "teoría OO" ya que no le he dado una leída a esa edición.

Lo más adecuado sería que abordaras al tema OO sin apegarte al lenguaje. Esto ayuda mucho a abstraer la cabeza (que es fundamental en la programación) ya que de otro modo uno asume que la OO es algo particular y en específico al lenguaje. Si aprendes el concepto OO lo podrás luego llevar a cualquier lenguaje OO. Un libro que puedo recomendarte es "Introducción a Programación Orientada a Objetos" de Timothy Budd.

Por otra parte tu problema también pasa por una falta de comprensión de como se programa en Delphi y su sintaxis. Yo te sugiero que leas el apartado de Gramática y Sintaxis de la propia ayuda de Delphi, a pesar de estar en inglés.
En la Cara Oculta de Delphi 4 también va introduciendo parte de la sintaxis y sobre el manejo de Delphi; y casualmente explica la forma en como está estructurada la unidad (creo recordar que el tema está entre las páginas 200 a 213, fíjate).

Ahora si tu problema es de una correcta bases de programación, quizá lo más adecuado sería retroceder un poco y fortalecer los cimientos: trabaja con Pascal, el precursor de Object Pascal y lo que se terminó convirtiendo en Delphi. El libro sobre Turbo Pascal de Luis Joyanes Aguillar expone desde lo más básico y escencial de la programación hasta cosas más avanzadas y te va presentando la gramática y sintaxis de Pascal (y la que hereda Object Pascal). Luis explica las cosas de una forma muy clara.

No temas adentrarte en la programación desde el paradigma estructurado con Pascal; yo diría que sería lo más lógico y adecuado para quien realmente desea meterse en programación. Luego, una vez fortalecido esta base, ya se puede dar el salto a Delphi y notarás que muchas cosas te serán más fácilmente asimiladas.

Si hay algo que no me agrada demasiado de la formación de los estudiantes de ahora es la insistencia en quemar etapas... Presentarles POO cuando el cerebro ni siquiera es capaz de entender un pensamiento estructurado ni lo que es un IF lleva a más confusión y termina entiendo mal y menos que antes.

Saludos,
  • 0

#8 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 15 febrero 2011 - 05:04

No te sabría decir si en la edición de la Cara Oculta D6 vuelve a exponer la "teoría OO" ya que no le he dado una leída a esa edición.


Como lo recomienda Delphius el libro apropiado para iniciar con Delphi es "La cara oculta de Dedlphi 4", pues la versión para Delphi 6 trata casi en su totalidad  sobre programación con bases de datos  en todos sus sabores más un capítulo muy completo sobre Interfaces.

Saludos
  • 0

#9 Daheel

Daheel

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 16 febrero 2011 - 09:31

Gracias Desart

Yo ya me di cuenta de lo que era necesario hacer, pero porque lo compare con otro proyecto hecho en Delphi y me puse a comparar palabra por palabra. Vi donde estaba la diferencia y lo corregí, pero sin entender absolutamente nada y eso no me mola. Lo que yo quiero es aprender, no hacer cosas a ciegas.

Gracias Caral

Pues en cuanto he descubierto que existía Lazarus renegué de Delphi pero por la razón, posiblemente ridícula, de que Lazarus era open source y Delphi no. ¿Tú tienes algún comentario o recomendación que hacer?

Gracias egostar

Dije lo de migrar para advertir que era posible que mi problema se debía a las diferencias entre Delphi y Lazarus.

No me ha provocado ningún problema en absoluto. Me ha hecho aprender cosas nuevas (las cuales me voy apuntando para posteriores repasos) y me has ofrecido una buena lectura para el futuro :) Te vuelvo a agradecer tu primer comentario ^^

Gracias Delphius

Estoy dando un cursillo de programación Delphi del Servef (la administración que se ocupa del desempleo en España) y esto es una mierda. No me cuesta en absoluto seguir el curso, es más, en alguna ocasión le he resuelto problemas al profesor, pero es que esto es un copiar y pegar. No asimilo una mierda, sólo copio y pego y si algo se sale de lo esperado toca llamar al profesor porque no tengo ni puta idea de que hacer. Yo paso de hacer las cosas así, yo prefiero aprender y luego hacer programas, no hacer programas a ciegas con la técnica del copia-pega.

Gracias por tus recomendaciones, las seguiré ^^

Gracias Wilson

Pues nada, a leerse la Cara oculta de Delphi 4 :)


  • 0

#10 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 16 febrero 2011 - 10:39

Ha, utilizas Lázarus.

Bueno, Lázarus es distinto a Delphi; aunque tampoco supone demasiado problemas ya que la teoría OO, la gramática y sintaxis es totalmente idéntica (necesariamente debe serlo, ambos utilizan la sintaxis heredada de Object Pascal).

Con Lázarus puedes trabajar y compilar para Pascal (también conocido como Pure Pascal) como así también para Object Pascal. Es más creo que cuando uno crea un "proyecto" puede indicar con cual desea trabajar.
Incluso entre las opciones de configuración supuestamente hay una para compilar y tener compatibilidad hacia Delphi.

No debería suponer demasiado problemas leer La Cara Oculta y llevar esos conceptos hacia Lázarus.

Como he dicho: después de todo... la gramática es la misma y cuanto mucho variará en unas cuantas cositas pero eso son detalles menores que pueden subsanarse de una lectura a la ayuda.

No temas ir preguntando tus dudas, que aquí hay gente que te va a ayudar.

Saludos,
  • 0

#11 FGarcia

FGarcia

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 687 mensajes
  • LocationMéxico

Escrito 16 febrero 2011 - 06:57

Hola!
Siempre he dicho que la recomendación de La cara oculta de Delphi 4 es bastante avanzada para un aprendiz (cometes una infracción al copyright de Caral si usas Novato )  :D  :D  :D
En este enlace en ingles encontraras en la sección de "Other languages" una traducción al español de "Pascal esencial para Delphi" en archivo zip.
No hay que olvidar que el lenguaje base de Delphi es Pascal (evoluciono despues a Object Pascal) La extinta Borland en la versión 7 de Delphi intento que el lenguaje fuese llamado Delphi pero sin éxito.
Por otro lado en la misma pagina del enlace hay un libro en zip llamado "Esential Delphi" desafortunadamente no existe traduccion del ingles.
Por la red existe un material (5 archivos) originales de Francisco Charte donde se ve a detalle la unit de delphi. si encuentro el enlace te los posteo. con formateos y demas dudo que lo tenga en mi HD.
Saludos
  • 0




IP.Board spam blocked by CleanTalk.