Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET] Stringa di N caratteri

    Ciao a tutti,
    devo usare il Format per scrivere un campo numerico con gli zeri non significativi. Il numero di zeri è però variabile. Ora faccio così:
    codice:
     Structure RecordOutput
      <VbFixedString(50)> Campo1 As String
      ...
      <VbFixedString(10)> Progressivo As String
     End Structure
    
     Sub ScriviRecord
      Dim RO As RecordOutput
      Dim ContatoreOutput As Long
      ...
      RO.Progressivo = Format (ContatoreOutput, Replace(Space(Len(RecordOutput), " ", "0") )
     End Sub
    uso
    Replace(Space(Len(RecordOutput), " ", "0")
    solo per scrivere "0000000000".
    Esiste una funzione per poter creare una stringa con tanti caratteri quanti ne voglio io (come la "String(Carattere, N)" di VB6)?

  2. #2
    Pardon...
    Len(RO.Progressivo)

  3. #3
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Guarda i metodi PadLeft e PadRight di String
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  4. #4
    Grazie mille, proprio quello che cercavo.
    Purtroppo si comporta nello stesso modo, cioè non mette gli zeri.
    Ho capito solo ora che il problema è trovare la lunghezza in bytes del campo RO.Progressivo.

    Se scrivo
    codice:
     <VbFiexdString(10)> Dim Progressivo As String
     ...
     StrApp = Trim(CStr(RecordIniziale + i - 1))
     RO.Progressivo = StrApp.PadLeft(Len(RO.Progressivo), "0")
    non mette gli zeri, ma se metto
    codice:
     <VbFiexdString(10)> Dim Progressivo As String
     ...
     StrApp = Trim(CStr(RecordIniziale + i - 1))
     RO.Progressivo = StrApp.PadLeft(10, "0")
    va!

    In VB6 bastava Len(RO.Progressivo), sia col campo valorizzato che non.
    In VB.NET all'inizio mi restituisce 0, dopo che lo valorizzo mi restituisce il numero di caratteri inseriti.
    Quindi il problema ora cambia:
    Come faccio ad ottenere quel 10 (la lunghezza in bytes del campo)?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.