Suite

Lister les couches dans le répertoire .Net ArcObjects ou plain .Net - C# de préférence


Des exemples de code pour répertorier les fichiers de couche arcgis à partir d'un répertoire afin qu'ils puissent être bouclés ?


À l'aide d'un formulaire Windows, d'un bouton et d'une liste de sélection, vous pouvez utiliser ceci :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Gère Button1.Click Try 'fait référence à un répertoire Dim di As New IO.DirectoryInfo("c:	emp") Dim diar1 As IO. FileInfo() = di.GetFiles("*.lyr*") Dim dra As IO.FileInfo 'liste les noms de tous les fichiers dans le répertoire spécifié Pour chaque dra In diar1 ListBox1.Items.Add(dra.Name) Next Catch ex En tant qu'exception MessageBox.Show("Error " & ex.ToString) End Try End Sub

Cela devrait être facile à convertir en C#, c'est toujours .NET. Assurez-vous de marquer quelle œuvre d'art publiée comme réponse si elle vous donne les résultats attendus.

essayez { DirectoryInfo di = new DirectoryInfo(@"c:	emp"); FileInfo diar1 = new di.GetFiles("*.lyr*"); foreach(FileInfo dra dans diar1) { ListBox1.Items.Add(dra.Name); } } catch(Exception ex) { //faire quelque chose avec une exception }

La fonction suivante parcourt un répertoire, obtient une liste de tous les fichiers XML, trie la liste par nom, puis écrit les noms de fichiers des fichiers XML dans un fichier texte. Il fait un peu plus que ce dont vous avez besoin, mais le principe consiste à parcourir le répertoire en boucle et à faire quelque chose avec les fichiers - juste une autre façon de procéder.

public static void make_enerdeq_filelist(Constants c) // Créer Enerdeq_Filelist.txt pour alimenter notre travail ETL { // Tuer Enerdeq_Filelist.txt s'il existe if (File.Exists(c.infaServer + c.fileList)) { File.Delete(c .infaServer + c.fileList); } // Trier les fichiers par nom alpha, INFA veut une entrée triée DirectoryInfo dir = new DirectoryInfo(c.infaServer); StreamWriter sw = File.CreateText(c.infaServer + c.fileList); string[] xml_files = Directory.GetFiles(c.infaServer); IComparer comp = new FileComparer(FileComparer.CompareBy.Name); Array.Sort(xml_files, comp); foreach (string xml_file dans xml_files) { FileInfo fi = new FileInfo(xml_file); string file_name = fi.Name; if (file_name.EndsWith(".xml")) // Fichiers XML uniquement { sw.WriteLine(file_name); sw.Rincer(); } } sw.Fermer(); }


Voir la vidéo: ArcGIS. ArcObjects by Example C#. Visual Studio and ArcObjects Tips and Tricks (Octobre 2021).