Ir para conteúdo
Fórum Script Brasil

Jhonas

Monitores
  • Total de itens

    9.657
  • Registro em

Tudo que Jhonas postou

  1. Pirambu .... se a ideia é fazer niveis de acesso, o caminho não é esse tente ser mais claro com relação ao que voce prentende fazer em seu programa abraço
  2. Faça uma pesquisa no forum ... procure por palavras chave AssignFile ini Pos( http://scriptbrasil.com.br/forum/index.php...lite=AssignFile abraço
  3. Exemplo: FMenu.Funcionarios1.Enabled := true; // item de Menu ativado FMenu.Funcionarios1.Enabled := false; // item de Menu desativado abraço
  4. Uma versão mais recente pode ter a correção de um bug da versão atual .. se não experimentar não vai ter certeza e o problema pode ficar sem solução abraço
  5. Jhonas

    DBExpress

    Voce pode usar componentes Zeos para acesso a banco e dados http://sourceforge.net/projects/zeoslib abraço
  6. Mas será que realmente foi finalizado ? ou ainda continua na memoria ? por isso o erro acontece. A component named Dat1 already exists. O componente nomeado Dat1 já existe abraço
  7. O erro ( não é um inteiro válido ) é porque o seu campo PROCOD está definido como string. A instrução SQL deveria ser: dm.Query1.SQL.Add(select MAX( CAST(PROCOD AS INTEGER) ) FROM ESTAPRO.dbf'); e o campo PROCOD deve ser integer. abraço
  8. A solução definitiva é ... assim que o codigo é gerado ele deve ser gravado na tabela (mesmo que nada seja digitado ) .... exemplo Cod := 234 .... se um segundo usuario fizer tambem uma inclusão , o programa verá que já existe o codigo 234 e adicionará + 1 a este codigo e tambem gravará na tabela ... exemplo Cod := 235 (mesmo que nada seja digitado ) se o usuario 1 clicar no OK e formalizar o post e o applayupdates, então somente estará confirmando a gravação final do registro... entretanto se ele clicar no botão Cancelar, então voce faz o programa procurar este codigo e deleta-lo o mesmo acontece com o usuario 2. desta maneira voce não acontecerá de sobrescrever os registros, pois cada usuario estará usando um codigo unico. lembrando que desta maneira temos prós e contras abraço
  9. O erro esta aqui: // Coluna das Datas for i:=1 to 7 do begin data := TQRLabel.Create(self); Name := 'Dat'+inttostr(i); Não é possivel criar 7 vezes o componente com o mesmo nome deveria ser : data1 := TQRLabel.Create(self); data2 := TQRLabel.Create(self); data3 := TQRLabel.Create(self); data4 := TQRLabel.Create(self); então voce deve achar uma maneira de nomear este componente de acordo com o exemplo, já que a criação do componente está dentro de um comando For abraço
  10. então use um arquivo modelo padrão, e quando alterar o CAMINHO, voce não ira gravar no MESMO arquivo, mas em outro abraço
  11. se envia os dados para impressora, significa que o problema é questão de saber configurar a impressora corretamente para imprimir existe no forum algo relativo a essa sua duvida, mas não me lembro o nome do tópico.... veja se encontra em alguns destes posts http://scriptbrasil.com.br/forum/index.php...p;highlite=lpt1 abraço
  12. Robinho ... primeiro erro for i:= 1 to par do begin // criando os combobox ( tipos de pagamentos ) TipoPg := TComboBox.Create(Self); with TipoPg do begin Name := 'Tip'+ inttostr(i); OBS: Voce não conseguira criar mais de um componente se não hover alguma diferença no nome exemplo: TipoPg1 TipoPg2 TipoPg3 no seu caso ele esta criando apenas como TipoPg , e por isso dará erro que o componente já existe e não pode ser criado novamente Voce pode colocar os itens depois que for criado é so colocar este codigo no evento OnEnter do Combobox procedure TForm1.ComboBox1Enter(Sender: TObject); begin ComboBox1.Text := ComboBox1.Items.Strings[0]; SendMessage(ComboBox1.Handle, CB_SHOWDROPDOWN, 1, 0); end; abraço
  13. já existem no forum varios posts que exemplificam a sua duvida, de uma olhada http://scriptbrasil.com.br/forum/index.php...tru%E7%F5es+sql abraço
  14. Jhonas

    Mês anterior

    function UltimoDiaMes(Mdt: TDateTime) : TDateTime; var ano, mes, dia : word; mDtTemp : TDateTime; begin Decodedate(mDt, ano, mes, dia); mDtTemp := (mDt - dia) + 33; Decodedate(mDtTemp, ano, mes, dia); Result := mDtTemp - dia; end; function PrimeiroDiaMes ( data : Tdate ) : Tdate; var dia , mes , ano : Word; begin Decodedate ( data , ano , mes , dia ); Result := Encodedate ( ano , mes , 01 ); end; procedure TForm1.Button1Click(Sender: TObject); begin Label1.Caption := datetostr(PrimeiroDiaMes(DateTimePicker1.DateTime)); Label2.Caption := datetostr(UltimoDiaMes(DateTimePicker1.DateTime)); end; OBS: Para qualquer data que voce colocar no DateTimePicker1, ele ira mostrar o primeiro e o ultimo dia do mes escolhido voce ainda pode incrementar mais, colocando o dia da semana abraço
  15. Veja este exemplo: e voce quer modificar sempre o que está entre aspas "CAMINHO" pelo caminho e o nome do arquivo, sem que o usuario tenha que digitar. então voce pode fazer desta maneira: IF OpenDialog1.Execute then sBufferOrig := StringReplace(sBufferOrig, 'CAMINHO', OpenDialog1.FileName, [rfReplaceAll, rfIgnoreCase]); OBS : Use o componente OpenDialog da paleta Dialogs abraço
  16. Veja nestes endereços, voce pode encontrar alguma coisa que sirva para voce http://forum.devmedia.com.br/viewtopic.php...7743c16a64f0ddc http://www.activedelphi.com.br/forum/viewt...63765f05f9b038c http://www.babooforum.com.br/forum/index.p...howtopic=643463 http://www.tiforum.com.br/viewtopic.php?f=...790&p=54483 abraço
  17. Isto pode ser bug de componente, experimente usar outra versão http://www.teemach.com/ http://www.visualbuilder.com/download.php?...p;user_id=17247 abraço
  18. voce reparou como esta este comando ? if ( not TblCarCheques.Active ) then TblCheques.Open; TblCarCheques TblCheques ???? não seria dessa maneira ? if ( not TblCarCheques.Active ) then TblCarCheques.Open; abraço
  19. Robinho .. experimente tirar o QrSemanal.Free e veja se da certo. abraço
  20. TblCarCheques: Não pode executar esta operação em um dataset fechado. significa que este comando não está funcionando if ( not TblCarCheques.Active ) then TblCheques.Open; Porque voce já não deixa ele aberto logo no inicio ? abraço
  21. como eu posso pular esse erro ?? Basta testar se existe o arquivo para o caminho especificado if DtmIza.QryConfig.FieldByName('Imagem_Prin').AsString <> null then begin Caminho := DtmIza.QryConfig.FieldByName('Imagem_Prin').AsString; if FileExists(caminho) then Image1.Picture.LoadFromFile(Caminho); end; abraço
  22. O erro está a maneira como voce cria o QR O componente nomeado QrSemanal já existe. por isso da o erro, pois voce esta tentando criar novamente o mesmo componente. Tente fazer esta modificação try if QrSemanal = Nil then QrSemanal:= TQrSemanal.Create(self); except ShowMessage('Erro na criação do relatório!!'); exit; end; QrSemanal.PreviewModal; QrSemanal.Free; close; OBS: Para maiores informações sobre o uso do comando Free veja o help do delphi abraço
  23. Use o evento OnBeforePrint do QR Vai um exemplo... voce deve modificar para seu uso procedure TQRFicha1.QuickRepBeforePrint(Sender: TCustomQuickRep; var PrintReport: Boolean); begin QRFicha1.Page.LeftMargin := 100; // valores em milimetros para a margem esquerda QRFicha1.Page.TopMargin := 300; // valores em milimetros para a altura end; OBS: QRFicha1 é o nome do seu QuickReport os codigos acima significam que a impressão deverá começar a 1 cm da margem esquerda e a 3 cm da posição do topo da pagina abraço
  24. var Reg : integer; begin Reg := strtoint(Table1.PROCOD.Value); Reg := Reg + 1; Table1.Edit; Table1.PROCOD.Value := inttostr(Reg); end; Procurei em varios lugares mas não encontrei.... Porque voce não procurou no Help do Delphi ? É so teclar F1. abraço
  25. Project Teste.exe raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (String)'. Process stopped. Projeto Teste.exe elevou classe de exceção EVariantTypeCastError com mensagem ' não pôde converter variante de tipo (Nulo) em tipo (String) '. Processo parou. ' O erro já diz tudo abraço
×
×
  • Criar Novo...