Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt (https://www.delphipraxis.net/189624-farbe-einer-flaeche-abhaengigkeit-ob-dbmemo-leer-oder-gefuellt.html)

hentsch.norbert 30. Jun 2016 14:45

Datenbank: Access • Version: 10 • Zugriff über: Delphi

Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt
 
Hallo zusammen,

vielleicht kann mir jemand helfen bei meinem kleinen Problem.
Ich speichere PDF Daten in ein Access Tablefeld.

In Abhängigkeit ob das Feld gefüllt oder leer ist soll mir eine Farbe in der Anwendung zeigen, ob etwas im Feld gespeichert wurde.

Leider kann ich ein PDF in Delphi mit Bordmittel ja nicht zeigen, oder ?

Gerne hätte ich aber gewusst ob der Datensatzfeld Daten "PDF" enthält oder nicht.

Weiß jemand Rat?

Eine entpr. Komponente wie TDBColorPanel ware toll.

Grüße
Norbert

himitsu 30. Jun 2016 15:04

AW: Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt
 
A) Du kannst natürlich auch in einem anderen Feld speichern, was da für Daten drin sind. Beim Speichern des BLOBs weißt du doch wohl, was du da rein tusts.
Macht Windows ja auch nicht anders und "erkennt" anhand des "externen" Dateinamens, um was es sich handeln könnte.

B) Viele Datei-Typen haben gewisse Kennzeichen, in ihren Daten.
Sehr oft kann man dafür die ersten 4 Byte der Datei benutzen.
https://de.wikipedia.org/wiki/Portable_Document_Format siehe "magische Zahl", da man 4 Byte auch als einen Integer interpretieren könnte.


OnAfterScroll und dort drin die Farbe zuweisen?

hentsch.norbert 30. Jun 2016 15:19

AW: Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt
 
Hallo himitsu,

und danke für deine schnelle Antwort.

Ja ich will den PDF Binärtext nicht in einem Memo Feld dem Anwender anzeigen.
Eine Rote und Grüne Fläche würde reichen um zu zeigen das sich der Binärcode einer PDF sich im Memo befindet.

Erst dann kann er sich diese PDF ja zeigen lassen indem ich dazu eine externe Datei erzeuge und anzeige.

OnAfterScroll und dort drin die Farbe zuweisen?

Wie meinst du das bitte? muss das ein Datenbank Kontroll sein?

Grüße
Norbert

nahpets 30. Jun 2016 15:45

AW: Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt
 
Gehen wir mal davon aus, dass Du in der Anzeigemaske ein Label "lbPDF" hast.

Im Ereignis AfterScroll kannst Du nun abfragen, ob im Blob was drinne ist oder nicht:
Delphi-Quellcode:
if Abfrage.FieldByName('PDF').IsNull then lbPDF.Color := clRed else lbPDF.Color := clGreen.
(nur so hingedaddelt, nicht getestet)

hentsch.norbert 30. Jun 2016 16:49

AW: Farbe einer Fläche in Abhängigkeit ob DBMemo leer oder gefüllt
 
Super nahpets,

das hat geklappt.

Prima und vielen Dank für die super schnelle Hilfe.

Grüße
Norbert


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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