AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Max. Anzahl von Einträgen in ListBox

Ein Thema von uplink · begonnen am 7. Jan 2007 · letzter Beitrag vom 7. Jan 2007
Antwort Antwort
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#1

Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:08
Hallo alle miteinander,

ich hab wiedermal ne Frage. Diesmal habe ich das Problem das ich ein Programm geschrieben habe um den Inhalt eines Ordners auszulesen... Jedenfalls wollt ich die Dateien in einer ListBox eintragen, mein Problem ist nur das nur ein gewisser Teil der Dateien und Ordner angezeigt wird. Da ich wissen wollte ob es wirklich an der ListBox liegt habe ich das ganze mit nem Memo getestet und da ging es. Wollt jetz mal fragen ob es eine maximal Anzahl der Einträge gibt?

Mfg Uplink
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:09
Die eigentlich Datenhaltung einet ListBox und eines Memos unterscheiden sich nicht. Deshalb dürfte es hier keine Unterschiede geben.
Markus Kinzler
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#3

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:10
Das Problem ist, das es sich aber unterscheidet
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:26
Die Daten stecken aber beiden in TStrings.

Sicher das du nichts anderes verändert und es mit dem gleichen Ordner getestet hast ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:36
Um wieviel Einträge geht es bzw. wieviel Einträge funktionieren?
Win-API-Technisch gibt es für diverse Controls Einschränkungen die man aber teilweise per WinAPI-Aufruf aufheben bzw. vergrößern kann.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#6

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:38
Ja hab es in dem selben Ordner getestet und sonst geht auch alles.

@ Bernhard Geyer: Es passen genau 25 Einträge hinein...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:43
Zeig mal den Code! In eine StringListe gehen deutlich mehr als 25 Einträge!
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:51
@mkinzler
Delphi tut die SyListView-API von Windows nur kapseln und benutzt dazu TStrings. das bedeutet aber nicht, dass das Window unter Windows auch "unendlich" viele einträge wie TStrings haben kann.

@uplink:
25 ist aber reichlich wenig.
Mach mal folgendes:
ListView_GetItemCount(HWND listview.handle) natürlich mit deinem Listview-Handle und wenn du da deine 25 findest, versuch dann mit setitem die Grenze neu zu setzen:
ListView_SetItemCount(HWND hwnd, int cItems); Vergiss nicht:
uses commCtrl
Edit: Das getitemcount kannst du vergessen, dass ist nicht, wie ich erst dachte das Gegenteil von setitemcount
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
uplink

Registriert seit: 24. Nov 2006
34 Beiträge
 
#9

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 19:52
Delphi-Quellcode:
begin
 listbox2.Clear;
 s:=Socket.ReceiveText;
 repeat;
 delete(s,1,pos('\',s)+2);
 delete(s,1,pos(':',s)+2);
 i:=1;
 wort:='';
 if pos('<',s) < 7
  then begin
   delete(s,1,19);
   index:=pos(':',s);
   while i<=index-16
    do begin
     wort:=wort+s[i];
     i:=i+1;
    end;
                                        // Memo1.Lines.Add('<DIR> '+wort);
   Listbox2.Items.Add('<DIR> '+wort);
   end
  else begin
   delete(s,1,19);
   index:=pos(':',s);
   while i<=index-16
    do begin
     wort:=wort+s[i];
     i:=i+1;
    end;
                                       // Memo1.Lines.Add(' '+wort);
   ListBox2.Items.Add(' '+wort);
   end;
  until s='';
end;

Ich arbeite mit DOS man kann in nem Edit Feld den Pfad eingeben und bekommt dann den Ordnerinhalt in einem String übermittelt. Ich hab das so gemacht das erstmal der ganze Mist mit Volumennummer und so weiter rausgelöscht wird...
Danach löscht er weiter zeichen... Das Datum wann die Datei das letzte mal verändert wurde is dann auch weg. Dann wird geguckt ob ein < von <DIR> in den nächsten 7 stellen steht wenn ja isses ein Verzeichnis, wenn nich eine Datei. Der Rest dürfte selbst erklärend sein. Das einzigste Problem ist das die letzte Datei oder der letzte Ordner nich gefunden wird, weil ich mich an den Datumsangaben orientiere.... Aber dann kommt anstatt ner Datei/Ordner einfach fünf mal untereinander das selbe zeichen... So hoffe ich hab euch nich zu verwirrt

Edit: Kann sein das ich den Code bissel falsch bzw. zu ungenau wiedergegeben habe *ascheaufhaupt*
  Mit Zitat antworten Zitat
C.Schoch

Registriert seit: 2. Jan 2006
Ort: Wüstenrot
235 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Max. Anzahl von Einträgen in ListBox

  Alt 7. Jan 2007, 20:11
Um Dateien und Order zu listen sollte man besser Hier im Forum suchenFindFirst / Hier im Forum suchenFindNext verwenden.
Oder in der CodeLib nach FindFirstFindFirst suchen.
Tschau Christian
Das System hofft auf Besserung
[Siemens]
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:28 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