Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

Afdruk centreren rond komma in getallen

Rynus Rein
3 antwoorden
  • Hallo,

    Voor een programma moet ik een tabel met bedragen afdrukken, waarbij het natuurlijk netter staat als de bedragen netjes met de komma boven elkaar staan. Wie weet hoe ik dat voor elkaar kan krijgen in VB6? Met het berekenen van de plaats en vervolgens afdrukken met behulp van printer.CurrentX en printer.CurrentY krijg ik dit niet voor elkaar omdat de cijfers in breedte verschillen. Ik wil, als het even kan, niet teruggaan naar een lettertype met vaste breedtes voor de cijfers.

    Alvast bedankt voor de moeite.

    René
  • [quote:fdd48b544c="DutchNoName"]
    Voor een programma moet ik een tabel met bedragen afdrukken, waarbij het natuurlijk netter staat als de bedragen netjes met de komma boven elkaar staan. Wie weet hoe ik dat voor elkaar kan krijgen in VB6? Met het berekenen van de plaats en vervolgens afdrukken met behulp van printer.CurrentX en printer.CurrentY krijg ik dit niet voor elkaar omdat de cijfers in breedte verschillen. Ik wil, als het even kan, niet teruggaan naar een lettertype met vaste breedtes voor de cijfers.
    [/quote:fdd48b544c]Ik denk dat de uitvoer "lelijker" is als je het zo doet, omdat dan de cijfers achter de komma niet allemaal onder elkaar staan…

    Wat je zou kunnen doen is het getallen in drie delen opsplitsen.
    - Getal voor de komma
    - Komma
    - Getal achter de komma

    En dan…
    - Het getal voor de komma rechts gecentreerd plaatsen op de juiste positie.
    - Vervolgens de komma op een vaste plaats plaatsen.
    - Het getal achter de komma links gecentreerd plaatsen op de juiste positie.
  • Inmiddels zelf nog verder aan het sleutelen geslagen. Ik ben uitgegaan van een gemiddelde breedte van een letter/cijfer. Door nu de cijfers 1 voor 1 te printen op een onderlinge vaste afstand, met uitzondering van een punt of komma, komen de cijfers wel goed onder elkaar. Oké, het is niet de meest fantastische oplossing, het werkt wel. Ik ga jouw oplossing ook proberen en kijken wat het mooiste resultaat geeft. In ieder geval bedankt.

    [code:1:6917baa3dc]With Printer
    j = .CurrentX
    For i = Len(sTekst) To 1 Step -1
    .CurrentY = y
    If i < Len(sTekst) And i > 1 Then
    sLetter = Mid$(sTekst, i - 1, 1)
    Else
    sLetter = Mid$(sTekst, i, 1)
    End If
    Printer.Print Mid$(sTekst, i, 1)
    If sLetter = "," Or sLetter = "." Then
    j = j - 70
    Else
    j = j - 120
    End If
    .CurrentX = j
    Next i
    End With
    [/code:1:6917baa3dc]

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.