Avatar billede tubber Juniormester
05. november 2005 - 11:27 Der er 21 kommentarer og
1 løsning

Gøre textstrenge lige lange ved at sætte spaces ind i midten

Hej der

Hvis jeg har en streng der ser således her ud:

Nr.:1

og en anden en der ser således her ud
Nr.:1234

Så skal den formateres så alle sammen får 8 karaktere og ser således her ud:

Nr.:  1
Nr.:1234

Håber der er nogen der kan hjælpe :)
Avatar billede tubber Juniormester
05. november 2005 - 11:30 #1
hov den formatere forkert

Det skal se sådan her ud:
Nr.:___1
Nr.:1234

hvor _ er spaces
Avatar billede Slettet bruger
05. november 2005 - 11:37 #2
Det vil så kun fungere hvis du anvender monotype-fonts eller _ (underscore) men det er ikke _ du ønsker vel?
Avatar billede tubber Juniormester
05. november 2005 - 11:42 #3
bruger arial til udskrift og default i programmet
Avatar billede joern Nybegynder
05. november 2005 - 11:44 #4
Hej.

I VB6 kan du bruge split ved kolon.

Jeg har kun en 5'er så dér må man selv skrive lidt mere.

a = len(string)
If a < 8 then
  string = left(string,4) & space(8 - a) & right(string,(a - 4))
end if

Har ikke afprøvet, men måden skulle være god nok.  Prøver om lidt og retter hvis der er fejl.
Avatar billede plx Nybegynder
05. november 2005 - 11:44 #5
result = Right("      " & streng)
Avatar billede Slettet bruger
05. november 2005 - 11:46 #6
Så kan du ikke bare indsætte mellemrum, der sker præcist det samme som da du skrev det første indlæg.
Avatar billede kabbak Professor
05. november 2005 - 11:50 #7
nr = "Nr.:1"
nr = Split(nr, ":")(0) & ":" & Space(8 - Len(nr)) & Split(nr, ":")(1)
Avatar billede joern Nybegynder
05. november 2005 - 11:50 #8
Hej.

Er der ikke kun fonten courier, hvor alle tegn er lige brede?

Metoden jeg beskrev før fungerer med denne test:

Private Sub Text1_Change()
Label1.Caption = Len(Text1.Text)
End Sub

Private Sub Text1_DblClick()
a = Len(Text1.Text)
If a < 8 Then
  Text1.Text = Left(Text1.Text, 4) & Space(8 - a) & Right(Text1.Text, (a - 4))
End If

End Sub
Avatar billede tubber Juniormester
05. november 2005 - 12:00 #9
Det virker fint nok joern men det giver det problem som kryptos nævner

plx: som jeg læser det sætter du bare x antal spaces ind, men det duer ikke da det skal gøres ved mange data fra en database, og vil nok give samme problem anyways
Avatar billede tubber Juniormester
05. november 2005 - 12:01 #10
kan man sætte tab indrykning i en listbox ?
Avatar billede Slettet bruger
05. november 2005 - 12:03 #11
Hvis der nu ikke skal stå nr.: i listbox så kan du vel sætte den right-align eller?
Avatar billede tubber Juniormester
05. november 2005 - 12:04 #12
for at sikre mig samme størelse skal jeg sætte et tal ind, så man kunne sætte 0 ind på de første pladser, så det kommer til at se sådan her ud: Nr.:0001
Avatar billede tubber Juniormester
05. november 2005 - 12:04 #13
Det skal der desværre
Avatar billede Slettet bruger
05. november 2005 - 12:08 #14
Jamen så bruger du bare noget at det viste kode og indsætter et 0 istedet for mellemrum, men et eller andet sted giver det bare ikke mening at skrive nr.: foran alle sammen, da nr.: vel kunne indgå i listbox label, men hvis du har et diktat eller ønske så er 0'er den enkelste løsning.
Avatar billede tubber Juniormester
05. november 2005 - 12:17 #15
a = len(string)
If a < 8 then
  string = left(string,4) & string(8-i,"0") & right(string,(a - 4))
end if

Det virker for mig :)
Avatar billede tubber Juniormester
05. november 2005 - 12:18 #16
kryptos ligger du også lige et svar :)
der er lidt point til dig også for at give info om det med skrift type problemet
Avatar billede Slettet bruger
05. november 2005 - 12:18 #17
svar
Avatar billede tubber Juniormester
05. november 2005 - 12:42 #18
Håber det er retfærdigt fordelt ellers må i lige sige til :)

Jeg siger i hvert fald mange tak for den hurtige hjælp :)
Avatar billede tubber Juniormester
05. november 2005 - 12:43 #19
Hmmm kan ikke få lov at give point :(
Avatar billede tubber Juniormester
05. november 2005 - 12:48 #20
Avatar billede tubber Juniormester
05. november 2005 - 12:48 #21
Må gøre det sådan her for kunne ikkf få lov at dele dem op :(
Avatar billede joern Nybegynder
05. november 2005 - 12:51 #22
Hej.

Tak for point.  Hvis du ender med en løsning uden 'nr.:' så kan du blot bruge format

string = format(var,"000#")

m.v.h.
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