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


Formatera belopp

Postades av 2005-05-30 10:46:53 - Göran Blomgren, i forum visual basic - allmänt, Tråden har 8 Kommentarer och lästs av 1001 personer

Har problem med utskrift i VB6. Har byggt ett fakturaprogram men kan inte få beloppen snyggt högerställda,dom envisas att vara vänterställda. Hoppas på hjälp


Svara

Sv: Formatera belopp

Postades av 2005-05-30 12:35:20 - Sven Åke Persson

Ämnet var uppe för ett tag sedan här men jag hittar inte på det igen.

Du skall använda Tab(antal tecken). Ex.
Du vill att beloppen alltid skall komma/börja på plats 70 på ett A4.
Du vill att beloppfältet skall vara 9 tecken. du vill skriva ut högerställt 47:50 (5 tecken)

Då blir det fritt ur minnet Tab(79 - Len("47:50"))
<code>
Printer.Print;Tab(70 + 9 - Len(talet));talet ' talet är i mitt exempel nämnda 47:50
'---------------
'--------------
Printer.EndDoc
</code>


Svara

Sv:Formatera belopp

Postades av 2005-05-30 18:30:40 - Göran Blomgren

Tack så hemskt mycket!!!
Lösningen är ju logisk men ibland fungerar inte huvudet...


Svara

Sv:Formatera belopp

Postades av 2005-06-01 01:57:17 - Peter Holm

Osäker nu jaaa Sven, funkar metoden oavsett om man använder teckensnitt med fast bredd
eller TT-snitt ?

Ett alternativ kan kanske vara

<code>
Option Explicit

Const RIGHTMARGIN = 185
Const TOPMARGIN = 25

Private Sub Form_Load()
Dim i As Integer
Dim radsumma(1 To 5) As Currency
Dim sum As Currency
radsumma(1) = 47.5
radsumma(2) = 139.8
radsumma(3) = 2138.1
radsumma(4) = 19.9
radsumma(5) = 68.8

Printer.Scale (0, 0)-(210, 297) 'A4
Printer.ScaleMode = vbMillimeters 'Millimeter
Printer.CurrentY = TOPMARGIN
For i = 1 To 5
Printer.CurrentX = RIGHTMARGIN - Printer.TextWidth(Format(radsumma(i), "##,##0.00"))
Printer.Print Format(radsumma(i), "##,##0.00")
sum = sum + radsumma(i)
Next i
Printer.CurrentX = RIGHTMARGIN - Printer.TextWidth("====================")
Printer.Print "===================="
Printer.CurrentX = RIGHTMARGIN - Printer.TextWidth("Summa: ") - Printer.TextWidth(Format(sum, "##,##0.00"))
Printer.Print "Summa: " & Format(sum, "##,##0.00")
Printer.EndDoc
End Sub
</code>

fast eller kanske inte... ja e lite trött nu så ja kanske bara strular till det ??

[Peter.H]


Svara

Sv: Formatera belopp

Postades av 2005-06-01 02:18:52 - Sven Åke Persson

mmm.... det skall vara TT font, testa med Arial den funkar bra.
Så här skulle jag lösa det.
<code>
'75 får justeras efter koll på första utskrift.
'Kolla med Sans Serif och TT Arial
'Tab tar hänsyn till aktuell FontSize/FontWidth
For i = 1 To 5
Printer.Print ; Tab(75 - Len(Format$(radsumma(i), "##,##0.00"))); radsumma(i)
Sum = Sum + radsumma(i)
Next 'i
</code>

Skall testa din kod på min Printer imorgon och jämföra med mitt förslag.
Jag testar mot Arial 12 Bold och samma sak med Sans Serif 12 Bold.

Var ett tag sedan jag gjorde en snygg PrinterRutin

I sammanhanget kan jag varmt rekommendera denna PDF Printer Driver
som installeras på din maskin och kan användas när man experimenterar med Printrutiner.
http://www.pdf995.com/download.html

Det skapas då ett A4 som .pdf-fil i PDF995 mappen som du sedan kan kolla med Adobe
Kanonbra när man vill spara papper och experimentera.


Svara

Sv:Formatera belopp

Postades av 2005-06-01 07:41:53 - Niklas Jansson

En variant som inte är så dum är att skicka ut texten i LaTeX-format, sen kompilera LaTeX-en, och få fram en pdf-fil som man slutligen skriver ut. Där är såna här saker i stort sett en barnlek.

Den stora nackdelen är att man får lära sig ett nytt (iofs hyfsat enkelt) språk, och att det blir några extra steg. Själv använder jag aldrig något annat för tekniska rapporter eller annat som måste bli snyggt. För den som är intresserad finns en bra guide på www.dd.chalmers.se/latex/.


Svara

Sv: Formatera belopp

Postades av 2005-06-01 12:20:26 - Sven Åke Persson

Det är en djä.. soppa med Fonter för att få det snyggt.
Detta är det bästa jag lyckades åstadkomma.
<code>
Option Explicit
Const RIGHTMARGIN = 18.5
Const TOPMARGIN = 2.5
Private Sub Command1_Click()
Dim i As Long
Dim radsumma(1 To 5) As Double
Dim sum As Double
Dim tmpRad As String
radsumma(1) = 47.5
radsumma(2) = 139.8
radsumma(3) = 142138.1
radsumma(4) = 19.9
radsumma(5) = 68.8
CmDialog.Flags = &H100000 Or &H4
CmDialog.ShowPrinter
Printer.ScaleMode = 7 'cm
Printer.CurrentY = TOPMARGIN
Printer.FontName = "Arial"
Printer.FontSize = 14
Printer.FontBold = True
'75 får justeras efter koll på första utskrift.
'Kolla med Sans Serif och TT Arial
'Tab tar hänsyn till aktuell Fontwidth
For i = 1 To 5
tmpRad = Format$(radsumma(i), "##,##0.00")
tmpRad = Replace(tmpRad, ",", ":")
Printer.Print ; Tab(75 - Len(tmpRad)); tmpRad
sum = sum + radsumma(i)
Next 'i
Printer.CurrentX = RIGHTMARGIN - _
Printer.TextWidth("====================")
Printer.Print "===================="
Printer.CurrentX = RIGHTMARGIN - 0.9 - _
Printer.TextWidth("Summa: ") - Printer.TextWidth(Format(sum, "##,##0.00"))
tmpRad = Replace(Format$(sum, "##,##0.00"), ",", ":")
Printer.Print "Summa: " & tmpRad
Printer.EndDoc
End Sub
'Din och min lösning ger samma resultat så det är en smaksak hur man gör.
</code>


Svara

Of Topic

Postades av 2005-06-03 13:25:33 - Sven Åke Persson

Hur går det för dig Niklas.Vårterminen är slut,blir det något av dig ?

Ha det
vila hjärnan och ragga brudar dra några bärs och njut av sommaren
SvenPon


Svara

Sv: Of Topic

Postades av 2005-06-03 17:30:27 - Niklas Jansson

<b>>Vårterminen är slut,blir det något av dig ?</b>
Vi får väl se... =)
Sannolikt "Master" i "Komplexa Adaptiva System" så småningom.

<b>>vila hjärnan och ragga brudar dra några bärs och njut av sommaren</b>
Bärsen och hjärnan kan jag lova, men börjar jag ragga blir nog flickvännen sur...

;)


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 721
27 958
271 751
5 661
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