10. Mai 200223 j 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?
11. Mai 200223 j ..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().
13. Mai 200223 j 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
13. Mai 200223 j Hi! Bin mir net sicher, aber probiers doch mal statt mit format mit string = CStr(Zahl)
14. Mai 200223 j 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...
15. Mai 200223 j 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.
17. Mai 200223 j 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
17. Mai 200223 j @ 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
22. Mai 200223 j 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...
23. Mai 200223 j 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
23. Mai 200223 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.