funkce space()   zodpovězená otázka

VB.NET

Zdravim, nechtěl jsem už do předchozího tématu zasahovat z důvodu jeho délky a nepřehlednosti a hlavně už jsem požádal redaktory o uzavření, takže založím nové vlákno:

Chtěl bych se zeptat na co slouží funkce space v tomto případě:StringBuffer = Space(255)

kompletní kód:

Public Function ReadINI(ByVal INISection As String, ByVal INIKey As String, ByVal INIFile As String) As String
        Dim StringBuffer As String
        Dim StringBufferSize As Long
            StringBuffer = Space(255)
            StringBufferSize = Len(StringBuffer)
            StringBufferSize = GetPrivateProfileString(INISection, INIKey, "", StringBuffer, StringBufferSize, INIFile)
        If StringBufferSize > 0 Then
            ReadINI = Left(StringBuffer, StringBufferSize)
        Else
            ReadINI = ""
        End If
End Function

vím že tato funkce slouží pro naplnění řetězce mezerami, ale jaký účel to má v tomto případě?

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

API funkce vyžaduje paměťový buffer o určité délce. Tímto způsobem naplníte proměnnou typu String 255 znaky a tuto velikost potom předáte jako jeden z parametrů. V řízeném kódu je String vždy dynamické délky. MOŽNÁ by to fungovalo i s atributem VBFixedString nebo MarshalAs i přesto že potom funkce Len vrací 0.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

dobře, děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback