|
Mostrar Mensajes
|
Páginas: [1]
|
1
|
Programación / .NET (C#, VB.NET, ASP) / Ayuda treeview
|
en: 17 Agosto 2017, 09:56 am
|
Buenos días,
Es la primera vez que me enfrento a un treeview y necesito ayuda para meter los nodos hijos, nietos, bisnietos...dentro de los nodos padres.
Actualmente tengo una lista con los valores ordenados que recorro y en la que solo consigo meter a los padres.
Es decir, tengo una lista parecida a esta:
03 ---- AAA 031 ---- BBB 0311 ---- CCC 03111 ---- DDD 03112 ---- DDD 03113 ---- DDD 09 ---- EEE 091 ---- FFF 12 ---- GGG
Y el resultado que quiero obtener es este:
+03 ---- AAA +031 ---- BBB +0311 ---- CCC 03111 ---- DDD 03112 ---- DDD 03113 ---- DDD +09 ---- EEE 091 ---- FFF 12 ---- GGG
Con este pequeño código comparo a los padres y los metro dentro del treeview:
Dim valor As String = "00"
For Each l In listavalores If l.ToString.Substring(0, 2) = valor.Substring(0, 2) Then Continue For Else TreeView1.Nodes.Add(l.ToString) End If valor = l.ToString Next
El resultado que obtengo así es este:
03 ---- AAA 09 ---- EEE 12 ---- GGG
El caso está en que no tengo mucha idea en como recorrer ahora para poder meter los hijos, nietos, etc. de forma ordenada y en árbol en el treeview.
¿Alguna idea? Os agradecería mucho vuestra ayuda.
Un saludo,
Muchas gracias.
|
|
|
2
|
Programación / Programación C/C++ / Re: Ayuda ejercicio C
|
en: 8 Junio 2011, 17:42 pm
|
Vale, gracias por contestar. Ya lo tengo bien casi todo, solo me falla que si pongo en la linea de comandos Cuenta + el nombre del fichero me llame a las tres funciones y me muestre todos los resultados. Lo que pasa que tal y como lo tengo puesto solo me muestra bien la primera opcion. Las demas no me las hace.
Por ejemplo: Si pongo Cuenta fichero.txt me cuenta bien los caracteres pero no las palabras y las lineas.
Me falla esto
if(argc==2) { cuenta_caracteres(f); cuenta_lineas(f); cuenta_palabras(f); }
Mirad el codigo
#include<stdio.h> #include<stdlib.h> #include<string.h>
#define ESPACIO ' ' #define TAB '\t' #define INTRO '\n'
void MostrarAyuda(); void cuenta_caracteres(FILE *); void cuenta_lineas(FILE *); void cuenta_palabras(FILE *);
main(int argc, char *argv[]) { if(argc==1) { printf("\n\t\t\tAYUDA\n"); MostrarAyuda(); } FILE *f; if((f=fopen(argv[1],"r"))==NULL) { printf("\nNo se puede abrir el fichero\n"); getchar(); } if(argc==2) { cuenta_caracteres(f); cuenta_lineas(f); cuenta_palabras(f); } else if(argc==3) { if(strcmp(argv[2],"-c")==0) cuenta_caracteres(f); if(strcmp(argv[2],"-l")==0) cuenta_lineas(f); if(strcmp(argv[2],"-p")==0) cuenta_palabras(f); } fclose(f); }
void MostrarAyuda() { printf("\n-c: Cuenta el numero de caracteres del fichero\n"); printf("\n-l: Cuenta el numero de lineas del fichero\n"); printf("\n-p: Cuenta el numero de palabras del fichero\n"); }
void cuenta_caracteres(FILE *f) { int c, cont=0;
while((c=getc(f))!=EOF) { if(c!='\n') cont++; } printf("\n\nLos caracteres totales son %d\n",cont); }
void cuenta_palabras(FILE *f) { char car; int palabra=0; int i; while(car!=EOF) { car=fgetc(f); i++; if(car==ESPACIO || car==INTRO || car==TAB) palabra++; } printf("\n\nLas palabras totales son %d\n",palabra+1); }
void cuenta_lineas(FILE *f) { char car; int linea=0; while(car!=EOF) { car=fgetc(f); if(car=='\n') linea++; } printf("\n\nLas lineas totales son %d\n",linea+1); }
|
|
|
4
|
Programación / Programación C/C++ / Ayuda ejercicio C
|
en: 6 Junio 2011, 20:44 pm
|
Hola a todos.
Tengo este ejercicio que se debe ejecutar desde la linea de comandos y que se le pasan los siguientes parametros: -c Cuenta el nº de caracteres del fichero -l Cuenta el nº de líneas del fichero -p Cuenta el nº de palabras, donde una palabra
La sintaxis a la hora de abrirlo por la linea de comandos es la siguiente: Cuenta Nombre_Fichero [-c][-l][-p]
He hecho el siguiente codigo, pero a la hora de abrirlo nunca me hace nada. ¿Alguien sabe que ocurre?
#include<stdio.h> #include<stdlib.h> #include<string.h>
#define ESPACIO ' ' #define TAB '\t' #define INTRO '\n'
void MostrarAyuda(); void cuenta_caracteres(); void cuenta_lineas(); void cuenta_palabras();
main(int argc, char *argv[]) { FILE *f; if((f=fopen("fichero.txt","r"))==NULL) { printf("No se puede abrir el fichero"); system("pause"); exit (0); } if(strcmp(argv[1],"c")==0) cuenta_caracteres(); if(strcmp(argv[1],"l")==0) cuenta_lineas(); if(strcmp(argv[1],"p")==0) cuenta_palabras; if(argc<2) MostrarAyuda(); system("pause"); }
void MostrarAyuda() { printf("\n-c: Cuenta el numero de caracteres del fichero\n"); printf("\n-l: Cuenta el numero de lineas del fichero\n"); printf("\n-p: Cuenta el numero de palabras del fichero\n"); }
void cuenta_caracteres() { FILE *f; char car; int i=0; while(car!=EOF) { car=fgetc(f); i++; } printf("\n\nLos caracteres totales son %d\n",i-1); }
void cuenta_palabras() { FILE *f; char car; int palabra=0; while(car!=EOF) { if(car==ESPACIO || car==TAB || car==INTRO) palabra++; } printf("\n\nEl archivo contiene %d palabras\n",palabra+1); }
void cuenta_lineas() { FILE *f; char car; int linea=0; while(car!=EOF) { printf("%c",car); car=fgetc(f); if(car=='\n') linea++; } printf("\n\nEl archivo contiene %d lineas\n",linea); }
|
|
|
|
|
|
|