![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#7
|
|||
|
|||
|
Efectivamente, cadetill tiene razón (eso me pasa por no dedicar más tiempo a pensar en el problema y responder demasiado deprisa).
Otra posible solución es declarar el fichero FileReg directamente como TextFile y "esconder" el número en el propio fichero, delimitado por un par de caracteres que no se utilicen en el fichero, por ejemplo |45|.´Creo que es la solución más sencilla. La primera línea contiene el número, las siguientes contienen el texto, hasta que se encuentre el delimitador; éste indicará que estamos ante otro registro; es decir: |45| dhjfsd sdjklh sdh fs fsd fsld fl sdfsdh fhsdf sdfs df sdf sdf sdfsd fgasd fsdjfgsd fjgs d fs |34| dfl´ñskd f sdfj sdklñfañs ñfasdññfasñdfsadf asd f asd fa sd fsdf asdjkl fasdjklfasd f ds fda s fasd |27| sdjk fksf sdfsd f d s f Meter la información es ahora trivial. Para sacarla basta ir buscando la letra '|' con Pos, con algo como: Memo1.Lines.LoadFromFile('..........'); Texto := Memo1.Text; cont := 1; //1ª aparición de '|' Pos1 := Pos('|', Texto); while (Pos1 > 0) do begin // 2ª aparición de '|' Pos2 := Pos('|'+Chr(13)+Chr(10), Texto); //Extraemos el núm. Numero[i] es un array de enteros Numero[cont] := StrToInt(Copy(Texto, Pos1+1, Pos2-1)); // Eliminamos el '|nº|'+Salto de línea Texto := Copy(Texto, Pos2+3, Length(Texto)); // Buscamos el siguiente '|' Pos1 := Pos('|', Texto); if Pos1 > 0 then //Extraemos el texto del registro cont Contenido[cont] := Copy(Texto, 1, Pos1-3); // El -3 es para // eliminar el salto de línea tras el texto // Incrementamos el contador INC(cont); end; // del while Tras el bucle en Numero[i] están los números y en Contenido[i] están los contenidos. Hay que iterar desde 1 hasta cont-1. Nota: el código lo he escrito al vuelo, a lo mejos se me ha pasado algo. Espero que, ahora sí , te sirva.Un saludo Nacho |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|