Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. opa testei aqui realmente, pra mim isso é bug ahuauh de qualquer forma, a única maneira que achei pra não acontecer isso é assim, quando você cria o form2, que seria o MDIChild, então você desativa o autopopup do popupmenu do form1, exemplo Form1.Popupmenu1.AutoPopup := False; ai no OnClose do Form2 você ativa denovo Form1.Popupmenu1.AutoPopup := True; se alguém souber outro jeito posta ai abraços
  2. opa cara mais fácil você fazer o seguinte uses Dialogs; var szQtd: String; begin szQtd := InputBox('Quantidade','Informe a quantidade que deseja adicionar...','1'); em szQtd vai ficar armazenado a quantidade que o cara digitou... Ai vai aparecer uma janela pré-feita pelo Delphi do jeito que você mencionou, onde InputBox('Aqui nome da janela...', 'Aqui mensagem', 'Valor padrão exemplo 1'); agora se quiser ainda fazer um formulário, pra retornar o valor digitado nele faça o seguinte declare uma variavel em public private { Private declarations } public { Public declarations } szQtd: String; end; no OnClose desse form, você joga o valor do Edit a variavel szQtd := Edit1.Text; //por exemplo ai pra pegar, é tipo formulariozinho.ShowModal; Quantidade := formulariozinho.szQtd; abraço
  3. Churc

    Problemas No Listbox

    coloca no OnKeyUp ao invés do OnKeyDown que da certo...
  4. então, da pra selecionar arquivos sim, só mudar as Flagsmas na minha opinião não é o que ele quer, usando um open dialog com Multiselect vai ser melhor mesmo
  5. http://delphi.about.com/od/windowsshellapi/l/aa070400a.htm
  6. opa da uma olhada nesse exemplo http://codecentral.borland.com/Item.aspx?id=18590 voce precisa ter uma conta, se não tiver é só criar... repara o KeyPad, ele nunca pega focus... abraço
  7. Churc

    Record / Socket

    opa alguém tem alguma idéia de se fazer um vnc sem ser por imagens, tipo o que o VNC faz realmente, o protocolo RFB (Remote Frame Buffer) mas pra falar verdade desse protocolo só sei o nome não sei nem por onde começar srsr ou tiver afim de fazermos um projeto delphi vnc colocar no sourceforge, onde nada mais nada menos seria um VNC comum passado pra Delphi, com mais opções e uma delas seria o fato de poder dar suporte remoto passando por firewall, routers, etc... O problema do VNC original, é que você só consegue acessá-lo se o computador destino tiver conexão direta com a Internet, você não consegue acessar um computador em uma rede por exemplo Você ---------> Internet --------------> Destino = Conecta Você ---------> Internet --------------> Roteador/Firewall -------------> Destino = Não conecta abraçao
  8. Churc

    Record / Socket

    opa Thales, magina se intrometer, cada opinião é importante e muito bem vinda! eu também as vezes vejo tópícos e nem respondo porque já estao respondendo mas isso é ignorância nossa... então, eu havia lido sobre isso, que não se pode passar objetos, referências a classes, ou qualquer coisa que não seja estático... mas valeu porque fica anotado pra outras pessoas saberem... vo postar o código aqui depois pra também se alguém um dia tiver essa dúvida... valeu brother abraço
  9. Churc

    Record / Socket

    opa valeu s3c deu certo!! pena que o que eu queria não deu certo... eu ia fazer tipo um esquema igual do VNC, o VNC não envia imagens e sim apenas os pixels que está modificado na tela... chama-se RFB (Remote Frame Buffer), mas não acho nada na Internet, tenho o source do VNC mas nossa vai meses pra passar aquilo pra Delphi rsr então pesquisando, pesquisando eu achei um jeito, mas pelo que vi não é o mesmo que o vnc faz... o jeito que achei é, gerar uma SS da tela, jogar as cores pra 256... criar um processo que é conhecido como delta frame, onde a cada X segundos você compara 2 SS, uma que é a SS anterior e uma nova e envia pro servidor os pixels que está modificado nelas exemplo TPixels = packed record RGB: Dword; PosX: Integer; PosY: Integer; end; então a cada pixel modificado eu mandava uma stream onde RGB estava a cor do pixel no formato RGB e PosX, PosY armazenava a posição do pixel referente a tela... o problema é que esse processo é muito lento, até scanear todo o bitmap, mesmo jogando pra 256 cores(pixelformat := pf8bit) onde se compara 1 byte por pixel fica lentão, resumindo vira o VNC mais lento que você possa imaginar AHUEHA bom, que pena... queria ter um vnc proprio rsr por imagens eu consigo fazer mas cada imagem sai no mínimo com 25 a 30 kb usando JPEG a qualidade horrível e pra enviar em rede uma maravilha mas para enviar em internet até vai mais não do jeito que eu queria rsr valeu cara abraços
  10. Churc

    Record / Socket

    Certo, mas qual seria a estrutura correta para envio e recebimento: criando um memory stream, armazenando os dados do record no memory stream, e envia com SendBuf ou SendStream? e pra receber no serversocket, terei que fazer um loop recebendo os dados ou virá o pacote por completo sabe me informar? se puder me passar algum exemplo prático ou algum site que contenha tal tipo de informação eu agradeço HEAHu valeu1! abraço
  11. Opa então, tava fazendo um esqueminha de enviar tipos Record através de Sockets TCP... seria assim, exemplo TMyRecord = packed record A: String; B: Integer; end; Pro envio eu tava fazendo o seguinte, exemplo var MyRecord: TMyRecord; MyStream: TMemoryStream; begin MyRecord.A := 'A :)'; MyRecord.B := 1; MyStream := TMemoryStream.Create; MyStream.WriteBuffer(MyRecord, SizeOf(MyRecord)); Agora vem o problema, envio como, Buff, Stream ? ClientSocket1.Socket.SendBuf(MyStream, SizeOf(MyStream)); ou ClientSocket1.Socket.SendStream(MyStream); Ok vamos supor que enviou, ai recebo como, porque pelo que vi não é recebido tudo o pacote e sim aos poucos, mas como é pequeno o pacote então acho que capaz que receba tudo Bom, enfim eu ficar postando meus códigos errados não vai adiantar rsr alguém sabe como enviar e receber Records através de Socket TCP seja como Stream ou qualquer outro método rs? Abraçao
  12. Opa Mas então, esse código funciona pra XP porque é a partir do Windows 2000, então ai se inclui, 2000, NT, XP, 2003, Vista
  13. da nada, nem tem muito haver o que eu falei, é que tem bastante informação neste tópico, e ao meu entender o criador do tópico fez um ar de não satisfeito e desprezo rsr, ai por isso questionei sobre o porque ele quer que fecha a bandeja, não tem muito sentido... rsr
  14. Ah sim, mas não quis dizer nesse sentido, seria no sentido de quando o usuário colocar o dvd, sem fechar a gaveta... Pois a questão que mencionei é pra que ele quer que o sistema fecha a gaveta se o usuário vai ter que colocar o dvd na gaveta... entendeu? rsr muito boa essa dica ;)
  15. mas luizf pra que você quer que seu programa faça com que a bandeja fecha sendo que se ela abre pro usuário por ou tirar o dvd, então impossível um programa saber se ele já colocou ou tirou, então acho que cabe ao usuário fechar e não ao sistema, onde entre ele clicar em um botao no seu sistema pra fechar a gaveta ou fecha-la manualmente é mais conveniente fechar manualmente pois ele vai tar colocando ou tirando um dvd mesmo, já vai estar com a mão na massa rsr
  16. opa Paulo, bacana isso, na verdade eu não sabia que havia um form invisível pra controle dos demais forms, já que da pra pegar mensagens sem você precisar ter janelas... valeu
  17. srsr verdade s3c até corrigi lá emcima rs
  18. FindWindow('Nome da Classe', 'Nome da Janela'); Então como você está pegando o handle da janela pela classe, você não precisa estipular o nome da janela, e se coloca nil porque o tipo é PChar, se fosse String seria '' O nome da janela, exemplo FindWindow('SciCalc', 'Calculadora'); Não se faz diferenciação de maiúscula pra minúscula então FindWindow('sciCAlC', 'calculaDoRA') da na mesma. Normalmente não se coloca o nome da Janela, porque só se colocaria no caso de mais janelas ter a mesma classe, o que é pouco provável, exemplo: Você tem um form que se chama Form1 e a classe seria TForm1, e o nome da Janela seria "Cadastro" e também você tem em outra aplicação onde a mesma pode ser aberta junto com o programa, um outro form com a classe TForm1 mas o nome da janela é Backup, ai sim teria que especificar o nome da janela... FindWindowEx se usa pra pegar janelas dentro de janelas (Child). exemplo pra pegar o handle do relógio do Windows... var TrayWnd, TrayNWnd, ClockWnd: HWND; begin TrayWnd := FindWindow('Shell_TrayWnd', nil); -> Barra do menu Iniciar TrayNWnd := FindWindowEx(TrayWnd, 0, 'TrayNotifyWnd', nil); -> Janela onde está o relógio e os ícones do lado dele ClockWnd := FindWindowEx(TrayNWnd, 0, 'TrayClockWClass', nil); -> Relógio Os dois últimos parâmetros são usados pra passar informações adicionais... exemplo, você vai mandar uma mensagem ao seu aplicativo const WM_MYMSG = WM_APP + 0588; -> Sua mensagem MINIMIZE = 10; -> Adicional CLOSE = 11; -> Adicional SendMessage(FindWindow('Seila', nil), WM_MYMSG, MINIMIZE, 0); ai quando você recebe no aplicativo, você pode fazer várias ações, conforme o valor de WParam e LParam exemplo if Message.Msg = WM_MYMSG then case Message.WParam of MINIMIZE: Application.Minimize; CLOSE: Application.Close; end; rsr talvez não seja o melhor exemplo mais espero que de pra você entender abraços
  19. Churc

    Relatorio

    requição ou requisição? usa algum tipo de identificação pra ela, um código sei lá... ai depois quando impressa joga no banco de dados algum valor de que ela foi impressa... e ai ao tentar imprimir se faz checar se ela já foi impressa baseado no código dela sei lá auuha
  20. ahh sim verdade aqui funcionou também, achei que E&ject fosse comando e não que tivesse haver com o Ejetar do menu do explorer rsr até tirei o & achando que era erro de escrita... pu.tz o Windows é foda meu, vai vendo os recursos que ele da suporte, olha isso que absurdo uhahuashu :rolleyes: abs
  21. opa eu baxei aqui, do site: http://www.delphizip.net certo? nesse componente vem uns demo na pasta Demo... abra o Demo3 ai tem um exemplo completo de progresso... Se eu for falar aqui é mais díficil de entender do que você ver ai e até copiar rsr abraço
  22. opa então da pra montar progresso sim... posta a estrutura do evento aqui exemplo procedure TForm1.NomedoEvento(Sender: TObject; etc etc etc); ou melhor, qual componente você está usando, Abrevia? abs
  23. opa achei um aqui que funcionou aqui, testa ai http://www.thescripts.com/forum/thread124082.html passando pra delphi seria procedure AbreSafado(const Drive: Char; szAcao: String); var szBuff: String; begin szBuff := 'open ' + Drive + ':\ type cdaudio alias DRIVE'; mciSendString(PChar(szBuff), nil, 0, 0); mciSendString(PChar('set DRIVE door ' + szAcao), nil, 0, 0); mciSendString(PChar('close all'), nil, 0, 0); end; ai pra usar AbreSafado('E', 'open'); troque o E pela letra do Drive só não consegui fazer fechar, mas como o amigo quis somente saber como abre HUASHUA talvez ajude é marquei vi que acima já tem isso ai rsr fiz baseado no do s3c mas se eu achar uma maneira melhor eu posto aqui
  24. opa testei aqui não funcionou não... aproveitei e já testei nos 2 drive, não abriu nenhum...
×
×
  • Criar Novo...