home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
applications
/
databases
/
databasepro
/
picbase
/
picbasepbm.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1995-07-10
|
3KB
|
85 lines
/****************************************************************************
ARexx Skript zur automatischen Erzeugung von Thumbnails mit PBMplus und
anschliessender Übername der Daten in DataBase.
Dazu muß - DataBase laufen und die 'picbasePBM.db' Datei geladen sein
Das ARexx Skript sollte durch das Skript 'PictureBasePBM' aufgerufen werden.
02.09.94, Jörg Richter
*****************************************************************************/
PARSE ARG argline
PARSE VAR argline path source bild length DB .
/*
path = Pfad für das erzeugte Thumbnail
source = Quellpfad der Bilder
bild = Pfad und Name des eigentlichenen Bildes
length = Dateilänge des Bildes
DB = Pfad von Database
*/
OPTIONS RESULTS
DIAsize = 120 /* Vorschaugröße */
IF RIGHT(path,1) ~= "/" THEN DO
IF RIGHT(path,1) ~= ":" THEN
path = path || "/"
END
path = path || DelStr(bild,1,Length(source))
pos = MAX(LastPos("/",bild),LastPos(":",bild))+1
bildname = SubStr(bild,pos,Length(bild)-pos+1) /* Bildname ermitteln */
path = SubStr(path,1,Length(path)-Length(bildname))
IF Exists(path || bildname) = 1 THEN /* Falls Thumbnail schon existiert */
EXIT /* weiter mit nächsten Bild */
ADDRESS DataBase
Message "Bearbeite " || bild || " ..."
ADDRESS COMMAND
'PBMBIN:filetype ' || bild
type = RC
IF type >= 10 THEN
EXIT
IF type = 0 THEN
'PBMBIN:ilbmtoppm > JPEGTMP:t.ppm ' || bild
IF type = 1 THEN
'PBMBIN:giftopnm > JPEGTMP:t.ppm ' || bild
IF type = 2 THEN
'PBMBIN:Djpeg > JPEGTMP:t.ppm ' || bild
ADDRESS
bool = Open(file,'JPEGTMP:t.ppm',R)
str = ReadLn(file)
str = ReadLn(file)
width = WORD(str,1)
height = WORD(str,2)
bool = Close(file)
ADDRESS COMMAND
'PBMBIN:pnmscale > JPEGTMP:s.ppm -xysize ' || DIAsize || ' ' || DIAsize || ' JPEGTMP:t.ppm'
'C:Delete > NIL: JPEGTMP:t.ppm'
'PBMBIN:ppmtoilbm > ' || path || bildname || ' -fs -mp 8 -map PBMBIN:cmap.ppm JPEGTMP:s.ppm'
'C:Delete > NIL: JPEGTMP:s.ppm'
ADDRESS DataBase
Add /* neuen Datensatz hinzufügen */
PutData $F1 bild /* Orginalbildname und -pfad in Feld 1 */
PutData $F2 length /* Dateilänge des Bildes in Feld 2 */
PutData $F3 width || "x" || height /* Bildbreite und -höhe in Feld 3 */
IF Compare(UPPER(DB),UPPER(SubStr(path,1,Length(DB)))) = 0 THEN
path = DelStr(path,1,Length(DB)+1)
PutData $F4 path || bildname /* Pfad/Name des Thumbnails in Feld 4 */
/* Falls der Pfad teilweise mit dem */
/* Pfad von DataBase übereinstimmt, */
/* wird dieser Teil vorher einfernt */