Pegar de Clipboard a StringGrid
var
Vtextbuf:string; Vnren:integer; columna:integer; begin if Clipboard.HasFormat(CF_TEXT) then begin Vtextbuf:= Clipboard.AsText; Vnren:=1; stringgrid1.RowCount:=2; columna:=strtoint(edit1.text); while (pos(#13,Vtextbuf)>0)and(length(Vtextbuf)>2) do begin stringgrid1.Cells[Columna,Vnren]:=copy(Vtextbuf,1,pos(#13,Vtextbuf)-1); delete(Vtextbuf,1,pos(#13#10,Vtextbuf)+1); if (length(Vtextbuf)>2) then begin stringgrid1.RowCount:=stringgrid1.RowCount+1; Vnren:=Vnren+1; end; // ShowMessage(Vtextbuf); end; bt_validar.Click; end else ShowMessage('No hay texto en el PortaPapeles'); Este Codigo me entrega lo copiado pero no el ultimo valor que puede ser? |
Cita:
Recuerda poner los tags al código fuente, ejemplo: Gracias :) |
Hola Cristhor1982.
Si no interpreté mal la finalidad del código, yo haría:
Saludos. |
Cristhor1982,
Revisa este código: El código anterior permite copiar por medio del Clipboard filas y columnas de data desde y hacia un control TStringGrid, es práctico para el intercambio de data con Excel. Espero sea útil :) Nelson. |
No logro pegar desde la Row 1 de la grilla, siempre comienza de la Row 0, me puedes ayudar, gracias
|
Cristhor1982,
El código que te indique anteriormente define de forma dinámica las filas y columnas del control TStringGrid y permite copiar desde y hacia el control por medio del Clipboard, quizás esta solución se pueda adaptar a tu proyecto. Espero sea útil :) Nelson. |
Cita:
De este modo pegará los valores en la columna y a partir de la fila que indique la celda seleccionada actualmente: Si deseas utilizar el edit para seleccionar la columna, reemplaza la línea (*) por:
Saludos. |
Muchas gracias, me parece que voy a probar poniendole algun ciclo...
|
Ecfisa
Muchas Gracias...Resulto a la perfeccion :) |
Esto esta funcionando "Bien", pero necesito que los valores Vacios de lo que copio no los inserte, trate con un IF TS[i]='' then..etc pero no puedo, alguien que me de una pista |
Cristhor1982,
Cita:
Luego, si hay texto en el Clipboard este es procesado: De esta forma solo se copia al TStringList los valores diferentes de blanco del Clipboard, usando el carácter blanco como separador de data. Adicionalmente: No verifica si el valor es blanco, solo verifica si el valor es empty, contrariamente: Si verifica si el valor es blanco. Te sugiero probar ambas opciones e implementes la que mejor se adapte a tu proyecto. Espero sea útil :) Nelson. |
Cita:
|
Ayuda (2) - Clipboard hacia TStringGrid
Amigos, de nuevo con el problema para pegar desde clipboard a TStringGrid...
Ahora necesito pegar esto Equipo 12345 Fecha/Hora 23-may-2013 11:49:11 CLT Horometro 1111 Operador 12 Cancha 20 Insumo 6789 Cantidad 121 y quede de esta forma Equipo Fecha/Hora Horometro Operador Cancha Insumo Cantidad 15503 23-may-2013 11:49:11 CLT 1515 363 32 50085645 121 POR FAVOR AYUDA...Llevo unos dias tratando y me pega en cualquier lado.... SAludos |
Hola Cristhor1982.
Recuerda que: preguntas diferentes = hilos diferentes (Punto 8 de la guía de estilo). Saludos y gracias por tu colaboración :) |
La franja horaria es GMT +2. Ahora son las 22:39:20. |
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