![]() |
Memo.lines nach StringGrid kopieren
Erstmal guten Morgen,
Ich habe ein StringGrid1 mit 5 Spalten und 5 Zeilen und ich habe ein Memo mit folgendem Inhalt: Zitat:
Wobei StringGrid1.FixedRows := 1; Zitat:
Delphi-Quellcode:
Ich habe mehr Spalten und Zeilen IM SG und ich kriege es nicht hin.
procedure TForm1.Button2Click(Sender: TObject);
var ndx : Integer; foo : Integer; text : String; begin StringGrid1.RowCount := Memo1.Lines.Count; for ndx := 0 to Pred(Memo1.Lines.Count) do begin text := Memo1.Lines[ndx]; foo := Pos (';',text); StringGrid1.Cells[0,ndx+1] := copy (text,1,foo-2); StringGrid1.Cells[1,ndx+1] := copy (text,foo+1,Length(text)-foo); end; end; Hat jemand vielleicht ne Loesung ? Waere sehr nett, danke im voraus. |
Re: Memo.lines nach StringGrid kopieren
Hallo lucius,
du wirst vielleicht da und dort noch Anpassungen vornehmen müssen:
Delphi-Quellcode:
Grüße vom marabu
function ParseStr(var s: string; delimiters: string; purge: boolean = true): string;
var i: integer; begin i := 0; while (i < Length(s)) and (Pos(s[Succ(i)], delimiters) = 0) do Inc(i); Result := Copy(s, 1, i); Delete(s, 1, i + Ord(purge)); end; procedure ExtractFields(s, delimiters: string; sl: TStrings); var t: string; begin sl.Clear; while s <> '' do begin t := ParseStr(s, delimiters, true); if t <> '' then sl.Add(t); end; end; procedure TDemoForm.CopyButtonClick(Sender: TObject); var i: integer; begin StringGrid.RowCount := Memo.Lines.Count; for i := 0 to Pred(Memo.Lines.Count) do ExtractFields(Memo.Lines[i], ';', StringGrid.Rows[i]); end; |
Re: Memo.lines nach StringGrid kopieren
Moin marabu, habs angepasst und es funktioniert, ich muss nur noch bei StringGrid1 die erst Zeile unveraendert haben. (StringGrid1.FixedRows := 1)
Mal gucken, und wieder Dankeschoen fuer deine Hilfe. :P |
Re: Memo.lines nach StringGrid kopieren
Hmmm wie kriege ich in dazu das er erst ab der zweiten Zeile im StringGrid einfuegt?
Sonst klapt alles wunderbar.
Delphi-Quellcode:
procedure TMainForm.Button2Click(Sender: TObject);
var i: integer; begin StringGrid1.RowCount := Memo1.Lines.Count; for i := 0 to Pred(Memo1.Lines.Count) do ExtractFields2(Memo1.Lines[i], ';', StringGrid1.Rows[i]); end; |
Re: Memo.lines nach StringGrid kopieren
Delphi-Quellcode:
marabu
procedure TMainForm.Button2Click(Sender: TObject);
var i: integer; begin StringGrid1.RowCount := Succ(Memo1.Lines.Count); for i := 0 to Pred(Memo1.Lines.Count) do ExtractFields2(Memo1.Lines[i], ';', StringGrid1.Rows[Succ(i)]); end; |
Re: Memo.lines nach StringGrid kopieren
Marabu du bist der Retter in Not, funzt jetzt einwandfrei, vielen Dank.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz