Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionfunction AnsiExtractQuotedStr(var Src: PChar; Quote: Char): string;qui supprimera les " bien plus proprement que toi et qui gerera les éventuels ", ' que contiendrait tes données.
var N : integer; CSVFile : TStringList; CSVRow : TStringList; const X_INDEX = 0; X_NAME = 1; X_LANGID= 2; begin CSVFile := TstringList.Create; CSVRow := TStringList.Create; try CSVRow.Delimiter := ';'; CSVRow.QuoteChar := '"'; CSVRow.StrictDelimiter := true; if openDialog1.execute then begin CSVFile.LoadFromFile(); //DB.Queries.Prepare(DB_Q_INSERTION, 'translations', ['id', 'name', 'langid']); for N := 0 to CSVFile.Count - 1 do begin CSVRow.DelimitedText := CSVFile[N]; if CSVRow.Count = 3 then begin //DB.Queries.SetTypes([ // 'rowindex|ai', // 'char(64) utf-8 escape|null', // 'rowindex|1', //]); //DB.Queries.Append([ CSVRow[ X_INDEX ], CSVRow[ X_NAME ], CSVRow[ X_LANGID ] // ]); end; end; //DB.Execute(DB_MQ); end; finally CSVRow.Free; CSVFile.Free; //DB.Execute(DB_RECOVER or DB_RESET); end; end;