![]() |
![]() |
| 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 |
|
|
|
#1
|
||||
|
||||
No se si me estoy perdiendo algo. Pero lo primero que veo es que estas utilizando el carácter #0, y recordemos que ese carácter se utiliza para marcar el final de una cadena. Por lo tanto cuando haces esto:
Como sStartCross comienza por #0, se considera una cadena vacía, así que en el momento en que el contenido de buffer también comience por #0 la condición se cumplirá, es decir, no se tendrán en cuenta el resto de caracteres. Yo te sugiero que para hacer comprobaciones en las que interviene el carácter #0 utilices funciones como CompareMem, mucho mas rápida, y no te metas a utilizar funciones para el tratamiento de cadenas ![]() |
|
#2
|
||||
|
||||
|
Cita:
depurando chino chano. De todas formas, ¿un ejemplo ilustrativo de código para novatos? de esos que facilitan la comprensión y me sirven para hacerme la idea y poder aplicarlo, porque todos sabemos que la ayuda de Dlphi 7 es...¿escasa y escueta? al menos para mi, de momento.
__________________
"El aprendizaje potencia la intuición" Yo mismo, en un momento de inspiración. v2.0 |
|
#3
|
||||
|
||||
|
siempre puedes escribir una pequenia funcion propia de comparacion, con un simple ciclo dentro que compare elemento por elemento y que te devuelva un true en caso de ser iguales.
Aunque creo haber visto dentro de delphi una funcion similar pero no recuerdo donde.
__________________
[Crandel] Última edición por Crandel fecha: 21-12-2006 a las 14:28:02. |
|
#4
|
||||
|
||||
|
Y si siempre comienza por esa cadena ¿por qué no te lo saltas y empiezas en la posición siguiente?
¿Puedes ponernos un trocito del fichero para probar?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 21-12-2006 a las 14:21:00. |
|
#5
|
||||
|
||||
|
Casimiro:
Se que podría saltarmelo y buscar la cadena 'F5:02:40:00' directamente, pero eso no resolvería mi problema, solo lo parchearía. Y si en un momento dado tengo que pelearme con cadenas cuyo identificador comienza por '00' tendré que aprender, y ya que el tema me pilla pez, mejor aprenderlo sin vicios ni malas costumbres Aqui un trozo: Código:
00000000:00 00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .. 00000010:20 20 20 00 32 34 32 31 31 00 20 20 20 20 20 20 .24211. 00000020:20 20 00 4e 45 57 20 48 4f 4c 4c 41 4e 44 00 20 .NEW HOLLAND. 00000030:20 20 20 20 20 20 20 00 33 33 33 20 54 52 41 43 .333 TRAC 00000040:54 4f 52 00 20 20 20 20 20 20 20 20 20 20 20 20 TOR. 00000050:20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00000060:20 20 20 20 20 20 20 20 20 20 00 31 39 37 35 00 .1975. 00000070:31 39 38 34 00 f5 02 40 01 00 00 00 00 00 20 20 1984.õ.@...... 00000080:20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00 . 00000090:32 33 39 38 33 00 20 20 20 20 20 20 20 20 00 46 23983. .F 000000a0:4f 52 44 00 20 20 20 20 20 20 20 20 20 20 20 20 ORD. 000000b0:20 20 20 00 43 4f 52 54 49 4e 41 20 49 56 20 31 .CORTINA IV 1 000000c0:2c 33 20 28 4c 46 50 2d 54 4f 20 52 45 50 4c 41 ,3 (LFP-TO REPLA 000000d0:43 45 20 4c 55 43 41 53 20 4f 4e 4c 59 29 00 20 CE LUCAS ONLY). 000000e0:20 20 20 20 20 20 00 31 39 37 36 00 31 39 37 39 .1976.1979 000000f0:00 f5 02 40 01 00 00 00 00 00 20 20 20 20 20 20 .õ.@...... 00000100:20 20 20 20 20 20 20 20 20 20 20 00 32 33 39 38 .2398 Esa es la opción que estaba barajando y que parametrizandola me dará toda la funcionalidad que busco.
__________________
"El aprendizaje potencia la intuición" Yo mismo, en un momento de inspiración. v2.0 |
|
#6
|
||||
|
||||
|
Una primera aproximacion sería algo como esto:
La función buscar, nos devuelve la posición de la cadena que buscamos, o -1 si no la encuentra. La única desventaja es que cargamos todo el archivo en memoria y si el archivo es muy grande (un par de decenas de megas) puede resultar un problema. |
|
#7
|
||||
|
||||
|
Ostias! Eso me llevará un rato leerlo, comprenderlo y asimilarlo. Asi que aprovecho para hacer una pausita, ir al gimnasio, comer y luego con fuerzas renovadas me enfrentaré a esto.
Gracias Seoane y a todos los demás. PD:Soluciones mas sencillas también se aceptan ![]()
__________________
"El aprendizaje potencia la intuición" Yo mismo, en un momento de inspiración. v2.0 |
|
#8
|
||||
|
||||
|
Cita:
![]() |
|
#9
|
||||
|
||||
|
Cita:
![]() Por cierto, Papulo, ¿eso es una tabla de algún tipo de base de datos que quizás sea pública su estructura, no?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Comparar dos cadenas de texto | creus | Varios | 5 | 06-03-2009 00:22:13 |
| Obtener un fichero adjunto a un nodo de un fichero XML | muntasil | Internet | 0 | 18-07-2006 12:57:57 |
| Uso de cadenas | zvf | OOP | 4 | 05-04-2006 00:55:47 |
| Comparar caracteres tecleados con los de una cadena | Calculador | Varios | 1 | 16-01-2005 18:36:35 |
| if ... in [] con cadenas???? | neon | Varios | 3 | 10-12-2004 13:15:39 |
|