Jump to content
Fórum Script Brasil
  • 0

Importação De Arquivo .vcf (vcard)


Israel Junior
 Share

Question

Olá,

Venho pesquisando como viabilizar a importação de um vCard para minha base de dados.

Meu Cliente possui uma aplicação para gerenciamento de contatos, em ASP rodando em windows XP, IIS 5.1, Base de dados SQL Server 2000.

Estou desenvolvendo uma area para importação de contatos, estes devem ser importados atraves de arquivos .vcf. O usuário selecionaria o arquivo .vcf em sua maquina, o sistema faria o upload do arquivo para uma pasta temporária, redicionaria para uma outra página onde este arquivo seria lido e os dados seriam inseridos em campos da minha base.

Antes que deem as seguintes sugestões vou esclarecer:

- O Cliente não quer migrar o sistema para outra linguagem;

- Preciso importar .VCF;

- Ao tentar usar ADO.Person, recebo mensagem de classe invalida;

Nâo preciso do beabá inteiro, apenas qual caminho seguir, qual componente usar.

Muito Obrigado

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

o upload e FSO são extremamente simples. O problema é realmente em ler e interpretar de forma completa o arquivo. Quanto aos splits, vou morrer de tanto dar split, e em alguns casos posso não encontrar nada. Perceba cada caso:

- em N = os dados são Sobre nome, nome, um outro dado que não sei o que é, tratamento e sufixo separados pelo delimitador ';'

- em FN = os dados são Nome Completo junto com o Sufixo sem delimitador

A questão é que já havia retornado este conteudo abaixo, lendo linha a linha, mas não imaginei que fosse tão arcaico isso, ainda mais por ser um arquivo da propria microsoft, e um tipo de tecnologia muito utilizada. Imaginei que houvesse uma forma de se conectar ao arquivo, ou acessar via um componente padrão.

Algo assim:

set vCard = server.createobject("ADO.AlgumaCoisa")

ou

set vCard = server.createobject("CDO.AlgumaCoisa")

Depois abrir o arquivo com open ou loadFromFile.

Depois utilizar vCard com suas propriedades e metodos:

txt_Nome = vCard.fullName

txt_Endereco1 = vCard.AddrWork

txt_Endereco2 = vCard.AddrHome

etc.. etc.. etc..

Segue abaixo o conteúdo do arquivo:

BEGIN:VCARD
VERSION:2.1
N:Completo;Nome;;txtTratamento;txtSufixo
FN:Nome Completo txtSufixo
NICKNAME:txtApelido
ORG:Nome da Empresa;txtDepto
TITLE:txtCargo
NOTE;ENCODING=QUOTED-PRINTABLE:Asdasdfasdfa=0D=0ASdf=0D=0AAsd=0D=0Af=0D=0A
TEL;WORK;VOICE:(11) 9999-9999
TEL;HOME;VOICE:(11) 9999-9999
TEL;CELL;VOICE:(11) 9999-9999
TEL;WORK;FAX:(11) 9999-9999
ADR;WORK:;txtSala;txtENDComercial;txtCidade;txtEstado;txtCEP;Brasil
LABEL;WORK;ENCODING=QUOTED-PRINTABLE:txtSala=0D=0AtxtENDComercial=0D=0AtxtCidade, txtEstado txtCEP=0D=0ABrasil
ADR;HOME:;;txtENDRes;txtCidade;txtEstado;txtCEP;Brasil
LABEL;HOME;ENCODING=QUOTED-PRINTABLE:txtENDRes=0D=0AtxtCidade, txtEstado txtCEP=0D=0ABrasil
ADR;POSTAL:;;txtENDOutro;txtCidade;txtEstado;txtCEP;Brasil
LABEL;POSTAL;ENCODING=QUOTED-PRINTABLE:txtENDOutro=0D=0AtxtCidade, txtEstado txtCEP=0D=0ABrasil
URL;WORK:http://endereconaweb.com.br
ROLE:txtProfissao
BDAY:20061221
EMAIL;PREF;INTERNET:[email protected]
REV:20070105T025529Z
END:VCARD[/codebox]

É arcaico mesmo?? alguém sabe como viabilizar isso?? não é preguiça de programar, já estou programando isso mas acho deprimente gastar tanto código assim, se não existir uma forma decente de ler arquivos .vcf, já sei como vou ganhar muito dinheiro quando o meu estiver pronto.

Será que alguém sabe?? ou tem idéias??

Obrigado pessoal

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      151k
    • Total Posts
      649.1k
×
×
  • Create New...