Mega Code Archive

 
Categories / Delphi / Files
 

Extract eMail adresses from a csv file

Title: extract eMail adresses from a csv file? //you need a Tlistbox, aTButton, aTLabel procedure readcsv(liste: string); var i, b, at, lang, anfang, ende: Integer; email, csv: TStringList; found1, found2, atf: Boolean; begin csv := TStringList.Create; csv.LoadFromFile(liste); // die angegeben csv auslesen email := TStringList.Create; email.Sorted := True; found1 := False; found2 := False; atf := False; for i := csv.Count - 1 downto 0 do begin for b := Length(csv.Strings[i]) downto 1 do begin if csv.Strings[i][b] = '@' then begin at := b; //das @ suchen atf := True; end; end; //ende Buchstabe if atf = True then //Wenn @ gefunden begin for b := at downto 1 do begin if found1 = False then begin if b = 1 then //Wenn Email am Anfang beginnt begin anfang := b; found1 := True; //anfang der E-Mail gefunden end; if csv.Strings[i][b] = ';' then //Den ; vor dem @ suchen begin anfang := b + 1; found1 := True; //anfang der E-Mail gefunden end; end; end; //ende suche begin found1 := False; for b := at to Length(csv.Strings[i]) do begin if csv.Strings[i][b] = ';' then begin if found2 = False then begin ende := b; found2 := True; //Ende der E-Mail gefunden end; end; end; //ende suche begin found2 := False; lang := ende - anfang; //Länge der Email-Adresse herausfinden email.Add(Copy(csv.Strings[i], anfang, lang)); //Die E-Mail zur Stringlist hinzufügen atf := False; end; //ende zeilen end; //ende ohne at Form1.ListBox1.Clear; Form1.listbox1.Items.addstrings(email); Form1.Label1.Caption := IntToStr(Form1.listbox1.Items.Count) + ' E-Mails gefunden!!'; csv.Free; email.Free; end; //ende readcsv procedure TForm1.Button1Click(Sender: TObject); begin readcsv('c:\test.csv'); //die Liste angeben end;