Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: Dec 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 248
Poder: 12
waly2k1 Va por buen camino
funcion similar a PoS ?

Muchachos he aquí una duda:

Busco una funcion similar a PoS, pero desde atras hacia adelante. Estoy modificando una aplicación de VB y hay funciones que no encuentro.

Y si no es mucho pedir... un ejemplo de apertura y lectura de un txt linea a
linea. Lo hacía con FileSystemObject, pero no veo en Delphi ejemplos del mismo.

Saludos y muchas gracias
Responder Con Cita
  #2  
Antiguo 24-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: May 2003
Ubicación: Colombia
Posts: 7.031
Poder: 23
jhonny Va camino a la fama
La verdad es que no conozco o no recuerdo una función que haga eso que dices, pero podrias implemnetar la siguiente:

Código Delphi [-]
function PosR(SubCadena, Cadena :String):Integer;
begin
  Result := Pos(SubCadena, ReverseString(Cadena));
end;

Nota: ReverseString es una función que pertenece a la unidad StrUtils.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #3  
Antiguo 24-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: Dec 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 248
Poder: 12
waly2k1 Va por buen camino
Gracias Jhonny

Pero la funcion ReverseString me invierte la cadena, a no ser que la reinvierta nuevamente.

Te paso un texto así ves lo que intento hacer
CPU ATHLON 4400 X2 AM2 DUALCORE 129.79U$S

Acá lo que intento es ir al final de la cadena y tomar el string 129.79U$S
lo hago así porque es de longitud variable

Bueno al menos la logica está, si no veo nada similar uso tu ejemplo que tiene que funcionar. Muchas gracias!!!
Responder Con Cita
  #4  
Antiguo 24-09-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: May 2003
Ubicación: Colombia
Posts: 7.031
Poder: 23
jhonny Va camino a la fama
ReverseString te devulve una cadena invertida, mas no te invierte la cadena como tal, un ejemplo:

Código Delphi [-]
Var
  MiCadena :String;
begin
  MiCadena := 'Ejemplo';
  ShowMessage(ReverseString(MiCadena));
  ShowMessage(MiCadena);  
end;
En el ejemplo anterior, puedes ver como despues de usar la funcion ReverseString, la variable MiCadena sigue teniendo el mismo valor.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #5  
Antiguo 24-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: Dec 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 248
Poder: 12
waly2k1 Va por buen camino
Ok Ok

ok ok me expresé mal.
si tengo la cadena 'CPU ATHLON 4400 X2 AM2 DUALCORE 129.79U$S'
la funcion PosR( ' ', Cadena ) me da el valor 10
a no ser que use RighStr(cadena, PosR( ' ', Cadena ) ) obtengo el valor
Juás salió!!!

pero como lo pensaba no me sirve, porque no tengo la posicion del ' ' antes del precio. No digo que me invierta la cadena original a no ser que pase el parametro como referencia y cambie el valor de dicho parametro en la funcion.


Bueno ya está, pruebo un poco y listo amigo
Muchas gracias como siempre.
Responder Con Cita
  #6  
Antiguo 24-09-2007
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: May 2003
Ubicación: Campeche, México
Posts: 2.727
Poder: 18
maeyanes Va por buen camino
Para obtener la última subcadena puedes hacer algo como:

Código Delphi [-]
function GetLasToken(Str: string): string;
var
  TempStr: string;
  P: Integer;

begin
  TempStr := Str;
  P := Pos(' ', TempStr);
  while P > 0 do
  begin
    Delete(TempStr, 1, P);
    P := Pos(' ', TempStr)
  end;
  Result := TempStr
end;


Saludos...
Responder Con Cita
  #7  
Antiguo 24-09-2007
waly2k1 waly2k1 is offline
Miembro
 
Registrado: Dec 2006
Ubicación: El país de las maravillas(Argentina)
Posts: 248
Poder: 12
waly2k1 Va por buen camino
Bien, muchas gracias!!!

Bueno muchachos gracias por los ejemplos
usando un poco de logica siempre se consigue hacer lo que se desea, pero
creo debe haber una función definida que haga esto. Igualmente ya está solucionado con los ejemplos brindados.

Pero y el manejo del archivo de texto, hum... juás ya que estamos abusemos un poco de sus generosidades.

Muchas gracias!!!
Responder Con Cita
  #8  
Antiguo 27-02-2008
Avatar de Tiaguito_Power
Tiaguito_Power Tiaguito_Power is offline
Registrado
 
Registrado: Feb 2007
Posts: 6
Poder: 0
Tiaguito_Power Va por buen camino
TextFile!

Parece ser un poco tarde pero estaba viendo el foro y vi tu inquietud respecto a los archivos de texto......
Para poder abrirlos podes usar un OpenDialog.... te muestro un ejemplo si no te molesta...

Var Archivo: TextFile;
Aux:String;
Begin
If OpenDialog.Execute Then
Begin
AssignFile(Archivo, OpenDialog.FileName);
Reset(Archivo);
ReadLN(Archivo,Aux);
ShowMessage(Aux);
End;
Quiza sea medio tarde pero bue... espero sirva
Responder Con Cita
  #9  
Antiguo 27-02-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: Feb 2004
Posts: 1.151
Poder: 16
ixMike Va por buen camino
Yo creo que si buscas "hola" en "hola, se me va la chola", pues busca la invertida de "hola" dentro de la invertida de la otra y ya está


Salu2
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
1stClass o similar vroa74 Varios 0 20-09-2007 21:49:56
Macros en Excel. Función similar a CONTAR.SI Delphius Varios 5 11-05-2007 22:16:46
similar a dbgrid en php jgutti PHP 5 10-05-2007 19:46:45
Php + grid o similar jgutti PHP 2 25-05-2006 00:12:52
StringGrid o Similar jfontane Varios 4 24-06-2003 08:46:02


La franja horaria es GMT +2. Ahora son las 15:13:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi