AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Anzahl von listbox Strings anpassen -> aus grid geladen
Thema durchsuchen
Ansicht
Themen-Optionen

Anzahl von listbox Strings anpassen -> aus grid geladen

Ein Thema von rhodan · begonnen am 18. Okt 2005 · letzter Beitrag vom 20. Okt 2005
Antwort Antwort
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#1

Anzahl von listbox Strings anpassen -> aus grid geladen

  Alt 18. Okt 2005, 17:17
Grüße aus Hamburg,

muss nochmal mit meiner Listbox nerven

Habs jetzt zwar mit Hilfe geschafft die einträge aus dem Grid in der Listbox anzuzeigen, allerdings hab ich am ende der listbox immer leere Zeilen/Items (sry bin mir nicht sicher wie exakte name ist).
dies ist mein code mit dem ich die listbox fülle (ein paar var einträge kommen in diesem teil des quelltextes nicht vor, hab nur den listbox-quellcode kopiert):

Delphi-Quellcode:
var
 iRow: integer;
  sPrev, sCurr: string;
  datei : TextFile;
  dateiname : String;
  zeile : String;
  inhalt : String;
  perslist : Sarr;
  pers : Sarr;
  i, j : integer;
  begin
etc etc..........


listbox1.Clear;
   for iRow := 1 to length(perslist) do
    begin
    sCurr := StringGrid1.Cells[CI_ACCT, iRow];
    if sCurr <> sPrev then
    begin
      if iRow > 1 then
      listbox1.items.Add('');
      listbox1.items.Add(sCurr);
      listbox1.items.Add(StringOfChar('-', 10));
      sPrev := sCurr;
    end;
    listbox1.items.Add(StringGrid1.Cells[CI_NAME, iRow]);
  end;
 dateiname := ('rankinglist.htm');
  AssignFile(datei, dateiname);
  reset(datei);
  inhalt := '';
  repeat
    Readln(datei, zeile);
    inhalt := inhalt + zeile;
  until eof(datei);
  CloseFile(datei);
  inhalt := getTable(inhalt);
  perslist := getEntries(inhalt);

  i := 0;
  while (perslist[i] <> '') do
  begin
    pers := processAccount(perslist[i]);
    for j := 0 to 11 do
    begin
      Stringgrid1.cells[j+1,i+1]:=pers[j];
    end;
    inc(i);
  end;
 reloadtable.Enabled := true;
      reloadhtml.Enabled := true;
end;
end;
end;
Was ich schon heraus gefunden habe ist das die "Zeilenanzahl" der listbox mit der Sarr definition zusammenhängt.
Delphi-Quellcode:
for iRow := 1 to length(perslist) do
    begin
ist die zeile (denk ich) die auf "sarr" zurückgreift. Die Definition von "Sarr" hab ich ziemlich weit oben in meinem code stehen, direkt über der implementation:

Delphi-Quellcode:
type
 Sarr = Array [0..1000] of String;
statt der 1000 kann ich hier auch ne andere zahl eintragen, meine listbox wird immer exakt diese "Zeilenanzahl" haben.

da ich unterschiedlich lange listen in die listbox lade, möchte ich nun das dieses Array variabel ist bzw. sich an die anzahl der im Grid befindlichen Einträge hält. Wenn ihr nen anderen Quellcode braucht sagt bitte bescheid, ich komm da einfach nicht hinter

Gruße von

Rhodan
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Anzahl von listbox Strings anpassen -> aus grid gelad

  Alt 18. Okt 2005, 17:40
Hi Rhodan,

die Lösung deines Problems steckt in deinem Parser. Beim Parsen weißt du ja, an welchen Platz im Array persList du zuletzt geschrieben hast. Wenn du die Werte dann wieder ausliest, dann musst du dieses Wissen wieder einbringen:

Delphi-Quellcode:
// so werden auch die unbenutzten Items verarbeitet
// for iRow := 1 to length(perslist) do

// Merke dir beim Parsen den letzten Index in PersCount
// und lasse die Schleife dann so laufen:

for iRow := 1 to PersCount do
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#3

Re: Anzahl von listbox Strings anpassen -> aus grid gelad

  Alt 18. Okt 2005, 22:23
hmmm, wenn ich das so schreibe bekomme ich die meldung das "perscount" ein undef. bezeichner ist
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Anzahl von listbox Strings anpassen -> aus grid gelad

  Alt 19. Okt 2005, 07:01
Mache PersCount zu einer Variablen deiner Form, dann können der Parser und die von dir gezeigte Methode zum Füllen der ListBox auf diese Variable zugreifen.

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#5

Re: Anzahl von listbox Strings anpassen -> aus grid gelad

  Alt 19. Okt 2005, 20:04
danke dir, werds mal ausprobieren

grüße von rhodan
  Mit Zitat antworten Zitat
Benutzerbild von rhodan
rhodan

Registriert seit: 4. Okt 2005
Ort: Hamburg
150 Beiträge
 
Delphi 7 Personal
 
#6

Re: Anzahl von listbox Strings anpassen -> aus grid gelad

  Alt 20. Okt 2005, 01:05
ok habs endlich gelöst. habs auf nem anderen weg geschafft.

Delphi-Quellcode:
var
Q: integer;

begin
for Q := listbox1.Items.Count - 1 downto 0 do
begin
if listbox1.Items[listbox1.Items.Count-1]='then
listbox1.Items.Delete(listbox1.Items.Count-1);
end;
end;
und dafür hab ich 4 nächte gebraucht

Grüße aus Hamburg,

Rhodan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:03 Uhr.
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