![]() |
Memory programmieren
Moin,
ja ich habe die Such-Funktion benutzt - und ja, ich habe auch etwas gefunden, nur nicht das richtige ;) Zu meinem Problem: Ich habe ein Formular auf dem ich verschiedene Images habe (1 - 32), diese werden NICHT dynamisch generiert. Sie sind also von Anfang an vorhanden. Das Problem ist jetzt, wie ordne ich den Images verschiedene Bilder zu? Was ich gerne machen möchte: In einer for-Schleife durch die einzelnen Images gehen und denen dann mit einer Zufallszahl verschiedene Bilder zuweisen. Das Problem ist, wie kann ich das bewerkstelligen? Ich bräuchte ja sowas wie nen Array von den Images wo ich dann quasi sage: Image1.Picture.LoadFromFile(GetCurrentDir + '\pics\pic' + IntToStr(rnd) + '.jpg'); Mit Schleife logischerweise: Image[i].Picture.LoadFromFile(GetCurrentDir + '\pics\pic' + IntToStr(rnd) + '.jpg'); Das Problem liegt also bei dem index bzw. das ich wenn ich das mit der Schleife mache, nicht auf die Image-Eigenschaft "komme"... Hoffe man versteht mein Problem ... Grüße und danke im voraus PS.: Benutze Delphi6 |
Re: Memory programmieren
Wie wärs denn so:
Also das hier schreibst du da hin wo auch sowas wie Form1: TForm; oder so steht:
Delphi-Quellcode:
Dann schreibst du in Form OnCreate:
i: Integer;
Delphi-Quellcode:
Die eigentliche Schleife komt hier:
i := 0;
Delphi-Quellcode:
Herzlich Willkommen in der Delphi-Praxis :dp:
repeat
i := i + 1; Image[i].Picture.LoadFromFile(GetCurrentDir + '\pics\pic' + IntToStr(rnd) + '.jpg'); until i := 32; Hoffe ich konnte helfen. MFG Lars Wiltfang Edit: Wolltest du das überhaupt wissen, was ich beschrieben habe? |
Re: Memory programmieren
Ich glaube, Du suchst FindComponent().
|
Re: Memory programmieren
Statt GetCurrentDir solltest du ExtractFilePath(ParamStr(0)) verwenden. GetCurrentDir beinhaltet nicht zwingend das Anwendungsverzeichnis, und das kann dir dann schonmal zum Verhängnis werden.
|
Re: Memory programmieren
Zitat:
Mir ist klar das ich den Index z.B. deklarieren und dem nen Startwert (:= 0) zuweisen muss :) Nen Freund von mir meinte ebend das ich garnicht auf schon vorher erstellte Images "dynamisch" drauf zugreifen kann. Also das mit dem Image[i].etc. würde nicht gehen, da er ja nicht weiss um was für nen Objekt es sich handelt. Fazit: Kann es sein das ich die Images dynamisch erstellen muss um auch dynamisch in einer Schleife drauf zuzugreifen? Wie gesagt, ich möchte doch einfach nur mit Hilfe einer Schleife durch die Images gehen und denen Zufallsbilder zuweisen ... Kann doch nicht so schwer sein :wall: PS.: Wie funktioniert FindComponent genau? Gibt es eigentlich so etwas wie ne ne MSDN (VB) für Delphi? |
Re: Memory programmieren
Versuch es mal so:
Delphi-Quellcode:
for i := 1 to 32 do
(FindComponent('Image' + IntToStr(i)) as TImage).Picture.LoadFromFile(ExtractFilePath(ParamStr(0)) + '\pics\pic' + IntToStr(rnd) + '.jpg'); |
Re: Memory programmieren
Zitat:
=> Hat funktioniert :) Du weisst nicht rein zufälliger weise wie ich bei nem ShellTreeView nen Ordner selektieren kann, oder? Beim Form load soller halt bei dem ShellTreeView direkt z.B. 'C:\Windows' auswählen ... Gibt zwar nen .Select - aber da steig ich nicht ganz durch mit der TLost und den Nodes etc. :roll: |
Re: Memory programmieren
Da hast Du mich jetzt aber auf dem linken Fuß erwischt. ShellTreeview hab ich leider noch nie benutzt (und auf die Schnelle gerade noch nicht einmal in der Komponentenpalette gefunden) :oops:
|
Re: Memory programmieren
ShellTreeView hat die Eigenschaft Root, gucks dir mal im OI an :wink:
[Edit]Besser: Die Eigenschaft Path - ist allerdings nicht im OI |
Re: Memory programmieren
Root hatte ich bereits benutzt, ist aber nicht ganz das was ich suche. Ich möchte einen Ordner selektieren - d.h. also "voreinstellen", markieren, selektieren wie auch immer. Root wechselt ja einfach nur das Verzeichnis, selektiert aber keinen Ordner ... :|
[Edit] Und Path gibt ja nur den Pfad an wo das Projekt immo liegt, richtig? Also auch nicht das was ich suche :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 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