AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

hardcopy aus Konsole drucken

Ein Thema von explorer1 · begonnen am 5. Sep 2011 · letzter Beitrag vom 5. Sep 2011
Antwort Antwort
explorer1

Registriert seit: 5. Sep 2011
2 Beiträge
 
#1

AW: hardcopy aus Konsole drucken

  Alt 5. Sep 2011, 13:24
H:\>ipconfig /all > ipconfig-all.txt | notepad /p ipconfig-all.txt | del ipconfig-all.txt

hello shark, danke.

ich kann jetzt das blind eingeben, doch hatte ich schon mein blaues wunder erlebt bis zum sysemabsturz.
wieso Laufwerk H:\ muss es H:\> sein, oder ist das eine Variable ?
kannst Du mir bitte die einzelenen Schritte erklären ?
1) muss das Zeichen > sein?
2) bedeutet ipconfig /all > ipconfig-all.txt die convertierung von*.exe in *.txt?
3) ich versteh den letzten Schritt nicht: "del ipconfig-all.txt" wieso löschen ?

mfg/explorer1
  Mit Zitat antworten Zitat
Benutzerbild von pustekuchen
pustekuchen

Registriert seit: 27. Aug 2010
268 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: hardcopy aus Konsole drucken

  Alt 5. Sep 2011, 13:35
Zitat:
H:\>ipconfig /all > ipconfig-all.txt | notepad /p ipconfig-all.txt | del ipconfig-all.txt
H: Ist der Laufwerksbuchstabe, bei dir wahrscheinlich C:
Das > bedeuted, das das Ergebnis in einer Textdatei gespeichert wird.
notepad /p ipconfig-all.txt öffnet die Datei mit Notepad.exe und soll wahrscheinlich den druckdialog öffnen
del ipconfig-all.txt soll die Textdatei wieder löschen,da sie nur Temporär gebraucht wird.

Doch wie shark schon oben schrieb, hat es bei ihm noch nicht funktioniert

PS: Versuch die Datei mal mit "Run print "H:\ipconfig-all.txt" zu drucken
Delphi programming is awesome.

Geändert von pustekuchen ( 5. Sep 2011 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#3

AW: hardcopy aus Konsole drucken

  Alt 5. Sep 2011, 13:41
Das mit dem Del funktioniert leider nicht, denn die Datei wird noch gesperrt sein, wenn das Druckprogramm geöffnet ist.

Habe hier eine Variante mit der man mit dem Explorer druckt, wobei html und txt Dateien gedruckt werden können.

ipconfig /all > %TMP%/ipconfig-all.txt | RUNDLL32.EXE MSHTML.DLL,PrintHTML "%TMP%\ipconfig-all.txt"

Grüße in die Runde
Martin Schaefer
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: hardcopy aus Konsole drucken

  Alt 5. Sep 2011, 15:35
ich hätte da noch was

ipconfig / all | PRT.exe

Delphi-Quellcode:
program PRT;
// 20110905 by Thomas Wassermann
{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows,
  Classes,
  Printers;

var
  Buffer: array [0..100000] of AnsiChar;
  BytesRead:cardinal;
  sl:TStringList;
  Y,i,th,ph:Integer;
begin
  try
    sl:=TStringList.Create;
  try

   ReadFile(STD_INPUT_HANDLE , Buffer, 10000, BytesRead, nil);
   sl.Text := sl.text + Copy(Buffer,0,BytesRead);
   while BytesRead>0 do
      begin
       ReadFile(STD_INPUT_HANDLE , Buffer, 10000, BytesRead, nil);
       sl.Text := sl.text + Copy(Buffer,0,BytesRead);
       Sleep(100);
      end;
   if sl.Count>0 then
      begin
       Printer.BeginDoc;
       th := Printer.Canvas.TextHeight('X');
       ph := Printer.PageHeight;
       Y := 0;
       for I := 0 to sl.Count-1 do
          begin
            Y := y + th;
            if y > ph then
              begin
              y := 0;
              Printer.NewPage;
              end;
            Printer.Canvas.TextOut(10, y ,sl[i]);
          end;
       Printer.EndDoc;
      end;

  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  finally
    sl.Free;
  end;
end.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

AW: hardcopy aus Konsole drucken

  Alt 5. Sep 2011, 16:10
Das hier geht :

net use lpt1: /Delete
net use lpt1: \\Rechnername\Drucker-Freigabename /persistent:YES
ipconfig /all >1
print 1

Das net use dient eigentlich nur dazu, den LPT1 zu simulieren. Das geht sogar auch dann, wenn gar keiner da ist.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz