Duda de diseño e implementación

18/10/2004 - 11:58 por Anticristo | Informe spam
Resulta que vengo de Delphi y su Object Pascal y ahora me encuentro
aprendiendo C# y quisiera que me explicarais cuál sería la analogía entre el
diseño típico en Delphi de los formularios de navegación y edición de datos
y los de C#.

El caso, yo tengo dos forms base para todas mis aplicaciones que manejan
datos de una forma u otra, tengo:

TfrmEdicionDatos=class
dsDatos: TDatasource;
..
procedure EditarDatos;
procedure AltaDatos;
end;

TfrmNavegador=class

dsDatos: TDatasource;
FAltaEdicionDatos: TfrmEdicionDatos;
procedure AltaDatos;
procedure EdicionDatos;
procedure BorrarDatos;
end;

procedure TfrmNavegador.AltaDatos;
begin
If not Assigned(FAltaEdicionDatos) then Exit;
// Si no se ha asignado el TfrmEdicion no se hace nada...
FAltaEdicionDatos.dsDatos:=Self.dsDatos;
FAltaEdicionDatos.EditarDatos;
// Y el solito se encarga de editar los datos del dsDatos.Dataset que le
haya puesto al TfrmNavegador
end;

...

Bueno, pues la idea está ahí, yo sólo he de poner una tabla o una query en
cada formulario hijo del navegador para poder navegar sus datos y editarlo
visualmente con el TfrmEdicion. El caso es que no sé como hacer esto en C#
pues no encuentro ninguna clase equivalente a lo que sería el TDataSource y
al TDataSet de Delphi.
Luego ya, aunque esto es para nota, la duda me viene de como implementar o
declarar las variables de clase de Object Pascal en C#, pues
FAltaEdicionDatos en Delphi lo declaro como del tipo TAltaEdicionDatos, que
en definitiva es TAltaEdicionDatos=class of TfrmEdicionDatos. En fin, que me
estoy haciendo un lio y os agradezco un montón a todos cualquier ayuda ;-)


Saludos

Preguntas similare

Leer las respuestas

#1 Rodrigo Corral [MVP]
19/10/2004 - 11:59 | Informe spam
Los equivalentes serian los componentes OleDbConnection y DataSet de
ADO.NET. Puedes arrastralos a tus formularios, puesto que son componentes.


Un saludo
Rodrigo Corral González [MVP]

FAQ de microsoft.public.es.vc++
http://rcorral.mvps.org
Respuesta Responder a este mensaje
#2 Octavio Hernandez
22/10/2004 - 22:33 | Informe spam
Hola,

Con C# podrías montarte un esquema bastante similar:

public class FrmEditor: Form
{
// ...
}

public class FrmNavegador: Form
{
protected FrmEditor editor;
// ...
}

Y luego las subclases específicas:

public class FrmEditorPaises: FrmEditor
{
}

public class FrmNavegadorPaises: FrmNavegador
{
public FrmNavegadorPaises()
{
editor = new FrmEditorPaises();
}

}

Como dice Rodrigo, habría que utilizar un objeto DataSet en el navegador, y
pasarlo de alguna manera al editor correspondiente al realizar las altas o
modificaciones.

Slds,

Octavio


"Anticristo" escribió en el mensaje
news:
Resulta que vengo de Delphi y su Object Pascal y ahora me encuentro
aprendiendo C# y quisiera que me explicarais cuál sería la analogía entre


el
diseño típico en Delphi de los formularios de navegación y edición de


datos
y los de C#.

El caso, yo tengo dos forms base para todas mis aplicaciones que manejan
datos de una forma u otra, tengo:

TfrmEdicionDatos=class
dsDatos: TDatasource;
..
procedure EditarDatos;
procedure AltaDatos;
end;

TfrmNavegador=class

dsDatos: TDatasource;
FAltaEdicionDatos: TfrmEdicionDatos;
procedure AltaDatos;
procedure EdicionDatos;
procedure BorrarDatos;
end;

procedure TfrmNavegador.AltaDatos;
begin
If not Assigned(FAltaEdicionDatos) then Exit;
// Si no se ha asignado el TfrmEdicion no se hace nada...
FAltaEdicionDatos.dsDatos:=Self.dsDatos;
FAltaEdicionDatos.EditarDatos;
// Y el solito se encarga de editar los datos del dsDatos.Dataset que le
haya puesto al TfrmNavegador
end;

...

Bueno, pues la idea está ahí, yo sólo he de poner una tabla o una query en
cada formulario hijo del navegador para poder navegar sus datos y editarlo
visualmente con el TfrmEdicion. El caso es que no sé como hacer esto en C#
pues no encuentro ninguna clase equivalente a lo que sería el TDataSource


y
al TDataSet de Delphi.
Luego ya, aunque esto es para nota, la duda me viene de como implementar o
declarar las variables de clase de Object Pascal en C#, pues
FAltaEdicionDatos en Delphi lo declaro como del tipo TAltaEdicionDatos,


que
en definitiva es TAltaEdicionDatos=class of TfrmEdicionDatos. En fin, que


me
estoy haciendo un lio y os agradezco un montón a todos cualquier ayuda ;-)


Saludos


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida