COrtar, Pegar, DEshacer, Rehacer, Eliminar

Quisiera saber como puedo hacer uso de estas funciones básicas de cualquier programa.
Necesito esas opciones para hacer cambios en una base de datos hecha en paradox 7 o dbIV.
No se si exista código para seleccionar un bonche de registros y estos borrarlos.
Cabe mencionar que los comandos los quisiera tener en un mainmenu que ya tengo hecho.

1 Respuesta

Respuesta
1
Pues tu pregunta no es muy clara. Las funciones de edición las necesitas para aplicarlas al texto de los campos, o bien aplicarlas a los registros directamente.
Si te refieres a los registros puedes hacer una implementación de estas opciones vía código. Por ejemplo, para borrar varios archivos como dices seria algo así:
Usar un dbgrid. Poner su propiedad dgMultiselected (en options) a TRUE.
Pon un botón con el siguiente código:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i, j: Integer;
s: string;
index: integer;
begin
showmessage(inttostr(DBGrid1.SelectedRows.Count));
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do begin
index:= DBGrid1.SelectedRows.Count-1;
for i:=0 to index do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items));
delete;
end;
end;
end;
Avisame si necesitas más ayuda.
Ahora, como puedo implementar los botones
Rehacer, cortar y pegar.
Me gustaría que los datos copiados los pueda poner en cualquier aplicación, como el notepad
Como tal, no puedes utilizar las funciones básicas de manejo de portapaleles en tu aplicación, ya que existen formatos por default para el manejo de datos específicos (texto, imágenes, etc).
La noticia buena es que tu puedes crear tus propios formatos personalizados para usar el portapapeles. Te incluyo un articulo muy bueno para implementar estas funciones:
http://delphi.about.com/library/weekly/aa110700a.htm
Ahora solo tienes que incorporarle las funciones para eliminar y agregar registros y listo!
Por ejemplo, para CORTAR tendrías que copiar la información al portapaleles y una vez hecho esto, eliminar los registros seleccionados (esta ultima parte te recomiendo que la metas en una función aparte para que la primera parte te sirva para el procedimiento de COPIAR). Si deseas integrar la parte de REHACER entonces deberás guardar en una variable el código del ultimo procedimiento empleado. (Por ejemplo, 1 para copiar, 2 para cortar, 3 para pegar, etc), así podrás eliminar el ultimo cambio realizado y tendrás la información disponible en el portapaleles.
Por otra parte existe un datagrid que tiene la funcionalidad de cortar y pegar integrada:
www.torry.net/press_2001_08.htm
Checa este otro (TRKSGridClipbrd):
http://www.rksolution.cz/Delphi/Delphi.htm

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas