The text format appears to be very rigid. Assuming that the data can be processed line by line, it looks like you can use pre-determined character indices to parse each line.
I'd start off by writing code to parse a single line into a record.
type
TItem = record
Part: string;
Size: Integer;
ActSize: Integer;
Name: string;
end;
function GetItemFromText(const Text: string): TItem;
begin
Result.Part := Copy(Text, 1, 4);
Result.Size := StrToInt('$'+Copy(Text, 7, 8));
Result.ActSize := StrToInt('$'+Copy(Text, 16, 8));
Result.Name := Copy(Text, 26, Length(Text)-26);
end;
Once we have this at hand it is a simple matter to process your data. First of all load it into a string list as a way to parse into separate lines.
var
Items: TStringList;
....
Items := TStringList.Create;
Items.Text := MyData;
Then, process each line, remembering to skip the first line of headers:
var
i: Integer;
....
for i := 1 to Items.Count-1 do
begin
Item := GetItemFromText(Items[i]);
// do whatever needs to be done with the content of Item
end;