![]() |
dateien paralel runterladen
Liste der Anhänge anzeigen (Anzahl: 1)
hi...
ich habe schonwieder ein problem.. undzwar würde ich gerne alle links in einer listview runterladen... wenns geht 4 auf einmal.. den fortschritt jeder einzelnen datei in einem anderen tab im listview anzeigen... wie im anhang in etwa ^^.. es würde mir aber auch ausreichen den fortschritt in % anzugeben.. :) (lieber ist mir aber ein balken :P) ich hoffe ihr könnt mir helfen |
Re: dateien paralel runterladen
könntest du das bild bitte an den beitrag anhängen? :)
|
Re: dateien paralel runterladen
Woran hapert es denn ?
|
Re: dateien paralel runterladen
also ich bin ein ziemlicher neuling.. und ich habe hier irrgendwo eine methode zum downloaden gefunden..
allerdings lässt sich diese nicht anhalten oder abrechen.. nehmen wir mal an ich hab das mit dem download im griff.. wie könnte ich denn eine listbox erstellen mit verschiedenen spalten? und dort eine fortschritsanzeige einbauen? ich benutze ![]() |
Re: dateien paralel runterladen
Also eine Listbox ist das nicht, eher Scrollbox mit lauter TImages drauf.
|
Re: dateien paralel runterladen
hab mich erkundigt..
es is ne listview ^^.. ich mein den oberen abschnitt |
Re: dateien paralel runterladen
Hallo, napstar.
Dazu brauchst du Threads, das sind Programmteile, die parallel ausgeführt werden können. Das Problem dabei ist, dass du aus einem Thread nicht direkt auf das Formular oder Komponenten darauf zugreifen kannst. Bzw du kannst zwar, aber das führt unter Umständen zu sehr unschönen Effekten wie Zugriffsverletzungen etc, wenn gerade ein anderer Thread auch darauf zugreift (auch die Hauptanwendung ist ein Thread). Damit das nicht passiert musst du synchronisieren. Das ist aber unter Umständen gar nicht so einfach - ich wollte selber mal soetwas machen und bin dann dran gescheitert, dass es dauernd Zugriffsverletzungen gab. Wenn du noch ein Anfänger bist, würde ich das mit den Threads erstmal sein lassen - oder mich langsam rantasten, Tutorials lesen und eifnache Beispiele proggen. |
Re: dateien paralel runterladen
Zitat:
aber vergessen wir mal dieses multi download funktion und fortschrittsbalken... ich habe jetzt ein edit, listview, combobox und ein button... wenn ich auf den button klicke wird der inhalt vom editfeld und der inhalt vom combobox in den listview eingetragen... ich mache das so
Delphi-Quellcode:
wie kann ich diese werte auslesen?
procedure TForm1.SpeedButton3Click(Sender: TObject);
var item : TListItem; begin item:= ListView1.Items.Add; ListView1.Items[ListView1.Items.Count-1].Caption := YLink.Text; ListView1.Items[ListView1.Items.Count-1].SubItems.Add(ComboBox1.Text); YLink.Text:=ListView1.Column[1]; end; |
Re: dateien paralel runterladen
Delphi-Quellcode:
Warum erstellst Du ein Item und greifst dann nicht mal drauf zu?
procedure TForm1.SpeedButton3Click(Sender: TObject);
var item : TListItem; begin item:= ListView1.Items.Add; ListView1.Items[ListView1.Items.Count-1].Caption := YLink.Text; ListView1.Items[ListView1.Items.Count-1].SubItems.Add(ComboBox1.Text); YLink.Text:=ListView1.Column[1]; end; So geht das:
Delphi-Quellcode:
procedure TForm1.SpeedButton3Click(Sender: TObject);
var item : TListItem; begin item:= ListView1.Items.Add; Item.Caption := YLink.Text; Item.SubItems.Add(ComboBox1.Text); // Zugriff strvar := ListView1.Items[I].Caption; strvar2 := ListView1.Items[I].SubItems[J]; end; |
Re: dateien paralel runterladen
noch eine frage...
wie kann ich ein ereigniss so lange wiederholen biss die listbox leer ist? ich will damit bewirken.. dass alle einträge in der listbox runtergeladen werden biss die listbox leer ist.. nach jedem download wird die oberste zeile gelöscht... |
Re: dateien paralel runterladen
hi
ich würde das so machen.
Delphi-Quellcode:
kann aber auch Listview1.ItemCount oder so heißen, hab jetzt leider kein Delphi offen um dir das genau sagen zu können.
procedure TForm1.SpeedButton3Click(Sender: TObject);
var i:integer; begin for i := 1 to ListView1.Items.count do begin MakeDownload(ListView1.Items[i].Caption); ListView1.Items[i].delete end; end; Denkweise: Eine For Schleife machen die sich so oft wiederholt wie Items in der Listview sind. nach jedem Durchgang erhöht sich i um 1. dazwischen die Downloadprocedure rein und anschliessend löschen. lg bundy |
Re: dateien paralel runterladen
das wird so nicht funktionieren, weil sich durch das delete wieder der Index der Items ändert. Wenn schon, musst du die Schleife rückwärts laufen lassen. Was ich in diesem Fall fast noch eleganter fände wäre eine while-schleife. (while itemcount > 0 do... download(tems[0]))
|
Re: dateien paralel runterladen
jup oder so :)
|
Re: dateien paralel runterladen
danke für eure hilfe ich werd es morgen mal ausprobieren...
aber für heute ist schluss ^^ |
Re: dateien paralel runterladen
mache bitte nächstes mal für eine neuen Frage auch ein neues Thema auf :)
|
Re: dateien paralel runterladen
das mit while hab ich nicht so richtig verstanden.. aber for hat nicht funktioniert ^^..
Delphi-Quellcode:
kann mir jemand das mit dem while näher erklähren ?^^
DLname:='video'+InttoStr(i)+'.flv';
if FileExists(downloadpfad+DLname) then begin for i := 1 to 2 do i:=i + 1; DLname:='video'+InttoStr(i)+'.flv'; end; ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz