AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Drucken aus Record

Offene Frage von "Luckie"
Ein Thema von Pfl · begonnen am 4. Mai 2016 · letzter Beitrag vom 5. Mai 2016
Antwort Antwort
Pfl

Registriert seit: 5. Jun 2012
Ort: Berlin
65 Beiträge
 
Delphi XE6 Architect
 
#1

Drucken aus Record

  Alt 4. Mai 2016, 15:20
Hallo, liebe Community,
ich versuche gerade, aus einem record einen Satz an den Drucker zu senden; die Frage ist nur, wie mache ich das am besten? Ich habe folgenden Code versucht:

Delphi-Quellcode:
procedure TFormMain.Drucken1Click(Sender: TObject);
var
  i : integer;
  ptext: TextFile;
begin
  // Datei an den Drucker senden; abh. von der Position des Zeigers
  if anzdst = 0
  then
    exit;

  AssignPrn(ptext); // text zuweisen
  printer.Canvas.Font.Size := 12;
  // Hier Exception
  Writeln(
    ptext,
    '----------------------------------------------------------------------');
  for i := 1 to anzdst do
    with bereich[i] do
      Writeln(
        ptext,
        ' ',
        Hardwarename,
        ' ',
        ' ');
  CloseFile(ptext); // Datei schliessen; damit wird das Objekt wieder entf.
end;
Allerdings tritt eine Zugriffsverletzung auf, die offenbar beim Zuweisen durch assign passiert (ist). Was kann ich da tun?

LG
Miniaturansicht angehängter Grafiken
ashampoo_snap_2016.05.04_15h14m02s_001_debugger-exception-notification.jpg   ashampoo_snap_2016.05.04_15h14m32s_002_.jpg  
Friedrich
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.165 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Drucken aus Record

  Alt 4. Mai 2016, 15:22
Du hast das "printer" nie initialisiert bzw. erstellt, daher die Zugriffsverletzung.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Drucken aus Record

  Alt 4. Mai 2016, 15:28
Printer wird automatisch initialisiert. Früher war das eine globale Variable, jetzt eine Funktion, die eine TPrinter-Instanz zurückgibt. Daran liegt es also nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.623 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Drucken aus Record

  Alt 4. Mai 2016, 15:34
Hallo,

bereich ist das ein Array?

Vielleicht funktioniert es dann so?

Delphi-Quellcode:
procedure TFormMain.Drucken1Click(Sender: TObject);
var
  i : integer;
  ptext: TextFile;
begin
  // Datei an den Drucker senden; abh. von der Position des Zeigers
  if length(bereich) = 0
  then
    exit;

  AssignPrn(ptext); // text zuweisen
  printer.Canvas.Font.Size := 12;
  // Hier Exception
  Writeln(
    ptext,
    '----------------------------------------------------------------------');
  for i := low(bereich) to high(bereich) do
    with bereich[i] do
      Writeln(
        ptext,
        ' ',
        Hardwarename,
        ' ',
        ' ');
  CloseFile(ptext); // Datei schliessen; damit wird das Objekt wieder entf.
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Drucken aus Record

  Alt 4. Mai 2016, 16:10
Kleiner Hinweis:
Zitat:
AssignPrn bewirkt in Delphi, dass alle in die Textdateivariable F geschriebenen Informationen an den Drucker weitergeleitet werden. Nachdem Sie der Textdateivariable einen Wert zugewiesen haben, müssen Sie die Prozedur Rewrite aufrufen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Pfl

Registriert seit: 5. Jun 2012
Ort: Berlin
65 Beiträge
 
Delphi XE6 Architect
 
#6

AW: Drucken aus Record

  Alt 5. Mai 2016, 19:35
Danke für die schnellen Antworten Ich habe printer aus der uses entfernt; aber stattdessen become ich fehler 103. Was soll das den nun wieder bedeuten?
Friedrich
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.287 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Drucken aus Record

  Alt 5. Mai 2016, 19:40
Ich habe printer aus der uses entfernt
Was soll das den nun wieder bedeuten?
Um es in Deinen Worten zu sagen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Pfl

Registriert seit: 5. Jun 2012
Ort: Berlin
65 Beiträge
 
Delphi XE6 Architect
 
#8

AW: Drucken aus Record

  Alt 5. Mai 2016, 20:06
Ach so ja sorry
Friedrich
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Drucken aus Record

  Alt 5. Mai 2016, 20:19
Danke für die schnellen Antworten Ich habe printer aus der uses entfernt; aber stattdessen become ich fehler 103. Was soll das den nun wieder bedeuten?
Willst du doch nicht mehr drucken? Und was sagt Google zu Fehler 103?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf