Str() erzeugt zusätzliches Leerzeichen

  • VB.NET
  • .NET (FX) 3.0–3.5

Es gibt 11 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Str() erzeugt zusätzliches Leerzeichen

    Str() liefert vor der Zahl noch ein Leerzeichen

    Sub abspielen(ByVal Wert As Short) 'Wert für Datei abspielen
    Dim Datei As String 'Variable Datei für die abzuspielende Datei
    Datei = Str(Wert)

    Wert ist 12 in der Datei steht dann " 12" also Lerrzeichen und 12

    Sinn ist in einem Ordner sind durchnummerierte Dateien und je nach Variablen Inhalt soll der entspechede Dateiname gebildet werden
    z.B. Zielpfad\"12.txt" und wenn da jetzt vor dem Dateinamen ein Leerzeichen ist gibt es die Datei natürlich nicht

    Wo ist da der Fehler oder liefert Str() immer die Zahl als String mit vorgestelltem Leerzeichen und ich muß das Leerzeichen dann wieder aus den String rausschneiden ?
    Das ganze in VB2010

    Vielen Dank für eure Hilfe
    Nee, das ist schon immer (soweit ich mich erinnern kann) so in old-VB gewesen. Bin froh, dass man nicht mehr darauf angewiesen ist.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Jou, das ist klar reproduzierbar:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim wert = 12
    3. Label1.Text = CStr(wert) & CStr(wert) & CStr(wert) & CStr(wert)
    4. Label2.Text = Str(wert) & Str(wert) & Str(wert) & Str(wert)
    5. End Sub

    War mir bislang auch nicht geläufig.
    Das sieht aus, als wäre das ein Platzhalter für ein positives Vorzeichen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    (Und jetzt kommt der hier schonwieder): Visual Studio - Empfohlene Einstellungen
    @Elephant: Tu dir einen Gefallen, und verbanne diese vb6-K***e aus all deinen vb.net-Projekten.
    Und stell deine Projekte auch auf Option Strict On.
    Ist alles haarklein im gegebenen Tut beschrieben, und mit Video, und Anleitung, und Hilfsangebot und und und.
    Man kann vb.net nicht vernünftig lernen, wenn man den vb6-Kram bei sich weiter zulässt.
    Also das Tut genau befolgen, und es vollständig befolgen.
    Es geht um zwei Themen:
    1. Microsoft.VisualBasic - Namespace GeneralImport entfernen für immer
    2. Option Strict On stellen für immer.
    Anders ist vb.net nicht die objektorientierte Sprache, die es ist.

    MSDN schrieb:

    When numbers are converted to strings, a leading space is always reserved for the sign of number. If number is positive, the returned string contains a leading space and the plus sign is implied.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Musste ja auch noch die Länge des String wissen

    nachdem ich "so in old-VB gewesen. Bin froh, dass man nicht mehr darauf angewiesen ist. " gelesen habe

    gesucht ob es da was anderes gibt und habe
    Wert = Datei.Length gefunden.
    Nach dem lesen von einigem was da von ErfinderDesRades angeregt wurde auf
    Datei.Length() gestossen.
    Funktioniert beides was mich nun verwirrt sonst wird doch immer gemeckert wenn da eine Klammer sein soll und nicht da ist.

    Elephant schrieb:

    Wert = Datei.Length
    Wenn Du uns jetzt noch sagst, was Datei für ein Datentyp ist, können wir auch was zum eher unwahrscheinlichen Fall von .Length() sagen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Elephant schrieb:

    Dim Datei As String
    Da gibt es nur .Length ohne Klammerfn.
    Und:
    Zitiere nicht komplette Posts über Deinen.
    Wenn Du einen User ansprechen willst:
    @NAME_DES_USERS
    @Elephant
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!