Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-03-2007
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
Pasar de Turbo Pascal 7 a DELPHI7

Hola buenos días.
Me encuentro con muchas dudas para realizar esta operación, y me dispongo a enumerar de la forma más clara que sé explicarme:
-Tengo una aplicación en Turbo Pascal 7, sencilla con sus USES,LABEL,TYPE,VAR, a continuación PROCEDURES, y empezamos con el Principal, Begin....end.
-El programa hace unos cálculos y los graba en un archivo de texto.(PRIMER BOTON).
-El programa carga datos, compara un archivo de texto si son validos estos datos, y genera un archivo nuevo.(SEGUNDO BOTON)
QUIERO: Hacer el mismo programa, con dos botones, y en cada botón es un trozo de programa independiente que tiene que utilizar variables globales a todo el programa, aparte de las locales.
Sé que cada cosa es un módulo,........pero no quiero entrar en grandes complicaciones, declarar UNIT etc,.........vamos a puro güevo.

PREGUNTAS:
-¿Donde coloco las VARIABLES GLOBALES PARA TODA LA APLICACIÓN, así como otras estructuras, vamos las que defino yo, no Delphi?
-En los dos botones(o paneles, u otra cosa que me sirva...), que coloco dos subprogramas, necesito declarar variables locales de todo tipo(label,arrays,var)
-¿Puedo definir dentro de los botones procedimientos, funciones,.............?
¿donde lo coloco?

Creo que no se me escapa nada. He leido tanto sobre DELPHI, que tengo un lío impresionante.
CON LA SIMPLE COLOCACIÓN, ME HACEIS UN FAVOR IMPRESIONANTE.

Muchas gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 12-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
-¿Donde coloco las VARIABLES GLOBALES PARA TODA LA APLICACIÓN, así como otras estructuras, vamos las que defino yo, no Delphi?
En la "interface" de cualquier unidad del proyecto. Incluso en el mismo archivo de proyecto ("*.dpr"). En cualquier lugar, podría decirse, al que tengas acceso desde cualquier punto del proyecto. Si añades las variables en la parte "interface" de una determinada unidad y a su vez añades esta unidad en otra, en esta segunda estarán disponibles las variables declaradas en la primera.

Cita:
En los dos botones(o paneles, u otra cosa que me sirva...), que coloco dos subprogramas, necesito declarar variables locales de todo tipo(label,arrays,var)
Ningún problema... tal como yo lo veo. Puedes colocar casi cualquier cosa capaz de capturar los eventos del ratón. Si no quieres complicarte usa formularios y botones de la VCL. Es decir, inicia un nuevo proyecto en Delphi (Aplicación para Win32, no del tipo "consola") y en el formulario que te aparece sitúas dos botones. En los propios eventos "OnClick" de dichos botones puedes declarar variables y en definitiva hacer lo que necesites hacer.

Cita:
-¿Puedo definir dentro de los botones procedimientos, funciones,.............? ¿donde lo coloco?
Esa pregunta es un tanto ambigua. Puedes estar queriendo decir, ¿puedo ampliar la clase "TButton" para añadir nuevos procedimientos y funciones (o sea métodos) en la misma? La respuesta obviamente es que sí. Pero también puedes querer decir, ¿puedo incluir procedimientos y funciones dentro del evento "OnClick" de un botón (que es a su vez un procedimiento)? Y la respuesta es que sí también, puesto que puedes añadir funciones y procedimientos "anidados". Tal que así:

Código Delphi [-]
procedure Saludo();

  procedure HolaMundo();
  begin
    ShowMessage('¡Hola mundo!');
  end;

begin
  HolaMundo();
end;

Aunque en este caso no habría mucha diferencia entre codificar de este modo:

Código Delphi [-]

procedure HolaMundo();
begin
  ShowMessage('¡Hola mundo!');
end;

procedure Saludo();
begin
  HolaMundo();
end;

Dependerá de lo que te traigas entre manos pero creo que podría decirse que no es lo común encontrarse procedimientos y funciones anidadas en otros procedimientos y funciones.

No sé si he resuelto alguna de tus dudas o qué.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 12-03-2007 a las 13:54:27.
Responder Con Cita
  #3  
Antiguo 12-03-2007
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
Código Delphi [-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
 
 
implementation
 
{$R *.dfm}
 
 
end.

Este código corresponde al Form1, que supongo que es el principal.
Entiendo que despues de implementation
y antes de {$R *.dfm} puedo definir todo??

y entre.....
{$R *.dfm}.......
........codigo...........
........codigo...........
........codigo...........

y................end.;
puedo poner el código ejecutable no expuesto a ningún boton, panel, etc.................

Saludos y gracias por contestar tan rápido.

Última edición por dec fecha: 12-03-2007 a las 15:18:10.
Responder Con Cita
  #4  
Antiguo 12-03-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Hombre... todo, todo, no. Según y depende. Por ejemplo si quieres declarar variables globales (como decías arriba) es menester hacerlo en la parte "interface" y no en la "implementation". Yo creo que sería mejor si nos centramos en el código que tratas de añadir... no sé...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 12-03-2007
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
Supongamos este código Turbo Pascal7:



Código Delphi [-]
 

Program Demo;
 
USES
crt,dos,turbo3;
LABEL 
etiqueta;
TYPE 
matriz=array[1..12,1..24]of integer;
VAR 
mat:matriz;
a,b:integer;
cantidad:real;
fic:text;
 
{$I C:\PROGAMAS\UTILIDADES\CALCULADORA.PAS}
 
PROCEDURE CALCULO(VAR A:INTEGER,c,d);
 
type dado=array[1..23,1..12]of char;
var tran:dado;
h,j,i:string[6];
    begin
a:=c*d;
end;
 
BEGIN{...........principal}
CLRSCR;
 
CALCULADORA;
CALCULO;
 
{aquí podriámos por ejemplo meter código puro y duro}
 
for a:=1 to 345 do write('*');
repeat until keypressed;
 
END.
 
{yo hago cosas para salir del paso}
¿cómo colocaría yo todo esto en Delphi, sin entrar en grandes algoritmos?
TODO LO GLOBAL en el Form1 por ejemplo??
Donde iría colocado???.....sin grandes cosas raras y excepciones que creo que las habrá.

Lo que corresponde a Form1 es esto:
Código Delphi [-]
 
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
end.

..................y supongo que después lo que coloque en un botón para ejecutar, irá colocado de forma similar, porque el código del botón será otra Unit, indepediente, pero en mi caso debe trabajar con esas variables globales de las que te he hablado.

tu lo de propiedades y eventos, no te preocupes, eso lo sé bastante bien, quiero decir que lo entiendo, y ya he practicado creando menús, submenús,........y creo que hasta métodos, etc,.....
En su conjunto entiendo Delphi y como funciona en general. Lo malo es que yo no tengo el nivel, para sacarle todo el rendimiento. Yo hago chapucillas que me sacan de muchos atascos y me alivian en mi trabajo cotidiano, aunque no sea el mejor código.

Con que me ayudes en esto, que creo que es de lo más importante, me haces un gran favor.

Gracias, Dec.
Responder Con Cita
  #6  
Antiguo 12-03-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Aparte de lo añade Dec... sería recomendable que te fijes en la página 58, 60, 62 y siguientes de La Cara Oculta de Delphi 4. Alli se describe bien tus dudas. Te recomiendo que la leas, te va a servir de mucha ayuda para iniciarte; no te asustes por lo de Delphi 4... porque mucho no ha cambiado.

En cuanto a un procedimiento, función, o evento la forma de hacerlo es igual e intuitiva que pascal:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
// Button1Click hace referencia al evento de un click sobre el botón 1
const MI_CONSTANTE = 1; //constantes... si son necesarias
var i,j: integer;                //variables... si son necesarias
begin                             // comienzo del cuerpo del evento/procedimiento/función
  i := 0;
  j := (i + 60) div 2;
  ShowMessage(IntToStr(j)); //ShowMessage muestra una ventana con el resultado
// IntToStr transforma un entero en string. ShowMessage recibe como parametro strings
end;

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 14-03-2007
BEPAI BEPAI is offline
Miembro
 
Registrado: feb 2007
Posts: 19
Poder: 0
BEPAI Va por buen camino
gracias a todos, voy a intentarlo.
saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Usar la libreria crt.dcu de Turbo Pascal 7 en delphi 2205 nunez1984 API de Windows 10 08-03-2010 04:36:34
From turbo pascal to delphi6 Roberto Sánchez Varios 10 12-09-2006 03:22:44
Unidad Crt de Turbo Pascal en Delphi para consola linuxfresh Varios 0 08-09-2006 18:06:55
compatibilidad entre Turbo Pascal 7 y Delphi 7 !! Jat Varios 0 13-12-2004 23:24:34
Problemas RBuilder al pasar de delphi5 a delphi7 neon Impresión 0 26-08-2004 14:38:35


La franja horaria es GMT +2. Ahora son las 17:44:32.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi