dabjoern
Goto Top

Mit Kix32 Standarddruckerfestlegen (Erweiterung Skript)

Hallo Leute,

ich verwende mit großer Leidenschaft das Kix32-Skript von Ulrich Schlüter. Es sieht wie folgt aus:

if Open(1,"C:Temp  
l_printer.txt")=2  
  ?
  color b/w+
  ? "                      F E H L E R                        "  
  color w/n
  ?
  ? "Fehler " + @ERROR + " = " + @SERROR  
  ? "Datei printer.txt konnte nicht gelesen werden."  
  ?
  ? "Benutzer: " + @USERID + "     Computer: " + @WKSTA  
  ?
  ? "Benachrichtigen Sie den Helpdesk ueber diese Fehlermeldung."  
  ? "Druecken Sie eine beliebige Taste..."  
  ?
  get $Taste
  goto ENDE
endif
$DateiEnde=0                                  ; Ja, initialisieren
$Satz=ReadLine(1)                             ; 1. Satz lesen
  if @ERROR=-1                                ; DateiEnde?
    $DateiEnde=@ERROR                         ; Ja
  endif
  $Gefunden=1                                 ; Init
while $Gefunden=1 AND $DateiEnde<>-1
if $DateiEnde <> -1
   $COMPUTERNAME=UCASE(@WKSTA)+","  
   $DRUCKKENNUNG=UCASE(SUBSTR($Satz,1,LEN(@WKSTA)+1))
   if $DRUCKKENNUNG = $COMPUTERNAME
     goto DRUCKEN
     $Gefunden=0
   else
     ;Weitere Saetze lesen
     $Satz=ReadLine(1)
     if @ERROR <> 0
       goto ENDE
     endif
   endif
endif
loop   
goto ENDE
:DRUCKEN
$Zeiger = LEN(@WKSTA) + 2
$Drucker = ""  
$SatzEnde = 0
:SCHLEIFE2
  $Drucker = $Drucker + Substr($Satz,$Zeiger,1)
  $Zeiger = $Zeiger + 1
    if Substr($Satz,$Zeiger,1) = ","  
      $Zeiger = $Zeiger + 1
        if AddPrinterConnection($Drucker) = 0
	  ? "- UNC-Drucker " + $Drucker + " erfolgreich angeschlossen."  
	  ? ""  
	else
	  ? "Fehler " + @ERROR + " = " + @SERROR    
	  ? "Der Netzdrucker " + $Drucker + " konnte nicht angeschlossen werden."  
	  ?
          ? "Druecken Sie eine Taste..."  
          get $Taste
	endif
        $Drucker=""  
   endif
if $Zeiger >= LEN($Satz)
  goto ENDE
endif
goto SCHLEIFE2
:ENDE
exit

Die txt-Datei sieht so auszugsweise aus:

ILMENAU,\ERFURTKonica7035,\ERFURTHP1200,
JENA,\ERFURTKonica7035,\ERFURTHP1200,

Auf der Seite http://www.galileocomputing.de/openbook/microsoft_netzwerk/microsoft_ne ... befindet sich eine Erklärung.

Meine Frage: wie muss ich das Skript erweitern, damit der erste Drucker (in diesem Fall der Konica-Drucker) als Standarddrucker deklariert wird? Die Funktion ist mir klar (SetDefaultPrinter), doch an welcher Stelle muss ich das Ganze einbinden?

Danke im Voraus und viele Grüße
Björn

Content-ID: 63009

Url: https://administrator.de/contentid/63009

Ausgedruckt am: 15.11.2024 um 19:11 Uhr

42503
42503 04.11.2007 um 17:37:40 Uhr
Goto Top
Hallo,

so könntest du es machen:

   $PrinterCount = ReadProfileString("printers.ini", "Printers", "Count")  
   $DefaultPrinter = ReadProfileString("printers.ini", "Printers", "DefaultPrinter")  
   for $Count = 1 to $PrinterCount
      $Printer = ReadProfileString("logon.ini", "Printers", "Printer"+$Count)  
      AddPrinterConnection $Printer
      if @ERROR = 0
         ? "Der Drucker "+$Printer+" wurde erfolgreich verbunden!"  
      Else
         ? "Der Drucker "+$Printer+" konnte nicht verbunden werden!"  
      EndIf
      if $DefaultPrinter = $Count
         ? "Der Drucker "+$Printer+" wird nun als Standart Drucker eingerichtet..."  
         $tmp = SetDefaultPrinter($Printer);
         if @ERROR = 0
            ? "Der Standart Drucker wurde definiert!"  
         Else
            ? "Fehler beim definieren des Standart Druckers!"  
      EndIf
   Next

(Ist ein Auszug aus meinem Logon Skript!)

Wenn du es jedoch mit deiner Variante machen möchte, würde ich es einfach vor den EXIT Befehl setzen. Damit ist sichergestellt das er ausgeführt wird.

Viele Grüße
Gespenst