Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
13. Jun 2009
for i:=0 to (anzahl-1) do
begin
size:=DragQueryFile(Msg.WParam,i,nil,0)+1;
Dateiname:=StrAlloc(size);
DragQueryFile(Msg.WParam,i,Dateiname,size);
Listbox4.Items.Add(StrPas(Dateiname)); //hier fügst du mit pfad ein
StrDispose(Dateiname);
end;
//Neue Dateien in Listbox1
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
11. Jun 2009
sorry, hatte den thread hier total vergessen :oops:
also dein source macht bei mir genau das was er soll. es werden nur neue dateien hinzugefügt.
was macht denn die funktion "Dateinamenkurz();", die hast du ja nicht mit gepostet.
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
6. Jun 2009
poste ma n bisserl mehr quelltext!
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
6. Jun 2009
man wär auch hingekommen wenn man die hilfe zu TListbox aufgerufen hätte, da auf items geklickt hätte und dann halt auf indexof.
irgendwie logisch, oder? :lol:
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
6. Jun 2009
ja, das was ich oben geschrieben habe kannst du als ersatz für deine schonda funktion nehmen.
wenn du jetzt sowas wievorhanden := schonda(dateiname); hast, dann
kannste das durch vorhanden := Listbox1.Items.IndexOf(dateiname) >= 0; ersetzen.
guck dir in der hilfe ma an, was indexof macht.
und das mit den vergleichen in einer zuweisung: ein vergleich ergibt doch einen boolschen wert.
diesen...
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
6. Jun 2009
zu 3) ich glaub quendolineDD meinte, dass du dir die ganze funktion durch einen aufruf von indexof sparen könntest
vorhanden := Listbox1.Items.IndexOf(Filename) >= 0;
Forum: Object-Pascal / Delphi-Language
Delphi
by nat,
6. Jun 2009
wenn man es sich ganz einfach (und übersichtlich) machen will, könnte man die dateien
auch in ner eigenen StringList "mitspeichern" und dann halt überMyStringList.Duplicates := dupIgnore;
duplikate ignorieren. bei sehr großen dateilisten ist das aber vll nicht unbedingt die optimalste variante
(wegen dem ständigen hin und her kopieren ums in der listbox anzuzeigen) bei ner handvoll einträgen...