Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TImages dynamisch erzeugen (https://www.delphipraxis.net/92307-timages-dynamisch-erzeugen.html)

Delphi Star 17. Mai 2007 18:27


TImages dynamisch erzeugen
 
Delphi-Quellcode:
var
  Form1: TForm1;
  Bilder: array of timage;

procedure TForm1.starter(Sender: TObject);
var po: string;
  i, i2, anzahlderbilder, position: integer;
begin
  po:=ExtractFilePath(ParamStr(0));

  for i:=0 to ordner.Items.Count-1 do
  begin
    liste.Clear;
    liste.items:=getdir(po+'Thumbnails\'+ordner.items.Strings[i],false,false,true,true,true);
    anzahlderbilder:=anzahlderbilder+liste.items.Count;
  end;
  if anzahlderbilder = 0 then
  begin
    showmessage('Fehler beim Laden der Daten');
    close;
    exit;
  end;
  SetLength(Bilder, anzahlderbilder-1);

  for i:=0 to ordner.Items.Count-1 do
  begin
    liste.Clear;
    liste.items:=getdir(po+'Thumbnails\'+ordner.items.Strings[i],false,false,true,true,true);
    for i2:=0 to liste.Items.Count-1 do
    begin
      Bilder[Position]:= timage.Create(nil);
      Bilder[Position].Parent:=FindComponent('Bildersektion_'+ ordner.items.Strings[i] + '_Scrollbox') as TAdvScrollbox; //Das und..
      Bilder[Position].Picture.LoadFromFile(po+'Thumbnails\'+ordner.items.Strings[i]+'\'+liste.Items.Strings[i2]); //..das verursachen eine Zugriffsverletzung
      //...

      position:=position + 1;
    end;
  end;

  Form1.BorderStyle := bssingle;
  Height:= 625;
  Width:= 906;
  Form1.Position:= poScreenCenter;
  Seiten.ActivePage:=Startseite;
end;
Was ist hier falsch :?:
Die Function getdir liest den Inhalt der Ordner aus.

Hat sich erledigt, ich habe die Variable Position durch Positioncounter ersetzt und einmal den Wert 0 zugewiesen.

Garfield 17. Mai 2007 19:23

Re: TImages dynamisch erzeugen
 
Zitat:

Zitat von Delphi Star
Die Function getdir liest den Inhalt der Ordner aus.

In der Unit System gibt es die

Delphi-Quellcode:
procedure GetDir(D: Byte; var S: string);
Und die gibt das aktuelle Verzeichnis zurück.

http://www.delphibasics.co.uk/RTL.asp?Name=GetDir


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:21 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