Ir al contenido


Foto

MDI, SDI o VCL


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

#1 GlauK

GlauK

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 14 marzo 2011 - 10:10

Bueno este es mi primer post, asi que no seais muy duros.

Bueno mi problema seguro ke para muchos de vosotros sera muy facil de resolver, pero para mi es un buen problema.

Tengo que hacer un programa de Gestion para una empresa, y al final me he decidido para programar con delphi. Me he instalado la ultima version Delphi Xe.

Ahora es donde tengo el problema grande. Mi idea es que el programa sea un ejecutable programa.exe que este ataque a una base de datos, y luego parar gestionar los clientes que se ejecute clientes.exe pero que use la base de datos del programa.exe. Asi no se haria el programa muy grande y se podria desenvolupar por modulos.

Vale una vez echa un poco la presentacion la pregunta es: Se puede hacer esto que pido?( Me direis que si que en la informatica se puede hacer todo, pero algun ejemplo o manual o explicacion gracias... ) Y es necessario utilizar algunos de los formatos SDI, MDI o VCL en concreto para hacer lo que quiero?


Muchas Gracias por avanzado.


  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 14 marzo 2011 - 12:23

Saludos.

Antes que nada, bienvenido al foro.

Una pequeña aclaración:
- SDI : Single Document Interface
- MDI : Multiple Document Interface
- VCL : Visual Component Library

La VCL, es la suite de componentes de Delphi; las demás son modalidades de presentación de los formularios.

Cuando hablas de un programa.exe y un cliente.exe, ¿A que te refieres?  ¿Entiendes lo que es la modalidad Cliente/Servidor?

Creo que si nos brinda más detalle será más fácil de ayudarte.
  • 0

#3 GlauK

GlauK

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 14 marzo 2011 - 01:51

Muchas Gracias,

Intento reexplicar.

Cuando hablas de un programa.exe y un cliente.exe, ¿A que te refieres?  ¿Entiendes lo que es la modalidad Cliente/Servidor?


Realmente lo que quiero es una base de datos SQL y atacarla desde los clientes.

No queria decir un programa.exe en el servidor y un cliente.exe en los clientes. La idea es que el cliente mismo ejecute un exe (programa.exe) y si quiere ver los articulos pues se ejecute un articulos.exe, y si quieres ver los clientes un cliente.exe, pero que todos los ejecutables ( Serian como modulos ) Se puedan vincular entre si y que la conexion a la base de datos pase siempre por el primer ejecutable el programa.exe.

Vamos la primera prueba que hice fue crear un proyecto y generar 2 VCL forms para intentar vincular el uno con el otro con un bsgroup. Pero no lo supe hacer.

No se si ha quedado mas claro.

Muchas Gracias

  • 0

#4 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 14 marzo 2011 - 02:16

COn la facilidad que nos brinda delphi de que cada formulario va en un modulo distinto la verdad es que no le veo ninguna ventaja a esto que pretendes, pero si es lo que necesitas debes es crear un nuevo grupo de proyectos y alli agregar los proyectos que representarian las ventanas, en verdad sigo viendolo engorroso desde todo punto de vista.
  • 0

#5 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 14 marzo 2011 - 02:46

Saludos.

Como bien dice eduarcol, Delphi nos brinda  muchas facilidades.

Hasta donde percibo, me parece que te la estas complicando demasiado.  Todo eso puede ir en un mismo ejecutable con las validaciones necesarias; donde cada formulario tendría su propia opción dentro del menú.

Si quieres ir un poco más lejos, entonces te recomiendo documentarte acerca de las BPL.
  • 0

#6 GlauK

GlauK

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 14 marzo 2011 - 05:28

Seguro que me estoy complicando pq entre otras cosas nunca lo he hehco asi que todo lo que he dicho es como creo que se deberia hacer.

La idea de tener 2 o mas exe lo digo para poder hacer un Alt+Tabulador para poder cambiar entre articulos, clientes, presupuestos, etc... una vez este abierto.
Por ahora hasta donde se yo de programacion ( Se que estoy limitado... ) hago distintos forms y si les hago el showmodal() del form no se puede hacer nada hasta que lo cierras, i el show simple pues en teoria si pero no puedes pasar de uno a otro con el Alt+Tabulador o almenos que queden las aplicaciones en la barra de windows para que las puedas maximizar i minimizar.

Si a lo mejor me estoy complicando mucho, pero como no se mas os estoy molestando :wink:

Muchas Gracias
  • 0

#7 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 14 marzo 2011 - 06:49

Saludos.

@Glauk, creo que debes de enfocarte y re-analizar lo que quieres lograr.

Con tus pantallas MDI perfectamente puedes lograr que tus formularios estén abiertos todos en un tiempo y en una sola aplicación.  Ahora bien si necesitas tener varias aplicaciones para manejar distintas "funcionalidades" aún así puedes tener formularios MDI.

Al utilizar ShowModal estarías usando la modalidad SDI, en cambio Show es MDI.  Te recomiendo documentarte sobre MDI en Delphi.
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.301 mensajes
  • LocationArgentina

Escrito 14 marzo 2011 - 06:56

Hola,
Glauk yo te sugiero que leas el libro La Cara Oculta de D4. Es un material de referencia que te ayudará a comprender bien el manejo de Delphi, y también que te dieras una visita por los foros Manuales y Tutoriales. Allí hay más material que puede serte de mucha ayuda.

Ya sabes, si tienes dudas aquí estaremos.

Saludos,
  • 0

#9 GlauK

GlauK

    Newbie

  • Miembros
  • Pip
  • 6 mensajes

Escrito 14 marzo 2011 - 07:36

Pues solo puedo decir que muchas Gracias a todos me voy a repasr los manuales y a buscar informacion de las MDI.

Muchas Gracias!!

PD: Seguire molestando
  • 0

#10 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 15 marzo 2011 - 03:59

Hola GlauK, creo que lo que buscas con esa estructura que comentas lo puedes conseguir de forma mucho mas sencilla con una estructura "clasica" dentro del Delphi y otros lenguajes.

La idea es tener 1 DataModule en tu aplicacion, que es como un form pero no-visible, donde colocas tu conexion con la base de datos, que es generica para todos tus modulos (hace el papel de tu aplicacion.exe), luego, cada modulo es un nuevo Form dentro de ese unico proyecto, que o bien se crea y se abre al inciarse la aplicacion (autocreate forms, lo tienes en proyect, options, pero si luego el usuario lo cierra te quedas sin ese modulo en pantalla y tendrias que evitarlo en el evento OnClose del form) o bien lo creas tu a mano al elegir tu usuario una opcion de un menu o algo asi (mas flexible, peor necesitas una ventana menu en algun momento).

Cada una de esas pantallas tienen sus componenetes que conectan con su tabla de datos, pero esos componentes usan la base de daots generica del DataModule.

Esa es la estuctura "general" de un programa con bases de datos cliente/servidor (o locales, la verdad es que no cambiaria nada) en Delphi y otros lenguajes similares.

Espero que vayas orientandote con los consejos que te enviamos...
  • 0

#11 ELKurgan

ELKurgan

    Advanced Member

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

Escrito 17 marzo 2011 - 12:38

Hola,
Glauk yo te sugiero que leas el libro La Cara Oculta de D4. Es un material de referencia que te ayudará a comprender bien el manejo de Delphi, y también que te dieras una visita por los foros Manuales y Tutoriales. Allí hay más material que puede serte de mucha ayuda.


No hay que olvidar que el maestro Marteens ha liberado también "La cara oculta de Delphi 6" que, de inmediato, se ha convertido en mi nuevo libro de cabecera. Se puede descargar desde http://www.commanet.net/

Saludos
  • 0




IP.Board spam blocked by CleanTalk.