Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
Question ayuda con arvhivos de textos y arreglos en delphi

Hola mundo.! tengo un problemilla.! tengo esta cadena : < hola> <mundo> y quiero guardar "hola" en una variable y "mundo" en otra.! eliminando los delimitantes <>.! por favor ayudenme.!
Responder Con Cita
  #2  
Antiguo 06-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola twister y bienvenido a Club Delphi.

Código Delphi [-]
procedure QuitarMayorMenor(const Value: string; var s1,s2: string);
var
  i: Integer;
begin
  s1:= '';
  for i:= 1 to Length(Value) do
    if not(Value[i] in ['<', '>']) then
      s1:= s1 + Value[i];
  s2:= Copy(s1, Pos(' ', s1)+1, MaxInt);
  Delete(s1, Pos(' ', s1), MaxInt);
end;

Llamada de ejemplo:
Código Delphi [-]
...
var
  Cad1,Cad2: string;
begin
  QuitarMayorMenor(' ',Cad1,Cad2);
  ShowMessage(Cad1+#10#13+Cad2);
end;
...

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 06-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
ayudamee :S

bueno gracias!! pero no me funciono!! en realidad leo de un archivo de trexto esta cadena HOLA MUNDO <var1> <var2> necesito sacar var1 y var2 para utilizarlas dentro del programa... el q tu me enviastes lo use pero no me arroja nada!!
Responder Con Cita
  #4  
Antiguo 06-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
...

mira esto es lo q utilizo para q me devuelva el valor,

procedure ExtraeCadena(cadena: string): string;
begin
result:=copy(cadena,pos('<',cadena)+1,pos('>',cadena)-pos('<',cadena)-1);
end;

pero solo lo hace para "var1" y no me trae "var2" puedes revisarlo a ver si se puede hacer de la misma forma para traer var2??
Responder Con Cita
  #5  
Antiguo 06-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

El procedimiento que te puse funciona correctamente para la petición que hiciste en el primer mensaje quitando los símbolos < y > y almacenando en dos variables las dos cadenas que están separadas por un espacio.

En el ejemplo de llamada apareció un ' ' y no '<hola> <mundo>' por un problema que provocan los símbolos '< >' dentro de las etiquetas [delphi] y [/delphi] . Si ponés el texto dentro de las comillas simples, funcionará.

Te pongo otro ejemplo con una tercera variable que supuestamente tendría almacenada la cadena leida del archivo de texto:
Código Delphi [-]
...
var
  Cad1,Cad2, Txt: string;
  ...
begin
  Txt:= 'menor_hola_mayor menor_mundo_mayor'; // reemplaza menor_ y _mayor por sus símbolos correspondientes
  QuitarMayorMenor(Txt , Cad1,  Cad2);
  ShowMessage(Cad1 + #10#13 + Cad2);
end;
...

El procedimiento sigue siendo el mismo.


Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 06-02-2011 a las 05:02:11.
Responder Con Cita
  #6  
Antiguo 06-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
o.o

no me funciona :S tal vez no entiedas lo q en realidad quiero hacer!! o.o
Responder Con Cita
  #7  
Antiguo 06-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
o.o

podrias agregarme al msn para explicar bien!!

Última edición por ecfisa fecha: 06-02-2011 a las 05:14:18. Razón: Quitar dirección de correo privado.
Responder Con Cita
  #8  
Antiguo 08-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
Question ayuda con arvhivos de textos y arreglos en delphi

hola alguien sabe de alguna funcion en delphi que pueda leer una linea desde un archivo de texto y guardar cada palabra en una posicion de un ARREGLO?? ojo es un arreglo no necesito listas!! las lineas en el arvhico pueden ser N lineas y cada linea puede tener N palabras. agradeceria su ayuda...

Última edición por twister fecha: 08-02-2011 a las 02:57:31.
Responder Con Cita
  #9  
Antiguo 08-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola twister.

Por favor no repitas mensajes.
Un mensaje tuyo con igual contenido estaba en el foro 'noticias' con el título ":(" que por otro lado, nada tiene que ver con tu consulta.
Muchas gracias.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 08-02-2011 a las 03:25:54.
Responder Con Cita
  #10  
Antiguo 08-02-2011
twister twister is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 12
Poder: 0
twister Va por buen camino
O.o

Es que no se como eliminarlo..!
Responder Con Cita
  #11  
Antiguo 08-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola tiwster.

No, no podés eliminarlo una vez enviado, no te preocupes ya irás manejando el tema. Sólo te lo hago presente para que lo tengas en cuenta en el futuro.

Ahora a lo nuestro, no te sirvió el ejemplo con TStrings...

Bueno, aca te hice un ejemplo con un arreglo y te agregué comentarios en las líneas como mejor pude:
Código Delphi [-]

const
   MAXPALABRAS = 5000;

var
  v: array[1..MAXPALABRAS] of string;
 ix: Integer;

procedure TForm1.LineaAPalabras(NomArch: string);
var
  F: TextFile;
  p: Integer;
  s: string;
begin
  AssignFile(F, NomArch);  // asociár archivo a 'F'
  Reset(F);                // abrir para lectura
  ix:= 0;                  // inicializar indice arreglo
  while not Eof(F) do      // mientras no fin de archivo
  begin
    ReadLn(F, s);          // leer una línea
    s:= s + ' ';           // para obtener última palabra
    p:= Pos(' ', s);       // 1er palabra
    while p <> 0 do        // mientras haya palabras
    begin
      Inc(ix);                   // incrementar posición en arreglo
      v[ix]:= Copy(s, 1, p);    // guardar en arreglo
      s:= Copy(s, p+1, MaxInt); // quitar guardado
      p:= Pos(' ', s);          // proxima palabra
    end; // p<>0
  end;   // not Eof(F)
  CloseFile(F);           // cerrar archivo
end;

Ejemplo de llamada:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i:Integer;
begin
  LineaAPalabras('PRUEBA.TXT');
  Memo1.ScrollBars:= ssVertical;
  Memo1.Clear;
  for i:= 1 to ix do
    Memo1.Lines.Add(v[i]);
end;

No lo creo, pero por si tenés algún problema, te adjunto el ejemplo funcionando.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-08-2011 a las 10:02:56.
Responder Con Cita
Respuesta



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
Probleas con los arreglos edgwin OOP 1 27-08-2010 23:32:52
delphi y arreglos dinamicos vroa74 Varios 3 24-02-2007 12:21:41
Ayuda con arreglos !! Siegfried Varios 2 27-09-2006 20:43:53
AYUDA con arreglos pecosita C++ Builder 1 18-09-2006 22:00:50
Arreglos Lobo Varios 3 19-09-2003 00:09:19


La franja horaria es GMT +2. Ahora son las 09:02:48.


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