Ověření dat při tvorbě třídy   zodpovězená otázka

VB.NET, Algoritmy

Dobrý den,

chtěl bych si vytvořit vlastní třídu, která bude pomocí svých metod zpracovávat uživatelem vybraný textový soubor. Mám k tomu dvě malé otázky.

1. Výběr souboru chci řešit pomocí OpenFileDialog a zajímalo by mne, zda by se ve třídě měl umístit do konstruktoru, nebo někde jinde. Soubor bude vybrán jen jednou a pak se na něj budou volat různé metody.

2. Po OpenFileDialogu bude nutná kontrola zda byl nějaký soubor vybrán. Kde by se tato validace měla správně v rámci třídy provádět? Měla by se ze jména vstupního souboru udělat vlastnost a tu pak validovat v rámci get, set?

Přečetl jsem články zde na webu ohledně OOP, které jsou btw. velmi dobré ale ještě stále mám v některých věcech trochu nejasno. Předem děkuji za případné nakopnutí.

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

Dobrý den, navrhoval bych cestu k souboru předávat konstruktoru jako parametr typu string. OpenFileDialog by jste zavolal ještě před vytvořením instance třídy a pak by jste ho jen předal konstruktoru.

Něco jako:

Dim path As String
Dim Intance As 

path=... 'zde nějakým způsobe získáte cestu k souboru, třeba přes OpenFileDialog

MojeTrida=New MojeTrida(path)

A v metodě New ji zpracujete. Tu validaci zda byl nějaký soubor vybrán můžete udělat ještě před vytvořením instance třídy, pokud validace dopadne neúspěšně, můžete na to zareagovat tak, že se instance třídy vůbec nevytvoří. Myslím že by to šlo zkontrolovat přes System.IO.File.Exists (doufám že to je dobře, teď nejsem u počítače s Visual Studiem takže to píšu z hlavy).

Tato metoda ale jen ověří zda daná cesta existuje, ještě bude potřeba nějak ověřit, že vybraný soubour je texťák.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Existenciu súboru preveruje samotný OpenFilDialog.Zoberte si hocijaký program a skúste v ňom otvoriť neexistujúci súbor.Nedovolí vám to odkliknúť tlačidlo OK takže ani neprejdete cez ten dialóg ak napíšete názov neexistujúceho súboru

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

Díky za odpověď,

asi to takto udělám.

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