Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Skriva ut till Printer

Postades av 2003-07-18 12:28:45 - Benni Svensson, i forum visual basic - allmänt, Tråden har 14 Kommentarer och lästs av 734 personer

Jag hittade en tråd som jag tyckte täckte mitt behov:
<code>
Private Const EM_GETLINE = &HC4
Private Const EM_LINEINDEX = &HBB
Private Const EM_LINELENGTH = &HC1
Private Const EM_GETLINECOUNT = &HBA

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
'***********

Private Sub cmdSkriv_Click()
Dim Text As String
Dim Line As Long
Dim LineCount As Long
Dim LineIndex As Long
Dim LineLength As Long
Dim Indent As Long
LineCount = SendMessage(Text2.hwnd, EM_GETLINECOUNT, 0&, ByVal 0&)
For Line = 0 To LineCount - 1
LineIndex = SendMessage(Text2.hwnd, EM_LINEINDEX, Line, ByVal 0&)
LineLength = SendMessage(Text2.hwnd, EM_LINELENGTH, LineIndex, ByVal 0&)
If LineLength Then
Text = Space$(LineLength)
SendMessage Text2.hwnd, EM_GETLINE, Line, ByVal Text
Printer.Print Tab(Indent); Text
Else
Printer.Print
End If
Next
End Sub
</code>
Vad som händer är att documentet lägger sig i kö, men sen så händer ingenting.
Någon som har en idé till förbättring?


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-18 13:25:55 - Sven Åke Persson

Verkar som du glömt Printer.EndDoc skall stå sist i Suben


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-18 14:42:35 - Benni Svensson

Tack SvenPon, den biten blev bra.
Men sen är det ju det med marginalerna, hur ändrar jag det.
Jag tittade lite på Pelles "PrintKurs", men...
<code>
Printer.FontName = "Arial"
Printer.FontSize = 12
Printer.FontBold = True
Printer.CurrentX = 700 '200
Printer.CurrentY = 700
Printer.Print "MuliLanguage, skriv följande svenska meningar till språk som talas i " & Trim(del)
Printer.FontSize = 8
Printer.FontBold = False
Printer.CurrentX = 1000
Printer.CurrentY = 700
</code>
Jag ville alltså ha en överskrivt (som du ser). med en viss fontstorlek, därefter så ville jag ner ett antal rader (chansar på Printer.CurrentX = 1000
Printer.CurrentY = 700) och sen skriva ut resten med teckenstorleken 8.

Två saker går åt he---te.
Jag får inget mellanrum mellan rubrik och text, samt att i rubriken får jag marginal, men inte resten.

Går detta att fixa till??


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-18 14:57:55 - Sven Åke Persson

At göra en snygg Printerrutin är ett knåpgöra, men man blir så djä.. tillfredställd
när det blir en snygg utskrift.

Ta hem mitt uppskick Programarkivet:551 Segeltävlingar , där lade jag ner ganska mycket
tid och energi på jus Printerrutinen.


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-18 20:17:19 - Benni Svensson

Jo den var ju fin, men det var tyvärr inte mycket som jag kunde använda mig av. Jag fick bort några ovälkommna radbrytningar men....

Det största problemet är att jag får inte till top och sid marginalerna. Inte ens efter att ha lus läst din kod.

Några tips?


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-20 11:01:36 - Sven Åke Persson

Du skall använda
Printer.ScaleMode = 7 'Centmeter
Då har du koll på CurrentX och CurrentY i cm Obs också 10 delar
Printer.FontSize = 18
Printer.CurrentX = 2.5 :Printer.CurrentY = 1.5
Printer.Print "Rubrikrad"

Printer.FontSize = 10
Printer.Print
Printer.Print
Printer.CurrentX = 2.5
Printer.Print "Brödtext" ' testa att sätta ; eller , direkt efter "Brödtext";
Printer.Print "Mera Brödtext"
Printer.EndDoc

'Det flyger inte in nån djä... stekta sparvar i käften på en.
Har lagt ner hundratals timmar på sådana här problem, testa för helvete !!

Blir så djä.. sur på nissar som tror att man skall lösa hela deras prob och när man märker
att dom ens inte provat och analyserat de förslag man kommit med. !

Rådet blir som vanligt " Gå över till frimärkssamling", mycket enklare.


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-21 09:33:58 - Roger Larsson

Måste reagera lite på Svens uttalande!

Det är väl ingen som tvingar dig till att svara på inlägg, men du väljer att göra det, då borde du inte ha en sådan uppblåst attityd och svära över andra personers fel och brister!

// Roger


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-21 11:23:49 - Andreas Hillqvist

Detta kanske är till någon hjälp?
<code>
Private Sub cmdSkriv_Click()
Dim Text As String
Dim Line As Long
Dim LineCount As Long
Dim LineIndex As Long
Dim LineLength As Long
Dim Indent As Long
Dim RowHeight As Single
Dim X AS single, Y As Single
Dim MarginLeft AS single, MarginTop As Single
RowHeight = Printer.TextHeight("")
MarginLeft = Printer.ScaleX(2.5, vbCentimeters)
MarginTop = Printer.ScaleX(1.5, vbCentimeters)

X = MarginLeft
Y = MarginTop
LineCount = SendMessage(Text2.hwnd, EM_GETLINECOUNT, 0&, ByVal 0&)
For Line = 0 To LineCount - 1
LineIndex = SendMessage(Text2.hwnd, EM_LINEINDEX, Line, ByVal 0&)
LineLength = SendMessage(Text2.hwnd, EM_LINELENGTH, LineIndex, ByVal 0&)
If LineLength Then
Text = Space$(LineLength)
SendMessage Text2.hwnd, EM_GETLINE, Line, ByVal Text
Printer.CurrentX = X
Printer.CurrentY = Y
Printer.Print Tab(Indent); Text
End If
Y = Y + RowHeight
If Y > Printer.ScaleHeight Then
Y = MarginTop
Printer.NewPage
End If
Next
End Sub
</code>


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-21 13:03:54 - Benni Svensson

Måste bara svara på SvenPon:s utalande.

Om du för ett ögonblick tror att det första jag gör, när jag får problem, är att skriva hit, då tror du fel.
Jag sitter alltid och försöker att lösa mina problem själv, endera via mina böcker, utskrivna koder eller internet, innan jag ställer frågorna här.

Om du hade tagit dig tid att läsa mitt inlägg, så såg du att jag hade fått ett lustigt problem, då borde du har förstått att jag hadde problem.

Om man sedan använder sig av den attityden som du har, då borde man söka hjälp, du har tydligen problem med att umgås med människor. Allt hänger inte på en fd marin officer.

Mycket besviken på dig SvenPon


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-23 18:32:14 - Benni Svensson

Efter väldigt lång tid med testande, inköp av nya papper osv så har jag löst problemet.
Jag var tvungen att lägga det i en array, för att jag skulle få med marginalen på vänster sida.


<code>
Hela = Split(Form1.Text2.Text, vbCrLf)
Dim i As Integer
Printer.CurrentX = 2.5
For i = 0 To UBound(Hela)
Bit = Hela(i)
Printer.CurrentX = 2.5
Printer.Print Bit
Next
Printer.Print
</code>

Nu kan jag änteligen gå vidare till nästa problem.


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-23 19:11:30 - Sven Åke Persson

Uhmmmmmmmmmmmmmmmmmm !

Inte underlgt jag blir irreterad , har get ett svar som är heltäckande,
så ökar du bara tempot och frågar sånt som ligger framför dig på bordet.
Ha det
Sven


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-23 20:04:34 - Benni Svensson

Nja inte riktigt.
Jag trodde att allt var klart, men det visar sig att om arrayen är för lång, då skriver den "utanför" papperet.
Suck.
En tanke, kan man inte få in texten i en picturebox, skulle det bli lättare?


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-23 23:40:07 - Andreas Hillqvist

Kika på DrawText() api anropet. Finns en tråd som kan var till hjälp:

[Printer.print f&#246;r textstr&#228;ng]


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-24 01:19:37 - Benni Svensson

Tack Andreas.
Där fick jag de uppslag jag behövde. Jag skrotade min kod (snyft) och använde den ena av dem.
När jag sedan körde en replace på vbCrl-tecken innan texten klistrades in i min textbox, så blev det kanon.
Tack alla för hjälp(gäller SvenPon också)


Svara

Sv: Skriva ut till Printer

Postades av 2003-07-24 11:29:07 - Sven Åke Persson

Roger skrev > svära över andra personers fel och brister!

Hade frågan legat i NybörjarForum hade det blivit ett annat tonläge.!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 165
27 952
271 704
837
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies