Einzelnen Beitrag anzeigen

Alterauge

Registriert seit: 4. Mär 2011
306 Beiträge
 
Delphi 2010 Professional
 
#1

StringList in StringGrid lesen

  Alt 27. Mär 2011, 16:09
Hallo

was mache ich hier falsch?

Delphi-Quellcode:
implementation

{$R *.dfm}
 function Split(const fText: String; const fSep: Char; fTrim: Boolean=false; fQuotes: Boolean=false):TStringList;
var vI: Integer;
    vBuffer: String;
    vOn: Boolean;
begin
  Result:=TStringList.Create;
  vBuffer:='';
  vOn:=true;
  for vI:=1 to Length(fText) do
  begin
    if (fQuotes and(fText[vI]=fSep)and vOn)or(Not(fQuotes) and (fText[vI]=fSep)) then
    begin
      if fTrim then vBuffer:=Trim(vBuffer);
      if vBuffer='then vBuffer:=fSep; // !!! sonst läuft z.B. split(',**',',') auf einen Hammer...
      if vBuffer[1]=fSep then
        vBuffer:=Copy(vBuffer,2,Length(vBuffer));
      Result.Add(vBuffer);
      vBuffer:='';
    end;
    if fQuotes then
    begin
      if fText[vI]='*then
      begin
        vOn:=Not(vOn);
        Continue;
      end;
      if (fText[vI]<>fSep)or((fText[vI]=fSep)and(vOn=false)) then
        vBuffer:=vBuffer+fText[vI];
    end else
      if fText[vI]<>fSep then
        vBuffer:=vBuffer+fText[vI];
  end;
  if vBuffer<>'then
  begin
    if fTrim then vBuffer:=Trim(vBuffer);
    Result.Add(vBuffer);
  end;
end;

procedure TForm1.AdvGlassButton1Click(Sender: TObject);
begin
Memo1.Clear;
end;




procedure TForm1.AdvGlowButton1Click(Sender: TObject);
 for vI:=1 to Length(fText) do // ???????????????????????????????????????????????????????????????????????????????????????????????
  begin
    Explode(load[vI], '*', AdvStringGrid1.Rows[vI]); // ?????????????????????????????????????????????????????????????????????????????????????
    AdvStringGrid1.RowCount := AdvStringGrid1.RowCount + 1;
  end;


end;

end.
Angehängte Dateien
Dateityp: zip RS232.zip (926,6 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat