Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   StringList.Count (https://www.delphipraxis.net/177472-stringlist-count.html)

Frage95 8. Nov 2013 07:42

StringList.Count
 
Delphi-Quellcode:
procedure TfrmMainForm.ListBoxShow;
var
   EdVariable: string;
   LbCount,i : integer;
   Liste : TStringList;

begin
   Liste := TStringList.Create;
   EdVariable := frmMainForm.EdNickname.Text;
   LbCount := Liste.Count;
   if LbCount <= 0 then begin
      i := 0;
   end;
   if EdVariable <> '' then begin
      i := Liste.Count;
      i := i+1;
      Liste.Add(frmMainForm.EdNickname.Text + ' ' + '[' + InttoStr(i)+ ']');
      Memo1.Text := Liste.Text;
Ich möchte mit dieser Prozedur Nicknames in die Stringlist speichern und diese im Memo wieder ausgeben.

Soweit funktioniert alles nur dass sich der Count meiner Stringlist nicht ändert er ist stetig 0.
Und deshalb überschreibt er auch alle Nicknames. Weis jemand wie dieses Problem zu lösen ist ?
:?::?:

mkinzler 8. Nov 2013 07:45

AW: StringList.Count
 
Du erzeugst ja immer eine neue Liste.

DeddyH 8. Nov 2013 07:46

AW: StringList.Count
 
Du legst die Liste immer wieder neu an, deshalb ist der Count erst einmal 0. Erst durch das Add wird er auf 1 erhöht. Von daher sind die Abfragen auf Count <= 0 überflüssig, da das immer zutrifft.

Frage95 8. Nov 2013 07:49

AW: StringList.Count
 
Delphi-Quellcode:
procedure TfrmMainForm.ListBoxShow;
var
   EdVariable: string;
   LbCount,i : integer;

begin
   EdVariable := frmMainForm.EdNickname.Text;
   LbCount := Memo1.Lines.Count;
   if LbCount <= 0 then begin
      i := 0;
   end;
   if EdVariable <> '' then begin
      i := Memo1.Lines.Count;
      i := i+1;
      Memo1.Text := (frmMainForm.EdNickname.Text + ' ' + '[' + InttoStr(i)+ ']');
ich hab das jetzt so gemacht da memo.lines ja vom Typ Tstringlist ist muss ich ja keine neue anlegen habe aber immernoch das gleiche problem

DeddyH 8. Nov 2013 07:50

AW: StringList.Count
 
Nun änderst Du Memo1.Text und damit auch Count.

baumina 8. Nov 2013 07:52

AW: StringList.Count
 
statt Memo1.Text solltest du Memo1.Lines.Add verwenden, ansonsten überschreibst du jedesmal den kompletten Text.

Frage95 8. Nov 2013 07:52

AW: StringList.Count
 
Delphi-Quellcode:
procedure TfrmMainForm.ListBoxShow;
var
   EdVariable: string;
   LbCount,i : integer;

begin
   EdVariable := frmMainForm.EdNickname.Text;
   LbCount := Memo1.Lines.Count;
   if LbCount <= 0 then begin
      i := 0;
   end;
   if EdVariable <> '' then begin
      i := Memo1.Lines.Count;
      i := i+1;
      Memo1.Lines.Add(frmMainForm.EdNickname.Text + ' ' + '[' + InttoStr(i)+ ']');
Okay habs hinbekommen trotzdem Danke :thumb:

baumina 8. Nov 2013 07:56

AW: StringList.Count
 
Noch ein Hinweis:

Du solltest innerhalb einer procedure, die zu deinem Formular gehört das "frmMainForm." (bei z.B. frmMainForm.EdNickname.Text) weglassen.

DeddyH 8. Nov 2013 07:58

AW: StringList.Count
 
Müsste
Delphi-Quellcode:
if EdNickname.Text <> '' then
  Memo1.Lines.Add(EdNickname.Text + ' ' + '[' + InttoStr(Memo1.Lines.Count + 1) + ']');
nicht dasselbe tun?

Frage95 8. Nov 2013 08:10

AW: StringList.Count
 
Ja es tut das selbe hab es gerade geändert danke,
aber ich habe noch eine Frage zum Index.

Wie kann ich den Index auslesen aus dem Memo

bei der Listbox war es ja

ListBox1.Items[frmMainForm.ListBox1.ItemIndex];

und wie ist es dann beim Memo ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:22 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz