Olá, Alguns dias atrás eu estava emergencialmente procurando uma forma de enviar por email um arquivo zip que eu tinha na conta do dropbox, rapidamente eu abri o app do dropbox no iPhone, procurei o arquivo, selecionei ele e cliquei no botão de compartilhar e vi a opção Email (segundo botão), fiquei todo feliz 😀 . Mas.... 😥  ao tocar nele percebi que ele gera um link e coloca no corpo do email e não é isso que eu queria. Eu tinha que enviar o email com arquivo em anexo. Eis que consegui fazer isso com esse workaround. Continue lendo o artigo »
Boa noite, Se ao enviar um email usando o comando do Oracle UTL_SMTP, o assunto do email está chegando aos destinatários sem respeitar a acentuação, insira o comando abaixo para informar ao cliente de email usar a codificação ISO-8859-1.
 UTL_SMTP.WRITE_DATA( w_conn,     'Subject: ' ||  '=?iso-8859-1?Q?' ||
 UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.QUOTED_PRINTABLE_ENCODE(UTL_RAW.CAST_TO_RAW(i_subj))) ||
                                '?=' || UTL_TCP.CRLF);
Olá, Pra que serve a cláusula returning? Com a cláusula returning é possível retornar as linhas afetadas por operações DML. Por exemplo, se você fizer um update e logo após precisar retornar as linhas que foram alteradas, é só usar a cláusula returning. Assim não precisa fazer um cursor. Veja o exemplo abaixo: Script da tabela: create table EMPREGADO ( ID_EMP NUMBER not null, NOME_EMP VARCHAR2(100) not null, DATA_ADMISSAO_EMP DATE not null ) Código PL/SQL. DECLARE TYPE rec_emp IS RECORD (id_emp empregado.id_emp%type, nome_emp empregado.nome_emp%type, data_admissao_emp empregado.data_admissao_emp%type); TYPE tb_emp IS TABLE OF rec_emp; a_emp tb_emp; marca_err number; BEGIN marca_err := '0'; insert into empregado emp values (1, 'Julia', sysdate) returning emp.id_emp, emp.nome_emp, emp.data_admissao_emp bulk collect into a_emp; marca_err := '1'; dbms_output.put_line('======= INSERT ========'); for i in a_emp.first..a_emp.last loop dbms_output.put_line('ID: ' || a_emp(i).id_emp || ' - Nome: ' || a_emp(i).nome_emp || ' - Admissão: ' || a_emp(i).data_admissao_emp); end loop; marca_err := '2'; update empregado emp set emp.nome_emp = upper(emp.nome_emp) where emp.id_emp in (1,2) returning emp.id_emp, emp.nome_emp, emp.data_admissao_emp bulk collect into a_emp; marca_err := '3'; DBMS_OUTPUT.PUT_LINE('======= UPDATE ========'); for i in a_emp.first..a_emp.last loop dbms_output.put_line('ID: ' || a_emp(i).id_emp || ' - Nome: ' || a_emp(i).nome_emp || ' - Admissão: ' || a_emp(i).data_admissao_emp); end loop; marca_err := '4'; delete from empregado emp returning emp.id_emp, emp.nome_emp, emp.data_admissao_emp bulk collect into a_emp; marca_err := '5'; DBMS_OUTPUT.PUT_LINE('======= DELETE ========'); for i in a_emp.first..a_emp.last loop dbms_output.put_line('ID: ' || a_emp(i).id_emp || ' - Nome: ' || a_emp(i).nome_emp || ' - Admissão: ' || a_emp(i).data_admissao_emp); end loop; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Erro na execução: ponto erro: ' || marca_err || ' - ' || SQLERRM); END; No exemplo acima demonstro a cláusula returning com as 3 operações (Insert, Update e Delete). No caso do insert o retorno será de apenas 1 linha, não precisava usar uma table mas para padronizar eu a usei.
Olá, No iOS 8 foi inserido um atalho para os contatos favoritos ou recentes na tela do seletor de aplicativos (App Switcher), é a tela que abre quando apertamos duas vezes o botão home. Seletor de aplicativos - App Switcher   Para desligar esse atalho, abra o aplicativo Ajustes, toque na opção Mail, Contatos e Calendários. Depois escolha a opção Mostrar no Seletor de Aplicativos. Menu ajustes Na próxima tela você poderá optar por desligar tudo ou deixar alguma ativa. Eu acho a de mostrar os contatos favoritos do telefone uma boa. Seletor de aplicativos     As telas acima são da versão iOS 8 GM. Até mais,
Olá, Para quem quer conhecer mais sobre a linguagem Swift da Apple selecionei abaixo algumas boas fontes de tutoriais. Primeiro faça o download do Xcode 6 (em beta), aqueles que possuem a conta gratuita também tem acesso. Fontes de conhecimento em inglês:
  1. Canal do youtube - Skip Wilson
  2. Outro canal do youtube - Brian
  3. Livro gratuito - “The Swift Programming Language”
  4. Apresentações, demonstrações em video e exemplos - https://developer.apple.com/swift/resources/
  5. Blog oficial - https://developer.apple.com/swift/blog/
  6. The Swift Language Youtube - https://www.youtube.com/user/TheSwiftLanguage/videos
Continue lendo o artigo »