![]() |
Einfaches Drucken einer ini-Datei ohne Rave & Co.
Sers
(2) Ganz kurze Frage(n): Gibts da irgendein Befehl der direkt eine ini-Datei druckt? Da ich schon ein nein erwarte, weil ich schon ein Topic gesehen hab, in dem einer eine txt-Datei drucken will, meine nächste Frage (wenn die noch notwendig ist): Kann ich irgendwie Zeilen aus einer Ini-Datei lesen und sie in eine unsichtbare Listbox schreiben, die ich dann druck? Also ohne ini.readstring('bla', 'bla', 'bla'), sondern so was wie listbox1.add [...] ini.readlines (1 to 40). So was in der Art eben und das man dann irgendwie nur schreiben braucht print listbox1 und der dann alles druckt? Oder stell ich mir das zu leicht vor? |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Hmmm, wenn ich das richtig verstehe, könntest du den Inhalt der Ini-File in ein Richedit laden und das dann drucken, etwa so:
Delphi-Quellcode:
Glaub ich.
Richedit1.Lines.Loadfromfile('DieIniFile.ini');
Richedit1.Lines.Print('Name'); |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Das wär natürlich ideal, wenn das derart einfach ginge! Muss ich gleich als erstes mal ausprobieren, wenn ich morgen an den Rechner komm. Danke auf jeden Fall schonmal :)
(Wenns klappt, kommt nochn dickes merci ;)) |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Delphi-Quellcode:
So oder so ähnlich würds "selber gemacht" aussehen :)
PROCEDURE TForm1.Button1Click(Sender: TObject);
VAR SL : TStringList; intRandLinks, intRandOben, i : Integer; BEGIN // Initialisieren intRandLinks := 100; intRandOben := 100; // Datei in StringListe laden SL := TStringList.Create; SL.LoadFromFile('C:\IniFile.ini'); // Drucken-Dialog IF PrintDialog1.Execute THEN BEGIN WITH Printer DO BEGIN // Druck beginnen Title := 'C:\IniFile.ini'; BeginDoc; FOR i:=0 TO SL.Count-1 DO // Text drucken Canvas.TextOut(intRandLinks, intRandOben + (i*Canvas.TextHeight(SL.Strings[i])), SL.Strings[i]); // Druck abschließen EndDoc; END; END; // Aufräumen SL.Free; END; Dann kannste eigentlich alles anpassen wie Du möchtest.. Gruß Stephan |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
damit steve's code funktioniert noch die Unit QPrinters in die uses aufnehmen.
ansonsten ist dieser code genial, vielen dank @steve! sowas einfaches hätte ich auch schonmal gebraucht... gruss, dave |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Zitat:
Zitat:
Gruß Stephan |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Mit dem idiotensicheren, bereits vorgekauten code von Steve klappts nu endlich. Danke für die viele Mühe! :)
Leider hab ich feststellen müssen, was ich im Grunde schon wusste, aber an was ich irgendwie nicht gedacht hab: Strings haben keine Schriftgröße und keine Farbe, aber das sind ja nur noch optische Details. Hauptsache die Funktionen funzen jetzt alle. Aber wenn ich eh schon da bin, kann ich ja mal fragen (Ich hoff für die kleine Frage müsst ich kein neues Thema aufmachen): Gibts irgendeinen Datentyp ähnlich String, der Farbe und Größe mitspeichert und das dann auch so (beim Drucken) ausgibt? |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Noch einfacher eventuell mit
![]() |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
Diese ganzen Eigenschaften gibst Du bei Printer.Canvas.Font an :)
Bsp:
Delphi-Quellcode:
Wenn das alles nicht gesetzt werden soll, ist Luckie's Lösung sicherlich noch einfacher :zwinker:
WITH Printer.Canvas.Font DO
BEGIN Name := 'MS Sans Serif'; Size := 14; Color :=clRed; END; Gruß Stephan edit: Am besten das Ganze in ne Proc./Func. auslagern, mit FileName und Font als Parameter (dann Font mit Printer.Canvas.FontAssign(UebergebeneFont); zuweisen) und dann haste's ziemlich allgemein und wiederverwendbar |
Re: Einfaches Drucken einer ini-Datei ohne Rave & Co.
hm, ich glaub da geb ich mich mit der Schriftgröße zufrieden. Wollt noch was einbauen, dass alle gespeicherten Werte unter der Gruppe [Bestand], die unter 40 sind rot erscheinen sollen, aber da müsst ich ja irgendwie jede Zeile aus der stringliste raussuchen und da dann die Zahlenwerte rausschneiden und in integer umwandeln... habs grad mal angerissen, hab dann aber bei der dritten repeatschleife aufgehört. Muss ich mir morgen mal überlegen, ob ich vielleicht gleich in die Buttonprocedures (bei denen in die inifiles gespeichert werden) irgendwas zum speichern schreib, das dann später Infos über die Farbe gibt... naja, geht alles, aber bei 30 buttons, ist das so viel Schreibarbeit, dass ich mir nochmal genau überleg, ob sich das lohnt oder, obs nicht weniger Arbeit is auf der Liste dann zu gucken, von was noch weniger als 40 Stück da sind ;)
Danke an Alle nochmal (besonders Steve)! Hätt allein nicht weitergewusst mit meinen 5 Datentypen und meinen löchrigen Informatik-Kenntnissen. Hab schon versucht mal in irgendwelchen Anleitungen was zu finden, aber das ist nicht so einfach, wenn man nicht mal weiß nach was man eigentlich sucht bzw wie das heißt, was man sucht (printdialog, Datentyp stringlist, canvas.....) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 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