For Each foundFile As String ošetření "nic jsem nenašel"   zodpovězená otázka

VB.NET

Zdravím rád bych se zeptal jak ošetřit při hledání souboru metodou

Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click

        Label2.Text = "Vyhledávám soubor  "
        Refresh()

        For Each foundFile As String In My.Computer.FileSystem.GetFiles(
            My.Computer.FileSystem.SpecialDirectories.MyDocuments,
            Microsoft.VisualBasic.FileIO.SearchOption.SearchAllSubDirectories, "*.txt")

.
.
.
.


next
End Sub

když nic nenajde

Při použití a nenalezení souboru mi skočí na end sub, ale já bych rád v tomto cyklu testoval zda existuje nějaký soubor a když ne tak zavolat třeba msgbox "nic". a dál se v tomto cyklu pohybovat třeba zadáním jiné přípony.

děkuji za odpověď Vašek

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

Co je špatně s uložením výsledku dotazu do proměnné? Tohle stejně vypadá hrozně nečitelně.

var foundFiles = // tady dotaz na soubory

foreach(var f in foundFiles)
    // vnitrek se ani jednou nezavola, pokud je pocet vysledku 0

if (foundFiles.Count == 0)
    MessageBox...

// pokracujete s kodem v tom ifu, nebo mimo nej
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Není tohle v céčku? Já zase tak zkušenej nejsem, abyh to konvertoval do VB.

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

Není to v céčku. Je to v C# a nemusíte být zkušený na to, abyste pochopil tak snadný kód. Máte tam implicitně typovanou proměnnou (to snad VB taky umí), pak foreach přes výsledky uložené v proměnné a pak jeden if. Čemu konkrétně na tom nerozumíte?

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

Zdravím pane Janáček, zřejmě jste zkušený programátor. Je-li dotaz položen na jazyk VB, chcete-li pomoct odpovídejte ve stejném jazyku. Navíc mezi jazykem C a C# je stejný rozdíl jako VB6 a VB.NET

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

Odpověď v dnešní době opravdu není nutné psát ve stejném .Net jazyku. Možná jen pro speciální případy, kdy se syntaxe zápisů mezi jazyky naprosto liší a zápis v jednom jazyku není možný v jazyku druhém. Zvlášť pro tak jednoduché příklady/sample jako je výše uvedený. Existuje nespočetně konvertorů.

Porovnáváte neporovnatelné.

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