Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - OpenPictureDialog wie richtig nutzen?
jUli@ - Fr 24.01.03 10:41
Titel: OpenPictureDialog wie richtig nutzen?
hallo!
ich habe n Problem und zwar schreibe ich an einer Fahrzeugverwaltung und ich möchte über einen button ein bild von einem auto in die verwaltung laden. brauche ich dafür einen platzhalter? wie muss ich das programmieren? denn wenn ich kein bild von dem auto habe soll ein bild mit " kein auto vorhanden" angezeigt werden! kann ich das auch so machen das ich dem Fahrzeug ein bild so zuweise das ich das gleiche bild auch für ein anderes Fahrzeug nutzen kann?? :?: ich habe das als dateiverwaltung und nicht als datenbank! aber ich will bei einer ausgabe z.B. beim ändern das bild angezeigt haben!
wäre klasse wenn mir dabei jemand helfen könnte! :D
danke!
LG Julia :wink:
Klabautermann - Fr 24.01.03 10:56
Hallo,
ich würde so vorgehen:
- In meinem Programverzeichnis lege ich ein Unterverzeichnis Bilder an.
- Ich Kopiere das Bild "kein Bild" in dieses Verzeichnis und gebe ihn den Namen 0.bmp (Es sei den du willst in diesem Fall nichts anzeigen.
- In meiner Datenstruktur (Record) füge ich ein Feld Bild vom Typ LongInt ein.
- Beim Scrollen durch die Datensätze lädst du immer das Bild, das der Maske IntToStr(MyData.Bild) + '.BMP' (bzw. andere änderungen berücksichtigen).
- Beim hinzufügen eines Bildes fügst du es nun unter dem Namen X.BMP in dieses Verzeichnis ein. Wobei X eine neue Nummer ist.
- Wenn der User ein Bild festlegen soll, bietest du ihm eine Gallerie mit allen Bildern in dem Verzeichnis an. Wenn er das gesuchte nicht findet, dannn kann er ein neues hinzufügen, welches in die Galerie wandert (siehe vorherigen Punkt).
Gruß
Klabautermann
jUli@ - Fr 24.01.03 11:34
danke für deinen vorschlag!
aber wie meinst du das:
[*] Beim Scrollen durch die Datensätze lädst du immer das Bild, das der Maske IntToStr(MyData.Bild) + '.BMP' (bzw. andere änderungen berücksichtigen).
wie muss ich das schreiben? ich habe bis jetzt ein TImage ("kein auto vorhanden = 0.bmp") in das Formular eingefügt.
ich verstehe nicht wie du das meinst?! könntest du mir das bitte erklären??
LG Julia
Klabautermann - Fr 24.01.03 12:13
Hallo Juli@,
du has irgendwo eine funktion LoadData welche die Daten aus deiner Datei ließt. Also deinen Record. Diesen nenne ich der einfachheit halber MyData. Dieser hat nach meinen Vorschlägen einen Integerwert namens Bild. Dieser enthällt die nummer des zu verwendenen Bildes, default (kein Bild) ist 0 (Null).
Ich unterstelle jetzt mal, das du nur BMPs zulässt (weil es so schon einfach ist). Dann ist der Dateiname MyData.Bild (z.B. 0) + dem TeilString '.bmp' (also z.B. 0.bmp). Diesen lädst du in deine tImage Komponente.
Im Code könnte das etwa so aussehen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| [...] Read(f, MyData); [...] TRY image1.Picture.LoadFromFile(IntToStr(MyData.Bild) + '.bmp'); EXCEPT image1.Picture.LoadFromFile('0.bmp'); END; |
Dieses Codefragment verlangt natürlich noch nach verbesserung (sicherheitsmechanismen falls keine Bilder vorhanden sind [auch 0.bmp nicht]) sollte das Prinzip aber zeigen.
Gruß
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!