Ir para conteúdo
Fórum Script Brasil

Churc

Veteranos
  • Total de itens

    1.198
  • Registro em

  • Última visita

Tudo que Churc postou

  1. Churc

    Scroller

    opa Micheus valeu pela dica também, eu procurei no fórum antes de postar e você já havia dito nesse seu post sobre o ScrollBox, mas como não sabia dele, procurei só por coisas relacionadas a imagem, dimensão e não achei rsr valeu! abraço
  2. opa você só vai conseguir criar progresso se você tiver o limite, no caso o número de arquivos a serem compactados, ou pastas e o componente tem que dar suporte também, tipo um evento OnAddItem estas coisas... se for só zip.Add; e não tiver suporte, então você vai ter que ter o source do componente e criar alguma compatibilidade ou evento... abs
  3. Backspace #8 Del #46 mas é mais fácil você colocar Chr(VK_NOMETECLA) onde nas constantes VK_ contém o código ASCII de cada tecla, você também pode usar pra saber o número e assim usar com # como você está fazendo... exemplo usando VK_ procedure TFORM1.Edit1KeyPress(Sender: TObject; var Key: Char); begin if (Key in ['0'..'9','.',',',Chr(VK_RETURN), Chr(VK_BACK), Chr(VK_DELETE)]) then begin end else Key := #0; end; facilita :)
  4. Churc

    Scroller

    aee s3c deu certo cara :D como sou noob nunca tinha usado esse scrollbox, achei que ia ter que ser um put.a codigo fod.a aueahueh valeu abraços
  5. Churc

    Scroller

    opa eu tava tentando fazer o seguinte, vamos supor, você tem um form vazio, sem mais nada a não ser um TImage... Quando você carregar uma imagem no TImage, e essa imagem tiver dimensões maior que o form, criar barra de rolagens, seja na vertical e horizontal pra poder visualizar a imagem toda... Alguém tem alguma idea? Que da eu sei mas não tenho a menor noção de como fazer rsr abraços
  6. AUHeahuAE :D acho que tem como sim, o que ele quer fazer é tipo, imagina você faz um programa que cria um determinado arquivo e que só o mesmo possa abri-lo e entende-lo... no caso sendo imagem, o que você pode fazer é mexer com os primeiros bits da imagem, assim quebra o cabeçalho e os programas de imagem, visualizadores e editores não vao entender como uma imagem... ai pra abrir no seu programa, você antes de carregar a imagem, checa se foi uma imagem mexida pelo seu programa e se sim você os modifica novamente para o original carrega a imagem e já modifica os bits devolta pra ficar incompativel pu.tz acho maior gambiarra mas funciona, quase certeza rsr em delphi eu saberia fazer mais em phyton e linux nem tenho ideia... so mais Windows rsr =p abs
  7. vê se não tem a propriedade Refresh no componente...
  8. opa tem como sim ai vai em private procedure wmsyscommand(var message: tmessage); message wm_syscommand; depois de implementation procedure tnomedoform.wmsyscommand(var message: tmessage); begin case (message.wparam and $fff0) of SC_MOVE, SC_SIZE: message.result := 0; else inherited; end; end; Anchors impede que um componente seja redimensionado ou saia da posicao, dependendo da configuracao que voce deixar, por padrão, ele não anda pra esquerda e não sobe pra cima, exemplo... cria um form que possa ser redimensionavel, coloca um botao... redimensiona o form da direita pra esquerda, se vai ver que o botao não anda da posicao dele pra esquerda, porque o anchors Left está true, agora se voce por Left false, ai ele anda, é tipo pra segurar uma posicao independente de como estará o form.
  9. você diz mover os componentes? se for, tem sim, vai no object inspector, e na propriedade Anchors de cada componente você coloca tudo em False, ou seja, pode acontecer o que for com o formulário eles nunca vão sair da posição que você os deixou...
  10. procura no Object Inspector, nas propriedades do formulário por BorderStyle e ajuste pra bsSingle
  11. Churc

    Como Saber...

    aaaa fmzz valeu thales, vo tenta lá rsr abraço
  12. Churc

    Loop

    fala pessoal, blzz então não entendo nada de C/C++, ai eu tava passando um código de C/C++ pra Pascal/Delphi... então eu não sei o seguinte assim, neste loop, o i chega até o valor de value ou seja, como exemplo que passei 8 ou chega até 7 int value = 8; for(unsigned int i = 0; i < value; i++) { } Saindo fora do loop, o valor de i é qual, 7 ou 8? 8 certo? porque i++ está adicionado depois do limite... eu não tenho como testar, não tenho nenhum compilador C/C++ e também não sei mexer, apenas queria passar um loop em C++ pra Pascal... abrçao
  13. Churc

    Como Saber...

    opa thaless blzz então, unsigned char nullTerminator = 0x00; eu declarei const nullTerminator: Byte = $; então esse outro unsigned char nop = 0x90; ficaria... const nop: Byte = $90; seria isso? abraço
  14. Churc

    Como Saber...

    opa, tava tentando passar uns códigos de C++ pra Delphi ai tem várias coisas estranhas né mas beleza, eu enrosquei nisso unsigned char nullTerminator = 0x00; como vi, unsigned char é byte em pascal, até ai tudo bem... e sei que 0x00 é equivalente a $ pois em alguns códigos, quando se passa endereço de memória em C++ é 0x0060A038 e em pascal seria equivalente a $60A038 agora tipo, como vou descobrir, convertendo tipo 0x00 = $ 0x90 = ao que? rs Como converter, mas saber o caractere equivalente, ou qualquer maneira serve aUHEahu achei isso na net, ajuda mas ainda não entendi rs alguém tem alguma idéia? :D abraço
  15. sim e não, porque mesmo você impedindo o acesso ao relógio do windows, é só acessar a bios e mudar, já que o relógio do windows é baseado na hora da bios... se você quer fazer um programa que não permita mudar a data/hora do sistema, basta guardar a ultima data que o programa rodou em algum lugar, arquivo, registro e cada vez que o programa abrir se a data for menor que a ultima data que rodou então da uma mensagem... mas isso é bem complexo, exemplo Hoje dia 19 Ultima data é 19 Por algum motivo um programa ou sei lá, a data vai pro dia 23 ai o cara roda... Ultima data é 23 ai o cara vê que a data está errada e volta pro dia 19 Ai o programa vai dar a mensagem de data invalida... então tem que tratar bastante coisa pra ficar bom o esquema...
  16. pesquisando na internet achei isso function BitmapToIcon(Bitmap: TBitmap): TIcon; var IconSizeX, IconSizeY : integer; IconInfo: TIconInfo; IconBitmap, MaskBitmap: TBitmap; x, y: Integer; TransparentColor: TColor; begin IconSizeX := GetSystemMetrics(SM_CXICON); IconSizeY := GetSystemMetrics(SM_CYICON); IconBitmap:= TBitmap.Create; IconBitmap.Width:= IconSizeX; IconBitmap.Height:= IconSizeY; IconBitmap.Canvas.StretchDraw(Rect(0, 0, IconSizeX, IconSizeY), Bitmap); IconBitmap.TransparentColor:= Bitmap.TransparentColor; TransparentColor:= IconBitmap.TransparentColor and $FFFFFF; MaskBitmap:= TBitmap.Create; MaskBitmap.Assign(IconBitmap); for y:= 0 to IconSizeY - 1 do for x:= 0 to IconSizeX - 1 do if IconBitmap.Canvas.Pixels[x, y] = TransparentColor then IconBitmap.Canvas.Pixels[x, y]:= clBlack; IconInfo.fIcon:= True; IconInfo.hbmMask:= MaskBitmap.MaskHandle; IconInfo.hbmColor:= IconBitmap.Handle; Result:= TIcon.Create; Result.Handle:= CreateIconIndirect(IconInfo); MaskBitmap.Free; IconBitmap.Free; end; function ConvertBitmapToIcon (src : HBITMAP; width, height, bitsPerPixel : Integer) : HICON; var iconBits : PByte; iconSize : Integer; iconColorTableSize : Integer; iconColorBitsSize : Integer; iconMaskBitsSize : Integer; dc, sourceDC : HDC; nBits : Integer; function BytesPerScanline (PixelsPerScanline, BitsPerPixel, Alignment: Longint): Longint; begin Dec(Alignment); Result := ((PixelsPerScanline * BitsPerPixel) + Alignment) and not Alignment; Result := Result div 8; end; begin iconColorTableSize := 1 shl BitsPerPixel * sizeof (RGBQUAD); iconColorBitsSize := height * BytesPerScanLine (width, bitsPerPixel, 32); iconMaskBitsSize := height * BytesPerScanLine (width, 1, 32); iconSize := sizeof (TBitmapInfoHeader) + iconColorTableSize + iconColorBitsSize + iconMaskBitsSize; iconBits := AllocMem (iconSize); // Allocate (and zero) icon bits try with PBitmapInfoHeader (iconBits)^ do // Fill in InfoHeader begin biSize := sizeof (TBitmapInfoHeader); biWidth := width; biHeight := height; biPlanes := 1; biBitCount := bitsPerPixel; biCompression := BI_RGB; end; dc := GetDC (0); if dc <> 0 then try // Get the color bits in the format specified // in the info header above. This also tacks the color // table onto the end of the info header and fills in the // biSizeImage field in the info header. nBits := GetDIBits (dc, src, 0, height, PByte (PChar (iconBits) + sizeof (TBitmapInfoHeader) + iconColorTableSize), PBitmapInfo (iconBits)^, DIB_RGB_COLORS); if nBits = 0 then RaiseLastWin32Error; if PBitmapInfoHeader (iconBits)^.biSizeImage <> iconColorBitsSize then raise Exception.Create ('Error calculating iconColorBitsSize'); with PBitmapInfoHeader (iconBits)^ do biHeight := biHeight + biHeight; result := CreateIconFromResourceEx (iconBits, iconSize, True, $30000, width, height, LR_DEFAULTCOLOR); if result = 0 then RaiseLastWin32Error; finally ReleaseDC (0, dc) end else RaiseLastWin32Error finally FreeMem (iconBits) end end; não testei não... abraço
  17. Churc

    Exportação

    minha nossa da uma olhada nesses links link 1 link 2 link 3
  18. opa o que é esse contsenha, seria algo que "a partir" disso é gerada a senha? ou a senha pode ser qualquer combinação de letras e números... já que do jeito que você fez ai está mais pra isso.... se puder ser qualquer sequência de caracteres então ai vai um exemplo utilizando random Function GeraSenha(iLength: Integer): String; const BASE = '0123456789abcdefghijklmnopqrstuvwxyz'; var szBuff: String; i, ii: integer; begin Randomize; for i := 1 to iLength do begin ii := Random(Length(BASE)) + 1; szBuff := szBuff + BASE[ii]; end; Result := szBuff; end; Em BASE está os caracteres que serão usados, ali você pode definir o que quiser no caso eu usei números de 0 a 9 e letras de A a Z iLength é o tamanho de caracteres que você quer que retorna... exemplo pra gerar uma senha com 5 caracteres var szstr: string; begin szstr := gerasenha(5); showmessage(szstr); Se você quiser que a senha seja gerada a partir de um escrita, no caso da sua função seria ContSenha então só você ignorar o BASE e usar ContSenha só que tem que fazer mais modificações, senão exemplo, você quer uma senha de 10 caracteres e passa 3 como base... entendeu? abraço
  19. Churc

    Ocultar Pasta

    Sim, apenas protege o acesso ao arquivo, mas a idéia minha não era proteger o arquivo e sim proteger o acesso ao arquivo ou pasta assim como o programa do Marcos Velasco faz =p
  20. Churc

    Ocultar Pasta

    opa dá pra usar também o seguinte método, por exemplo pra bloquear o acesso, você pega um arquivo copia X bytes do começo dele e joga no final e nesses X byte que você copiou você joga um caracter qualquer ai o windows não vai mais reconhecer este arquivo, pois o cabeçalho dele foi pro saco rsr ai pra desbloquear, você copia no final do arquivo os X bytes que você gravou que era o começo do arquivo, e joga denovo lá no começo... fiz um teste aqui funcionou, só que com pasta que não consegui, porque putz, eu penso assim, aquele programa do marcos velasco faz algo assim na pasta, reparem que a mensagem de erro é do Windows e não do programa dele, então ele mexe em algum byte a ponto que o Windows não consiga ler informações da pasta... O problema é que, pra arquivos eu consegui usando TFileStream, e pra pasta não tenho a mínima noção de como poderia modificar... alguém tem alguma idéia? abraços
  21. S3c Funcionou perfeito cara, testei com o ícone do Google Talk, onde seu Hint é "Google Talk" rs o ponteiro foi certinho emcima do ícone... abraço
  22. opa Micheus, isso exatamente... Porém o WinDowse é um pouco mais fácil de usar, assim a interface melhor... e pega mais informações também... muito bom os exemplos Micheus valeu :D po o cara do ajpdsoft podia ter facilitado e colocado um download do source ashusahu :P abraçao
  23. Churc

    Problema Com Codigo

    caFree é um propriedade do evento OnClose de um Form onde ca = Close Action Free = Livre resumindo seria, ao fechar o Form, o mesmo deve ser limpo da memória a outra opção é caNone, na qual impede que o fechamento do Form Mas pelo que você está falando, você colocou em lugar errado, não tem nenhum outro evento que suporte os evento de close action... cola ai parte do código que você tem dúvida, fica mais fácil te ajudar...
  24. Programador, mas isso ai só fica com o tema do XP caso o Windows seja XP não é?
×
×
  • Criar Novo...