var i, iarray, istart: integer;
xArray:
array of tvarrec;
tempFelder: tstringlist;
tempWert, tempCast:
string;
begin
try
if ListView1.Items.Count = 0
then ShowMessage('
Es wurde keine Zuordnung der Variablen/Platzhalter vorgenommen. Gehen Sie auf den Register "Variablen/Platzhalter - Zuordnung" und klicken Sie dann anschließend auf "Einlesen...".')
else begin
Button3.Enabled := False;
Memo2.Clear;
if CheckBox1.Checked = False
then istart := 0
else istart := 1;
for i := istart
to pList_CSVFile.Count - 1
do begin
//felder aus aktueller zeile auslesen
tempFelder := TStringList.Create;
ParseCSVLine(pList_CSVFile.Strings[i], tempFelder, c_delim, c_quote);
//array aufbauen
SetLength(xArray, 0);
//Array zurücksetzen
SetLength(xArray, CountString('
%s', LowerCase(Memo1.Text)));
for iarray := 0
to high(xarray)
do begin
if ListView1.Items.Item[iarray].SubItems.Strings[1] = '
'
then begin
tempWert := '
';
end else begin
tempWert := tempFelder.Strings[strtoint(StringParse('
(', ListView1.Items.Item[iarray].SubItems.Strings[1], 1))];
end;
xArray[iarray].VType := vtPChar;
if leftstr(ListView1.Items.Item[iarray].SubItems.Strings[2], 1) = '
1'
then begin
//tempCast := pchar('"' + tempWert + '"');
//xArray[iarray].VPChar := pchar(tempCast);
xArray[iarray].VPChar := pchar(tempWert);
xArray[iarray].VPChar := pchar('
"' +
string(StrNew(xArray[iarray].VPChar)) + '
"');
end;
if leftstr(ListView1.Items.Item[iarray].SubItems.Strings[2], 1) = '
2'
then xArray[iarray].VPChar := pchar(tempWert);
//******MARKIERTE ZEILE (s.u.)
end;
//string parsen und adden
Memo2.Lines.Add(Format(Memo1.Text, xArray));
//SetLength(xArray, 0);
//freeandnil(tempFelder);
end;
Button3.Enabled := true;
end;
except
on e1:
Exception do begin
ShowMessage('
Es ist ein Fehler aufgetreten:' + #10#13#10#13 + e1.
message);
Button3.Enabled := true;
end;
end;