Delphi DLL
Delphi DLL
CSV Get Contents of Cell using Row Index and Column Name
Demonstrates the GetCellByName method.Chilkat Delphi DLL Downloads
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;