Sample code for 30+ languages & platforms
Delphi DLL

CSV Enable Quotes

Explains the EnableQuotes property for the CSV class.

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;

...

procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
csv: HCkCsv;
csv2: HCkCsv;

begin
success := False;

// The CSV in this example contains this:   test;"123;abc";xyz

csv := CkCsv_Create();

// EnableQuotes is True by default, but we'll explicitly set to True here:
CkCsv_putEnableQuotes(csv,True);
success := CkCsv_LoadFile(csv,'qa_data/csv/enableQuotes.csv');

// Show row 0, column 0
Memo1.Lines.Add(CkCsv__getCell(csv,0,0));
// Show row 0, column 1
Memo1.Lines.Add(CkCsv__getCell(csv,0,1));
// Show row 0, column 2
Memo1.Lines.Add(CkCsv__getCell(csv,0,2));

// Output is: 
//  test
//  123;abc
//  xyz

// -------------------------------------------
// Turn off EnableQuotes and see what happens:

csv2 := CkCsv_Create();
CkCsv_putEnableQuotes(csv2,False);

success := CkCsv_LoadFile(csv2,'qa_data/csv/enableQuotes.csv');

Memo1.Lines.Add(CkCsv__getCell(csv2,0,0));
Memo1.Lines.Add(CkCsv__getCell(csv2,0,1));
Memo1.Lines.Add(CkCsv__getCell(csv2,0,2));
Memo1.Lines.Add(CkCsv__getCell(csv2,0,3));

// Output is:

//  test
//  "123
//  abc"
//  xyz

CkCsv_Dispose(csv);
CkCsv_Dispose(csv2);

end;