Заготовка написана на коленке, С++
Код:

//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString fName, lName, nTelefon, NameFile;
TSysCharSet chSpace;
chSpace<<' ';
TStringList *TokenSpace = new TStringList();
Memo2->Clear();
for(int i = 0; i < Memo1->Lines->Count; i++){
ExtractStrings(chSpace, chSpace, Memo1->Lines->Strings[i].c_str(), TokenSpace);
// Здесь можно поставить проверку на то что
// все три необходимые записи (имя, фамилия, телефон) - есть.
fName = TokenSpace->Strings[0];
lName = TokenSpace->Strings[1];
nTelefon = TokenSpace->Strings[2];
Memo2->Lines->Add("BEGIN:VCARD");
Memo2->Lines->Add("VERSION:2.1");
Memo2->Lines->Add("N;ENCODING=QUOTED-PRINTABLE;CHARSET=UTF-8:" + fName + " " + lName);
Memo2->Lines->Add("TEL;WORK:" + nTelefon);
Memo2->Lines->Add("END:VCARD");
NameFile = String(FormatFloat("000", i) + ".txt");
Memo2->Lines->SaveToFile(NameFile);
TokenSpace->Clear();
Memo2->Clear();
}
}
//---------------------------------------------------------------------------