Ir al contenido


Foto

Ayudita a transladar a C?


  • Por favor identifícate para responder
3 respuestas en este tema

#1 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 27 julio 2010 - 11:54



delphi
  1. type
  2.   TData = record
  3.     Nombre: String[10];
  4.   end;
  5.   PData =^TData;
  6.  
  7.   Data: PData;
  8.   ListaM: THandle;
  9.  
  10.   ListaM:=OpenFileMapping(FILE_MAP_READ,False,'Salon5');
  11.  
  12.   if ListaM=0 then
  13.     Application.Terminate;
  14.  
  15.   Data:=MapViewOfFile(ListaM,FILE_MAP_READ,0,0,0);
  16.  
  17.   Usuario := Data.Nombre;
  18.    



Quiero trasladar estas sentencias al C si alguien podria ayudarme porfavor.
  • 0

#2 c0lo

c0lo

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 241 mensajes
  • LocationLima-Peru

Escrito 27 julio 2010 - 11:59

Yo intente de la siguiente manera:


cpp
  1. struct TData
  2. {
  3.     char Nombre[10];
  4. };
  5.  
  6. HANDLE ListaM;
  7.  
  8. ListaM = OpenFileMapping(FILE_MAP_READ, FALSE, "Salon5");
  9.  
  10. if(ListaM == NULL)
  11. {
  12.   return 1;
  13. }
  14.  
  15. TData* Data= (TData*)MapViewOfFile(ListaM, FILE_MAP_READ, 0, 0, 0); 
  16.  
  17. Usuario = Data->Nombre



Pero esta mal y nose que estoy entendiendo mal si es la estructura o la definicion de mi puntero a dicha estructura..?
  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 01 agosto 2010 - 06:30



cpp
  1. typedef struct
  2. {
  3.     char Nombre[10];
  4. } TData, *PData;
  5.  
  6.  
  7. HANDLE ListaM = OpenFileMapping(FILE_MAP_READ, false, "Salon5");
  8. if(ListaM == NULL)  Application->Terminate();
  9.  
  10. PData  Data = (PData)MapViewOfFile(ListaM, FILE_MAP_READ, 0, 0, 0);
  11. Usuario = Data->Nombre;



Saludos.
  • 0

#4 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 01 agosto 2010 - 09:19

Si no vas a utilizar el Builder como compilador, quizás esta sea una traducción mejor:



cpp
  1. typedef struct
  2. {
  3.     char Nombre[10];
  4. } TData, *PData;
  5.  
  6.  
  7. HANDLE ListaM = OpenFileMapping(FILE_MAP_READ, false, "Salon5");
  8. if(ListaM == NULL)  exit(0);
  9.  
  10. PData  Data = (PData)MapViewOfFile(ListaM, FILE_MAP_READ, 0, 0, 0);
  11. Usuario = Data->Nombre;


  • 0




IP.Board spam blocked by CleanTalk.