elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: [1]
1  Programación / .NET (C#, VB.NET, ASP) / Ayuda treeview en: 17 Agosto 2017, 09:56
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
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);
}
3  Programación / Programación C/C++ / Re: Ayuda ejercicio C en: 6 Junio 2011, 21:35
Acabo de probar lo de escribir -c en el codigo, pero a la hora de ejecutarlo desde la linea de comandos da un error y no hace nada. A ti te funciono en Linux?
4  Programación / Programación C/C++ / Ayuda ejercicio C en: 6 Junio 2011, 20:44
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);
}
Páginas: [1]
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines