Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Insertar palabras desde un memo (https://www.clubdelphi.com/foros/showthread.php?t=53745)

judit25 28-02-2008 16:25:05

Insertar palabras desde un memo
 
Buenos dias a tod@s

Mi inquietud es la siguiente.

Tengo un formulario con un memo, en el cual el usuario puede copiar y pegar en el cualquier texto. Mi pregunta es como puedo hacer para cuando el usuario pegue el texto insertar en una tabla cada palabra que haya en el memo en una fila diferente. Las palabras pueden estar separadas por espacio o por enter.

La tabla consta de 2 campos:
campo1 - donde se almacena cada palabra que se encuentre en el memo
campo2 - siempre va a tener valor 0 (cero).

Estoy trabajando con Delphi 7, Access 2003 y BDE.

Existe alguna forma de lograr esto?

Gracias anticipadas.

Saludos

Caral 28-02-2008 19:49:37

Hola
No entiendo
Saludos

judit25 28-02-2008 21:18:24

Cita:

Empezado por Caral (Mensaje 269472)
Hola
No entiendo
Saludos

OK, deja ver si me explico mejor.

Tengo un formulario en el cual he agregado un Memo, para que el usuario pegue en el memo varios codigos, los cuales los obtiene de otro lado, los copia y los pega en el memo. Entonces cuando el usuario le de a un boton, quiero que cada codigo que esta en el memo se grabe en una tabla, un codigo por registro. Estos codigos en el memo pueden estar separados o por un espacio o por un enter.

Ej.

12345 6789
3456
67894
yfhe90

Entonces que en la tabla se grabe:
Campo1 Campo2
12345
6789
3456
67894
yfhe90

En el campo2 siempre va 0

Espero haberme explicado mejor.

Saludos

pborges36 28-02-2008 21:44:29

Hola, podrias utilizar la funcion function Pos(Substr: string; S: string): Integer; te devuelve la posicion de una cadena dentro de otra, para tu caso el espacio dentro del memo. De esta forma sabes donde empieza y termina cada palabra.
Saludos

egostar 28-02-2008 22:28:27

Hola alguna vez hice eso mismo que solicitas, solo que no a base de datos, así que puedes modificarlo para que uses base de datos

Código Delphi [-]
procedure TForm1.Memo1Change(Sender: TObject);
var
  i,Indx : integer;
begin
  Indx  := 0;
  for i := 1 to length(Memo1.Text) do begin
      case Memo1.Text[i] of
         ' ',#10,#13 : begin
             StringGrid1.Cells[1,Indx] := '0';
             Indx := Indx + 1;
         end
         else begin
                StringGrid1.Cells[0,Indx] := StringGrid1.Cells[0,Indx]+Memo1.Text[i];
         end;
      end;
  end;
  StringGrid1.Cells[1,Indx] := '0';
end;

Salud OS

judit25 29-02-2008 01:43:56

Muchas gracias por sus respuestas y ayuda, deja probar las soluciones a ver como me van.

Gracias nuevamente.

egostar 29-02-2008 01:49:07

Cita:

Empezado por judit25 (Mensaje 269572)
Muchas gracias por sus respuestas y ayuda, deja probar las soluciones a ver como me van.

Gracias nuevamente.

Pues mira que caprichosa es la vida, dale un vistazo a este hilo, hay algo que te va ayudar muchisimo. :)

Salud OS

judit25 01-03-2008 15:31:07

Muchas gracias por sus sugerencias.
Me funciono, modifique la rutina que me diste egostar y funciono.
Gracias


La franja horaria es GMT +2. Ahora son las 22:55:04.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi