AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Memory programmieren

Ein Thema von Tassadar2k3 · begonnen am 11. Jun 2008 · letzter Beitrag vom 11. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2   
Tassadar2k3

Registriert seit: 11. Jun 2008
11 Beiträge
 
#1

Memory programmieren

  Alt 11. Jun 2008, 19:35
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
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Memory programmieren

  Alt 11. Jun 2008, 19:45
Wie wärs denn so:
Also das hier schreibst du da hin wo auch sowas wie Form1: TForm; oder so steht:
i: Integer; Dann schreibst du in Form OnCreate:
i := 0; Die eigentliche Schleife komt hier:
Delphi-Quellcode:
repeat
i := i + 1;
Image[i].Picture.LoadFromFile(GetCurrentDir + '\pics\pic' + IntToStr(rnd) + '.jpg');
until i := 32;
Herzlich Willkommen in der Delphi-Praxis

Hoffe ich konnte helfen.

MFG Lars Wiltfang


Edit: Wolltest du das überhaupt wissen, was ich beschrieben habe?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#3

Re: Memory programmieren

  Alt 11. Jun 2008, 19:46
Ich glaube, Du suchst FindComponent().
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Memory programmieren

  Alt 11. Jun 2008, 19:58
Statt GetCurrentDir solltest du ExtractFilePath(ParamStr(0)) verwenden. GetCurrentDir beinhaltet nicht zwingend das Anwendungsverzeichnis, und das kann dir dann schonmal zum Verhängnis werden.
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Tassadar2k3

Registriert seit: 11. Jun 2008
11 Beiträge
 
#5

Re: Memory programmieren

  Alt 11. Jun 2008, 20:05
Zitat von Larsi:
Edit: Wolltest du das überhaupt wissen, was ich beschrieben habe?
Ne ...
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

PS.: Wie funktioniert FindComponent genau? Gibt es eigentlich so etwas wie ne ne MSDN (VB) für Delphi?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#6

Re: Memory programmieren

  Alt 11. Jun 2008, 20:08
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');
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Tassadar2k3

Registriert seit: 11. Jun 2008
11 Beiträge
 
#7

Re: Memory programmieren

  Alt 11. Jun 2008, 20:20
Zitat von DeddyH:
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');
Jetzt brauche ich nur noch deine Bankverbindung oder Adresse fürs Dankeschön
=> 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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#8

Re: Memory programmieren

  Alt 11. Jun 2008, 20:24
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)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Fussball-Robby
Fussball-Robby

Registriert seit: 22. Okt 2007
Ort: Nähe Köln
1.063 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Memory programmieren

  Alt 11. Jun 2008, 20:26
ShellTreeView hat die Eigenschaft Root, gucks dir mal im OI an

[Edit]Besser: Die Eigenschaft Path - ist allerdings nicht im OI
Robert L.
Der folgende Satz ist richtig!
Der vorherige Satz ist falsch!

Paradox
  Mit Zitat antworten Zitat
Tassadar2k3

Registriert seit: 11. Jun 2008
11 Beiträge
 
#10

Re: Memory programmieren

  Alt 11. Jun 2008, 20:33
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 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