Ir para conteúdo
Fórum Script Brasil

Capablanca

Membros
  • Total de itens

    295
  • Registro em

  • Última visita

Tudo que Capablanca postou

  1. Capablanca

    Tshelllistview

    Olá, 1) Coloque um Button; 2) Coloque um ListBox; 3) Coloque um ShellListView; 4) No evento OnClick do seu botão, coloque o seguinte código: procedure TForm1.Button1Click(Sender: TObject); Var i : integer; begin for i := 0 to ShellListView1.Items.Count - 1 do begin if ShellListView1.items[i].Selected then begin ListBox1.items.Add(ShellListview1.Folders[i].PathName); end; end; Abs.
  2. Olá Ewerton, Uma vez meu micro desligou (sem eu finalizar o Windows) e, ao reiniciá-lo e executar o Delphi, apareceu a mesma mensagem... Só resolvi desinstalando o Delphi e instalando-o novamente. No entanto, vou procurar me informar se tem como resolver sem precisar fazer isso.
  3. Olá, Eu não tenho também muita experiência com Oracle, mas trabalho junto com quem só utiliza Oracle. Na verdade, eu creio que quando alguém fala que só usa Oracle (ou seja, não utiliza nenhum programa de interface), ele está se referindo ao uso de STORED PROCEDURES, FUNCTIONS, etc. (como também ocorre com o Firebird). Você pode criar uma função no próprio banco de dados que checa determinada condição e em caso negativo, retorna uma exceção. Você pode criar uma STORED PROCEDURE (procedimento armazenado) que, à medida que, por exemplo, um comprador for adquirindo produtos, o estoque é reduzido automaticamente (tudo realizado pelo próprio BD). Quanto à eficiência disso, eu acho que o meio-termo é o ideal, ou seja, algumas tarefas é interessante programar através do próprio banco de dados, visto que isso, além de ser mais eficaz, é mais seguro. No entanto, parece claro que na maioria dos programas certamente existe a necessidade de se criar uma interface de modo que muitas operações realizadas no banco de dados sejam processadas pelo próprio aplicativo (no caso, desenvolvido em Delphi). Abs.
  4. Capablanca

    Moderação

    Sério??? Você participa de uma banda? Vocalista ou músico (do quê)? Eu toco piano e o meu irmão é batera (hehehe).
  5. Capablanca

    Moderação

    Pô Arlon, nem deu pra gente trabalhar junto, cara! Eu sei como que é... A vida tá muito difícil e o tempo hoje tá curto. Desejo todo sucesso para você em seu emprego... Passa de vez em quando... Assim que as coisas se estabilizarem, retorna aí. Um forte abraço. Capablanca.... ============= Aproveitando o ensejo, gostaria de parabenizar o PROGRAM-AMADOR, o novo MODERADOR do nosso fórum e agradecer por ter aceitado o convite. Conte comigo no que precisar... Estamos no mesmo barco!!! Abs... Capablanca
  6. Capablanca

    Hide

    Então você gostaria que seu aplicativo ficasse no TRAY ICON?
  7. Olá, Uma solução seria desabilitar a acentuação, de modo que todos os registros armazenados no banco de dados não contenham acentos. Abs.
  8. Capablanca

    Hide

    Olá, Tente: Application.Minimize; Você também pode adicionar um componente ApplicationEvents (guia Additional) e, em seu evento OnMinimize, colocar: Application.restore;
  9. Capablanca

    Dbgrid

    Vixe ... Muitas questões num só post Vou ficar com a primeira, colega: 1) Selecione o seu DBGrid; 2) Clique com o botão direito do mouse nele e selecione a opção Columns Editor; 3) Na janela que se abre, clique no botão Add New (será criada a primeira coluna '0 - TColum'); 4) Selecione a coluna criada no item nº 3; 5) No Object Inspector, escolha o campo que você deseja visualizar nesta coluna, selecionando-o na propriedade FieldName. Você pode configurar ainda como quer que o título apareça bem como seu conteúdo (dê uma fuçada nas propriedades que aparecem no Object Inspector). Abs.
  10. Olá, Busquei por Delphi e me retornou 138 registros. Destes, muitos dizem respeito à programas que os caras fizeram (acho que para concluirem a graduação). Em termos de livros, está bem desatualizada a biblioteca. No entanto, estes dois abaixo seriam os melhores na minha opinião 005.133De ver. 6 W673d WILDERON, Bastiaan Pieter Marinus; FRANK, Marcelo. Delphi 6: cliente/servidor com firebird/interbase: aplicação PDV e controle de estoques. São Paulo: Érica, 2002. 396 p. FELIPE, Eduardo Ribeiro. Conectividade utilizando Delphi 6: aprenda a conectar sua aplicação em banco de dados. São Paulo: Érica, 2002. 196 p. Ilus; Arquivos-fontes dos principais exemplos do livro disponíveis na Internet. Como você está começando, assim que você se familiarizar com o Delphi (através da leitura de livros etc.), analise os sistemas que estão à sua disposição aí na Universidade. Cara, pra iniciante, eu recomendo os livros do Carlos Oliviero (editora Érica). Comece pelo "Sistema Comercial Integrado - Delphi 7 - Cadastro e Estoque". Um outro livro que iria servir apenas para referência seria o "Dominando o Delphi 7 - A Bíblia", do Marco Cantù. No entanto, se você comprar o primeiro que te indiquei (do Carlos Oliviero) e segui-lo página a página, você fará um sistema bem legal (ou seja, já fará algo na prática) e irá aprender muito. Além disso, se você tiver dúvidas (mesmo que de iniciante), posta aí que agente te ajuda na medida do possível Abs. e boa sorte!!!
  11. Cara, dá uma olhada nisso (encontrei por aí e adaptei): 1) Coloque um componente ListBox1; 2) Coloque um componente ApplicationEvents e configure o evento OnMessage conforme linhas abaixo; 3) No evento OnCreate e OnClose do seu FORM, coloque o código que se segue abaixo. Unit completa: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, AppEvnts; type TForm1 = class(TForm) ListBox1: TListBox; ApplicationEvents1: TApplicationEvents; procedure ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; JHook: THandle; Track: Boolean; implementation {$R *.DFM} function JournalProc(Code, wParam: Integer; var EventStrut: TEVENTMSG): Integer; stdcall; var Char1: PChar; begin Result := CallNextHookEx(JHook, Code, wParam, Longint(@EventStrut)); if Code < 0 then Exit; if Code = HC_SYSMODALON then Exit; if Code = HC_ACTION then begin if EventStrut.message = WM_LBUTTONUP then Form1.ListBox1.Items.Add('Left Mouse UP at X pos '+IntToStr(EventStrut.paramL) +' and Y pos '+IntToStr(EventStrut.paramH)); if EventStrut.message = WM_LBUTTONDOWN then Form1.ListBox1.Items.Add('Left Mouse Down at X pos '+IntToStr(EventStrut.paramL) +' and Y pos '+IntToStr(EventStrut.paramH)); if EventStrut.message = WM_RBUTTONDOWN then Form1.ListBox1.Items.Add('Right Mouse Down at X pos '+IntToStr(EventStrut.paramL) +' and Y pos '+IntToStr(EventStrut.paramH)); if (EventStrut.message = WM_RBUTTONUP) then Form1.ListBox1.Items.Add('Right Mouse Up at X pos '+IntToStr(EventStrut.paramL) +' and Y pos '+IntToStr(EventStrut.paramH)); if (Eventstrut.message= WM_KEYDOWN ) then Form1.ListBox1.Items.Add('Keyboard pressed '+IntToStr(EventStrut.paramL) +' and Y pos '+IntToStr(EventStrut.paramH)+' NEW SET '+inttostr(eventstrut.time)); end; end; procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin Handled := False; if (Msg.message = WM_CANCELJOURNAL) and Track then JHook := SetWindowsHookEx(WH_JOURNALRECORD , @JournalProc, 0, 0); end; procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin UnhookWindowsHookEx(JHook); end; procedure TForm1.FormCreate(Sender: TObject); begin if Track then begin ShowMessage('Mouse is already being Journaled, can not restart'); Exit; end; // or 0 JHook := SetWindowsHookEx(WH_JOURNALRECORD , @JournalProc,hinstance, 0); {SetWindowsHookEx starts the Hook} if JHook > 0 then begin Track := True; end else ShowMessage('No Journal Hook availible'); end; end. Se você tiver problemas, me dá um toque que eu disponibilizo o projeto para download. Abs.
  12. Capablanca

    Dbgrid

    Agente chega lá... Vamos ver se entendi. 1) O usuário seleciona um produto no DBLookUpComboBox (p.ex., tinta); 2) Depois, no Edit1, ele fornece a quantidade que ele quer de sabonetes; 3) Em seguida, no Edit2, ele fornece o preço unitário de cada sabonete; 4) Por fim, o usuário clica num botão e os dados serão armazenados numa tabela. Ligado a esta tabela nós teríamos um DBGrid, o qual exibiria somente os produtos que do usuário atual (ou seja, do cara que está incluindo produtos). É isso mesmo mano?
  13. Beleza cara... Até aí eu entendi. O que eu continuo não entendendo é o seguinte: porque é que você quer que, ao digitar o código do fornecedor no EDIT, o fornecedor seja selecionado no DBLookUpComboBox... Geralmente, quando se faz uma busca por código, os valores são retornados num DBGrid, ou num DBEdit, etc., mas não num DBLookUpComboBox, sacou? Fala aí: você realmente quer que, após digitar o código no EDIT, os resultados apareçam num DBGrid, DBEdit, etc. ou você quer que apenas o nome do fornecedor seja selecionado no DBLookUpComboBox?
  14. Dê uma "olhada" nestes links: - http://www.techmarc.co.uk/glyphspro.htm (free) - http://www.glyfx.com/products.html - http://www.torry.net/ (procure por DOCs e GRAPHICs)
  15. Olá Programador, Cara, só por curiosidade: por que você está querendo fazer isso? Pergunto, porque é mais fácil o cara ir direto e selecionar o fornecedor pelo seu nome no DBLookUpComboBox, vc. não acha? Vamos supor que agente consegue fazer isso. E depois? O que o usuário iria fazer? Em outras palavras, queria saber o que acontece depois de o cara digitar o código no Edit e, conseqüentemente, fazendo que no DBLookUpComboBox aparecesse o nome do Fornecedor.
  16. Olá Almeida, Você está se referindo ao fato de que alguns membros, mesmo após receberem a resposta de suas perguntas, não dão retorno (ou seja, não informam se a resposta dada resolveu o problema)?
  17. Olá, Coloque um componente TIMER e um componente Memo dentro do seu aplicativo. Configure a propriedade INTERVAL do TIMER para 10 e no evento OnTimer coloque o código que se encontra abaixo. Foi declarada uma variável chamada CliqueDentro. A Unit completa ficou assim: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Memo1: TMemo; procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } CliqueDentro: boolean; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Timer1Timer(Sender: TObject); begin if ((GetAsyncKeyState(VK_LBUTTON) and 1) = 1) then begin if (mouse.CursorPos.x<form1.Left) or (mouse.CursorPos.x>(form1.left+form1.Width)) or (mouse.CursorPos.y<form1.Top) or (mouse.CursorPos.y>(form1.Top+form1.Height)) then memo1.lines.add('O botão esquerdo do mouse foi clicado em: ' + inttostr(mouse.cursorpos.x)+',' + inttostr(mouse.cursorpos.y) ); CliqueDentro:=false; end; end; end.
  18. Capablanca

    Dbgrid

    Olá, Tem como você esclarecer em outros termos o que você quer? Não consegui entender cara. Se alguém conseguiu fala aí por favor. Abs.
  19. Dê uma olhada nestes (em inglês) - http://www.insightdirect.com/docs/crystal/ - http://aspalliance.com/215 No entanto, no caso específico do Crystal Reports, eu recomendaria muito a aquisição de livros (em português existem alguns). Abs.
  20. Olá, Há duas formas de fazer referência à tecla: 1) pelo código ASCII; 2) pelo código VIRTUAL KEY. Abaixo, o primeiro valor refere-se ao código ASCII e o segundo ao VIRTUAL KEY. Se você quer, por exemplo, que apenas tenham algum efeito se o usuário digitar números (ou seja, se ele digitar qualquer coisa que não for um número nada ocorrerá), utilize o seguinte código: if not(key in ['0'..'9','.',',',#13]) then key := #0; Neste exemplo, o usuário só poderá digitar números, o sinal de ponto (".") e o sinal de vírgula (","). Também será permitido a tecla ENTER (#13). Abs.
  21. Beleza SIN... Continue firme aí no desenvolvimento do seu projeto que agente está no mesmo barco cara! Abs.
  22. Ele não está localizando o seu arquivo contendo o banco de dados. O banco de dados já está criado? Qual é o nome do arquivo? Ele utiliza a biblioteca FBClient.dll ou GDS32.dll?
  23. Capablanca

    Caminho Na Rede

    Cara, dá uma olhada nestes aplicativos abaixo. Eles acompanham o código fonte, permitindo a alteração do programa conforme as suas necessidades (bem como facilitam a sua vida). Se eles não resolverem, dá um toque. Pegue o componente/aplicativo NetView: http://www.torry.net/apps/utilities/networ...tview_v.2.3.zip Acho que não tem melhor componente/programa que este, pois, além de FREEWARE, você poderá alterar o código dele à vontade. Já vem pronto para usar. É só clicar e testar. O código fonte também está junto. Outros (free): http://www.torry.net/apps/utilities/networ...pstat_v.1.2.zip e http://www.torry.net/apps/utilities/networ...tstat_v.2.3.zip
  24. Foi mal cara... Nem tinha visto o erro. Não é para trocar Application.ExeName pelo nome do seu aplicativo e sua extensão. Apenas deixe Application.ExeName (e não VoxMessenger.exe). Desta forma, ficaria assim: if FileExists (ExtractFilePath (Application.ExeName)+'\db\db.dll') = false then Tente e me fala se funciona. Abs.
  25. Fala aí SIN, Não entendi mano... Por que você não usa aquilo que eu postei? (if FileExists(ExtractFilePath('VoxMessenger.exe')+'\db\db.dll')= false then). Com este código você já conseguirá localizar o seu arquivo de banco de dados independentemente onde seu aplicativo for instalado (você nem precisa fazer menção a VoxMessenger.exe). Fala aí o porquê que você não quer utilizar este recurso. Conforme for, partimos pro INI mesmo (mas continuo não entendendo o que há de errado). Abs.
×
×
  • Criar Novo...