Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ayuda con stringgrid y memo (https://www.clubdelphi.com/foros/showthread.php?t=13327)

rober 14-08-2004 02:41:32

ayuda con stringgrid y memo
 
hola, necesito saber como le hago para mandar todos los datos o valores q de un stringrid a un memo. mas o menos yo tengo algo asi pero no me sale.

memo1.Lines.Add(stringgrid1.????????

gracias y saludos

Tino 14-08-2004 05:22:35

La sig. rútina quizás te sirva:

Código Delphi [-]
uses StrUtils;
procedure StringGrid_2_Strings(StringGrid: TStringGrid; Strings: TStrings; Delimeter: String);
var
   i, j: Integer;
   linea: String;
begin
   for i:= 0 to Pred(StringGrid.RowCount) do begin
       linea := '';
       for j:= 0 to StringGrid.ColCount-2 do
           linea := linea + StringGrid.Cells[i,j] + Delimeter;
       linea := linea + StringGrid.Cells[i,StringGrid.ColCount-1];
       Strings.Add( linea )
   end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   Memo1.Clear;
   StringGrid_2_Strings(StringGrid1, Memo1.Lines, '_');
end;


La sig. solución es más compacta:

Código Delphi [-]
procedure StringGrid_2_Strings(StringGrid: TStringGrid; Strings: TStrings; Delimeter: String);
var i, line: Integer;
begin
   for i:= 0 to Pred(StringGrid.RowCount) do begin
       line := Strings.Add(AnsiReplaceStr(StringGrid.Rows[i].Text, #13#10, Delimeter));
       Strings[line] := Copy(Strings[line], 0, Length(Strings[line])-Length(Delimeter)); // ult. delim.
   end;
end;

;)

Saludos.

rober 14-08-2004 19:32:49

datos stringrid a un campo memo.
 
ok gracias tino, pero no me sale como yo necesito mira te voy a poner un ejemplo.
tengo una tabla que se llama menu que contien los siguientes datos.
(dbgrid)
Menu
Producto---Precio
papas 3.00
jugo 5.00
refresco 4.00

ahora el cliente va a elegir lo que desea llevar. y esto se va allamar cuenta que se va a almacenar en un stringgrid. ya logre pasar los datos del dbgrid a el stringrid.

en el stringrid (cuenta) supongamos que tengo:

Producto---Cantidad---Precio
papas 2 3.00
jugo 1 5.00
refresco 1 4.00

bueno ahora estos datos los quiero pasar a un memo o a un list box para despues insertarlos en una tabla.

a lo mejor diras que porque no mejor lo paso directo de un dbgrid a otro y es porque estoy manejando dos tablas las cuales son: menu y consumos.
en menu tengo los campos de arriba y en consumos tengo:
mesa, nombre, hora de entrada, duracion,.... consumo, etc.

en donde el consumo es un campo memo y se va a registrar el stringgrid (cuenta).

roman 14-08-2004 20:08:38

¿Pero por qué quieres guardar el consumo en un campo memo?

Desde el punto de vista del modelo relacional tienes dos entidades, productos y consumos y una relación n-n entre ambas: un producto aparece en varios consumos y cada consumo consta de varios productos. Entonces lo que requieres es una tercera tabla, productos_consumos con dos campos, la llave de la tabla productos y la llave de la tabla consumos. Posiblemente también el precio ya que éste puede variar posteriormente. A partir de estas tablas puedes reconstruir el consumo de un cliente para, por ejemplo, imprimir una factura.

// Saludos


La franja horaria es GMT +2. Ahora son las 21:03:09.

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