Avatar billede blueeye97 Nybegynder
17. maj 2003 - 21:23 Der er 13 kommentarer og
1 løsning

Udskriv textbox

Hvis man udfylder en multiline textbos og bare skriver "derudaf" skiftes der automatisk linie. Men når selvsamme textbox sendes til printer, skrives det hele i en lang linie som ikke tager højde for magner. Hvordan takles dette ?
Avatar billede Slettet bruger
17. maj 2003 - 21:28 #1
Hvordan printer du, via en variabel eller teksten direkte fra tekstboksen?
Avatar billede Slettet bruger
17. maj 2003 - 21:30 #2
Prøv evt. med:
Nytekst = Replace(txtboks.text, chr(10)+chr(13),vbcrlf)
Avatar billede blueeye97 Nybegynder
17. maj 2003 - 21:31 #3
teksten direkte...
Avatar billede Slettet bruger
17. maj 2003 - 21:45 #4
Hvordan er koden?
Avatar billede blueeye97 Nybegynder
17. maj 2003 - 21:49 #5
Såre simpel...

printer.print text1.text
Avatar billede Slettet bruger
17. maj 2003 - 21:53 #6
Så prøv Printer.Print Replace(text1.text, chr(10)+chr(13),vbcrlf)
Avatar billede blueeye97 Nybegynder
17. maj 2003 - 22:02 #7
ændrer ikke noget. Det står stadigvæk som en linie selvom jeg skrev 4 linier tekst
Avatar billede Slettet bruger
17. maj 2003 - 22:09 #8
Ja selvfølgelig jeg tænkte mig ikke lige om. Der kommer jo kun en chr(10)+chr(13) hvis man selv trykker enter i boksen. Du er nok nødt til selv at bestemme hvor mange tegn du vil have pr. linie og så dele din tekst op når du udskriver.
Noget a la
Do While i < Len(text1.text)
  Printer.Print mid(text1.text, i, 25) <--Skriver 25 tegn ud.
  i = 26
Loop
Avatar billede Slettet bruger
17. maj 2003 - 22:10 #9
Og så skal du lige sætte i=1 inden du looper
Avatar billede Slettet bruger
17. maj 2003 - 22:11 #10
Hmm og i=26 skal rettes til i = i + 25
Avatar billede joern Nybegynder
18. maj 2003 - 17:00 #11
Hej.

Jeg har engang for længe siden i VB3 syslet med problemet.  Det gælder om at undgå underlige orddelinger.  Her er en stump af koden fra dengang der skitserer en løsning.

o4:        If Len(linie0) > 90 + z Then
          linie1 = Left$(linie0, 90 + z)
         
          For y = 90 + z To 70 Step -1            'funktion for ikke at
            If Mid$(linie1, y, 1) = " " Then      'dele linier midt i et ord
                linie1 = Left$(linie0, y)
                Exit For
              End If
          Next

M.v.h.  Jørn
Avatar billede blueeye97 Nybegynder
08. august 2003 - 21:59 #12
lukker
Avatar billede joern Nybegynder
09. august 2003 - 08:35 #13
Hej.

Du gider ikke kommentere seneste forslag eller skrive hvilken løsning du er nået frem til?
M.v.h. Jørn
Avatar billede Slettet bruger
11. august 2003 - 19:01 #14
Har du tænkt dig at kommentere hvorfor du bare selv snupper point uden at forklare hvorfor?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester