Boa tarde Coloquei uma chave na coluna de CGC em uma cadastro de fornecedores Para nao cadastrar em duplicidade a mesma empresa.
Minha duvida a mensagem de erro de chave volta em ingles pelo delphi, teria como eu alterar esta mensagem??? e colocar algo mais simples Atenciosamente, Sérgio E. Santo Depto. Gestão US - US 001 ges...@premiumalimentacao.com.br Premium - Responsabilidade e Garantia na Pratica Diária de Bem Atender 11 - 3378-4501 35 - 3422-9949 11 - 8498-4582 visite nosso site... www.premiumalimentacao.com.br A Premium é uma concessionária moderna e ágil quando o assunto é solução em alimentação coletiva, atuando em todo o interior dos estados de São Paulo e Minas Gerais desde1998 e pronta para atuar em todas as regiões do país, esta preparada para oferecer produtos e serviços com excelência em qualidade nos segmentos da indústria, saúde, comércio e serviços, educação, agro-negócio e outros onde nossas soluções sejam bem vindas. Possuimos um diversificado e flexível portifólio para soluções completas das necessidades dos Clientes e Consumidores. ________________________________ De: Rubem Rocha <rubem.ro...@dtmanaus.com.br> Para: delphi-br@yahoogrupos.com.br Enviadas: Terça-feira, 13 de Abril de 2010 12:53:03 Assunto: [delphi-br] [DICA] Mostrando Dados da BIOS em Delphi { ShowBiosData. dpr Mostra os dados da BIOS do micro. Roda em Windows 9x/ME ou NT/2000/XP/2003. por Rubem Nascimento da Rocha - djpardalrocha@ hotmail.com Pode ser usado livremente, desde que seja dado o devido crédito ao autor. } program ShowBiosData; {$APPTYPE CONSOLE} {$WARNINGS OFF} uses Windows, SysUtils, Classes, Types, Registry; const // Para uso somente em plataformas Windows 9x/ME cBIOSName = $FE061; cBIOSDate = $FFFF5; cBIOSExtInfo = $FEC71; cBIOSCopyright = $FE091; // Para uso somente em plataformas NT (NT/2000/XP/ 2003/etc. ) rkBIOS = '\HARDWARE\DESCRIPT ION\System' ; rvBiosDate = 'SystemBiosDate' ; rvBiosID = 'Identifier' ; rvBiosVersion = 'SystemBiosVersion' ; function MultiSzToArray( const MultiSz: PChar): TStringDynArray; var P: PChar; // aponta para as strings no buffer begin SetLength(Result, 0); // Não faz nada se MultiSz é nil if not Assigned(MultiSz) then Exit; // Busca por strings delimitadas por #0 até encontrar #0#0 P := MultiSz; while P^ <> #0 do begin // adiciona strings ao vetor resultado (retorno da função) SetLength(Result, Length(Result) + 1); Result[Length( Result) - 1] := StrPas(P); // move ponteiro para o início da próximo string (se houver) Inc(P, StrLen(P) + 1); end; end; procedure MultiStrFromBuf( Buffer: array of Byte; var List: TStringList) ; var p: PChar; lStrings: TStringDynArray; i: Integer; begin p := PChar(@Buffer) ; lStrings := MultiSzToArray( p); for i := Low(lStrings) to High(lStrings) do List.Add(lStrings[ i]); end; function ReadRegistryValueAs String(Root: HKEY; Key, Value: string; BinaryAsHex: Boolean = True): string; var sl: TStringList; i, DataSize, DataType: Integer; Data: array[0..1024] of Byte; begin Result := EmptyStr; with TRegistry.Create do try RootKey := Root; Access := KEY_READ; if OpenKey(Key, False) and ValueExists( Value) then begin RegQueryValueEx( CurrentKey, PChar(Value) , nil, PDWORD(@DataType) , nil, PDWORD(@DataSize) ); case DataType of REG_SZ: Result := ReadString(Value) ; REG_EXPAND_SZ: begin Result := ReadString(Value) ; DataSize := ExpandEnvironmentSt rings(PChar( Result), nil, DataSize); if DataSize > 0 then begin DataSize := ExpandEnvironmentSt rings(PChar( Result), PChar(@Data) , DataSize); Result := string(PChar( @Data)); end; end; REG_DWORD, REG_DWORD_BIG_ ENDIAN: Result := IntToStr(ReadIntege r(Value)) ; REG_MULTI_SZ: begin Result := EmptyStr; if DataSize > -1 then begin ReadBinaryData( Value, Data, DataSize); sl := TStringList. Create; try MultiStrFromBuf( Data, sl); Result := sl.Text; finally sl.Free; end; end; end; else begin Result := EmptyStr; if DataSize >- 1 then begin ReadBinaryData( Value, Data, DataSize); if BinaryAsHex then begin i := 0; if Data[i] <> 0 then Result := Result + Format('%2.2x' , [Data[i]]) else if Copy(Result, Length(Result) , 1) <> #10 then Result := Result + sLineBreak; SetLength(Result, Length(Result) - 2); end else begin for i := 0 to DataSize - 1 do Result := Result + Format('%2.2x ',[Ord(Data[ i])]); SetLength(Result, Length(Result) - 1); end; end; end; end; CloseKey; end; finally Free; end; end; function BIOSName: String; begin Result := ReadRegistryValueAs String(HKEY_ LOCAL_MACHINE, rkBIOS, rvBiosID, False); end; function BIOSDate: String; begin Result := ReadRegistryValueAs String(HKEY_ LOCAL_MACHINE, rkBIOS, rvBiosDate, False); end; function BIOSCopyright: AnsiString; begin Result := ReadRegistryValueAs String(HKEY_ LOCAL_MACHINE, rkBIOS, rvBiosVersion, False); end; begin if Win32Platform < VER_PLATFORM_ WIN32_NT then begin WriteLn('BIOS Name: ', StrPas(PChar( Ptr(cBIOSName) ))); WriteLn('BIOS Data: ', StrPas(PChar( Ptr(cBIOSDate) ))); WriteLn('BIOS Copyright: ', StrPas(PChar( Ptr(cBIOSCopyrig ht)))); WriteLn('BIOS Extended Info: ', StrPas(PChar( Ptr(cBIOSExtInfo )))); end else begin WriteLn('BIOS Name: ', BIOSName); WriteLn('BIOS Date: ', BIOSDate); WriteLn('BIOS Copyright: ', BIOSCopyright) ; end; WriteLn(Eoln) ; end. Rubem Nascimento da Rocha 92 8429 2865 rubem.rocha@ digitalti. com.br assinatura email Digital TI - Coordenação de Automação Av. Carvalho Leal, 1330 - 1º Andar Cachoeirinha - 69065-001 Manaus/AM Call Center: 92 2101-0100 <http://www.dtmanaus .com.br> www.dtmanaus. com.br [As partes desta mensagem que não continham texto foram removidas] ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]