elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 03:04  


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  [SOLUCIONADO] VB Redim Preserve
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [SOLUCIONADO] VB Redim Preserve  (Leído 536 veces)
Miseryk

Desconectado Desconectado

Mensajes: 59


Ver Perfil
[SOLUCIONADO] VB Redim Preserve
« en: 26 Enero 2012, 03:45 »

Hola nuevamente, estuve buscando como lograr el redim de VB en C++, pero no pude hacer funcionar varios códigos descargados desde internet porque lo que estoy tratando de hacer es realizarlo con una estructura como por ejemplo:

struct MiStruct
{
   long ID;
  
   vector<string> v1;

   vector<string> v2;

   string Resultado;
} M_Var[1];

Y que le cargue datos en el index 1, lo que quiero hacer es redimencionarla a 2 por ejemplo, sin perder los valores anteriores.

Desde ya muchas gracias.


« Última modificación: 26 Enero 2012, 18:49 por Miseryk » En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: [AYUDA] VB Redim Preserve
« Respuesta #1 en: 26 Enero 2012, 07:04 »

Veo que estas en C++ asi que puedes usar la clase vector para que no te compliques la vida... ojala yo hubiera hecho lo mismo xP.

Código
 
#include <string>
#include <vector>
#include <iostream>
#include <cstdlib>
using namespace std;
 
using namespace std;
 
typedef
struct
MiStruct
{
  long id;
  vector<string> v1;
  vector<string> v2;
  string Resultado;
}
MYSTRUCT, *LPMYSTRUCT;
 
int main()
{
   vector<MYSTRUCT> udtStruct;
   udtStruct.resize(1);
   udtStruct[0].id = 666;
   udtStruct[0].v1.push_back("Hola Mundo!&#161;.");
   cout << udtStruct.size() << endl;
   udtStruct.resize(100);
   cout << udtStruct.size() << endl;
   udtStruct.resize(10);
   cout << udtStruct.size() << endl << endl;
   cout << udtStruct[0].id << "\n" << udtStruct[0].v1[0] << endl;
   udtStruct.clear();
   cout << "Se liberaro el array/vector de tipo MYSTRUCT" << endl;
   cout << udtStruct.size() << endl;
   return EXIT_SUCCESS;
}
 
 

Revisa esta pagina:  http://www.cplusplus.com/reference/stl/vector/resize/

Nota si lo quieres ahcer a la antiguita (ANSI C) usa realloc() http://www.cplusplus.com/reference/clibrary/cstdlib/realloc/

Dulces Lunas!¡.


« Última modificación: 26 Enero 2012, 07:12 por BlackZeroX (Astaroth) » En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
RHL


Conectado Conectado

Mensajes: 968


mental


Ver Perfil
Re: [AYUDA] VB Redim Preserve
« Respuesta #2 en: 26 Enero 2012, 07:11 »

una pregunta que es mejor usar las clases en general o codear uno el codigo?
En línea
BlackZeroX (Astaroth)
Wiki

Desconectado Desconectado

Mensajes: 2.831


I'Love...!¡.


Ver Perfil WWW
Re: [AYUDA] VB Redim Preserve
« Respuesta #3 en: 26 Enero 2012, 07:29 »

una pregunta que es mejor usar las clases en general o codear uno el codigo?

Si estas en C++ que mejor usar la STL que por algo esta asi me en este caso es mejor usar la clase vector, asi no te lias con realloc() y claro que lo puedes usar, pero a mi criterio mejor usar vector...

Dulces Lunas!¡.
En línea

Web Principal-->[ Blog(VB6) | Host File (Public & Private) | Scan Port | (New)MyInfraPC (Descubre mi Contraseña venefi. $) ]



The Dark Shadow is my passion.
El infierno es mi Hogar, mi novia es Lilith y el metal mi
Miseryk

Desconectado Desconectado

Mensajes: 59


Ver Perfil
Re: [AYUDA] VB Redim Preserve
« Respuesta #4 en: 26 Enero 2012, 18:49 »

Excelente, muchas gracias BlackZeroX, antes de ver lo que codeaste, pense algo extremadamente similar pero con push_back :) usando el vector y se me alentaba un poco.
Muchas gracias a todos por su ayuda y aporte :D (Y).
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines