17 dezembro 2011

Lista de Firmwares Oficiais para iPhone

Pessoal,

Segue a lista de todos os firmwares para iPhone lançados até hoje. Para quem quer fazer um upgrade ou downgrade tá ai...


iPhone4S
5.0.1 http://appldnld.apple.com/iPhone4/04...5_Restore.ipsw
5.0 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw

iPhone4 GSM
5.0.1 http://appldnld.apple.com/iPhone4/04...5_Restore.ipsw
5.0 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw
4.3.5 http://appldnld.apple.com/iPhone4/04...1_Restore.ipsw
4.3.4 http://appldnld.apple.com/iPhone4/04...2_Restore.ipsw
4.3.3 http://appldnld.apple.com/iPhone4/04...2_Restore.ipsw
4.3.2 http://appldnld.apple.com/iPhone4/04...7_Restore.ipsw
4.3.1 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw
4.3 http://appldnld.apple.com/iPhone4/04...0_Restore.ipsw
4.2.1 http://appldnld.apple.com/iPhone4/06...8_Restore.ipsw
4.1 http://appldnld.apple.com/iPhone4/06...7_Restore.ipsw
4.0.2 http://appldnld.apple.com/iPhone4/06...0_Restore.ipsw
4.0.1 http://appldnld.apple.com/iPhone4/06...6_Restore.ipsw
4.0 http://appldnld.apple.com.edgesuite....3_Restore.ipsw

iPhone4 CDMA
5.0.1 http://appldnld.apple.com/iPhone4/04...5_Restore.ipsw
5.0 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw
4.2.10 http://appldnld.apple.com/iPhone4/04...0_Restore.ipsw
4.2.9 http://appldnld.apple.com/iPhone4/04...1_Restore.ipsw
4.2.8 http://appldnld.apple.com/iPhone4/04...1_Restore.ipsw
4.2.7 http://appldnld.apple.com/iPhone4/04...3_Restore.ipsw
4.2.6 http://appldnld.apple.com/iPhone4/04...0_Restore.ipsw

iPhone3GS
5.0.1 http://appldnld.apple.com/iPhone4/04...5_Restore.ipsw
5.0 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw
4.3.5 http://appldnld.apple.com/iPhone4/04...1_Restore.ipsw
4.3.4 http://appldnld.apple.com/iPhone4/04...2_Restore.ipsw
4.3.3 http://appldnld.apple.com/iPhone4/04...2_Restore.ipsw
4.3.2 http://appldnld.apple.com/iPhone4/04...7_Restore.ipsw
4.3.1 http://appldnld.apple.com/iPhone4/04...4_Restore.ipsw
4.3 http://appldnld.apple.com/iPhone4/04...0_Restore.ipsw
4.2.1 http://appldnld.apple.com/iPhone4/06...a_Restore.ipsw
4.1 http://appldnld.apple.com/iPhone4/06...7_Restore.ipsw
4.0.2 http://appldnld.apple.com/iPhone4/06...0_Restore.ipsw
4.0.1 http://appldnld.apple.com/iPhone4/06...6_Restore.ipsw
4.0 http://appldnld.apple.com.edgesuite....3_Restore.ipsw
3.1.3 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
3.1.2 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
3.1 http://appldnld.apple.com.edgesuite....4_Restore.ipsw
3.0.1 http://appldnld.apple.com.edgesuite....0_Restore.ipsw
3.0 http://appldnld.apple.com.edgesuite....1_Restore.ipsw

iPhone3G
4.2.1 http://appldnld.apple.com/iPhone4/06...8_Restore.ipsw
4.1 http://appldnld.apple.com/iPhone4/06...7_Restore.ipsw
4.0.2 http://appldnld.apple.com/iPhone4/06...0_Restore.ipsw
4.0.1 http://appldnld.apple.com/iPhone4/06...6_Restore.ipsw
4.0 http://appldnld.apple.com.edgesuite....3_Restore.ipsw
3.1.3 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
3.1.2 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
3.1 http://appldnld.apple.com.edgesuite....4_Restore.ipsw
3.0.1 http://appldnld.apple.com.edgesuite....0_Restore.ipsw
3.0 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.2.1 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.2 http://appldnld.apple.com.edgesuite....7_Restore.ipsw
2.1 http://appldnld.apple.com.edgesuite....6_Restore.ipsw
2.0.2 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.0.1 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
2.0 http://appldnld.apple.com.edgesuite....7_Restore.ipsw

iPhone (Original)
3.1.3 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
3.1.2 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
3.1 http://appldnld.apple.com.edgesuite....4_Restore.ipsw
3.0.1 http://appldnld.apple.com.edgesuite....0_Restore.ipsw
3.0 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.2.1 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.2 http://appldnld.apple.com.edgesuite....7_Restore.ipsw
2.1 http://appldnld.apple.com.edgesuite....6_Restore.ipsw
2.0.2 http://appldnld.apple.com.edgesuite....1_Restore.ipsw
2.0.1 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
2.0 http://appldnld.apple.com.edgesuite....7_Restore.ipsw
1.1.4 http://appldnld.apple.com.edgesuite....2_Restore.ipsw
1.1.3 http://appldnld.apple.com.edgesuite....3_Restore.ipsw
1.1.2 http://appldnld.apple.com.edgesuite....b_Restore.ipsw
1.1.1 http://appldnld.apple.com.edgesuite....a_Restore.ipsw
1.0.2 http://appldnld.apple.com.edgesuite....8_Restore.ipsw
1.0.1 http://appldnld.apple.com.edgesuite....5_Restore.ipsw
1.0.0 http://appldnld.apple.com.edgesuite....a_Restore.ipsw

17 novembro 2011

Validar CPF/CNPJ e CEI no Delphi

Esta função valida o CNPJ/CPF ou CEI passado como parâmetro, retornando ou não uma mensagem de erro ao usuário. Ela usa a função somentenumerosnastring, postado anteriormente.

Aconselho formatar o Cnpj/CPF direto no banco numa trigger beforeinsert/update, usando a Stored procedure postada anteriormente



Retornar somente números na string

Essa função retorna somente números passados na string. Útil para validação de documentos, testes,etc.


function ApenasNumerosNaString(pStr:String): String;
//Converte uma cadeia de string onde se tenha numeros e caracteres em uma cadeia de strings onde so tenha numeros
Var
  I: Integer;
begin
  Result := '';
  For I := 1 To Length(pStr) do
   If pStr[I] In ['1','2','3','4','5','6','7','8','9','0'] Then
     Result := Result + pStr[I];
end;

10 novembro 2011

Resolvendo Runtime Error 216 ao instalar RAD/Delphi XE e XE2

[Portugese and English]

Provavelmente alguem já passou por este problema ou vai passar: Ter as versões RAD/Delphi XE2 e XE instaladas na mesma máquina e após a instalação a IDE do XE não inicializar com o erro abaixo:

Nome do evento do problema:   APPCRASH
Nome da aplicação:   bds.exe
Versão da aplicação:   15.0.3953.35171
Nome do módulo com erro:   coreide150.bpl

e em seguida: Runtime error 216 at 20A784BF

Resolução:

O problema está nos Arquivos Comuns (Common Files) das duas IDE´s. Você deve especificar caminhos diferentes na instalação das duas para que não haja conflito.

  • Se você já instalou o XE2 e tem o XE instalado, terá que remover os dois e reiniciar a máquina
  • Veja se não existe nenhum lixo que a instalação não apagou na pasta Common Files (C:\Program Files (x86)\Embarcadero\RAD Studio\8.0 e 9.0). Se houver, delete.
  • Instale o XE e na tela que pedir os caminhos de CommonFiles informe outro endereço sempre dentro da pasta common files sugerida pelo instalador. (ex: C:\Program Files\Common Files\XE)
  • Continue a instalação, execute o XE, registre e este estará ok.
  • Repita a instalação do XE2 e faça o mesmo, colocando na pasta Common Files\XE2 , por exemplo.

Desse modo você terá as 2 IDE´s rodando sem problema

Até a próxima.


In English:

  1. Uninstall RAD XE1 and XE2
  2. Check if have garbage Common Files of this older installations and delete it. (C:\Program Files (x86)\Embarcadero\RAD Studio\8.0 and 9.0)
  3. Install XE1 and choose different Common Files directory on installation: Ex:  C:\Program Files\Common Files\XE
  4. Register XE1. done
  5. Install XE2 and put XE2 Common Files in different path Ex: C:\Program Files\Common Files\XE2
  6. Register XE2
  7. Done....

03 novembro 2011

Gevey SIM card parou ou não funcionar? Passo-a-passo para desbloquear o iPhone


    Este guia vai mostrar como usar o Gevey Turbo SIM para desbloquear o iPhone 4 com a baseband 2.10.04, 3.10.01 e 4.10.01. Funciona por enquanto até o iOS 4.3.5 (testado por mim).
    Este tutorial se aplica somente a pessoas que tem seu iPhone importado bloqueado por operadora e atualizou o firmware e a baseband (por descuido) .
Se não souber onde comprar o Gevey, entre em contato comigo que tenho para vender.


27 outubro 2011

Formatar CPF/CNPJ direto no Firebird via SP

O exemplo abaixo cria uma Stored Procedure no Firebird para retornar CPF ou CNPJ formatados com pontuação. Você passa como parâmetro somente os numeros do documento. Enjoy!



create or alter procedure FORMATA_CPFCNPJ (
    INCPFCNPJ varchar(14))
returns (
    RESULTADO varchar(18))
as
begin
  /* Formata CPF ou CNPJ de somente números para números e pontuação
     Nilcemar P. Ferreira - http://nilcemar.blogspot.com - nilcemar@gmail.com - 10/2011*/

  if (char_length(:incpfcnpj)=11) then  --CPF
  begin
      resultado = Substring( :inCPFCNPJ from 1 for 3 ) || '.' || Substring( :inCPFCNPJ from 4 for 3 ) || '.' ||
                  Substring( :inCPFCNPJ from 7 for 3 ) || '-' || Substring( inCPFCNPJ from 10 for 2 );
  end
  else
  if (char_length(:incpfcnpj)=14) then  --CNPJ  17.605.320/0001-78
  begin
      resultado = Substring( :inCPFCNPJ from 1 for 2 ) || '.' || Substring( :inCPFCNPJ from 3 for 3 ) || '.' ||
                  Substring( :inCPFCNPJ from 6 for 3 ) || '/' ||
                  Substring( :inCPFCNPJ from 9 for 4 ) || '-' || Substring( inCPFCNPJ from 13 for 2 );
  end

  suspend;
end^

SET TERM ; ^

COMMENT ON PARAMETER FORMATA_CPFCNPJ.INCPFCNPJ IS
'Numero do CPF ou CNPJ sem pontuação';



Esta procedure é selecionável por causa da cláusula SUSPEND. Se quiser torná-la executável, elimine esta cláusula.

18 outubro 2011

Retornar somente números da string

Eata função retorna somente caracteres numéricos da cadeia passada como parâmetro. Muito útil

function ApenasNumerosNaString(pStr:String): String;
//Converte uma cadeia de string onde se tenha numeros e caracteres em uma
//cadeia de strings onde so tenha numeros
Var
  I: Integer;
begin
  Result := '';
  For I := 1 To Length(pStr) do
   If pStr[I] In ['1','2','3','4','5','6','7','8','9','0'] Then
     Result := Result + pStr[I];
end;

Formatar telefone no Delphi

Esta função formata o telefone digitado em diversos formatos, a partir da quantidade de dígitos do valor passado como parâmetro. Use na função onexit do seu TEdit


07 outubro 2011

10 lições mais importantes de Steve Jobs sobre empreendedorismo



Steve Jobs faleceu e todos nós iremos sentir a sua falta, por diversas razões. E é precisamente por essas razões que publicamos o artigo de hoje. Steve Jobs ensinou-nos, a todos nós, muitas lições sobre empreendedorismo, liderança, criatividade e acima de tudo, sobre saber viver.
Numa das suas citações mais populares, Steve Jobs referiu um aspecto muito importante, que infelizmente muitas pessoas ainda não conseguiram atingir. Tome nota:
“Your time is limited, so don’t waste it living someone else’s life.” – Steve Jobs
Basicamente, esta citação encaixa-se perfeitamente a todos aqueles blogueiros e webmasters que perdem mais tempo criticando ou desdenhando o trabalho dos seus concorrentes, do que propriamente a fazerem algo para mudar o mundo, ou simplesmente ajudar outros usuários.

 Veja as 10 lições mais importantes de Steve Jobs

22 setembro 2011

Internet do Brasil é mais lenta que angolana



O Brasil está em 163o. lugar quando o assunto é velocidade de internet em 224 países do mundo. De acordo com pesquisa divulgada pela Pando Networks, a média de 105 KBps vista no País faz com que nações como Haiti (128 KBps) e Angola (113 KBps) fiquem à frente no quesito.

O levantamento foi deito de janeiro a junho deste ano, com base em 27 milhões de downloads de 20 milhoes de computadores ao redor do planeta.

A média ficou em 580KBps, estando a Coreia do Sul com a melhor colocação (2.202 KBps), seguida da Romênia (1,909 KBps) e Bulgaria (1,611 KBps). Os Estados Unidos ficaram levemente acima da média, com de 616KBps.

Falando apenas de cidades, as menores são Argel, na própria Argélia, com 56 KBps, a brasileira Itapema, com 61 KBps, e a boliviana Santa Cruz, com 62KBps.

E que venham as olimpíadas e a  copa do mundo  !!

Fonte: ITWeb

02 setembro 2011

Chamar um programa e esperar a finalização

Para executar um programa e esperar até esse programa finalizar, use a rotina abaixo:

  • Acrescente na cláusula  uses  as units:  uses System,Windows,SysUtils;

function Executa (Arquivo : String; Estado : Integer) : Integer;
var

Abreviando nomes no Delphi

Dica para quem quer abreviar nomes no Delphi



function AbreviaNome(Nome: String): String;
var
  Nomes: array[1..20] of string;
  i, TotalNomes: Integer;

31 agosto 2011

Retirar Acentos no Firebird

Para quem precisa retirar acentos de um VarChar, segue uma Stored Procedure muito útil. Uso ela direto!


30 agosto 2011

Efetuar/Simular click em um botão de um formulário

<script>
function ClickBotao()
{
document.getElementById("nome_do_botao_que_quer_simular_o_click").click();
}
</script>

//Exemplo:
//Chamando a função ao carregar a página:

<form onload=ClickBotao()/>

25 agosto 2011

RAD XE2 (Delphi, RAD PHP e C++). Primeiras impressões

por Nilcemar Ferreira


Pessoal, depois de voltar do Delphi Tour em BH com Adreano Lanusse, fiquei muito empolgado na revolução que o novo RAD XE2 vai trazer para nós, dephinianos. O principal: Windows, MacOS, iOS tudo numa mesma IDE! Veja algumas novidades:

24 agosto 2011

Batalha entre iPhone 5 com Nexus Prime promete ser épica

Apesar de muitos analistas preverem para setembro a data provável de lançamento do iPhone 5, parece certo que o novo aparelho chegará às prateleiras em outubro, ao menos no mercado norte-americano.

De acordo com um fonte citada pela BGR.com, um gerente da operadora AT & T alertou aos seus funcionário sobre o período conturbado que está se aproximando. E um vice-presidente da empresa confirmou que a Apple irá lançar o iPhone 5 para vendas no começo de outubro.

22 agosto 2011

Cuidados ao usar o OnExit

É comum fazermos uso do evento OnExit quando queremos validar o conteúdo de um Edit. E essa pode ser uma boa prática quando necessitamos verificar o que foi digitado apenas quando o usuário terminar de fazer a entrada de dados, como, por exemplo, um Edit que vai receber o CPF ou CNPJ.

Ao colocarmos um código qualquer no evento OnExit ele sempre será executado quando o usuário sair do Edit, o que acontece quando ele pressiona a tecla TAB, clica com o mouse em um outro Edit ou pressiona um botão OK, por exemplo:

Windows 8 terá app store




Aparentemente, a Microsoft planeja distribuir aplicativos e outros conteúdos para o seu sistema operacional Windows 8 por meio de uma app store, parecida com a da Apple.

Trocando a cor de uma célula num DBGrid

Este código é útil para se trocar a cor de uma única célula no DbGrid, para se destacar, por exemplo um valor editado manualmente numa tabela de pedidos.  [Continue lendo]


17 agosto 2011

Gerar dígito verificador EAN13 no FB


Pessoal, pra quem precisa gerar automaticamente o dígito verificador para código de barras direto pelo DB, vai uma stored procedure muito simples, mas que te poupa muito tempo: a geração do dígito verificador.

Aquisição de US$ 12,5 bilhões promove mudanças e fortalece o mercado de TI

Consultor avalia possível transformação no mundo corporativo a partir da fusão Google-Motorola 
[fonte: information week


Com a aquisição da Motorola Mobility pelo Google muitas são as perguntas e especulações sobre os novos rumos que a empresa irá tomar, mas, principalmente, como essa negociação bilionária poderá impactar o mundo da TI corporativa.
O Google divulgou em seu blog oficial que a principal intenção da empresa é continuar investindo nos dispositivos móveis, especialmente na plataforma Android, mas com a negociação, a companhia também deve se valer de táticas de mercado. “A estratégia está em lançar devices aproveitando o crescimento exponencial do número de acessos a internet, via tablets e celulares, para atrair cada vez mais clientes para o próprio Google”, avalia Bruno Arrial, consultor da Frost & Sullivan no Brasil.  [continue lendo...]

Com Motorola Mobility, Google fortalece o já querido Android



Se, por um lado com a compra da Motorola Mobility o Google ganha força em hardware, por outro, conseguirá promover o já querido sistema operacional Android  [continue lendo...]

SP para retornar último dia do mês no Firebird

Esta SP muito útil retorna, com base nos parâmetros dia e ano o último dia do mês.


STRZERO no Firebird

Lembra daquela excelente função do Clipper (e outras linguagens) para colocar zeros à esquerda de uma string? Em um projeto precisei usá-la no meu bd em Firebird sem utilizar UDF para preencher automaticamente dígitos de crachá e outras funções. Segue DDL da Stored Procedure. Copie e cole no Script Executive do IBExpert ! Bom proveito.

"Clicando" um componente sem clicar nele

1 - Insira um ListBox e preencha-o com alguns itens;
2 - Insira um botão qualquer;
3 - No evento OnDblClick do ListBox, digite:

Button1.Perform(WM_LBUTTONDOWN, 0, 0);


Centralizando uma string


Function Center(StrX : string; IntX : ShortInt) : string;
begin
   Center := Middle (StrX, IntX, EspacoBranco);
end;

Alterar fonte do hint

Para testar este exemplo inclua no seu form alguns componentes. Nestes componentes coloque informações na propriedade Hint de cada componente e altere a propriedade ShowHint para True.