jag håller på med printer.print i VB6 och får ett problem Du måste visa hur resten ser ut , ligger du i en Loop ? nej jag ligger inte i en loop. Ok det blev jag inte klokare på. Princip så här. Förstår ungefär. Men ! var skall du börja på nästa rad ? Funderade ett tag. om jag använder en Label och kallar den ex.lbl2 med wordwrap = true Du undviker att svara på mina frågor och svamlar vidare. Djä... knäppt att lägga utskrift 18 cm åt höger och 15 cm ner. Uhhh Jag var ute i trägårn i eftermiddags och var tvungen ta på mig en mössa Oki :-) Braaaaaaaa du tar det rätt. Jag har nu löst mitt problem. Mycket tack vare SvenÅke Persson fina tipsvb6 print
jag har en strängvariabel "sRubText"
som innehåller ca 200 tecken
Kod:
Me.ScaleMode = 7
Me.CurrentY = 15
Me.CurrentX = 18
Me.Print Spc(2); sRubText;
detta resulterar i att först raden kommer på 18 men
följande rader kommer längst till vänster
hur fixar man detta
tacksam för hjälp
/KjellSv: vb6 print
<code>
Me.CurrentY = 15
For i = 1 To antalRader
Me.CurrentX = 18
Me.Print Spc(2); sRubText; 'Verkar löjligt med Spc skriv 20 istället.
Next i
</code>
Får se om jag fattat rätt 200 tecken verkar djä... maffigt.
Visa gärna lite mer kodSv:vb6 print
Set rsRecText = DB.OpenRecordset("SELECT * from RecBerText Where RecNr =" _
& "'" & sRecnr & "'" & "" _
& " AND HF =" & "'" & sHF & "'" _
& " And RubrikNr =" & "'" & sRubNr & "'")
sRubNrTxt = rsRecText!RubrikNr
sRubrik = rsRecText!Rubrik
sRubText = rsRecText!RecBer
sRubText = Trim(sRubText)Sv: vb6 print
CurentY behöver du bara använd för första raden.
Sedan måste du deklarera CuerrentX för varje ny rad som med auotomatik kommer efter nytt .Print
Kolla att skriva så här.
<code>
Me.Print Tab(20);sRubText;
</code>
Lite mystiskt. Hur skall programmet veta att det skall byta rad ?
Du skriver 200 tecken ! normalt har man ~ 70-80 tecken på en rad.
Som skrivits du måste tala om CurrentX eller Tab(antal tecken) för varje nya rad.
Det första CurrentX du skrev (CurrentX = 18 gäller bara för den första raden.Sv:vb6 print
Du skriver snygg kod. Lätt att läsa.
<code>
Set rsRecText = DB.OpenRecordset("SELECT * from RecBerText Where RecNr =" _
& "'" & sRecnr & "'" & "" _
& " AND HF =" & "'" & sHF & "'" _
& " And RubrikNr =" & "'" & sRubNr & "'")
sRubNrTxt = rsRecText!RubrikNr
sRubrik = rsRecText!Rubrik
sRubText = rsRecText!RecBer
sRubText = Trim(sRubText) 'Här ~200 tecken
</code>Sv: vb6 print
Kan det vara så att du vill ha de tre TextBoxarna på varsin rad ?Sv: vb6 print
lbl2.Caption = sRubText
så blir det rätt.
men
det funkar ju inte med Printer.print. eller ?Sv:vb6 print
Att Label funkar beror på vbCrLf. Duger inte i .Print.
ScaleMod = 7 cm är vansinne. Testa ScaleMod = 6 mm
Skall du använda ScaleMod = 7 cm får du skriva CurrentX o Y 1.5 och 1.8
Här får du ett förslag som funkar med 3 rader.
<code>
Set rsRecText = DB.OpenRecordset("SELECT * from RecBerText Where RecNr =" _
& "'" & sRecnr & "'" & "" _
& " AND HF =" & "'" & sHF & "'" _
& " And RubrikNr =" & "'" & sRubNr & "'")
sRubNrTxt = rsRecText!RubrikNr
sRubrik = rsRecText!Rubrik
sRubText = rsRecText!RecBer
Me.ScaleMode = 6 ' mm samma med Printer.Print
Me.CurrentY = 15
Me.CurrentX = 18
Me.Print sRubNrTxt
Me.CurrentX = 18
Me.Print sRubrik
Me.CurrentX = 18
Me.Print sRubNrTxt
' Printer.EndDoc 'ifall du skickar till Printer
</code>Sv: vb6 print
Hur står det till ?Sv:vb6 print
för jag såg en hackspett därute.
jag har ändrat till scalmode 6
jag har skrivit fel på måtten höger och ned rätt skall vara
änster 100 och ned 80 så de så.
jag håller på med en receptsida och på vänster halva skriver jag receptets ingredienser
och på höger sida beredningstext
min variabel sRubtext dividera jag med 80 för att få fram antal rader
annars mår jag fint och äter bra.
/KjellSv: vb6 print
Ang Printer.Print skall du kolla på PDF printern.
Den är oumbärlig när man skall snickra ihop en snygg printerrutin och snabbt ändra parametrar.
Sparar den vanliga printern bläck och papper.
Man väljer denna som Printer på vanligt vis och kan sedan skriva ut från ex. vb Printer.Endoc.
Det skapas då en .pdf fil som exat visar hur din A4 kommer att bli på den riktiga printern.
http://www.pdf995.com/Sv: vb6 print
vill någon se min kod finns den på www.redodat.se/recept/reckod.pdf
Kjells Matrecept som innehåller ca 2000 recept finns att ladda ner på
www.redodat.se/recept/install.exe
/Kjell Olsson