Delphi DLL
Delphi DLL
CSV Get Contents of Cell
Demonstrates the GetCell method (to get the contents of a cell by row/column index).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();
// Indicate that the 1st line contains column names.
CkCsv_putHasColumnNames(csv,True);
success := CkCsv_LoadFromString(csv,CkStringBuilder__getAsString(sb));
// Get the contents of the cell at row 2 column 5, which is "Scottsdale".
// Indexes are 0-based. The 2nd row is at index 1, and the 5th column is at index 4.
// (The row of column names is not a data row.)
cellContent := CkCsv__getCell(csv,1,4);
Memo1.Lines.Add(cellContent);
// Output should be "Scottsdale"
CkStringBuilder_Dispose(sb);
CkCsv_Dispose(csv);
end;