Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Armar Edit a partir de otros Edit (https://www.clubdelphi.com/foros/showthread.php?t=85403)

giulichajari 13-03-2014 12:39:19

Armar Edit a partir de otros Edit
 
Bueno antes que nada quiero plantearles mi situacion: estoy extendiendo un sistema en DOS, donde todos los articulo se administran con un solo campo de detalle, y deseo migrar todos los articulo a una bd del sistema nuevo.
El caso es que quiero desarrollar un formulario en delphi, que para ingresar un nuevo articulo, pida varios datos, con lista desplegable, y el detalle se arme solo abajo para ser insertado.

Por ejemplo:
En el edit Nombre, teclea t y aparece tornillo, taladro, etc...
En el edit caracteristica: sin lista, lo que se desee,
en el edit medida: tambien un numero, y una unidad de medicion,
en la marca, tambien que aparezcan todas las marcas,
y por ultimo el precio, ya que el id se genera solo en la base de datos,

Ademas la marca y el nombre tendria un boton de agregar en caso de que no figuren, las que se buscan.

Lo unico que quiero saber es como armar el edit de detalle, entonces la tabla articulos tendria:id, detalle y precio.
Gracias.giuli

ecfisa 13-03-2014 16:18:17

Hola giulichajari.

Al tratarse de una aplicación para DOS me surgen unas dudas:
  • ¿ Como está gestionada la tabla de artículos, mediante algún RDBMS o a través de un archivo de acceso directo ?
  • Y si es mediante un RDBMS, ¿ Cuál es ?

Saludos :)

giulichajari 13-03-2014 16:38:19

Gracias
 
Cita:

Empezado por ecfisa (Mensaje 473697)
Hola giulichajari.

Al tratarse de una aplicación para DOS me surgen unas dudas:
  • ¿ Como está gestionada la tabla de artículos, mediante algún RDBMS o a través de un archivo de acceso directo ?
  • Y si es mediante un RDBMS, ¿ Cuál es ?

Saludos :)

Cuando no mi amigo ecfisa ajja.
Trabaja con tablas planas, yo digo DOS, por que se ve la pantalla negra con las letras, y el mouse no se puede usar, sino me equivoco esta hecho en Visual FoxPRo un lenguaje viejo, entiendes?
El programador que lo hizo me va a dar la estructura de datos, y me dijo que tengo que elaborar un script para pasar los datos de esas tablas planas o archivos a mi bd.
Gracias :)

ecfisa 13-03-2014 17:22:34

Hola giulichajarí.
Cita:

Empezado por giulichajari (Mensaje 473702)
Cuando no mi amigo ecfisa ajja.
Trabaja con tablas planas, yo digo DOS, por que se ve la pantalla negra con las letras, y el mouse no se puede usar, sino me equivoco esta hecho en Visual FoxPRo un lenguaje viejo, entiendes?

Si lo recuerdo :).
Una vez pasado los datos a tu bd y con los componentes que uses, lo que deseas hacer sobre los edits es una búsqueda incremental, te pongo este enlace donde se trata el tema: Componente Buscar y Mostrar mientras escribres, pero buscando en los foros por "incremental" vas a encontrar muchos mas.

Si se te plantea algún problema específico al tratar de implementarlo, comentanos que componentes estas usando y el código que aplicas y lo vemos.

Saludos :)

giulichajari 13-03-2014 20:02:23

Gracias de veulta
 
Cita:

Empezado por ecfisa (Mensaje 473706)
Hola giulichajarí.


Si lo recuerdo :).
Una vez pasado los datos a tu bd y con los componentes que uses, lo que deseas hacer sobre los edits es una búsqueda incremental, te pongo este enlace donde se trata el tema: Componente Buscar y Mostrar mientras escribres, pero buscando en los foros por "incremental" vas a encontrar muchos mas.

Si se te plantea algún problema específico al tratar de implementarlo, comentanos que componentes estas usando y el código que aplicas y lo vemos.

Saludos :)

Bueno ecfisa, lo que pasa es que lo que quiero hacer es, ademas de tener un menu desplegable en cada campo, armar la descripcion, porque como el campo descripcion contiene todo(nombre, medida marca, etc) menos el precio, pense que si en el formulario de "agregar articulo" (ya que siempre hay), cada persona escribe de cero el nuevo articulo, se pueden presentar formatos diferentes. Entonces ademas de tener listas desplegables, en el nombre, la marca y el detalle, que la descripcion que se va a insertar en la tabla articulos, se arme a partir de esos campos, con un solo formato, entiendes? Esto facilitaria la busqueda ademas, ya que se buscaria una descripcion en un orden especifico.

Pero pensando ahora, aunque la descripcion sea una sola, deberia tener las marcas en una tabla, los nombres en otra etc, y no estoy seguro de que si el sistema tiene un orden en las descripciones, pero migual debo separar las marcas y eso.

Es sencillo, escribo a partir de listas desplegables en algunos edits, pero todo queda en un solo campo de la tabla, y en el formulario en un Edit.

ecfisa 13-03-2014 21:15:11

Hola giulichajarí.

Creo haberte entendido, tal vez te resulte mas simple usar TDBLookupComboBox en lugar de TEdit, por ejemplo:
Código Delphi [-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
  // Tabla donde se guardará el campo compuesto CARACTERISTICA
  DataSet.Open;

  // Configurar consultas
  with QryNombre do
  begin
    Close;
    SQL.Text:= 'SELECT ID, NOMBRE FROM TU_TABLA ORDER BY NOMBRE';
    Open;
  end;
  with QryMarca do
  begin
    Close;
    SQL.Text:= 'SELECT ID, MARCA FROM TU_??_TABLA ORDER BY MARCA';
    Open;
  end;

  // Configurar DataSources
  dsNombre.DataSet:= QryNombre;
  dsMarca.DataSet:= QryMarca;

  // Configurar DBLookupComboBoxes
  with DBLCBoxNombre do
  begin
    ListSource:= dsNombre;
    ListField := 'NOMBRE';
    KeyField:= 'ID';
  end;
  with DBLCBoxMarca do
  begin
    ListSource:= dsMarca;
    ListField := 'MARCA';
    KeyField:= 'ID';
  end;
end;

procedure TForm1.btnGuardarClick(Sender: TObject);
begin
  // Guardar la composición en el campo "Caracteristica"
  with DataSet do
  begin
    Edit; // (Insert o Append)
    FieldByName('CARACTERISTICA').AsString:= Format('%s %s %s %s',
      [DBLCBoxNombre.KeyValue, EditCaracteristica.Text,
      EditMedida.Text, DBLCBoxMarca.KeyValue]);
    //...
    Post;
  end;
end;
En líneas generales selecciona NOMBRE y MARCA desde la/las tablas definidas en las consultas y concatena estos valores con los de los edits Caracteristica y Medida, guardando este resultado en el campo "CARACTERISTICA" de la tabla X.

Saludos :)


La franja horaria es GMT +2. Ahora son las 08:51:18.

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