- Disculpen si lo que pido pueda llegar a ofenderlos dado que muchas veces he visto que comentan "Tal vez deberias googlear, antes de preguntar" y la verdad yo he googleado pero quizas no se como buscar lo que necesito y quizas tambien he encontrado algo no en concreto pero si algo que pueda ser un inicio pero por mis pocos conocimientos no he sabido aplicarlo.
- Bueno sin mas, estoy usando Microsoft Visual Studio 2012 y necesito una aplicacion de escritorio por lo tanto seleccione la opcion en Nuevo Proyecto de Aplicaciòn de Windows Forms "Espero sea la correcta", requiero leer N cantidad de archivos en un directorio pero no deseo obtener el contenido de esos archivos si no los nombrees como tal, estos son puros Txt pero los nombres de estos son numeros, osea puede existir en mi directorio archivos tales como:
Directorio "Datos" y dentro de el varios Txt como: 23425.txt, 43572.txt, 29834.txt, 87234.txt .....
- Esos Txt me lo genera de forma secuencial un Software de uso personal, ok una vez obtenidos deseo saber cual es el mayor porque me interesa trabajar con ese numero de archivo sumandole 1 osea que si el mayor es por ejemplo 345.txt necesito crear un archivo de nombre 346.txt, luego a este archivo necesito insertarle unos datos desde la misma aplicacion a traves de preguntas ya formuladas ingresando la respuesta desde un Input y tambien a traves de seleccion osea hacer la pregunta y tener un panel de opciones: 1- Respuesta A , 2- Respuesta B, 3- Respuesta C, creo que eso se llama Switch y al finalizar ese proceso no salir del programa si no que toooodo el ciclo se repita otra vez hasta que elusuario decida cerrar por si mismo la aplicacion.
- En lo que estuve buscando pude encontrar esto que lo modifique un poco a mi requerimiento.
Código
String[] asFileNames = Directory.GetFiles(@"C:\datos\ ", "*.txt"); int i; Console.WriteLine("archivos {0} en {1}", asFileNames.Length, Directory.GetCurrentDirectory()); for (i = 0; i < asFileNames.Length; i++) { Console.WriteLine("{0} - {1}", i, asFileNames[i]); } Console.Read();
- Problema uno es una aplicacion de CMD quiero algo mas amigable asi que intente adaptarlo aun mas pero no me funciono dado que cree una Aplicacion de Windows Forms y trate de insertar eso en un Label sin ningun resultado favorable ("Por cierto el anterior Codigo como aplicacion de CMD me corrio bien")... Intente hacerlo de esta forma dandome cuenta que no necesitaba parte del codigo:
Código
private void label1_Click(object sender, EventArgs e) { String[] asFileNames = Directory.GetFiles(@"C:\datos\ ", "*.txt"); int i; for (i = 0; i < asFileNames.Length; i++) { label1.Text = asFileNames[i].ToString(); } }
- Intente cambiar el valor de i en asFileNames por un numero para ver si se imprimia el nombre del archivo en la posicion 2 por ejemplo igual no se mostraba nada. Lo curioso es que si intento lo mismo en un textBox pues si se imprime pero solo cuando presiono alguna tecla y no con asFileNames si no con asFileNames[1] o cualquier otro numero con el valor del arreglo en i el programa se cuelga.
- Problema dos ese codigo me devuelve el .txt la extension yo quiero solo el numero, se que lo mostre es una minuscula parte de lo que pido pero no he podido avanzar...
- Se que para crear el archivo es con
Código
System.IO.File.Create(@"C:\Temp.txt");
- Imagino que para sumar un numero a nombre del archivo debo contener ese nombre en una variable no se si eso se deba convertir a un tipo entero y luego sumarle un + 1 y para lo demas creo que seria:
Código
System.IO.File.WriteAllText(@"C:\Users\Public\TestFolder\WriteText.txt", resp);
- Donde resp seria una variable que contenga la respuesta. Espero pueda ayudarme dado que tengo una vaga idea pero no se como o por donde comenzar y tengo dudas de porque el label no me muestra nada. Saludos...