25. juni 2007 - 13:29Der er
5 kommentarer og 1 løsning
hjælp til løkke
i forbindelse med at jeg er ved at lave en playlist, gemmer jeg indholdet af en listbox ved hjælpe af listbox1.items.savetofile () og loader den på samme måde.
Så ville jeg høre om det var muligt at lave en løkke som lavede en extractfilename af alle tingene i listbox1 og så kopirede dem over i listbox2
håber i forstod spørgsmålet, og på forhånd tak for hjælpen
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
procedure TForm1.Button1Click(Sender: TObject); var i: Integer; begin For i := 0 To ListBox1.Items.Count - 1 Do ListBox2.Items.Add(ExtractFileName(ListBox1.Items[i])); end;
Fordi jeg også gerne vil mænge mig med guderne har jeg brygget denne D2006+ variant sammen. Er så småt begyndt at bruge for-in selvom det absolut ikke er en perfekt konstruktion.
procedure TfrmMain.btnTestClick(Sender: TObject); var st : string; begin lbFilesExpanded.Items.BeginUpdate; try lbFilesExpanded.Items.Clear; for st in lbFiles.Items do lbFilesExpanded.Items.Add(ExtractFileName(st)); finally lbFilesExpanded.Items.EndUpdate; end; end;
Egentlig er der ingen forskel, jeg ville blot demonstrere den "helt-hellige" version.
Jeg bruger ikke en "for i := 0 to Count - 1"-løkke, men en "for-in". Den vil aldrig give en "out of bounds"-exception. Desuden har jeg en BeginUpdate og en EndUpdate pakket ind i en try-finally.
Understøtter D2007'eren så endelig .NET 2.0?
P.S. For-in-variablen, her "st", er skrivebeskyttet. Det synes jeg er lidt spøjst.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.