Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

La maravilla de las Estructuras

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: La maravilla de las Estructuras Responder citando

Algo tan simple que va en los primeros capitulos de cualquier libro de c o c++, las estructuras, muchas veces nos olvidamos de ellas en la progrmacionde sistemas administrativos, dejando todo en variales locales y/o accesos ¡director a los campos de las tablas.

Quisiera compartir con ustedes y recodar el uso de las estructuras para un rudimentario controlde derechos de usuarios:

Primero defino en mi forma principal la sig estructura:

Código:

struc sDerechos
  {
   bool Menu1;
   bool Menu2;
   bool Menu3;
   bool Menu4;
  } globalDerechos;


Ahora bien cuando identifico al usuario leo en su definicion (tabla) los campos de la sig.manera (recordando de incluir la forma principal en la forma de definicion de usuarios

Código:

frmMain->globalDerechos.Menu1=tbUsuario->FieldByName("derecho_1")->AsBool;
frmMain->globalDerechos.Menu2=tbUsuario->FieldByName("derecho_2")->AsBool;
frmMain->globalDerechos.Menu3=tbUsuario->FieldByName("derecho_3")->AsBool;
frmMain->globalDerechos.Menu4=tbUsuario->FieldByName("derecho_4")->AsBool;


ahora simplemnte en la forma principal puedo escodenr los menus que no tiene acceso el usuario o restringir la entrada



Código:

if(globalDerechos.Menu1==false)
  {ShowMessage("NO PUEDES ENTRAR");
  else
  {
   // Cargas la forma o lo que fuera
  }

_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Muchas gracias por recordarnos estas cosas tan elementales Gabriel.
_________________
Un saludo

Necesitamos tu ayuda: Envía AI al 27595 (Coste 1,20 euros + IVA)
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Duda sobre estructura Responder citando

En primer lugar gracias por orientarme en el sentido de las estructuras.

Soy nuevo en c++Builder, pero me suenan de TurboPascal.

Una pregunta:

Como se haría un fichero con formato de la estructura para guardar y recuperar de disco. ?

no he visto nada en la ayuda.

Un Saludo cordial.
_________________
== No !! al fin de c++ Buider. ==
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

MIra hace mucho tiempo que no hago programas que lean/escriban ARCHIVOS BINARIOS (esa es la repuesta a tu pregunta)

Simplemente creas el archivo binario (open(algunos parametros) y guardas la informacion (write (Creo..no me acuerdo bien, tendrias que checar el manual)) con la informacion de la estructura, y de la misma manera la lees, recuerda que lo que tienes en una estructura es una "secuencia de bytes"

Saludos

Palabras clave a buscar:

Archivos Binaraios
Random
Estructuras

Debe estar eso en libros basicos de c o c++

Disculpa por no ser de mas ayuda
_________________
Ing. Gabriel Góngora Navarrete
TouchSoftwares Inc

http://www.touchsoftwares.com
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mensaje    Asunto: Responder citando

Hola, lo que te diche Touchsoftware es correcto, pero ademas busca en en la ayuda de tu C esto:


//para lectura y escritura binaria
fread
fwrite

//tratamiento de archivos
fopen
fclose

Etc...

Saludos!
_________________
"Ser inteligente no es ser mas, solo equivocarse menos y no usar Visual Basic"
Atte.
Victor Yañez

Apoyen el Proyecto OpenSource del Club Builder. Ya tenemos componentes Listos!!!
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: Para escribir y leer archivos haces esto Responder citando

PARA ESCRIBIR:

#include <stdio.h>
#include <stdlib.h>

int main()
{
int i, score[10];
FILE *Archivo;

for(i=0; i<10; i++)
score[i] = 100-i;

Archivo = fopen("Archivo.txt", "w");

if( Archivo == NULL )
{
puts("Error abriendo Archivo.txt");
exit(0);
}

for( i=0; i<10; i++ )
fprintf( Archivo, "Numero %d:\t %d\n", i+1, score[i]);

return 0;
}

La salida del archivo sería esta:

Numero 1: 100
Numero 2: 99
Numero 3: 98
Numero 4: 97
Numero 5: 96
Numero 6: 95
Numero 7: 94
Numero 8: 93
Numero 9: 92
Numero 10:91

PARA LEER:

CREAR UN ARCHIVO LLAMADO INFO.TXT Y METER UN NOMBRE, DAR ENTER Y DESPUES UN NUMERO.

#include <stdio.h>
#include <stdlib.h>

int main()
{
char name[10];
char FileName[10] = "info.txt";
int age;
FILE *infoFile;

infoFile = fopen(FileName, "r");

if( infoFile == NULL )
{
printf("Error abriendo el archivo: %s", FileName);
exit(0);
}

if( fscanf( infoFile, "%s%d", name, &age) != 2 )
{
puts("Error leyendo el archivo!");
exit(0);
}

printf("%s tiene %d años!\n", name, age);
puts("Programa terminado correctamente!");

return 0;
}

Espero te sirva la información,

---------------------------
Suerte
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor MSN Messenger
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.