Ir para conteúdo
Fórum Script Brasil

JohnPauloJones

Membros
  • Total de itens

    9
  • Registro em

  • Última visita

Sobre JohnPauloJones

JohnPauloJones's Achievements

0

Reputação

  1. Jhonas, eu estou usando actions diferentes em cada form. O nó está no seguinte: por que o form que está por trás recebe foco? Tanto ele quanto o outro são chamados da mesma forma... É estranho demais. Sequência para melhor compreensão: 1 - abro o form que é cadastro de pacientes; 2 - abro o form que faz correção de prontuários; 3 - no form de correções de prontuários, abro um prontuário que não pode ser alterado, pois está 'fechado/bloqueado'; daí os botões deste form e as rotinas de F3, F5 ficam desabilitados. Mas ainda com este form em uso, se eu pressionar F2 (que nem existe nele), o prontuário em background (cad. pacientes) recebe o foco e manda inserir novo registro. Ora, são 2 actions diferentes: um na tela de correções (que ainda está em uso) e outro no cad. pacientes (que só foi instanciado, mas está por trás). Não sei se fui claro... Agradeço desde já sua atenção.
  2. Solicito aos colegas uma dica para resolver o seguinte problema: um form1 do meu sistema possui um actionList com F3, que coincide com a rotina 'editar' de outros forms de cadastro. Pois bem, quando o form1 está aberto sozinho, a tecla F3 obedece à rotina que está neste mesmo form1; porém, quando há - p. ex. - um form cadPacientes aberto junto ao form1, e mesmo o form1 sendo utilizado (show), o evento do F3 executado é o da tela que está por trás, no caso o cadPacientes. Pergunto: como faço para evitar que o actionList chamado seja o de outra tela que não a que está sendo utilizada?
  3. Prezado Jhonas, agradeço demais sua ajuda. Não tinha acessado ainda o manual que você indicou. Logo que tiver obtido o resultado esperado, postarei aqui algum parecer. Obrigado pelas dicas.
  4. Alguém que trabalhe com gravação de áudio utilizando o VideoGrabber? Preciso saber como interromper a gravação (Pause) e reiniciar do ponto aonde parei. No meu atual código o sistema está inserindo um novo arquivo cada vez que clico no botão Record. Agradeço qualquer ajuda.
  5. Valeu! Mas eu utilizei outro recurso. Declarei em private as variáveis 'vIgnoreNextChar' e 'vInsertMode', ambas do tipo Boolean, e programei como segue: procedure TbasDigitacaoLaudo.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (Key = VK_INSERT) and (Shift = []) then vInsertMode := not vInsertMode; end; == procedure TbasDigitacaoLaudo.DBSRichViewEdit1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin vIgnoreNextChar := not vInsertMode and SRichViewEdit1.RichViewEdit.SelectionExists; end; == procedure TbasDigitacaoLaudo.SRichViewEdit1KeyPress(Sender: TObject; var Key: Char); var ItemNo : Integer; Offs : Integer; rve : TCustomRichViewEdit; begin if vInsertMode or vIgnoreNextChar then begin vIgnoreNextChar := False; Exit; end; vIgnoreNextChar := False; if not ((Key = #9) or (Key >= ' ')) then Exit; rve := SRichViewEdit1.RichViewEdit.TopLevelEditor; if rve.SelectionExists then Exit; ItemNo := rve.CurItemNo; Offs := rve.OffsetInCurItem; if (Offs >= rve.GetOffsAfterItem(ItemNo)) then begin if (ItemNo + 1 < rve.ItemCount) and not rve.IsFromNewLine(ItemNo + 1) then begin inc(ItemNo); Offs := rve.GetOffsBeforeItem(ItemNo); end else Exit; end; rve.SetSelectionBounds(ItemNo, Offs, ItemNo, Offs + 1); rve.Invalidate; end;
  6. Consegui. Eu utilizei o SearchText e o InsertText; sempre que o sistema encontrar "---", ele o substituirá por algo que vem da query. Exemplo: no início da aplicação há o "---", daí o sistema trará o resultado 1 da query para o lugar dos 3 tracinhos, e após isto, incluirá mais 3 tracinhos. E assim sucessivamente. Por enquanto, é isso. Até achar o writeline :) Sabe dizer se podemos habilitar ou desabilitar a tecla Insert, no uso do RichViewEdit?
  7. Jhonas, surgiu um novo problema. Consigo colocar o texto que quero na linha a ser substituída. Exemplo: procedure TbasDigitacaoLaudo.Button1Click(Sender: TObject); var ItemNo, Offs: Integer; begin SRichViewEdit1.RichViewEdit.BeginUpdate; try ItemNo := 0; Offs := SRichViewEdit1.RichViewEdit.GetOffsBeforeItem(ItemNo); SRichViewEdit1.RichViewEdit.SetSelectionBounds(ItemNo, Offs, ItemNo, Offs); while SRichViewEdit1.RichViewEdit.SearchText('[Acrescentar aqui.]', [rvseoDown]) do SRichViewEdit1.RichViewEdit.InsertText(QYgrupoCodificadoDSdescri.AsString); finally SRichViewEdit1.RichViewEdit.EndUpdate; end; end; Mas não sei como fazer para o cursor descer uma linha para a inserção de outra informação, caso necessário. Poderia ajudar-me?
  8. Olá, pessoal! O problema é o seguinte: meu sistema abre um SRichViewEdit, e recebe através de um RichViewEdit um texto. Eu desejo abrir uma query e ponteirar o cursor do mouse para certo ponto do texto, e finalizar acrescentando mais informação exatamente no local de parada. Não estou conseguindo... Aqui estão 2 linhas que iniciam essa rotina: SRichViewEdit1.RichViewEdit.SetFocus; SRichViewEdit1.RichViewEdit.InsertText(QYgrupoCodificadoDSdescri.AsString); Agradeço qualquer ajuda.
×
×
  • Criar Novo...