BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
'Handhabung' von Bildern in Base
'Handhabung' von Bildern in Base
Hallo Leute,
habe nun mit eurer Hilfe meine erste Datenbankanwendung (für meine Modelleisenbahn-Sammlung) am laufen.
Da werden auch 4 graphische Kontrollfelder verwendet um je Datensatz in einem Formular bis zu 4 Bilder, die auf einem externen Laufwerk liegen, anzuzeigen. Funktioniert einwandfrei, auch können ja 'standardmäßig' die Bilder durch Doppelklick per Auswahlfenster gewählt und der Pfad dadurch in die DB übernommen werden.
Könnte man aus dem Formular heraus ein externes Programm aufrufen (z.B. Paint etc.) um das Bild in seiner vollen Größe / Auflösung anzuzeigen und eventuell auch gleich zu bearbeiten ?
Grüße, Bert
p.s: verwende Windows-7
habe nun mit eurer Hilfe meine erste Datenbankanwendung (für meine Modelleisenbahn-Sammlung) am laufen.
Da werden auch 4 graphische Kontrollfelder verwendet um je Datensatz in einem Formular bis zu 4 Bilder, die auf einem externen Laufwerk liegen, anzuzeigen. Funktioniert einwandfrei, auch können ja 'standardmäßig' die Bilder durch Doppelklick per Auswahlfenster gewählt und der Pfad dadurch in die DB übernommen werden.
Könnte man aus dem Formular heraus ein externes Programm aufrufen (z.B. Paint etc.) um das Bild in seiner vollen Größe / Auflösung anzuzeigen und eventuell auch gleich zu bearbeiten ?
Grüße, Bert
p.s: verwende Windows-7
Re: 'Handhabung' von Bildern in Base
Hallo Bert,
ja, das geht, ist aber vom Aufbau deines Formulares abhängig, hier mal ein Makro das in meinem Formular funktioniert,
Hier befindet sich der Pfad zum Bild in der Spalte URL der Datengrundlage des Formulares MainFormGruß R
ja, das geht, ist aber vom Aufbau deines Formulares abhängig, hier mal ein Makro das in meinem Formular funktioniert,
Hier befindet sich der Pfad zum Bild in der Spalte URL der Datengrundlage des Formulares MainForm
Code: Alles auswählen
Sub S_open_Bitmap_Mspaint
sfolder = replace(ThisDatabasedocument.url,ThisDatabasedocument.Title,"")
oform = thiscomponent.drawpage.forms.MainForm
surl = sfolder + oform.columns.URL.getstring
sPath = convertfromurl(surl)
Shell( "mspaint.exe " & sPath,1)
End Sub
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: 'Handhabung' von Bildern in Base
Hallo R,
bin dir wirklich dankbar für deine Hilfe. Versuche mich einzulesen aber das Thema ist riesig, komme mir vor wie 'lost in space'
Dein Beispiel lief erstmal nicht bei mir: erste Zeile bringt Fehler, verstehe auch nicht das 'replace'. Hab' ich erstmal weggelassen und probiert und ich bekomme den Pfad in die "surl".
Dann funktioniert aber convertfromurl() nicht, sPath und surl behinhalten z.B. mit print ausgegeben immer den gleichen Inhalt, genau das was im Textfeld in der Tabelle steht.
Der Beispielcode aus der Base-Hilfe funktioniert, wandelt aber mit converttourl() den Pfad mit 3 führenden "/" um, anders als Base ihn mit der Dateiauswahlbox beim Bild-Auswählen einfügt. Auch wird dann beim shell-Aufruf der Pfad noch mit einem vorangestellten "C:\" erweitert und Paint bringt den Fehler, daß es die Datei nicht findet unter "C:\f/ ..."
Hab' mir erstmal so beholfen, daß ich den Pfad (den ich ja kenne) selbst zusammensetze und nur den Dateinamen dranhänge. Bin happy, das das jetzt so funktioniert. Mit 4 Buttons kann man so prima und schnell die Bilder ansehen.
Zum Bearbeiten (z.B. Zuschneiden und die Auflösung reduzieren) muß ich noch bei geöffnetem Bild den Datensatz-Zeiger im Base-Formular von Hand verstellen, sonst kann ich das Bild in Paint nicht (unter gleichem Namen) speichern, klar: weil es in Base auch noch geöffnet ist.
Hättest du da bitte einen Tip für mich ?
(ich finde einfach keinen SQL- oder anderen Befehl, wie ich den Datensatzzeiger in der geöffneten Tabelle um eins weiterstellen kann, das könnte ich ja vor dem Shell() Befehl noch ausführen ... ideal wäre, wenn man nach der Rückkehr von Paint wieder zurück auf den gleichen Datensatz käme)
oder kann man die Bilder im Base-Formular vorübergehend 'abschalten' ?
Viele Grüße, Bert
bin dir wirklich dankbar für deine Hilfe. Versuche mich einzulesen aber das Thema ist riesig, komme mir vor wie 'lost in space'
Dein Beispiel lief erstmal nicht bei mir: erste Zeile bringt Fehler, verstehe auch nicht das 'replace'. Hab' ich erstmal weggelassen und probiert und ich bekomme den Pfad in die "surl".
Dann funktioniert aber convertfromurl() nicht, sPath und surl behinhalten z.B. mit print ausgegeben immer den gleichen Inhalt, genau das was im Textfeld in der Tabelle steht.
Der Beispielcode aus der Base-Hilfe funktioniert, wandelt aber mit converttourl() den Pfad mit 3 führenden "/" um, anders als Base ihn mit der Dateiauswahlbox beim Bild-Auswählen einfügt. Auch wird dann beim shell-Aufruf der Pfad noch mit einem vorangestellten "C:\" erweitert und Paint bringt den Fehler, daß es die Datei nicht findet unter "C:\f/ ..."
Hab' mir erstmal so beholfen, daß ich den Pfad (den ich ja kenne) selbst zusammensetze und nur den Dateinamen dranhänge. Bin happy, das das jetzt so funktioniert. Mit 4 Buttons kann man so prima und schnell die Bilder ansehen.
Code: Alles auswählen
Sub S_open_Bitmap_Mspaint
oform = thiscomponent.drawpage.forms.MainForm
surl = oform.columns.Bild1.getstring
sPath = Mid(surl, 17)
Shell( "mspaint.exe f:\___H0\Fotos\" & spath,1)
End Sub
Hättest du da bitte einen Tip für mich ?
(ich finde einfach keinen SQL- oder anderen Befehl, wie ich den Datensatzzeiger in der geöffneten Tabelle um eins weiterstellen kann, das könnte ich ja vor dem Shell() Befehl noch ausführen ... ideal wäre, wenn man nach der Rückkehr von Paint wieder zurück auf den gleichen Datensatz käme)
oder kann man die Bilder im Base-Formular vorübergehend 'abschalten' ?
Viele Grüße, Bert
Re: 'Handhabung' von Bildern in Base
moin,
ja man kann den Datensatzzeiger verschieben z.B. mit
Gruß R
ja man kann den Datensatzzeiger verschieben z.B. mit
Code: Alles auswählen
if not oForm.next then oform.first
Windows 10: AOO, LO Linux Mint: AOO, LO
Re: 'Handhabung' von Bildern in Base
Hallo R,
funktioniert prima, vielen Dank !
Habe nun noch das Warten auf das ext. PRG eingerichtet und danach wird der akt.Datensatz zurückgestellt.
So kann man komfortabel die Bilder aufrufen und gleich bearbeiten, müsste eigentlich jeder mit Bildern in einer Datenbank verwenden können.
Bei mir sind das immerhin ca. 1600 Objekte/Datensätze mit mehr als 4000 Bildern.
Grüße, Bert
funktioniert prima, vielen Dank !
Habe nun noch das Warten auf das ext. PRG eingerichtet und danach wird der akt.Datensatz zurückgestellt.
Code: Alles auswählen
if not oForm.next then oform.first
Shell( "mspaint.exe f:\___H0\Fotos\" & spath, 1, "",true)
if not oForm.previous then oform.last
Bei mir sind das immerhin ca. 1600 Objekte/Datensätze mit mehr als 4000 Bildern.
Grüße, Bert