Špatné načítání z txt   zodpovězená otázka

VB.NET, I/O operace

Mám zde problém načítám hodnotu z txt souboru a pak ji rozdělím na dvě pole a v prvním poly kde je ip adresa tak tam je pouze ta část po první tečku 127 nic ví v souboru je 127.0.0.1 nevim jestli je chyba ve cteni ze souboru nebo v rozdeleni toho pole pomoci splitu

Dim config
        Console.ForegroundColor = ConsoleColor.Gray
        Console.Write("Spouštění ......... ")
        Microsoft.VisualBasic.FileOpen(1, "config.cfg", OpenMode.Input, OpenAccess.Read, OpenShare.Default, 100)
        Microsoft.VisualBasic.Input(1, config)
        Microsoft.VisualBasic.FileClose(1)
        config = Split(config, "^")
        Console.Write("|")
        Console.ForegroundColor = ConsoleColor.Green
        Console.Write("OK")
        Console.ForegroundColor = ConsoleColor.Gray
        Console.WriteLine("|")
        Console.Write("Registrace ....")
        Dim ip As String = config(0)
        Dim tcpListener As New TcpListener(Net.IPAddress.Parse(ip), 5437)
        tcpListener.Start()
        Dim pass = config(1)

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

Je to tím, že funkce Microsoft.VisualBasic.Input asi standardně předpokládá datový typ Integer, a tím pádem načte jen první číslici. Není ani divu, nemáte správně nadeklarovanou proměnnou config, protože jaksi kašlete na určení datového typu.

Jinak co se týče funkcí z Microsoft.VisualBasic, doporučuji je nepoužívat a místo nich použít System.IO.FileStream, který je v .NET Frameworku standardní a bude fungovat i v jiných jazycích. Vůbec tyhle speciální fíčury VB.NET jsou obecně pomalejší a slouží pro konverzi aplikací z VB6 do VB.NET (což je imho dost zvrácená myšlenka, pořádně to nefunguje a takovouhle změnu architektury aplikace většinou nenese nijak dobře; nechápu, proč je tam dávali).

A rozhodně striktně všude deklarujte proměnné včetně datových typů, jinak se potom divíte, proč něco nedělá to, co má. Navíc je to 100x pomalejší a neprogramátorské ;-).

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