I koden nedan har jag skrivit in var jag vill ha en rak linje. Inte svar på din fråga, men mitt bästa råd är att skippa såna jobbiga omvägar. Ladda ner MikTex och generera LaTeX-kod istället, kör sen pdflatex på koden så har du en pdf som är <b>exakt</b> som du vill a den. Är böjd att hålla med Niklas.Det är ett djä... snickeri innan man blir nöjd. Åh Gud så smidigt Som sagt, ge LaTeX en chans. Det du ska generera i så fall är en textfil som innehåller: Jag har bara tagit en snabbtitt på TeX i olika former. Nej, då. Du kan ju köra latex inifrån ditt program:Skriva ett rakt streck med printerobjektet
Jag förstår mig inte på dessa koordinater.
<code>
'Inställningar för marginal
Printer.FontSize = 11
Printer.ScaleLeft = -0.55 * 1444
Printer.ScaleTop = -1.2 * 1444
Printer.CurrentX = 0
Printer.CurrentY = 0
'Litet avstånd
Printer.Print
Printer.Print
'Detta skrivs ut
Do Until Data1.Recordset.EOF
Printer.Print txtLeverantor.Text, txtArtnr2.Text, txtBenamning.Text, "Antal: ", Spc(4), txtPris.Text; " kr"
'Här vill jag ha en linje
Data1.Recordset.MoveNext
Loop
Printer.EndDoc
</code>Sv: Skriva ett rakt streck med printerobjektet
Sv:Skriva ett rakt streck med printerobjektet
Men när fått till det så är det en halv könis. Men ok några råd på vägen.
Ta fram ett A4 och en linjal,planera din utskrift i cm. Använd Tab(x) för att
ställa in de olika kolumnerna. Tab(x) reglerar avstånd med den Fontbredd du använder.
Använd ScaleMod = 7 centmeter.Du kan skriva tex. CurrentX = 2.5 (2.5 cm)
Tab(10) kommer att skriva 10 tecken in på din A4.
Ex.
Printer.Print;Tab(10);"Sven";Tab(16);"Persson"
Ett exempel ur min fatabur
<code>
Printer.ScaleMode = 7
'ScaleMod = centimeter
'******* Print Huvud ***********
' min Logobild
Printer.PaintPicture picPrinter.Picture, 2, 0.5, 3, 2
Printer.FontName = "Arial"
Printer.FontBold = True
Printer.CurrentX = 2: Printer.CurrentY = 3
Printer.FontSize = 16
Do Until i > recCount
Printer.Print ; Tab(11); dtaBasData.Recordset(10) _
; Tab(40); dtaBasData.Recordset(0); "." _
; Tab(45); dtaBasData.Recordset(1) _
; Tab(71); "StartKurs : " & dtaBasData.Recordset(5) _
; Tab(92); dtaBasData.Recordset(13)
</code>
Osv osv det krävs mycket arbete.
<code>
'Linje blir så här
Printer.DrawStyle = 1
Printer.DrawWidth = 3
Printer.Line (2, 8)-(18, 8)
'Drar en linje 2 cm in 8 cm ner till 18 cm in 8 cm ner.
</code>
mmm. där har du lite att bita i.Sv: Skriva ett rakt streck med printerobjektet
Inte
Men nu fick jag i alla fall lite pejl på hur det funkarSv:Skriva ett rakt streck med printerobjektet
\documentclass[a4paper]{article}
\begin{document}
\begin{tabular}[c c c c c c c]
varje rad kommer här, varje post separerad med "&", och varje rad avslutad med "\\"
och använd en "\hline" mellan de rader du vill ha ett streck.
t.ex.:
arne anka & storgatan 5 & Luleå\\hline
kalle anka & smågatan 5 & Piteå\\end{tabular}
\end{document}Sv: Skriva ett rakt streck med printerobjektet
Spontant känns det som om jag behöver använda minst två program för att få fram utskriften.
Dels mitt vb prog. för att generera textfilen och sedan Tex för att skriva ut den i det formatet jag önskar.
Jag villl ju helst bara ha en knapp för utskrift i mitt prog.Sv:Skriva ett rakt streck med printerobjektet
1. Skriv till fil
2. Kör pdflatex på fil.tex (typ: Shell "pdflatex text.tex text.pdf")
3. Visa för utskrift (Shell "acroread text.pdf")
Ett alternativ om du kan skicka postscript direkt till skrivaren är att konvertera direkt till det och skicka till skrivaren, så behövs inga program öppnas synligt.