Autor |
Beitrag |
LuckyStrike4life
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 10:15
Morgen,
für mein Projekt ist es wichtig das Unterschriften gestzt werden können, von allen Chefs. Da man denen wohl kaum zumuten kann später alles in gedruckter Form per Hand zu unterschreiben, brauch ich eine andere Lösung.
Alle Unterschriften scannen und jede Unterschrift als Bild in eine weitere Datenbank bringen, muss aus systemtechnischen Gründen dBase sein.
Aber wie bekomme ich ein Bild, in welchem Format auch immer, in eine solche dBase Tabelle?
Gruß.
Mardin.
_________________ ... ich kann doch nichts ...
|
|
neojones
      
Beiträge: 1206
Erhaltene Danke: 1
|
Verfasst: Mi 02.07.03 10:26
Das kommt drauf an, wie Du auf die dBase-Datenbank zugreifst. Unterstützt dBase BLOB-Felder? Dann einfach ein Blob-Feld anlegen. In die Anwendung ein DBPicture einfügen. Dann mit Table1.Edit; die Tabelle in den Edit-Mode setzen. Dann mit DBPicture1.Picture.LoadFromFile('C:\test1.jpg') die Datei laden. Dann mit Table1.Post sichern.
Viele Grüße,
Matthias
_________________ Ha! Es compiliert! Wir können ausliefern!
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 10:35
Was neojones schreibt, ist schon richtig, aber ich befürchte, mit dBase und Blob Feldern gibt es Ärger, insbesondere wenn Du später umsteigst. Deshalb würde ich nur den Pfad zu den Bildern in der DB speichern als string.
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 10:46
Ist schon richtig Hansa,
muss ja auf Oracle umsteigen. Auch mit dem Thema Blob-Feld hab ich mich schon beschäftigt, aber nirgends eine gute Erklärung gefunden. Schon gar nicht im dicken Delphi 5 Buch von Borland.
Für mich wäre es okay wenn nur die Verweise zu den Bildern gespeichert werden, nur beim Drucken müssen dann halt die Bilder eingesetzt werden.
Wie genau muss ich da rangehen? Gibts n Tutorial dazu oder erklärts mir so einer  ?
Edit:
@neojones
Zitat: | Unterstützt dBase BLOB-Felder? Dann einfach ein Blob-Feld anlegen. |
Ansich sollte es das, zumindest wurde das von Borland im Buch mit einem halben Satz erwähnt - also zumindest das es möglich sei.
Aber wie einfach n Blob-Feld anlegen? Wie soll das gehen? Auf die Funktion bin ich noch nicht gestoßen.
_________________ ... ich kann doch nichts ...
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 02.07.03 10:56
Ich hatte da maln Tutorial dazu geschrieben:
www.delphi-forum.de/viewtopic.php?t=12042
P.S.: Suchfunktion? 
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 11:21
@UGrohne
Ich kenne dein Tutorial, aber es bringt mich nicht weiter, da es für mich nicht verständlich genug geschrieben ist, sorry. Du setzt da nicht direkt am Anfang ein.
Zitat: | Ich verwende eine Beispieltabelle testtabelle mit dem BLOB-Feld blobdata |
Was für eine Datenbank hast du da verwendet und wie hast du ein Feld als BLOB-Feld deklariert?
Wenn ich das nicht weiß kann ich dein Beispiel nicht nachbaun, was ich gerne würde, da ich es so sicher besser verstehen könnte.
_________________ ... ich kann doch nichts ...
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Mi 02.07.03 11:27
OK, vll. ist das nicht verständlich genug, aber es ist eine Interbase-Datenbank, das BLOB-Feld habe ich einfach mit SQL erzeugt, da heißt der Datentyp einfach BLOB.
Ich weiß halt nicht, ob das so einfach auf dBase zu übernehmen ist, aber grundsätzlich dürfte das Vorgehen ziemlich ähnlich sein.
Grad nachgeschaut: Ich denke, dass MEMO und Binär ziemlich sicher solche BLOB-Felder sind, da sie beliebig groß sein können. Diese Felder kannst Du ja in der Datenbankoberfläche als Datentyp einfügen...
Vll. bringt Dich das dann weiter 
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 11:31
Danke,
ich werd das dann mal jetzt mit deinem Tutorial ausprobieren.
Ich nehme gerne noch Tipps und Ratschläge an  .
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 11:48
Noch ein Tip gefällig ?
hansa hat folgendes geschrieben: | ... Deshalb würde ich nur den Pfad zu den Bildern in der DB speichern als string. |
Später würde ich mir dann irgendwann bei Oracle eventuell vielleicht überlegen, ob die paar Unterschriften tatsächlich in die DB rein müssen. Und vergiss eines nicht: irgendwann müssen die Daten von Dbase nach Oracle geschaufelt werden, oder ist das schon überholt? Und ein Thema: "Wie kriege ich Bilder-Daten aus dBase im Format XY in ein Oracle Blob-Feld" dürfte kaum Antworten bringen.
Schau Dir sowieso lieber mal TImage an.
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 11:59
Hey, warte mal - da hast du recht.
Es ist gar nicht zwingend notwendig die Bilder in die Datenbank zu bringen, es müsste auch funktionieren wenn die Bilder fest im Programm verankert sind. Hm.. na gut, sobald ich hier weg bin hätten die es schwer da was zu aktualisieren, aber das geht schon.
hansa hat folgendes geschrieben: | vergiss eines nicht: irgendwann müssen die Daten von Dbase nach Oracle geschaufelt werden |
Ich hab mir den Umstieg zu Oracle doch nicht ausgesucht  . Das wird schon noch n schönes Problem, aber deine Idee die Bilder nicht in die Datenbank zu bringen sondern so festzuhalten ist perfekt.
Jetzt brauch ich nur noch die Umsetzung...
TImage, werd ich mir ma anschaun.
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 12:07
tsetse, wegen des Themas hier habe ich mir mal TImage angeschaut, denn das steht noch auf meiner Liste mit den "nicht benutzen Komponenten".
Das ist ja schon fast lächerlich. Du legst das TImage auf die Form und gibst Dateiname an, fertig. Ja, meine Liste ist eben von schwierig bis total einfach sortiert und ich habe oben angefangen. 
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 12:51
Ja,
is recht simple. Auch interessant das du alle Komponenten durchgehen möchtest, viel Spaß / Erfolg.
Aber ob TImage die Lösung ist die mich ans Ziel bringt, ist die Frage. Denn angenommen, so wie ich es momentan plane - nach deinem letzten post, und die Bilder nicht in die Datenbank mit aufgenommen werden sollen, müssen diese wo anders liegen. Es ist nicht relevant das man sie sehen kann, sondern ansich sollen sie nur beim ausdrucken ans Tageslicht kommen.
Gedacht war das eigentlich so, die Chefs begutachten die Anfragen der Mitarbeiter, entscheiden ob es okay ist oder nicht und suchen dann, via DBLookupComboBox ihren Namen aus. Die Unterschrift muss dann automatisch gewählt werden zum ausgewähltem Namen.
Ja, dass sind so die Vorstellungen. Daher dachte ich immer an eine extra Datenbank - bin mir nicht sicher ob es auch ohne gehen wird.
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 12:58
Bei mir werden die Bilder hier liegen  :
Quelltext 1:
| \\Server\MeinProgramm\DB\BILDER |
und fertig. Riesengroßer Nachteil  dabei ist eben, daß ich nicht nur eine Datei sichern muß, sondern sogar auch noch die Unterverzeichnisse. Da Du aber wohl von dbase her gewöhnt bist, auch die einzelnen DBF,IDX usw. mitzusichern, dürfte es wohl egal sein. Im Crash-Fall müssen die Säcke eben wieder antreten, zum Unterschrift scannen. 
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 14:00
Sehr richtig,
so sind zumindest die Bilder gespeichert, dass hätte ich auch hinbekommen, vielleicht  .
Sollten die Unterschriften verloren gehen las ich halt alle ca. 15 Chefs + Stellvertreter herkommen, wie du schon sagtest. Das wird sicher n lustiger Nachmittag  .
Aber du glaubst doch nicht wirklich das die sich zu mir begeben würden, ich dürfte zu allen hinfahren  .
Naja, aber selbst wenn es so kommen sollte, was solls.
Viel wichtiger, wie bekomme ich es so hin, dass wenn ein Name ausgesucht wurde, automatisch das richtige Bild dazu genommen wird?
Wie gesagt, am besten wäre es über ne LookupComboBox, da ich auch nicht sehr viel Platz aufm MainForm hab, da ich auf 800*600 optimieren muss *argh*.
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 14:12
Ei, ei, ei, indem Du den Dateinamen in der DB speicherst und diese dann so aufruft:
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin Image1.Picture.LoadFromFile(Dateiname); end; |
Aber der Thread macht schon Sinn, wenn ich irgendwann vom Finanzamt oder sonst einem Mikado-Club eine Mahnung kriege, werde ich das anfechten und behaupten, die Unterschrift sei durch Dein Programm entstanden und zwar war das die Putzfrau, die die Tastatur abgewischt hat. 
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 14:40
hansa hat folgendes geschrieben: | Aber der Thread macht schon Sinn, wenn ich irgendwann vom Finanzamt oder sonst einem Mikado-Club eine Mahnung kriege, werde ich das anfechten und behaupten, die Unterschrift sei durch Dein Programm entstanden und zwar war das die Putzfrau, die die Tastatur abgewischt hat.  |
 Damit hast du den getroffen auf dem Kopf Nagel, dass was du angeben würdest ist die Angst von so manchem Chef, die meinen nämlich es könnte sich ja einer der anderen Chefs verklicken und würde damit eine falsche Unterschrift für einen Antrag setzen ... die wollen das ich n Rechtemanagement mit einbaue, nur haben sie vergessen das ich eigentlich nur noch 1 1/2 Wochen Zeit hab, für das Programm. Naja, aber dazu irgendwann mal mehr ... ich denke das ich n Zeitaufschub bekomme. So ist das halt, in nem Mikado-Club  .
Dein Code werde ich jetzt gleich mal ausprobieren, schön das du n Bitmap Button genommen hast, machst du das immer?
_________________ ... ich kann doch nichts ...
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Mi 02.07.03 14:58
Also,
soweit nicht falsch was du geschrieben hast, mein QuellCode dafür:
Delphi-Quelltext 1: 2: 3: 4:
| procedure TForm1.BitBtn1Click(Sender: TObject); begin Image1.Picture.LoadFromFile('bilder/test.bmp'); end; |
Damit bezwecke ich, bisher, aber nur das die Image1 Komponente auf meinem Form das Bild annimmt, sobald auf dem Button geklickt wird. Das ist ja schon mal schön. Das könnte ich sicher auch über ne LookupCombobox machen, indem ich schauen las welcher Name ausgewählt wurde - mit nem bisschen Quelltext, der dann den jeweiligen Pfad rausfindet. (wenn mir jemand n Beispiel dafür schreiben möchte, nur zu!).
Nur wie auch schon gesagt, die Unterschrift muss nicht angezeigt werden, sondern soll später nur druckbar sein. Also müsste ich halt den Pfad in die Datenbank schreiben lassen, so wie du es auch schon meintest und den Report dazu überreden das er nicht den Pfadnamen ausdruckt sondern das Bild an sich.
Ideen?
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Mi 02.07.03 17:33
Zitat: | die Unterschrift muss nicht angezeigt werden, sondern soll später nur druckbar sein |
schon klar, wenn eben wieder mikado gespielt werden soll und tatsächlich bewegt sich niemand außer einem, dann hat der eben verloren.  , dann kommt eben eine Unterschrift und danach die Sintflut.
_________________ Gruß
Hansa
|
|
LuckyStrike4life 
      
Beiträge: 196
Win 2000, XP, SuSE Linux 8.2
D5 Enterp.
|
Verfasst: Do 03.07.03 09:12
Zitat: | wenn eben wieder mikado gespielt werden soll und tatsächlich bewegt sich niemand außer einem |
Ja ja,
manchmal hab ich das Gefühl es ist so. Aber es sind natürlich nicht alle untätig, zumindest aus ihrer Sicht nicht  .
Hast du ne Idee wie man dem Report sagen kann das er aus der Datenbank nur die Adresse für das zu druckende Bild bekommt und er das Bild dann auch tatsächlich druckt? Gibt es dafür eine spezielle Komponente, oder eine Eigenschaft von einer Komponente?
_________________ ... ich kann doch nichts ...
|
|
hansa
      
Beiträge: 3079
Erhaltene Danke: 9
|
Verfasst: Do 03.07.03 13:17
LuckyStrike4life hat folgendes geschrieben: | ...wie man dem Report sagen kann das er aus der Datenbank nur die Adresse für das zu druckende Bild bekommt... |
Was nun ? Wo sind die Bilder ? In Datenbank drin, oder als Datei
Aber Du hast doch eh gleich Feierabend. 
_________________ Gruß
Hansa
|
|