Einzelnen Beitrag anzeigen

hoscha123

Registriert seit: 25. Okt 2005
Ort: Mülheim a.d. Ruhr
4 Beiträge
 
#1

Wie lösche ich zur Laufzeit erzeugte Images???

  Alt 27. Okt 2005, 11:07
Hallo Leute,

bin ziemlich neu hier, also erstmal Gruß an alle und dann natürlich gleich ans Eingemachte.

Die Fragestellung: Wie lösche ich zur Laufzeit erzeugte Images???

Beschreibung allgemein: Durchlaufe eine Datenbank mit den üblichen Controls. In Abhängigkeit eines
Datenbankfeldes lasse dann die Images anzeigen.
Beim 1.mal sind von mir aus 4 Images erzeugt worden.
Beim 2.mal sind vielleicht nur 2 Images vorhanden.
Angezeigt sind aber noch die letzten 4 Images.
Wie bekomme ich also die ersten 4 Images wieder weg.
Das ganze wird auf einem TabSheet-Control dargestellt.


Delphi-Quellcode:
procedure hole_Images(tmpStr:String);

var
  sSymbol, sDateiname : string;
  myPos, myLength : integer;
  mySearchText : string;
  myImg: TImage;
  myLeft : integer;
  myTop : integer;
  myWidth : integer;
  myHeight : integer;

begin
  begin
    myPos := 1; // Start für While-Schleife setzen, damit sie mindestens 1.mal durchlaufen wird
    mySearchText := sSymbol;    // hier könnte sowas wie 'nr,af,er,tre ....' stehen (z.B. nr.jpg)
    myLength := Length(sSymbol);
    myLeft := 8; // Startposition der Images
    myTop := 280;
    myWidth := 80; // Größe des Images
    myHeight := 80;
    if myLength > 0 then // nur abarbeiten wenn Symbol-Text vorhanden ist
    begin
      while (myPos > 0) do // Solange durchfahren wie Text da ist
      begin
        myPos := pos(',', sSymbol); // Position des Trennungszeichens ermitteln
        if myPos = 0 then    // kommt nur einmal vor
        begin
          tmpStr := sSymbol; // kommt nur mehrmals vor
        end else
        begin
          tmpStr := copy(sSymbol, 1, myPos - 1); // String herausfiltern
        end;
        sDateiname := tmpStr + '.jpg';
        myImg := TImage.Create(Self); // neues Images erstellen
        with myImg do
        begin
          Left := myLeft;
          Width := myWidth;
          Height := myHeight;
          Top := myTop;
          parent := PageControl1.ActivePage;   // Hier auf den richtigen Tabsheet setzen
          picture.LoadFromFile(sServer_Name + 'Symbole\' + sDateiname);      // Hier mein Bild
        end;
        delete(sSymbol, 1, myPos); // String kürzen
        myLength := Length(sSymbol); // neue Länge des Strings bestimmen
        PageControl1.ActivePage.Refresh; // Anzeige auffrischen
        myLeft := myLeft + 88; // nächste Startposition eines Images
      end;
    end;
  end;
end;
vielen Dank schon mal im Voraus .... Horst
  Mit Zitat antworten Zitat