Sample code for 30+ languages & platforms
Delphi DLL

CSV Get Contents of Cell using Row Index and Column Name

Demonstrates the GetCellByName method.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Csv, StringBuilder;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
bCrlf: Boolean;
sb: HCkStringBuilder;
csv: HCkCsv;
cellContent: PWideChar;

begin
success := False;

// We have the following CSV...

// permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round
// lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b
// mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed
// flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a
// infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a
// gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed

bCrlf := True;
sb := CkStringBuilder_Create();
CkStringBuilder_AppendLine(sb,'permalink,company,numEmps,category,city,state,fundedDate,raisedAmt,raisedCurrency,round',bCrlf);
CkStringBuilder_AppendLine(sb,'lifelock,LifeLock,,web,Tempe,AZ,1-May-07,6850000,USD,b',bCrlf);
CkStringBuilder_AppendLine(sb,'mycityfaces,MyCityFaces,7,web,Scottsdale,AZ,1-Jan-08,50000,USD,seed',bCrlf);
CkStringBuilder_AppendLine(sb,'flypaper,Flypaper,,web,Phoenix,AZ,1-Feb-08,3000000,USD,a',bCrlf);
CkStringBuilder_AppendLine(sb,'infusionsoft,Infusionsoft,105,software,Gilbert,AZ,1-Oct-07,9000000,USD,a',bCrlf);
CkStringBuilder_AppendLine(sb,'gauto,gAuto,4,web,Scottsdale,AZ,1-Jan-08,250000,USD,seed',bCrlf);

csv := CkCsv_Create();

CkCsv_putHasColumnNames(csv,True);
success := CkCsv_LoadFromString(csv,CkStringBuilder__getAsString(sb));

// Get the contents of the cell at row 2 for the "city" column, which is "Scottsdale".
// Indexes are 0-based.  The 2nd row is at index 14.
// (The row of column names is not a data row.)
cellContent := CkCsv__getCellByName(csv,1,'city');
Memo1.Lines.Add(cellContent);

// Output should be "Scottsdale"

CkStringBuilder_Dispose(sb);
CkCsv_Dispose(csv);

end;