![]() |
AW: Dateien einlesen
Aaaaaaber eine Frage habe ich schon jetzt an DeddyH:
Die Picshow Demos nutzen ja die zu installierende PicShow-Komponente. Nun habe ich jedoch nur D7 Personal und die kostenlose Turbo Delphi Version. In letzterer kann ich keine Fremdkomponenten installieren. Erstere enthält keine Datenbank Komponenten. Ich muss also die Komponenten komplett per Hand instantiieren. Deshalb die Frage: Was ist Picture.Data in Splash.dfm im Ordner DBDemo? Was ist PgPicture.Data in Main.dfm im Ordner Demo? Im Ordner Demo gibt es den Unternordner Photos. Ich vermute Picture.Data bzw. PgPicture.Data enthält eines der Fotos aus diesem Ordner? Richtig? Allerdings habe ich die Funktion noch nicht gefunden, die mir das Foto dorthin lädt, wenn ich die PicShow Komponente aud der .dfm Datei entferne, um die Demos wegen der vorausgesetzten DB Komponenten mit Turbo Delphi zu übersetzen. . |
AW: Dateien einlesen
Die Klasse TGraphic kennt die Methoden LoadFromFile()/LoadFromStream()
|
AW: Dateien einlesen
Asche auf mein Haupt. Sorry, ich hatte den Pfadnamen falsch.
FindFirst(FFileName)... und nicht, wie es richtig gewesen wäre:
Delphi-Quellcode:
Die FileSearch-Komponente von DeddyH schau ich mir dennoch an. Und jetzt, wo meine eigene (wenn auch) Quick and Dirty Lösung für die Diashow läuft, auch die PicShow Komponente und die anderen Tipps.
FindFirst(
ExtractFilePath(FFileName)+'*'+ExtractFileExt(FFileName),... |
AW: Dateien einlesen
Zitat:
|
AW: Dateien einlesen
Zitat:
Die reinen Bilddaten ohne Headerinfo oder die komplette Datei? @DeddyH hat, wie hier auch zu lesen ist, eine PicShow-Komponente feilgeboten. In den mitgelieferten Demos gibt es in den Formulardateien die Felder Picture.Data und PgPicture.Data Ich wollte halt das Original auch dann wiederherstellen, wenn DeddyH nicht noch mal antwortet. Dazu muss ich entweder wissen, welches der mitgelieferten Fotos er als Hintergrund im Objektinspektor gesetzt hat oder ich muss die Daten als Binärdatei speichern und an (Pg)Picture.Data zuweisen, da ich in Turbo Delphi keine Fremdkompos installieren kann. In D7 Personal fehlen die leider auch vorausgesetzten DB-Komponenten. Werde das deshalb selber ausprobieren. Wenn in Data die reinen Bilddaten stehen, sollte ich diese in binform in ein Array laden können und im Quellcode an Data zuweisen können. Zitat:
|
AW: Dateien einlesen
Pack mal spaßhalber ein TImage auf ein Formular, lade dort zur Entwurfszeit eine Grafik hinein und schau Dir die DFM als Text an. Dann wirst Du sehen, dass dort die kodierten Pixeldaten unter Data stehen. Das muss also keine Grafik aus dem Unterverzeichnis, sondern kann auch eine ganz andere sein. Für Dich spielt das aber keine Rolle, wenn Du die Komponente zur Laufzeit erzeugst, da Du "Data" eh nicht angreifst, sondern per LoadFromFile/LoadFromStream eine Grafik hineinladen kannst (Picture- bzw. BgPicture-Eigenschaft). Um die Komponente unter D7 Personal zu installieren, müsste es meiner Ansicht nach genügen, in der Hauptunit die DB-Variante samt aller Verweise auf DB-Packages komplett auszukommentieren. Die DB-Packages sind die, die der Compiler als fehlend monieren wird. Zu guter Letzt wirft man aus der Registrierungsunit noch die DB-Komponente raus, und es sollte gehen.
|
AW: Dateien einlesen
Zitat:
Die Überblendeffekte funktionieren mit den kleineren mitgelieferten Bildern einwandfrei. Ich habe jedoch eigene Bilder von meiner DigiCam, die ein ganzes Stück größer sind. Da klappt das Überblenden nicht mehr so schön flüssig. Habe eienen Athlon mit 1GHz. 512 MByte RAM. Habe noch 1 Laptop mit 0,99 GByte RAM, Prozessor 1,73GHz Pentium. Kann das optimiert werden? Wenn ja, wo? |
AW: Dateien einlesen
Vermutlich hast Du die originalen Riesenbilder der Webcam benutzt und lediglich die Anzeige gestrecht. Das ist eher kontraproduktiv, besser wäre es, die Bilder zu verkleinern, abzuspeichern und diese Dateien dann zu verwenden.
|
AW: Dateien einlesen
Zitat:
Interessanterweise funktioniert das Programm mit D7 Personal übersetzt wunderbar, aber nicht so mit Turbo Delphi übersetzt, wo ich die Komponente nicht installieren kann. Dort erhalte ich eine EAccessViolation in Modul PSDemo.exe bei Adresse 000A62A9, Zugriffsverletzung bei Adresse 004A62A9 in Modul PSDemo.exe. Lesen von Adresse 0000260. Das kann eigentlich nur mit dem Problem der nicht installierten Komponente zusammen hängen, sonst würde es mit D7 Personal und dort korrekt installierter Komponente ja auch nicht funktionieren. PsPicture.Data enthält also die Pixeldaten des Hintergrundes. Die PicShow Kompo hat einen Hintergrund, der jedoch im Objektinsprktor festgelegt wurde und wahrscheinlich in der Ressourcendatei versteckt ist. Enthält Data die reinen Bilddaten oder die komplette Datei einschließlich Headerinformation. Im letzteren Fall könnte ich probeweise die Hexstings in Binärziffern umwandeln und als .jpg Datei abspeichern und wegen der in Turbo Delphi nötigen Instantiierung zur Laufzeit mit LoadFromFile laden. Wenn Data aner nur die reine Pixelinformation umfasst??? Wegen der Problematik mit Turbo Delphi habe ich mir auch DfmToPas beschafft. Leider ist die Oberfläche dort für mich nicht verwendbar. Diese verlangt ein leeres Verzeichnis für die Zielunit aber erlaubt nicht, dieses Verzeichnis vor der Konvertierung festzulegen. Und wie benennt dieses Programm dann die neue Pascal Datei? Heißt also Sourcen studieren und auch verstehen oder doch eigene Lösung zu finden. Die sollte so aussehen, das ich eine Include Datei erhalte, die dann im Interface Teil meines Formular Quelltextes so eigefügt ist, das sich die Unit danach so verhält, als wäre sie mit der Original .dfm Datei übersetzt worden. Doch dann muss ich wissen, welchen Quelltext diese Software dann für PgPicture.Data = {...} erzeugen müsste. . |
AW: Dateien einlesen
Der Hintergrund wird in BgPicture.Data stecken
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 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