Autor Beitrag
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: Do 30.10.03 23:36 
Hallo,


ich habe einen String, oder auch eine Stringlist (wie es besser geht) in der folgendes so steht:

Zitat:

1A
2B
3C
4D


Wie schaffe ich es jetzt den Inhalt so in ein Stringgrid zu packen das genau wie oben jede Zeile auch im Stringgrid ne neue Zeile bekommt...

Gruß

Alex


Zuletzt bearbeitet von Ak-Alex am Fr 31.10.03 14:32, insgesamt 1-mal bearbeitet
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Do 30.10.03 23:52 
Hi,

folgend bekommst du deine Liste in die 2. Spalte:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TForm1.Button1Click(Sender: TObject);
var
  sList: TStringList;
begin
  sList := TStringList.Create;
  try
    sList.Add('1A');
    sList.Add('2B');
    sList.Add('3C');
    sList.Add('4D');

    StringGrid1.Cols[1].AddStrings(sList);
  finally
    sList.Free;
  end;
end;


Kleiner Tipp: die Eigenschaften Rows[] und Cols[] des StringGrids sind TStrings. D.h. du kannst sie genauso handhaben wie eine StringList.

MFG

- Ernesto -
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 31.10.03 11:06 
ja aber im normalfall weiß ich ja nicht was im string steht...da kann ich es ja dann nicht von hand eintragen...

ich brauche ne mthode um einen string zeile für zeile in ein stringgrid zu laden!
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Fr 31.10.03 11:20 
Hi,

ich bin mir nicht sicher aber ich glaube wir reden aneinander vorbei. Rows[] und Cols[] sind TStrings. Diese hat die Methode Add() mit der du eine neue Zeile ertellst. Genauso wie du mit einer StringListe umgehst kannst du auch mit Rows und Cols umgehen.

MFG

- Ernesto -
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 31.10.03 11:45 
Ja das weiß ich :-) !!!!!

Ich habe aber folgendes Problem....Ich habe einen String indem folgendes stehen kann:

hallo //erste Zeile
hallo1 //zweite Zeile
hallo2 //dritte Zeile
hallo3 /vierte Zeile


Jetzt möchte ich diesen String, genau wie hier erklärt, Zeile für Zeile in ein Stringgrid einfügen. also auch so...

Zeile1 im Stringgrid = hallo
Zeile2 im Stringgrid = hallo1 u.s.w.


Gruß

Alex
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Fr 31.10.03 13:16 
Hi,

ich nehme mal an, dass in deinem String Zeilenumbrüche (#13) sind. Eine Möglichkeit wäre dann:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
procedure TForm1.Button1Click(Sender: TObject);
var
  str,
  strTmp: String;
  i: Integer;
begin
  str := 'hallo' + #13 +
         'hallo1' + #13 +
         'hallo2' + #13 +
         'hallo3';

  for i := 1 to Length(str) do
  begin
    strTmp := strTmp + str[i];
    if (str[i] = #13or (i = Length(str)) then
    begin
      if not (i = Length(str)) then
        Delete(strTmp, Length(strTmp), 1);
      StringGrid1.Cols[1].Add(strTmp);
      strTmp := '';
    end;
  end;
end;


Es gibt vielleicht noch andere Möglichkeiten, aber auf die Schnelle ist mir diese eingefallen. Sie funktionert.

MFG

- Ernesto -
Ak-Alex
Gast
Erhaltene Danke: 1



BeitragVerfasst: Fr 31.10.03 14:32 
Danke!
barfuesser
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 324



BeitragVerfasst: Mo 03.11.03 16:26 
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
AString := 'Zeile1'#13#10'Zeile2'#13#10'Zeile3';
StringList := TStringList.Create;
StringList.Text := AString;
StringGrid1.Cols[1].AddStrings(StringList);
StringList.Free;


barfuesser
ErnestoChe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 528

Win 2000 pro, CRUX 2.0
Delphi 6 Pers, Open K3
BeitragVerfasst: Mo 03.11.03 22:51 
Hi,

lässt sich sogar auf einen Einzeiler reduzieren:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TForm1.Button1Click(Sender: TObject);
begin
  StringGrid1.Cols[1].Text := 'hallo' + #13#10 +
                              'hallo1' + #13#10 +
                              'hallo2' + #13#10 +
                              'hallo3';
end;


MFG

- Ernesto -
Ist die Frage beantwortet? Das Problem gelöst?

Dann klicke hier, um das Thema entsprechend zu markieren!