-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
1. Dez 2005
Hi marabu ja ich verwende Items.BeginUpdate und Items.EndUpdate, die Liste wird auch vorher geleert.
var
FieldList: TStringList;
begin
Listview.Items.BeginUpdate; <------------
Listview.Clear; <------------
FieldList := TStringList.Create;
// ...
try
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Na marabu,
Nachdem ich alles eingebaut habe wie du es sagtest funktioniert es, aber er laedt die Daten nicht mehr so schnell dan die andere Function in der Listview, eigentlich Schade.
Das war ne schwere Geburt aber es klappt.
Herzlichen Dank an alle die geholfen haben insbesondere marabu.
MFG, Lucius.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Das ist die Speicher Function die verursacht die Leerzeilen.
Var Sl:Tstringlist;
i:integer;
begin
sl:=TStringList.Create;
try
//anzahl schreiben
sl.Add(inttostr(ListView.Items.count-1));
for i:=0 to ListView.Items.count-1 do
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Ja es gibt Leerzeilen in der Datei, siehe Zitat.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
So marabu, habe deine Function ausprobiert aber nog immer Listindex out of Bounds(2).
try
sl.LoadFromFile(label2.caption + '\torrents.db');
//anzahl lesen
KillDuplicatesEx(sl, 2);
for i := 0 to Pred(sl.Count) do <------ out of bounds(2)
begin
FieldList.CommaText := sl;
with ListView.Items.Add do
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
So ich werde mich erstmal ein Sueppchen essen und dann deine Function ausprobieren marabu, denn ich brauche erstmal ne kleine Pauze mir kwalmt schon der Kopf. :wall:
MFG, Lucius.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Marabu, list index out of bounds(2)
wobei ich die Anzahl neu definieren muss denke ich mal? dan ist das Problem geloesst, hoffe ich, oder?
try
sl.LoadFromFile(label2.caption + '\torrents.db');
//anzahl lesen
KillDuplicatesEx(sl, 2);
anzahl:=strtoint(sl); <---- list index out of bounds(2)
for i:=0 to anzahl do
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Hi marabu,
procedure KillDuplicatesEx(s: TStrings; index: integer);
was soll ich denn den Indexwert uebergeben?
MFG, Lucius.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
RaveIV, leider, ich habe deine Variante probiert, downto etc.
Ich denke ich muss schon die TStringList in Ruhe lassen in der LoadFunction, das bringt so nichts, habe gestern bis 03.00 dran gessen und bin noch keinen Schritt weiter.
Gibt es denn eine Function die doppelte Eintraege in einer Listview loescht?
Dann gehe ich eben die Listview an den Kragen.
Ich moechte dan in einer bestimmten...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
RavenIV, ich habe die Anzahl neu gesetzt nachdem Killduplicates ausgefuehrt wurde, aber das will auch nicht so.
Wenn ich jetzt Killdublicates weg lasse, laeuft alles wunderbar ausser das wenn ich jetzt die Listview neu laden moechte mit
Var Sl:Tstringlist;
i,Anzahl:integer;
Listitem:Tlistitem;
begin
//speedbutton1.Visible := false;
Screen.Cursor := crHourGlass;
...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Leider mumu, funzt auch nicht richtig.
List index out of Bounds(1).
Dann wieder die Message zum oeffnen van der CoolTrayIcon.pas was ich getan habe da gibt er an:
// Pass the message on
Msg.Result := CallWindowProc(OldWndProc, (Owner as TWinControl).Handle, <------- Zeile wird markiert
Msg.Msg, Msg.wParam, Msg.lParam);
Ich raff es auch nicht mehr.
Irgendwas stoert...
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
30. Nov 2005
Morgen dahead, so sieht die Killduplicates aus.
procedure KillDuplicates(s: TStrings);
var
iLow, iHigh: integer;
begin
for iLow := 0 to s.Count - 2 do
for iHigh := Pred(s.Count) downto Succ(iLow) do
if s = s then
s.Delete(iHigh);
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
29. Nov 2005
Hmmm dahead funzt nicht richtig, bekomme immer noch out of bounds.
Gibt es denn ne Function womit man doppelte Eintraege aus der Listview loeschen kann?
Meine Listview hat 4 Spalten und das ich dann zum Beispiel nach der 3en Spalte gucke ob da doppelte Eintraege vorhanden sind.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
29. Nov 2005
Hi dahead,
Damit lese ich die Anzahl der Zeilen in de TStringListe(sl) aus., und die Auswertung stimmt(810).
Bei der schleife kommt keine -1 for.
An der Stelle mit dem Pfeil.
Aber der Sinn der Sache ist eigentlich um doppelte Eintraege ob nun in der TStringListe oder direct aus der Listview zu entfernen.
-
Forum: Object-Pascal / Delphi-Language
Delphi
by lucius,
29. Nov 2005
Hallo Leute etwas seltsames ist mir passiert und ich weiss nicht weiter.
Ich benutze ein CoolTrayIcon fuer mein Programm.
Jetzt wollte ich ueber der Function KillDuplicates doppelte Eintraege aus einer TStringListe entfernen aber dabei gibt das CoolTrayIcon einen Fehler aus.
procedure TDemoForm.SpeedButton1Click(Sender: TObject);
Var Sl:Tstringlist;
i,Anzahl:integer;
...