Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi,

folgendes problem:

was ich bräuchte wäre das erbenis von format(zahl, "000000") nur das anstatt der vornullen blanks angezeigt werden.

z.B.

zahl = 3

string = "000003"

statt dessen hätte ich aber gerne

string = " 3"

also mit 5 leerzeichen

kann mir da wer helfen?

Geschrieben

..auch wenn es blöd klingt - schon mal in der Hilfe geschaut? Ich werde aus der VB-Hilfe nicht ganz schlau, aber ich kenn mich mit der VB-Syntax auch nicht aus... kann sein, dass Du da eher was findest als ich.

Gruss,

der Onkel

PS: Vielleicht hilft Dir das bei der Suche: unter VFP heisst der Befehl STRTRAN().

Geschrieben

Das mit deinen 5 Leerzeichen geht nur, wenn die Zahlen dann auch immer einstellig sind. Sobald es 2 oder mehr Stellen sind hast dann halt trotzem 5 Leerzeichen und dann hintendran noch meherere Stellen. Wenn ich aber mal dumm Fragen darf.......wozu sollen die 5 Leerzeichen denn gut sein?

Goos

Geschrieben

es sollen natürlich nur 5 leerzeichen sein, wenn die zahl einstellig ist. wenn sie zweistellig ist sollen es vier sein, wenn sie dreistellig ist drei usw...

der grund: ich schreibe das in ne datei und die muss nunmal so aussehen, dass diese zahl sechs zeichen einnimmt und keine voranstehenden nullen vorkommen dürfen sondern halt leerzeichen.

habs jetzt so gemacht:

Function wandleum(zahl, stellen)

Dim string1 As String

Dim string2 As String

Dim i As Integer

string1 = zahl

string2 = ""

For i = 0 To ((stellen - 1) - Len(string1))

string2 = string2 & " "

Next i

string2 = string2 & string1

wandleum = string2

End Function

weiß nicht ob das das eleganteste is, aber es geht...

Geschrieben

Wie wäre es, wenn Du anstatt der For-Schleife eine Select Case -Anweisung nimmst?

Stellen hier: Die länge der Ziffer

Select Case Stellen

Case 1

String=chr(32) & chr(32) & chr(32) & chr(32) & chr(32) & String

Case 2

String=chr(32) & chr(32) & chr(32) & chr(32) & String

Case 3

String=chr(32) & chr(32) & chr(32) & String

Case 4

String=chr(32) & chr(32) & String

Case 5

String=chr(32) & String

Case 6

String=String

End Select

Etwas besseres ist mir im Moment nicht eingefallen.

Geschrieben

Also folgendes kann Fehler enthalten, ist mir nur gerade eingefallen und konnte es nicht testen:

Dim Zahl As Integer

Dim Wort As String

dim Counter As Integer

For i = (lenght(Zahl)) To 5

wort = wort & " "

Next i

wort = wort + zahl

Geschrieben

@ sub7:

Du hast da was von VBA geschrieben.....fuer welche Office Anwendung solls denn sein und was genau machst du da?

Vielleicht gibts da ja doch noch viel einfachere Wege :)

Goos

Geschrieben

keine schlechte idee, aber geht leider nicht...

er setzt immer ein leerzeichen vor die zahl, wäre diese fünfstellig ginge es - in allen anderen fällen bleibt es bei der zahl mit einem leerzeichen davor, weil right wenn es über den string hinaus geht einfach den string nimmt und NICHT den rest mit leerzeichen auffüllt...

Geschrieben

Geht doch, es müssen nur genau 6 Leerzeichen zwischen den Anführungszeichen stehen.

Zur Demonstration setzte ich mal einen Unterstrich statt Leerzeichen

x = right("______" & Zahl, 6)

Zahl = 500 -> x = "___500"

Zahl = 50 -> x = "____50"

Zahl = 5 -> x = "_____5"

Alternative wäre x = right(string(6, " ") & Zahl, 6)

Grüsse

Geschrieben

ja stimmt !

das board hier lässt ja die leerzeichen aus, wenn es sechs sind... und es geht genau wegen dem was ich beschrieben habe, das er das übrige weg lässt -> entschuldige mich demütig

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...