Foros del Web » Programación para mayores de 30 ;) » Programación General »

Delphi --> DataSet con DBgrid ....

Estas en el tema de Delphi --> DataSet con DBgrid .... en el foro de Programación General en Foros del Web. como puedo enlazar estos dos objetos?...............
  #1 (permalink)  
Antiguo 23/05/2004, 20:00
 
Fecha de Ingreso: enero-2004
Ubicación: trujillo
Mensajes: 13
Antigüedad: 20 años, 9 meses
Puntos: 0
Delphi --> DataSet con DBgrid ....

como puedo enlazar estos dos objetos?............
  #2 (permalink)  
Antiguo 24/05/2004, 01:55
Avatar de juagarc4  
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 21 años, 1 mes
Puntos: 0
Holap

La forma de enlazar estos dos controles es mediante un DataSource.
El DataSource es, como su nombre lo indica, una representación del "origen de los datos". DataSource no requiere el BDE, pero es el componente que "mapea" los componentes visuales de base de datos con los no visuales. El hacer un componente intermedio es importante porque de este modo podemos tener varias representaciones de los mismos datos sin tener que "atar" la representación de los datos en pantalla a la representación "física" de los datos. Un DataSource se conecta a su vez a cualquier componente tipo Dataset, como TQuery, TTable, TClientDataset, ¡o el que usted haya creado! DataSource nos permite ser consistentes en la representación de nuestros datos en pantalla sin preocuparnos de donde vengan los mismos (Tablas, queries, o nuestros propios metodos).

En el que hay una propiedad que se llama DataSet, ahi eliges el nombre de tu DataSet (Tabla, Query,etc...).
Luego en el DBgrid hay una propiedad que se llama DataSource, y ahi es dónde eliges tu DataSource.

Salu2
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)
  #3 (permalink)  
Antiguo 24/05/2004, 11:12
 
Fecha de Ingreso: enero-2004
Ubicación: trujillo
Mensajes: 13
Antigüedad: 20 años, 9 meses
Puntos: 0
Ok, Gracias, aqui tengo otra --> RegEdit

En la Ayuda del Delphi, te dan un ejemplo de como trabajr con el REgEdit, especificamente recuperar el valor de un registro y este es el codigo:

//--------------------------------------------
uses Registry;
function GetRegistryValue: string;
var
Registry: TRegistry;
S: string;
begin
Registry:=TRegistry.Create;

Registry.RootKey:=HKEY_LOCAL_MACHINE;
//False because we do not want to create it if it doesn’t exist
Registry.OpenKey('MYKEY',False);
Result :=Registry.ReadString('VALUE1');

Registry.Free;
end;
//-------------------------------------------------

Claro tienes que cmabiar el valor de 'MIKEY', y el 'VALUE1', por tus datos, lo unico que conseguii era colgar mi maquina cuando lo corria ......
  #4 (permalink)  
Antiguo 25/05/2004, 09:12
Avatar de juagarc4  
Fecha de Ingreso: octubre-2003
Ubicación: En casa
Mensajes: 127
Antigüedad: 21 años, 1 mes
Puntos: 0
Holap
Creo que ya he visto el error:
Debes sustituir esta linea:
Código:
Result :=Registry.ReadString('VALUE1');
por esta otra:
Código:
GetRegistryValue :=Registry.ReadString('VALUE1');
Ahora tendrás el valor leido del registro en el retorno de la
función , es que el Return no funciona en Delphi, eso es de Visial Basic.
Para obtener el valor que devuelve una función hay que asignarselo así:
GetRegistryValue:=Registry.ReadString('VALOR1');
Ahora tu función quedaría de esta manera:
Código:
function TForm1.GetRegistryValue: string;
var
      Registry: TRegistry;
      S:String; //esta variable no se usa, se puede quitar.
begin
      Registry:=TRegistry.Create;
      Registry.RootKey:=HKEY_LOCAL_MACHINE;
//False because we do not want to create it if it doesn’t exist
      Registry.OpenKey('MYKEY',False);
      GetRegistryValue:=Registry.ReadString('VALOR1'); 
     Registry.Free;
end;
Ahora en el Form.Show por ejemplo, puedes poner un Label y llamar a la función:
label1.caption:=GetRegistryValue;
Además fíjate en la cabecera de la función:
function TForm1.GetRegistryValue: string;
la he incluido en la clausula
Código:
type
  TForm1 = class(TForm)
    Label1: TLabel;
    function GetRegistryValue: string;
    procedure FormShow(Sender: TObject);
Ahora debe de funcionarte correctamente.
Salu2
__________________
El que pregunta lo que no sabe, es ignorante durante 5 minutos, el que no lo pregunta lo es de por vida (Proverbio Chino)
La tonteria se pone siempre en primera fila, para ser vista. La inteligencia se pones siempre detrás para poder ver. (Alguien lo dijo, seguro)
  #5 (permalink)  
Antiguo 29/05/2004, 17:32
 
Fecha de Ingreso: enero-2004
Ubicación: trujillo
Mensajes: 13
Antigüedad: 20 años, 9 meses
Puntos: 0
Estaba vagando por internet y encontre el siguiente codigo, que funciona de la patada
pruebenlo, esta todo correcto.............




Código:
procedure TForm1.CmdFileProClick(Sender: TObject);
  str : string;
begin
  with TRegistry.Create do
    try
      RootKey := HKEY_LOCAL_MACHINE;
      //asiganado la KeyRoot

      //ahora abriendo la clave o key
      if OpenKey('\Software\Microsoft\Windows\CurrentVersion',
                 false) then begin
          str := ReadString('ProgramFilesDir');
	  ShowMessage(str);
          CloseKey;
      end;
    finally
      Free;
    end;
end;
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:23.