CTRL + C com Gauge/Progress bar

Delphi

24/11/2010

Pessoal, sou iniciante e preciso fazer uma aplicação que, quando eu apertar CTRL + C (no caso, vou fazer por simulação de pressionamento de teclas), um gauge acompanhe o precesso de tranferencia dos dados para a memória.. pra assim q terminar a transferencia dos dados, eu disparo outra sequencia de teclas (CTRL + V).
.
Alguem ai sabe como posso fazer isso?
.
Ja consegui fazer a simulação de teclas e ta funcionando direitinho... o problema eh o gauge....
.
Murillo Mayer

Murillo Mayer

Curtidas 0

Respostas

Leonardo Xavier

Leonardo Xavier

24/11/2010

o que exatamente esta acontecendo com seu gauge?
GOSTEI 0
Murillo Mayer

Murillo Mayer

24/11/2010

não está acontecendo nada...rrsrsrsrs....e quero q aconteça....
.
Resumindo quero isso aki:

SimularPrecionamento(CTRL + C);
gauge1.active := true;

Aí, quero uma rotina q intercepte esse precionamento e acompanhe a tranferência dos dados para a memória, e quando terminar a transferência dos dados, o gauge tem q estar em 100 %, aí...

gauge1.active := false;
Memo1.setFocus;
SimularPrecionamento(CTRL + V);

Ou seja, quero copiar um texto (de tamanho variável) para um Memo.
O Texto que será copiado é .pdf (configurado para leitura).

Como o andamento da cópia do texto pode ter tempo variável, quero acompanhar o acontecimento, pra poder liberar a procedure de CTRL+V só quando o arquivo já estiver na memória.

Tentar fazer Memo1.lines.LoadFromFile('arquivo.pdf') não resolve.....

Entendeu?



GOSTEI 0
Murillo Mayer

Murillo Mayer

24/11/2010

Up....

GOSTEI 0
Leonardo Xavier

Leonardo Xavier

24/11/2010

Cara to tentando achar uma maneira de identificar as teclas precionadas Crtl+C , mas até o momento somente consegui achar a diferença entre ctr(13) e ctr(10), Estou estudando este procedimento, os progressos que eu pbtiver coloco aqui para vc acompanhar.

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
crtlc:string;
begin
crtlc:=chr(13);
ShowMessage('CTRL'+crtlc+'precionado');
end;

GOSTEI 0
Murillo Mayer

Murillo Mayer

24/11/2010

Entendo...
.
Bom, uso a procedure abaixo pra simular o pressionamento das teclas...

procedure TFLeitor.PostKeyEx32(Key: Word; const Shift: TShiftState; SpecialKey: boolean);
type
  TShiftKeyInfo = Record
  shift: Byte;
  vkey : Byte;
End;
  byteset = Set of 0..7;
  const
  ShiftKeys: array [1..3] of TShiftKeyInfo =
  ((shift: Ord(ssCtrl); vkey: VK_CONTROL ),
  (shift: Ord(ssShift); vkey: VK_SHIFT ),
(shift: Ord(ssAlt); vkey: VK_MENU ));
var
  Flag: DWORD;
  bShift: ByteSet absolute shift;
  i: Integer;
begin
  for i := 1 to 3 do begin
    if shiftkeys[i].shift in bShift then
      Keybd_Event(ShiftKeys[i].vkey, MapVirtualKey(ShiftKeys[i].vkey, 0), 0, 0);
  end; // for

  if SpecialKey Then
    Flag := KEYEVENTF_EXTENDEDKEY
  else
    Flag := 0;

    Keybd_Event(Key, MapvirtualKey(Key, 0), Flag, 0);
    Flag := Flag or KEYEVENTF_KEYUP;
    Keybd_Event(Key, MapvirtualKey(Key, 0), Flag, 0);

  for i := 3 DownTo 1 do
  begin
    if ShiftKeys[i].shift in bShift then
      Keybd_Event(shiftkeys[i].vkey,MapVirtualKey(ShiftKeys[i].vkey, 0),KEYEVENTF_KEYUP, 0);
  end; // for
end; // PostKeyEx32


A única forma q encontrei pra fazer a simulação no D7...
.
Não tem alguma mensagem q dá pra interceptar logo depois da simulação? Tipo, quando faço [CTRL + A] + [CTRL + C] em um arquivo .pdf gde, na parte inferior dele tem o bendido gaugezinho... será q dá pra interceptar ele?..
.
Bom, valeu pela força.... nem sonho como dá pra fazer isso... e pelo visto, poucos programadores se preocupam com isso....
.
abç.;

GOSTEI 0
Hudson Cardoso

Hudson Cardoso

24/11/2010

Olá, bom dia, conseguiu resolver seu problema ?
estou fazendo um software quw faz exatamente isso, meu unico problema é que nao estou encontrando o codigo da tecla C



GOSTEI 0
POSTAR