Ik heb een klein probleempje met een stringgrid uitprinten.
Op me HP Deskjet 845c print hij perfect uit.
Maar als ik ga printen op een HP Laserjet 4000/4050, dan print hij
of niks uit of hij print alles op een heel klein veldje (zodat alles op
elkaar is gedrukt en niet te lezen is)
Dat is me code. Lijkt mij dat hij goed is.
Op me HP Deskjet 845c print hij perfect uit.
Maar als ik ga printen op een HP Laserjet 4000/4050, dan print hij
of niks uit of hij print alles op een heel klein veldje (zodat alles op
elkaar is gedrukt en niet te lezen is)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
| Procedure Printstringgrid(stringgrid:Tstringgrid);
var outputfile:textfile;
k,r:integer;
breedtekolom:array[0..9]of byte;
Plaatsblad:array[0..9]of word;
Hoogte,extrahoogte:word;
Procedure plaatsbepaling;
var i:byte;
begin
i:=1;
while breedtekolom[i]<>0 do
begin
plaatsblad[i]:=plaatsblad[i-1]+(breedtekolom[i-1]*20);
inc(i);
end;
end;
Procedure Uitprint(k,r:word);
begin
printer.canvas.textOut(Plaatsblad[K],hoogte,stringgrid.cells[k,r]);
end;
Procedure titelbalk;
var kk:word;
begin
{eerste rij van de stringgrid}
for kk:=0 to stringgrid.colcount-1 do
Uitprint(kk,0);{print titel af}
hoogte:=hoogte+extrahoogte;
end;
Procedure BepaalBreedteMax;
Begin
IF breedtekolom[K]<length(stringgrid.cells[K,r]) then
breedtekolom[K]:=length(stringgrid.cells[K,r]);
end;
Begin
printer.canvas.font.style:=[];
printer.canvas.font.size:=10;
printer.canvas.font.name:='Arial';
hoogte:=0;
Extrahoogte:=45{34};
fillchar(breedtekolom,sizeof(breedtekolom),0);
fillchar(plaatsblad,sizeof(plaatsblad),0);
assignprn(outputfile);
try
rewrite(outputfile);
for k:=0 to stringgrid.colcount-1 do
for r:=0 to stringgrid.rowcount-1 do
bepaalbreedteMax;{hoeveel letters staan er in de kolom}
Plaatsbepaling; {horizontal plaatsbepaling op het blad}
for r:=0 to stringgrid.rowcount-1 do
begin
If (hoogte >1)and(hoogte mod 3330=0) then
begin {nieuw blad uitprinten}
writeln(outputfile,#12);
hoogte:=0; {3375= etrahoogte * aantalregel op een blad +1}
titelbalk;
end ;
for k:=0 to stringgrid.colcount-1 do
Uitprint(k,r);
hoogte:=hoogte+extrahoogte;
end;
finally
close(outputfile);
end;
end; |
Dat is me code. Lijkt mij dat hij goed is.
I'm proudly present you: www.bertverbeek.nl
Wie dit leest is ......
specs.
En keeper van s.v. de Glind 2