![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#2
|
|||
|
|||
|
Solucion y otro problema
Conseguí mostrar el array of char (eran unicode) mediante array of widechar y todo funciona bien, pero no sé por que motivo el texto se muestra bien en el memo, pero el dato que viene detrás, un integer, ya no.
Esta es la estructura del archivo a leer: Field Offset bytes) Size (bytes) .NET Type FileFingerprint 0 2 Int16 FileVersion 2 2 Int16 BlockCount 4 4 Int32 BlockFingerprint 0 2 Int16 BlockVersion 2 2 Int16 RecordCount 4 4 Int32 RecordSize 8 4 Int32 CheckSum 0 4 UInt32 CourseName 4 34 char[34]Unicode WattSlopePulse 38 4 Int32<--------Este es el que se muestra incorrecto Este es el código que uso ahora para definir los tipos type Tpgmf = record fileprint:smallint; version:smallint; count:integer; Blockfingerprint:smallint; BlockVersion:smallint; RecordCount:integer; RecordSize:integer; Checksum:Longword; CourseName:array [0..17] of widechar; WattsSlopePulse:integer; ............ ................. archivo:file of Tpgmf; ............................................... Y este el codigo para leer del archivo y mostrar en el memo: var CN:string;i:integer; begin if opendialog1.execute then begin assignfile(archivo,opendialog1.filename); filemode:=FMOpenRead; Reset(archivo); Read(archivo, pgmf); For i:=0 to length(pgmf.coursename)-1 do begin Cn:=cn+ pgmf.Coursename[i]; end; Memo1.lines.add('fileprint:'+inttostr(pgmf.fileprint)); Memo1.lines.add('Version:'+inttostr(pgmf.version)); Memo1.lines.add('Count:'+inttostr(pgmf.count)); Memo1.lines.add('Blockfingerprint:'+inttostr(pgmf.Blockfingerprint)); Memo1.lines.add('BlockVersion:'+inttostr(pgmf.BlockVersion)); Memo1.lines.add('RecordCount:'+inttostr(pgmf.RecordCount)); Memo1.lines.add('RecordSize:'+inttostr((pgmf.RecordSize))); Memo1.lines.add('CheckSum:'+currtostr(pgmf.CheckSum)); Memo1.lines.add('CourseName:'+cn); Memo1.lines.add('WatSlopePulse:'+inttostr((pgmf.WattsSlopePulse)));<---Este muestra el valor incorrecto. ¿Que puedo estar haciendo mal ahora? ¿Por favor, alguien puede echarme un cable? Gracias |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Cargar archivo y guardarlo en tabla | Carliviris | Varios | 4 | 30-09-2006 00:39:43 |
| cargar archivo este si | gulder | API de Windows | 12 | 04-05-2005 06:26:21 |
| cargar un archivo sys en builder | israelgs | C++ Builder | 0 | 08-10-2004 21:25:32 |
| Cargar Archivo | srangel | JAVA | 0 | 03-09-2004 21:19:15 |
| Cargar archivo chm | esocrates | Varios | 1 | 27-07-2003 09:58:02 |
|