Ir para conteúdo
Fórum Script Brasil

Bryant

Membros
  • Total de itens

    84
  • Registro em

  • Última visita

Tudo que Bryant postou

  1. Galera, Alguém sabe como mover sheets via delphi? Exemplo: Workbook.Sheets.Add (EmptyParam, EmptyParam, Count, SheetType, FLCID); Workbook.Sheets.Move(2, 3, FLCID); Onde workbook: property Workbook : TExcelWorkbook read GetWorkbook; Utilizando ExcelXP.pas que fica na pasta Ocx/Servers do próprio Delphi. Ele retorna "ole error 800a03ec" Eu crio uma sheet, depois quero mover para a posição indicada, depois da 2 e antes da 3.. mas não consigo. Alguém tem alguma idéia? Obrigado ;)
  2. Como faço para pegar a sheet ativa no delphi? Estou utilizando da seguinte maneira: property Workbook : TExcelWorkbook read GetWorkbook; TExcelWorkbook (ExcelXP.pas) Queria algo do tipo Workbook.Worksheets. Para que eu pudesse ver a selecionada. Alguém tem idéia?
  3. Alguém consegue enviar email para yahoo, ou gmail? Através do delphi não consigo de jeito nenhum. Consegui enviar emails internos da seguinda maneira: var FSmtpClient: TIdSMTP; FSmtpClient.QuickSend(FSMTP, GetEmailSubject(MsgTitle), UserEmail, FUserID, Msg.Text); Desta maneira, consigo enviar um email normalmente através do smtp da wnet, mas se tento enviar para outro e-mail, por exemplo teste@yahoo.com.br, tenho como retorno: "Recipient address rejected: Access denied", sendo que não deveria acontecer, visto que envio normalmente pelo outlook por exemplo. Pediram pra setar o UseEhlo para false, mas mesmo assim o problema persiste: FSmtpClient.UseEhlo := False; Baixei 2 DLL's que eram necessárias, "ssleay32.dll" e "libeay32.dll", mas ainda nada. Alguém tem alguma idéia? Vlw!
  4. Ninguém resolveu isso para o Delphi 7 até hoje? O documento XML deve ter um elemento de nível superior. Line: 0 Muito estranho isso...
  5. Galera, Estou com uma dúvida enorme, criei um webservice, sem NADA, dai setei o encoding dele para http://schemas.xmlsoap.org/soap/encoding/ Depois tentei alterar para vários valores: vazio, "aaaa" e por aí vai.. mas ele sempre inclui. Código abrindo o WSDL pelo IE <?xml version="1.0" encoding="utf-8" ?> - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema" name="ICoBioWebServiceIntfservice" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"> <portType name="ICoBioWebServiceIntf" /> - <binding name="ICoBioWebServiceIntfbinding" type="tns:ICoBioWebServiceIntf"> <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> </binding> - <service name="ICoBioWebServiceIntfservice"> - <port name="ICoBioWebServiceIntfPort" binding="tns:ICoBioWebServiceIntfbinding"> <soap:address location="http://localhost/testews/FingerprintBioWS.dll/soap/ICoBioWebServiceIntf" /> </port> </service> </definitions> Código abrindo o SOAP pelo IE <?xml version="1.0" ?> - <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"> - <SOAP-ENV:Body> - <SOAP-ENV:Fault> <faultactor /> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>O documento XML deve ter um elemento de nível superior. Line: 0</faultstring> </SOAP-ENV:Fault> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Esse erro eu obtenho quando utilizo esse encoding, mas se eu removo ele aparece de qualquer forma, meu web.config não tem nada, por isso nem é setado por lá. Alguém tem idéia?
  6. Bryant

    Certificação

    Galera, Estou pensando em algumas certificações. Minha experiência de trabalho tem sido voltada muito para web e delphi. Eu gostaria de saber se alguém recomenda uma certificação em específico, se tem idéia do que esstudar, aonde algum curso é dado. Eu pensei em algo relacionado a BD... SQL sei lá.. Alguém tem alguma idéia? Vlw!
  7. Jhonas desculpe pela demora na resposta. Conhecia o cognaxon já, realmente para conversões de boa qualidade, é preciso utilizar um componente pago. Acabei comprando licenças da griaule mesmo, excelente componente. Muito obrigado por toda a ajuda!
  8. Link para um .rar com 5 samples: http://www.sendspace.com/file/0o9eln Obrigado pela ajuda toda ai Jhonas! ;) Aproveito e vou jogar minha unit toda aqui pra se você puder testar: unit UImgConverter; interface uses Classes, Types; type TImgConverter = class public class function WSQ2JpgBmp(WsqBuffer: PByte): Integer; end; function ImgConvWSQToRawBuf(WsqBuffer: PByte; RawBuffer: PByte; var Size: Integer; var Width: Integer; var Height: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvWSQToRawBuf'; function ImgConvRawToBmpBuf(RawBuffer: PByte; Width: Integer; Height: Integer; BmpBuffer: PByte; out Size: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvRawToBmpBuf'; function ImgConvRawToJpgBuf(RawBuffer: PByte; Width: Integer; Height: Integer; Quality: Integer; BmpBuffer: PByte; out Size: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvRawToJpgBuf'; implementation uses Windows, Dialogs, SysUtils, ActiveX, Variants, NBioBSPCOMLib_TLB; {================================================================= CONVERTE UMA IMAGEM WSQ E SALVA EM BMP E JPG =================================================================} class function TImgConverter.WSQ2JpgBmp(WsqBuffer: PByte): Integer; var OutBufferPtr: PByte; BmpBuffer : PByte; JpgBuffer : PByte; OutBufferJpg: array of Byte; OutBufferBmp: array of Byte; RawBuffer : array of Byte; ArqJpg : TFileStream; ArqBmp : TFileStream; BmpSize : Integer; JpgSize : Integer; Size : Integer; Width : Integer; Height : Integer; NomeArquivo : string; const MAX_ARRAY = 390000; JPG_QUALITY = 75; IMG = 'C:\Users\user\Desktop\convertidas\convertido'; begin try //RAW SetLength(RawBuffer, MAX_ARRAY); OutBufferPtr := PByte(@(RawBuffer[0])); //BMP SetLength(OutBufferBmp, MAX_ARRAY); BmpBuffer := PByte(@(OutBufferBmp[0])); //JPG SetLength(OutBufferJpg, MAX_ARRAY); JpgBuffer := PByte(@(OutBufferJpg[0])); Result := ImgConvWSQToRawBuf(WsqBuffer, OutBufferPtr, Size, Width, Height); //WSQ -> RAW Result := ImgConvRawToJpgBuf(OutBufferPtr, Width, Height, JPG_QUALITY, JpgBuffer, JpgSize); //RAW -> JPG Result := ImgConvRawToBmpBuf(OutBufferPtr, Width, Height, BmpBuffer, BmpSize); //RAW -> BMP try //Criando .jpg e .bmp NomeArquivo := IMG + FloatToStr( Now ); ArqJpg := TFileStream.Create(NomeArquivo + '.jpg', fmCreate); ArqJpg.Write(OutBufferJpg[0], JpgSize); ArqBmp := TFileStream.Create(NomeArquivo + '.bmp', fmCreate); ArqBmp.Write(OutBufferBmp[0], BmpSize); finally if Assigned(ArqBmp) then FreeAndNil ( ArqBmp ); if Assigned(ArqJpg) then FreeAndNil ( ArqJpg ); end; except on e:Exception do begin ShowMessage( e.Message ); Result := -1; end; end; end; end.
  9. Não tinha reparado realmente, obrigado Jhonas. O ruim é que ele não deixa diminuir o tamanho, só se for bem pouco do tipo 380000, senão ele executa a primeira função e logo termina sem fazer nada. Porque no exemplo de C++ eles realmente utilizam 390000: lpBMPBuf = new unsigned char[600 * 650]; Po muito estranho isso não é oO ...meio sem idéias :huh: EDIT: o retorno do size está desta maneira: RAW_ARRAY = 384400; JPG_ARRAY = 323015; BMP_ARRAY = 385478; Este é o out de cada uma das funções, realmente o valor 390000 está certo aparentemente, mas ele quebra mesmo assim =/
  10. Só para evitar de criar um outro tópico.. Estas conversões são tão erradas assim? Estou utilizando um .wsq perfeito e quando faço a conversão para .bmp ou .jpg eu tenho um retorno do tipo: Utilizando as funções function ImgConvWSQToRawBuf(WsqBuffer: PByte; RawBuffer: PByte; var Size: Integer; var Width: Integer; var Height: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvWSQToRawBuf'; function ImgConvRawToBmpBuf(RawBuffer: PByte; Width: Integer; Height: Integer; BmpBuffer: PByte; out Size: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvRawToBmpBuf'; E uma função para fazer isto: class function TImgConverter.WSQ2Raw(WsqBuffer: PByte): Integer; var OutBufferPtr: PByte; BmpBuffer : PByte; BmpSize : Integer; OutBuffer : array of Byte; RawBuffer : array of Byte; Size, Width, Height: Integer; ArqWsq : TFileStream; tmp : String; const RAW_ARRAY = 390000; BMP_IMG = 'C:\Users\user\Desktop\convertido.jpg'; begin try //BMP SetLength(OutBuffer, RAW_ARRAY+1); BmpBuffer := PByte(@(OutBuffer[0])); //RAW SetLength(RawBuffer, RAW_ARRAY+1); OutBufferPtr := PByte(@(RawBuffer[0])); Result := ImgConvWSQToRawBuf(WsqBuffer, OutBufferPtr, Size, Width, Height); //WSQ -> RAW Result := ImgConvRawToBmpBuf(OutBufferPtr, Width, Height, BmpBuffer, BmpSize); //RAW -> BMP try ArqWsq := TFileStream.Create(BMP_IMG, fmCreate); ArqWsq.Write(OutBuffer[0], Length(OutBuffer)); finally if Assigned(ArqWsq) then FreeAndNil ( ArqWsq ); end; except Result := -1; end; end; Mas a conversão é feita pessimamente, ele estraga completamente a imagem, fora que depois da execução, um tempinho depois o programa estoura (fiz um executável APENAS com isso). Tem alguma idéia do porque de uma conversão tão mal feita? Obrigado.
  11. Bryant

    WebService + DLL

    Eu fiz o webservice chamando um executável só para fazer esta conversão. Ele consegue fazer, mas sempre estoura a memória no final, tudo muito estranho. o ruim é que o raw que ele gera, pela griaule dá sempre um template de má qualidade. Vou pesquisar mais sobre, obrigado mais uma vez Jhonas.
  12. Bryant

    WebService + DLL

    Exatamente Jhonas!
  13. Pessoal, possuo um webservice (dll) e dentro dele existe uma unit que utiliza uma outra DLL, uma chamada do tipo: function ImgConvWSQToRawBuf(WsqBuffer: PByte; RawBuffer: PByte; var Size: Integer; var Width: Integer; var Height: Integer): Integer; cdecl; external 'NImgConv.dll' name 'NBioAPI_ImgConvWSQToRawBuf'; Mas o webservice não consegue executá-la, apenas consigo utilizar numa aplicação normal. Existe alguma limitação ou configuração que eu precise utilizar no IIS para que ele consiga rodar esta função? A .dll está no system32, adicionei como restrições ISAPI e CGI, mas ainda sim não consigo utilizar. Alguém tem idéia? Obrigado.
  14. Mais uma vez obrigado Jhonas. Pra quem tiver a mesma dúvida RawBuffer := VarArrayCreate( [0,RAW_ARRAY], varByte ); P := varArrayLock( RawBuffer ); Move( OutBuffer[0], P^, Length(OutBuffer) ); VarArrayUnlock( RawBuffer );
  15. Acho que consegui alguma coisa... function WSQ2Raw(WsqBuffer: PByte; out RawBuffer: OleVariant; out Size: Integer; out Width: Integer; out Height: Integer): Integer; var ImgConv : THandle; WSQToRawBuf : TImgConvWSQToRawBuf; OutBuffer : array[0..420000] of Byte; OutBufferPtr: PByte; Ix : Integer; const IMG_DLL = 'NImgConv.dll'; RAW_ARRAY = 420000; begin Result := -1; ImgConv := LoadLibrary(IMG_DLL); try if (ImgConv <> 0) then begin WSQToRawBuf := GetProcAddress(ImgConv, 'NBioAPI_ImgConvWSQToRawBuf'); OutBufferPtr := PByte(@OutBuffer); if @WSQToRawBuf <> nil then begin Result := WSQToRawBuf(WsqBuffer, OutBufferPtr, Size, Width, Height); RawBuffer := VarArrayCreate([0,RAW_ARRAY], varVariant); for Ix := 0 to RAW_ARRAY do RawBuffer[Ix] := OutBuffer[Ix]; end; end; finally FreeLibrary(ImgConv); end; end; Minha dúvida é aqui: RawBuffer := VarArrayCreate([0,RAW_ARRAY], varVariant); for Ix := 0 to RAW_ARRAY do RawBuffer[Ix] := OutBuffer[Ix]; * Assim ele não pega os valores Como eu posso passar um array de byte para um olevariant? Obrigado Jhonas mais uma vez! ;)
  16. Peguei aqui os manuais mas este por exemplo explica como iniciar, e utilizar o enroll e o verify. No meu caso só quero utilizar as funções que utilizam as imagems. Mas minha dúvida é básica, só quero saber como as chamo ^^ Já instalei tudo mas não sei como posso utilizar estas funções, dou uses na unit mas não possui estas funções das imagens. Esta que é a dúvida. Obrigado Jhonas.
  17. Ainda não entendi direito como utilizar as funções de ImgConverter. Já instalei tudo e agora quero utilizar a função "NBioAPI_ImgConvWSQToRawBuf", ela fica dentro da .dll? Percebi que já possuo no system32, pensei que fosse algo da própria nitgen *perdido* hahaha Como utilizo qualquer uma das funções de imgconverter deles? Obrigado mais uma vez Jhonas, ta salvando minha vida!
  18. Reparei aqui que essa biblioteca que trabalha com imagens precisa da "NImgConv.dll" que é ela que possui as funções que preciso "NBioAPI_ImgConvRawToWSQBuf" Sabe onde posso encontrar? Obrigado.
  19. Ainda é sobre biometria sim! Estou há tempos olhando este da nitgen, vou olhar com mais calma! Não sabia que ele podia trabalhar com .wsq. Obrigado mais uma vez Jhonas.
  20. Existe algum componente que transforme de um formato qualquer para raw image? Alguém sabe? Obrigado.
  21. Na verdade só vou precisar disto, já recebo de cara uma imagem .wsq e dela gero um template ou comparo com um já existente, por isso o da Griaule dá uma grande flexibilidade. Obrigado Jhonas.
  22. Bryant

    Scanner!

    Acredito que não. Nativo nem PDF o asp faz, só com componentes a parte, recomendo o fpdf.
  23. Isso que está me impossibilitando de comprar na verdade. No site deles avisam: Mandei também um e-mail e me responderam o seguinte: Responderam quando eu perguntei se era necessário uma licença válida para cada usuário também. Mas aí acaba ficando inviável de comprar, já que eu iria usar o componente em um webservice. Obrigado Jhonas.
  24. É isso eu sei.. mas na verdade queria um com custo inferior ao da Griaule, são muito caros e é preciso uma licença para cada máquina (inclusive de usuários) Obrigado Jhonas.
  25. Alguém conhece algum que trabalhe com formatos .wsq? Preciso converter wsq em raw image para realizar o extract... mas também... só o da griaule =/
×
×
  • Criar Novo...