OS2.org Site Index - Feedback - Impressum
Sprachauswahl / Choose your Language News Software Hardware Projekte Forum Tipps Links Verschiedenes
Editorial Diskussion HelpDesk Umfrage
[Forum]
in nach (Erweiterte Suche)
[Forum]
( Archiv ) ( Neues Thema )

( Zeige die Threadübersicht ) ( Zur Startübersicht )
02.09.2002
Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Wolfgang Holzmann, 16:45:38) ^
Hat jemand von euch schon mal eine Druckerobject mit Rexx auf der Arbeitsoberfläche erstellt? Könnte mir einer von euch den genauen Syntax dafür geben?

Vielen Dank im voraus.
[ Leser: 90 ]

03.09.2002
Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Peter W., 08:15:02)
Das geht ungefähr so:

/*blah*/
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs

Object = "OBJECTID=<Drucker_XYZ>" Que = "QUEUENAME=Queue
LPT = "PORTNAME=LPT1"
DrDriver = "PRINTDRIVER=Treibername"

setup = Object";"||,LPT";"||,Que";"||,DrDriver";"

rc=SysCreateObject("WPPRINTER" , Druckername, "<WP_DESKTOP>" , setup , "Replace")

Wenn Du die Parameter korrekt angibst, hast Du damit ein FUNKTIONSFÄHIGES Druckerobjekt erzeugt. Ein bloßes Objekt zu erstellen ist eigendlich einfacher. Beim Drucker geht es aber wie oben beschrieben.


Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Peter W., 08:26:00)
Vielleicht besser, ich erkläre die Parameter:

Die "OBJECTID" kannst Du so nennen wie Du willst.
Den "QUEUENAME" ebenfalls.
"PORTNAME" dürfte klar sein.
"Treibername" sieht z.B. so aus: PSCRIPT.Lexmark Optra S 1855
Schau' ggf. in die Datei "Prdesc.lst". (irgendwo auf Deiner CD)
Du kannst noch mehr Parameter angeben, wenn Du willst. (z.B. "iconfile")

Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Wolfgang H, 10:20:56)
Danke für die Antwort.

Leider funktioniert es noch nicht richtig.
Ich hab das Rexx Script ohne die || eingegeben da ich nicht ganz verstehe warum du eine Variable so erzeugen willst es funktioniert so auch gar nicht. Ist aber egal, war sicher nur ein Tipfehler.

Leider verstehe ich die den Parameter Treibername nicht. Ich hab eine externe Treiberdatei die auf der Platte liegt. Wenn ich jetzt bei Treibername angebe "D:Druckedrucker.drv" sagt er nur er kann den Treiber nicht finden. Wie muss ich das richtig angeben.

Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Peter W., 11:10:48)
Die || müssen sein, wenn man die Parameter vorher in einer Variablen speichert. (damit die Kommas auch mitgespeichert werden) Ansonsten müsste man beim Aufruf von "SysCreateObject" den ganzen Mist mit angeben anstatt einfach nur setup1. (in diesem Fall)
Wenn Du mir sagst, welchen Drucker Du installieren willst, kann ich Dir die Bezeichnung für "Treibername" sagen. Dann kannst Du das vielleicht auch besser nachvollziehen.
Dieses Script müsste jetzt aber eigendlich funktionieren:
/*blah*/
call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
call SysLoadFuncs

setup1="OBJECTID=<Drucker_XYZ>;"||,
"PORTNAME=LPT1;"||,
"ICONFILE=C:OS2InstallXY.ICO;"||,
"QUEUENAME=MeinDrucker;"||,
"PRINTDRIVER=IBM4019.Laserdrucker IBM 4029 6;"||,
"ICONPOS=50 90;"

rc=SysCreateObject("WPPRINTER" , "Druckername" , "<WP_DESKTOP>" , setup1 , "Replace")

Übrigens: Das Script installiert NICHT den Treiber, sondern legt nur das Objekt an. Automatische Treiberinstallation siehe hier:
http://www.os-2.de/forum/helpdesk/?list=5160 Da habe ich mal eine Beschreibung geschrieben. Mit "backprn" kannst Du übrigens den "treibername" 'rauskriegen.

Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Wolfgang H, 14:26:00)
Gut ich hab mir die Beschreibung die du angehängt hast durchgelesen.

Wie ich das sehe, will der Befehl die Dateien
PRDDRV und PRDDESK nach dem Treiber durchsuchen. Leider steht mein Treiber da ja nicht drin. Also Treiber Namen eintragen ok.
Treiber in die PMDD Datei kopieren?
Wo kann ich bestimmen, wo OS/2 Warp4 diese Verzeichnisse sucht. Installiert wurde das System über CID also das LW das Standardmäßig genommen wird ist nicht das richtige.

04.09.2002
Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Peter W., 07:34:55)
In einer Ini-Datei steht der Installationspfad. Wenn Du den nicht ändern willst, mußt Du beim Aufruf von "Rinstprn" den "Source-Pfad" angeben:
z.B.: rinstprn /S:x:os2image
Der Treiber wird dann in einem Unterverzeichnis "PMDD_X" gesucht.
Hier mal die Parameter:
/DSC: -Pfad zur prdesc.lst
/DRV: -Pfad zur prdrv.lst
/L1: -Logfile
/R: -Pfad zur responsedate
/S: -siehe oben
/T: -target (i.d.R. nicht nötig)

Angenommen Du willst einen PS-Treiber installieren. Schau' in die "prdrv.lst". Hier steht z.B. "PSCRIPT.DR_ 7"
Das bedeutet, daß der Treiber im Verzeichnis ....PMDD_7 gesucht wird. Im Beispiel oben also in X:os2imagepmdd_7

Jetzt mußt Du den Treiber dorthin kopieren und den Drucker in der "pdesc.lst" verewigen.
I.d.R. ist bei Druckertreibern eine *.inf -Datei dabei. Hieraus kannst Du mit cut+paste die Info in die prdesc.lst übertragen.
Jetzt kannst Du mit einem Editor oder mit dem Tool "rmpi_cfg.exe" eine responsedatei erstellen. Wenn Du anschließend "rinstprn" mit den korrekten Parametern aufrufst, sollte es klappen...
Wenn Du mir den Druckertyp sagst, kann ich Dir ein Beispiel schicken.


06.09.2002
Re: Erstellen eines neuen Druckers auf der Arbeitsoberfläche mit Rexx (von: Wolfgang H., 09:02:23)
Vielen Dank für deine Hilfe.
Mit dem letzten Tipp hab ich es geschafft.

Herlichen Dank nochmal.

( Zeige die Threadübersicht ) [ Version zum Drucken ] ( Zur Startübersicht )

Datum Thema
08.01.2017 *

*

Name: * eMail: Benachrichtigung

Mit * markierte Felder müssen ausgefüllt werden !


php.net OpenIT © 1998-2017 by WebTeam OS2.org