AGB  ·  Datenschutz  ·  Impressum  







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

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, 14: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
Friedrich
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

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

AW: Drucken aus Record

  Alt 4. Mai 2016, 14: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.656 Beiträge
 
Delphi 12 Athens
 
#3

AW: Drucken aus Record

  Alt 4. Mai 2016, 14: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.779 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Drucken aus Record

  Alt 4. Mai 2016, 14: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.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: Drucken aus Record

  Alt 4. Mai 2016, 15: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, 18: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
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 07:58 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-2025 by Thomas Breitkreuz