Nur nochmal zur Information!
Das wollte ich mir sparen..
Delphi-Quellcode:
type
TSplitStrArray = array of string;
Delphi-Quellcode:
function Split(const Source, Delimiter: string): TSplitStrArray;
var
spCount: integer;
spPos: integer;
spLength: integer;
sTemp: string;
aSplit: TSplitStrArray;
begin
sTemp := Source;
spCount := 0;
spLength := Length(Delimiter) - 1;
repeat
spPos := Pos(Delimiter, sTemp);
if spPos = 0 then
break
else
begin
Inc(spCount);
SetLength(aSplit, spCount);
aSplit[spCount - 1] := Copy(sTemp, 1, spPos - 1);
Delete(sTemp, 1, spPos + spLength);
end;
until False;
if Length(sTemp) > 0 then
begin
Inc(spCount);
SetLength(aSplit, spCount);
aSplit[spCount - 1] := sTemp;
end;
Result := aSplit;
end;
Delphi-Quellcode:
case LoWord(wp) of
ID_INSTRUMENTLIST:
begin
nItem := InstrumentList.ListGetCurSel(lP);
InstrumentList.ListSelectPlus(lP, nItem);
tmpStr := Split(InstArrayList[nItem],',');
SetController(32, StrToInt(tmpStr[1]), Channel);
SetInstrument(StrToInt(tmpStr[2]), Channel);
SKAERO_UpdateWindow(lP, False);
end;
Das hätte man einfacher haben können mit einer Simplen List die Subitems versteht.
gruss