[REL]Script to delete undesirable commas
Posted: 2013-04-07 08:18:55
Some scripts deliver strings with double commas or with comma at the end. This script deletes these commas in all string fields.
Code: Select all
program CorrComma;
uses
StringUtils1;
var
MyField: string; // contents of a database field
MyFieldLen: integer; // length of MyField
Position: integer; // position of a char
i: integer; //counter
nFields: integer; // number of fields
begin
nFields := GetFieldCount();
if nFields < 1 then exit;
Position:=0;
MyField :=' ';
MyFieldLen := 0;
for i:= 1 to nFields do
begin
If GetFieldType(i) = 'ftString' then
begin
MyField := trim(GetField(i));
MyFieldLen := length (MyField);
// delete comma at the end of string
while copy(MyField,MyFieldLen,1)=',' do
begin
MyField := trim(copy(MyField,1,TLen-1));
MyFieldLen := length (MyField);
end;
// change double comma to single comma
// without space between commas
while pos(',,', MyField) >0 do
begin
Position:=pos(',,', MyField);
MyFieldLen := length (MyField);
MyField := copy(MyField, 1, Position) + copy(MyField, Position+2, MyFieldLen-Position-1);
end;
// with space between commas
while pos(', ,', MyField) >0 do
begin
Position:=pos(', ,', MyField);
MyFieldLen := length (MyField);
MyField := copy(MyField, 1, Position) + copy(MyField, Position+3, MyFieldLen-Position-2);
end;
SetField (i, MyField);
end;
end;
end.