![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
he encontrado que unos usan
Inbuf: Array[ 0..1023 ] of AnsiChar; Inbuf: Array[ 0..1024 ] of AnsiChar; entiendo que 8192 entre 1024 da 8 Inbuf: Array [0..8192] of AnsiChar; Inbuf: Array [0..999999] of AnsiChar; cual es la regla que se usa para definir el tamaño de un buffer? |
|
#2
|
||||
|
||||
|
Hola JXJ.
Cita:
Suponiendo que buscabas algo específico hice una búsqueda con "Inbuf: Array [0..999999] of AnsiChar;" Y encontré este resultado: Librería hecha en Delphi que implementa la factura electronica de México (Comprobante Fiscal Digital). Espero que sea lo que estas buscando. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
#3
|
||||
|
||||
|
Hola.
A mi me da que estás confundido con el concepto. En este caso Inbuf es el nombre de un array que declaras para usarlo posteriormente y [0..1023] quiere decir que vas a reservar para ese array 1024 posiciones que vas a usar posteriormente en tu programa. Esto se hace cuando sabes cuantas posiciones vas a necesitar posteriormente para tu tarea, en caso de no saberlo puedes declarar el array de forma dinámica sin indicar posiciones e ir incrementando las mismas según te vaya haciendo falta. Espero que sea eso lo que preguntabas. Saludos |
|
#4
|
|||
|
|||
|
Cita:
por que la mayoria declara sus arreglos de 0...1023 o 0....1024. segun para soportar el tamaño del archivo. pero yo tenia entendido que si declaras el arreglo de mayor tamaño del que es requerido. te al usar el arreglo obtienes basura en los espacios extra o el archivo llega incompleto. se corrompe. |
|
#5
|
|||
|
|||
|
como se le hace para asignar el tamaño del arrary
de forma dinamica. si la informaciona procesar la obtengo desde el memo1.lines o de un string? |
|
#6
|
||||
|
||||
|
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#7
|
||||
|
||||
|
Siempre has de reservar el máximo posible (siempre y cuando esté entre unos límites razonables) para el dato que vas a almacenar.
Normalmente pasas un array con 1 o 2 kb de largo y la función te devuelve cual es el máximo que la función ha usado, por ende, si te devuelve 43, sólo pillas del array desde el cero al 42. La mayoría de esas funciones añaden el carácter #0 en el índice 43 (o el que corresponda), que como sabes es el carácter nulo, el carácter que hace terminar un PChar en delphi. Los arrays son en realidad un Pchar, por tanto es compatible. El párrafo anterior quiere decir que ese buffer puedes copiarlo con tranquilidad a un string de delphi que no obtendrás la basura que haya al final del buffer.
Sé que hay varias funciones para "resetear una zona de memoria" creo una de ellas es fillchar y hay otras para bloques de memoria que no recuerdo horitamesmo... baludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#8
|
||||
|
||||
|
Cita:
Saludos |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como definir una class | Ziara | C++ Builder | 2 | 11-01-2008 16:12:32 |
| Multiusuario + Buffers = mal negocio... | aprendiz2 | OOP | 3 | 16-04-2007 21:53:09 |
| Como definir un campo Memo | manuelpr | Conexión con bases de datos | 4 | 12-04-2005 20:01:45 |
| Definir mi propio tamaño de hoja para FastReport | ingel | Impresión | 0 | 04-12-2004 16:41:41 |
| Definir el tamaño de la página | gatosoft | Impresión | 1 | 28-04-2004 07:08:24 |
|