-
Total de itens
9.657 -
Registro em
Tudo que Jhonas postou
-
esse erro ocorre quando voce tenta deletar um indice que não existe para exemplificar: listview1.items.Item[0].SubItems.Delete[0]; listview1.items.Item[0].SubItems.Delete[1]; listview1.items.Item[0].SubItems.Delete[2]; se voce tiver apeneas 2 subitems (0 e 1), quando for tentar excluir o de indice numero 2 vai ocorrer o erro nesse caso voce tem que limitar o escopo ou então saber exatamente qual o valor maximo dos subitems de cada item seria algo tipo procedure TForm1.Button1Click(Sender: TObject); var i,j : integer; begin for I := 0 to ListView1.Items.Count -1 do for j := 0 to listview1.items.Item[i].SubItems.Count - 1 do if ListView1.Items.Item[I].Checked = false then begin ListView1.items.Item[I].SubItems.Delete(j); Break; end; end; abraço
-
comando: // deletar o primeiro subitem do primeiro item do listview listview1.items.Item[0].SubItems.Delete[0]; abraço
-
veja esse código http://www.swissdelphicenter.ch/torry/showcode.php?id=663 abraço
-
va na propriedade DisplayFormat e coloque ,0.00;-,0.00 e na pripriedade EditFormat coloque ,0.00;-,0.00 abraço
-
(Resolvido) Tocar Lista no WM Player
pergunta respondeu ao Marcos Santana de Jhonas em Delphi, Kylix
codigo fonte de um tocador de mp3 http://read.pudn.com/downloads76/sourcecod...Unit1.pas__.htm Novos componentes de audio para delphi http://www.symmetrica.net/newac/ exemplo usando o TMediaPlayer http://www.alexandresmcampos.adm.br/inform...hi/player01.htm abraço -
já usei os 2 e voce consegue capturar a TV com eles para habilitar a opção de TV voce tem que definir qual será a placa de captura usada Va em Menu > Devices > Video Devices > deve aparecer a sua placa na lista ( no meu caso aparece 713 x BDA Analog Capture ) depois clica no nome da sua placa de Tv , aparece uma janela de configuração ( esta com padrão americano e com tvs americanas ) voce deve configurar para o Brasil depois em Menu > Options > PropertyPages > TV Turner .. vai abrir uma janela ( Pagina de propriedades do sintonizador de TV ) onde voce deve proceder as configurações depois em Menu > Options > Preview // mostra a imagem na tela depois em Menu > Options > VideoSource > deixe Video Turner depois em Menu > Options > Video Capture Settings > Video Frame Rating > deixe 25 fps (Pal) feito isso voce estará vendo a imagem e ouvindo o som do canal que voce escolher só posso te ajudar até aqui somente ... pois estou com tempo curto para entregar um serviço OBS: se voce pegar o código do demo, acho que voce vai conseguir entender o funcionamento .. ok ? abraço
-
deveria aparecer, pois no delphi 3, 5 e 7 aparece ... tenho tambem o delphi 4 mas não o utilizo, então não sei te dizer qual seria o problema no entanto esses varios if pode ser reduzidos atraves de um For ou com mudança na lógica da pesquisa abraço
-
o raciocinio é o seguinte porque testar um valor referenciado num componente ( no caso o DbEdit ) quando voce pode testar o valor do campo na propria tabela ? perceba que em cada DBedit existe um valor que corresponde a um campo de sua tabela e neste caso fica mais facil testar o proprio valor no campo na tabela do que testar o valor pela referencia do componente experimente usar o sql builder do componente Query para montar e testar as suas queries, facilita muito o serviço obs: clique com o botão direito do mouse sobre o componente TQuery e clique na opção SQL Builder... abraço
-
veja esse post http://scriptbrasil.com.br/forum/index.php...st&p=613047 abraço
-
Salvar cópia de e-mail enviado no Outlook
pergunta respondeu ao SEP - Otavio de Jhonas em Delphi, Kylix
então voce pode jogar o conteudo para um memo e salvar no banco de dados juntamente com as outras informações do email abraço -
use o componente TVideoGrabber https://www.google.com.br/search?q=http://www.google.com.br/search%3Fhl%3Dpt-BR%26a...%26aql%3D%26o+que%3D%26gs_rfai%3D&ie=utf-8&oe=utf-8&gws_rd=cr&ei=OT_GVtKtPMa1wAT35p_oAg#q=videograbber+delphi outra sugestão é usar o componente SampleGrabber https://www.google.com.br/search?q=http://www.google.com.br/search%3Fhl%3Dpt-BR%26a...%26aql%3D%26o+que%3D%26gs_rfai%3D&ie=utf-8&oe=utf-8&gws_rd=cr&ei=OT_GVtKtPMa1wAT35p_oAg#q=http:%2F%2Fwww.codeproject.com%2FKB%2Faudio-video%2FSampleGrabber.aspx abraço
-
(Resolvido) Impressao de Etiqueta termica trava a qualquer momento
pergunta respondeu ao robinhocne de Jhonas em Delphi, Kylix
faça esse teste se for imprimir apenas uma etiqueta 20 vezes ficaria P20,1 ou P20 os comandos no manual de programação está bem explicado ... só que em ingles abraço -
Mudar resolução e Minimimizar outro aplicativo
pergunta respondeu ao Francis carlos de Jhonas em Delphi, Kylix
seria isso procedure TForm1.Button3Click(Sender: TObject); var DevMode : TDevMode; sDispMode: TDevMode; begin // MUDAR RESOLUÇÃO DA TELA PARA 800 X 600 EnumDisplaySettings(Nil,0,sDispMode); sDispMode.dmPelsWidth := 800; sDispMode.dmPelsHeight := 600; sDispMode.dmBitsPerPel := 32; sDispMode.dmFields := DM_PELSWIDTH+DM_PELSHEIGHT+DM_BITSPERPEL; if ChangeDisplaySettings(sDispMode,0) = DISP_CHANGE_SUCCESSFUL then ShowMessage('Alterada a resolução!') else ShowMessage('Resolução não suportada!'); end; end; procedure TForm1.Button1Click(Sender: TObject); var HandleJan: THandle; begin handleJan := FindWindow('Notepad', nil); if HandleJan <> 0 then //ShowWindow(handlejan,HIDE_WINDOW); // Esconde SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE,0); end; procedure TForm1.Button2Click(Sender: TObject); var HandleJan: THandle; begin handleJan := FindWindow('Notepad', nil); if HandleJan <> 0 then ShowWindow(handlejan,SHOW_OPENWINDOW); //Mostra novamente //ShowWindow(handlejan,SHOW_FULLSCREEN); //Preenche toda a tela end; modifique para o seu uso abraço -
Mudar resolução e Minimimizar outro aplicativo
pergunta respondeu ao Francis carlos de Jhonas em Delphi, Kylix
de maneira simples seria isso, mas voce pode tentar outras opções procedure TForm1.Button1Click(Sender: TObject); var HandleJan: THandle; begin handleJan := FindWindow('Notepad', nil); if HandleJan <> 0 then //ShowWindow(handlejan,HIDE_WINDOW); // Esconde SendMessage(HandleJan,WM_SYSCOMMAND, SC_MINIMIZE,0); end; procedure TForm1.Button2Click(Sender: TObject); var HandleJan: THandle; begin handleJan := FindWindow('Notepad', nil); if HandleJan <> 0 then ShowWindow(handlejan,SHOW_OPENWINDOW); //Mostra novamente //ShowWindow(handlejan,SHOW_FULLSCREEN); //Preenche toda a tela end; abraço -
Acho que dessa forma não é possivel mas por exemplo o Interbase e o Firebird tem um metodo chamado rollback. Segmentos de rollback. Um segmento de rollback é uma porção de um banco de dados que registra as ações das transações dos usuários nos dados para que possam ser desfeitas sob certas circunstâncias; é um objeto usado para gravar os dados alterados pelos processos dos usuários. Cada banco de dados deve possuir pelo menos um deles. Um segmento de rollback é usado para permitir a consistência da leitura, recuperar um comando quando ocorre o dead-lock, recuperar uma transação até uma certa marca identificada por um SAVEPOINT, recuperar uma transação terminada por uma falha de processo de um usuário e desfazer todas as transações pendentes durante a recuperação de uma instância. ou voce pode usar tratamento de exceções quando ocorre alguma falha nas operações exemplo: http://balaiotecnologico.blogspot.com/2010...-em-delphi.html abraço
-
(Resolvido) Impressao de Etiqueta termica trava a qualquer momento
pergunta respondeu ao robinhocne de Jhonas em Delphi, Kylix
quando voce manda muita coisa para a impressora, a memoria se enche e trava por não suportar acumulo de dados então para resolver esse problema , o ideal é alocar espaço em memoria seria algo tipo Emem:024K,128K avl // alocando tamanho minimo de 24 kb e maximo de 128 Kb de memoria veja o manual de programação ... tem alguns comandos que voce não está usando que podem ajudar http://www.novitus.pl/pl/cok/download/druk...kreskowych/EPL2 abraço -
2 maneiras procedure TForm1.Button1Click(Sender: TObject); var Pag: TRavePage; DataIni: TRaveText; DataFim: TRaveText; begin with RvProj.MeuProj do begin Pag := FindRaveComponent ('Report1.Page1', nil) as TRavePage; DataIni := FindRaveComponent('Data Inicio', Pag) as TRaveText; DataIni.Text := Edit1.Text; // 01/12/2010 DataFim := FindRaveComponent('Data Fim', Pag) as TRaveText; DataFim.Text := Edit2.Text; // 15/12/2010 RvProject1.Execute; end; end; mais informações: http://www.delphibr.com.br/artigos/listarave.php você pode enviar o valor como um parâmetro através do componente RvProject assim: begin RvProject1.SetParam('DataInicial', '01/05/2008'); RvProject1.SetParam('DataFinal', '31/05/2008'); RvProject1.ExecuteReport('Report1'); end; no seu relatório basta colocar um DataText com o seguinte valor na propriedade DataField: 'Período: ' + Param.DataInicial + ' a ' + Param.DataFinal mais informações: http://www.delphibr.com.br/artigos/param_rave.php abraço
-
te dei uma sugestão usando o TComponent.Components para que a rotina que esta no QR possa enxergar os componentes de seu form precisa algo mais veja o exemplo do delphi The following code sets the Datasource for a DBGrid component in Form2 to the currently selected data source in a list provided in Form1. This allows users to specify the desired information in form1, and then move to Form2 to view the information. procedure TForm2.FormActivate(Sender: TObject); begin DBGrid1.DataSource := Form1.ListBox1.Objects[Form1.ListBox1.ItemIndex] as TDataSource; end; Here is the code on Form1 that fills the list box: procedure TForm1.FormCreate(Sender.TObject); var integer I; begin for I := 0 to DataModule2.ComponentCount - 1 do begin if (DataModule2.Components[I] is TDataSource) then ListBox1.Items.AddObject(DataModule2.Components[I].Name, DataModule2.Components[I] as TObject); end; end; OBS: veja se consegue entender o esquema ... outra sugestão é fazer o controle externo e jogar o resultado no QR abraço
-
tente assim: var i : Integer; begin for i := 0 to ComponentCount -1 do begin if Components[i] is TDBEdit then begin If (Query1REMETENTE_Cnpj.AsString = FormClisp.TDBEdit(Components[i]).text) and (ValorTDE >= 1.00) then begin Vfrete:=StrToFloat(Query1Valor_Frete.asstring); VTDE:=StrToFloat(Query1TDE.asstring); VFrete2:=(Vfrete - VTde); PercVen := PercVenCapaNormal; QrCom1.Font.Style:=[fsbold]+[fsitalic]+[fsunderline]; QrCom1.Font.Color:=clred; Value:=FloatToStr((VFrete2 * percVen)/100); Value := FormatFloat('#,###,##0.00',StrToFloat(Value)); end else begin PercVen := PercVenCapaNormal; QrCom1.Font.Style:=[]; QrCom1.Font.Color:=clblack; Value:=FloatToStr((Query1Valor_Frete.asFloat * percVen)/100); end; SubTotal1:=SubTotal1 + StrToFloat(value); Value := FormatFloat('#,###,##0.00',StrToFloat(Value)); end; end; end; abraço
-
Imagino que não tenha conseguido montar não é ??? uses Registry; procedure RemoveFromRunKey(ApTitle: string); var Reg: TRegistry; TheKey, s: string; ListOfEntries: TStringList; i: integer; begin Reg := TRegistry.Create; Reg.RootKey := HKEY_CURRENT_USER; TheKey := 'SOFTWARE\MICROSOFT\INTERNET EXPLORER\TypedURLs\'; if not Reg.OpenKey(TheKey, False) then ShowMessage('Registro não Encontrado') else begin if Reg.DeleteValue(ApTitle) then ShowMessage('Removido: ' + ApTitle) else ShowMessage('Não Encontrado: ' + ApTitle); end; Reg.CloseKey; Reg.Free; end; procedure TForm1.Button1Click(Sender: TObject); var i : integer; begin for i := 1 to 10 do RemoveFromRunKey('url'+inttostr(i)); end; OBS: procure sempre se esforçar em aprender ... leitura e pesquisa é fundamental abraço
-
para criar skins voce vai precisar disso http://www.link-rank.com/builder/skinbuilder.htm abraço
-
Tratamento de Erro na chamada de uma dll
pergunta respondeu ao Paulo Henrique de Assis de Jhonas em Delphi, Kylix
veja esse exemplo ( ultimo post ) http://www.activedelphi.com.br/forum/viewt...44f12272e6bc817 abraço -
exemplos http://www.ayton.id.au/gary/it/Delphi/D_COM2.htm http://www.activedelphi.com.br/forum/viewt...6add9d61cb23bce abraço
-
(Não Resolvido) Abrir página da Internet passando valor para um campo
pergunta respondeu ao Mario Henrique de Jhonas em Delphi, Kylix
Pesquise pelos posts do Douglas Soares ... acho que vi algo relacionado http://scriptbrasil.com.br/forum/index.php...st&p=602097 abraço -
Adriana ... se voce quer realmente ajudar, tente responder as dúvidas de nossos colegas para dúvidas básicas, recomendo ler as apostilas disponibilizadas no forum OBS: apesar de sua boa vontade, os membros querem solucionar dúvidas mais especificas de qualquer forma seja bem vinda abraço