FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
buscar con pos
hola,
hola a todos bueno ahora estoy de nuevo con una nueva pregunta espero su amable paciencia y su ayuda , mi problema es el siguiente 1) tengo un memo con una lista de palabras 2)tengo un edit con una cadena X ahora yo deseo hacer que el programa busque en la cadena del edit las palabras de la lista del memo espero su ayuda y gracias de antemano
__________________
chenko---- |
#2
|
|||
|
|||
Quiza la función que buscas es PosEX que a diferencia de pos, permite buscar a partir de una posición.
|
#3
|
|||
|
|||
no entiendo ¿?
__________________
chenko---- |
#4
|
|||
|
|||
pos si el problema no esta en el pos como parece indicar el enunciado, pos debe estar en recorrer el memo. ¿digo yo?
algo parecido a lo siguiente debe ser lo que buscas for i:=0 to memo1.count-1 do Posicion=Pos(memo1.lines[i],Edit1.text); |
#5
|
|||
|
|||
me sale indeclarado 'count'
pero mejor repito la pregunta 1) tengo un memo con una lista de palabras 2)tengo un edit con una cadena X ahora yo deseo hacer que el programa busque en la cadena del edit las palabras de la lista del memo y cuando la encuentre suseda alguna accion gracias de antemano
__________________
chenko---- |
#6
|
|||
|
|||
le falta el lines
Código:
for i:=0 to memo1.lines.count-1 do Posicion=Pos(memo1.lines[i],Edit1.text); |
#7
|
|||
|
|||
holas,
bueno hiso lo establesido arriba y cuando corro el programa solo detecta a la ultima palabra de la lista, y a las demas palabras de la lista no las chekea gracias de antemano
__________________
chenko---- |
#8
|
||||
|
||||
El asunto creo que consta de dos partes:
1.- Extraer las palabras del Edit y guardarlas en otro lugar, en el ejemplo un Listbox. 2.- Comprobar si las palabras ubicadas en el listbox se encuentran en el campo memo. Aquí tienes un ejemplo que consta de dos botones, con uno pasamos las palabras al listbox, he considerado que el separador es el espacio en blanco. Y con el otro buscamos dichas ocurrencias. Código:
procedure TForm1.Button1Click(Sender: TObject); var i:Integer; j:Integer; Posicion:Integer; begin for j:= 0 to listbox1.Items.Count - 1 do begin for i:=0 to memo1.lines.count-1 do begin if Pos(Listbox1.Items[j],memo1.lines[i]) <> 0 then begin ShowMessage('Encontrada '+Listbox1.Items[j]); end; end; end; end; procedure TForm1.Button2Click(Sender: TObject); var nBlanco:Integer; nCont:integer; cPalabra:String; begin for nCont:=1 to Length(Edit1.text) do begin cPalabra:=cPalabra + edit1.text[nCont]; if edit1.text[nCont] = ' ' then begin ListBox1.Items.Add(cPalabra); cPalabra:='' end; end; ListBox1.Items.Add(cPalabra); end; Última edición por marcoszorrilla fecha: 08-09-2003 a las 22:10:26. |
#9
|
|||
|
|||
hola,
bueno tras relisados los pasos arriba descritos surgio un problema el cual es que cuando ejecuto el programa aunque se encuentren las paalbras siempre me sale que la decision es igual a ¿? y segun lo que yo queria hacer es que cuando escuentre en el memo1 diga si en el memo2 diga no y si no ahy la palabra diga ¿? bueno ese es mi problema les agradeceria una manita ________________________________________________ code procedure TForm1.Button1Click(Sender: TObject); var i:Integer; j:Integer; Posicion:Integer; nBlanco:Integer; nCont:integer; cPalabra:String; begin richedit1.Lines.Add(usuario+': '+edit1.text); begin for nCont:=1 to Length(Edit1.text) do begin cPalabra:=cPalabra + edit1.text[nCont]; if edit1.text[nCont] = ' ' then begin ListBox1.Items.Add(cPalabra); cPalabra:='' end; end; ListBox1.Items.Add(cPalabra); end; begin for j:= 0 to listbox1.Items.Count - 1 do begin for i:=0 to memo1.lines.count-1 do begin if Pos(Listbox1.Items[j],memo1.lines[i]) <> 0 then decision:='no ' else if Pos(Listbox1.Items[j],memo2.lines[i]) <> 0 then decision:='si ' else if not(Pos(Listbox1.Items[j],memo2.lines[i])<> 0) then decision:='¿? ' end; end; end; Edit1.Text := StringReplace(Edit1.Text, 'eres', decision+'soy', [rfReplaceAll,rfIgnoreCase]); Edit1.Text := StringReplace(Edit1.Text, 'tu', 'yo', [rfReplaceAll,rfIgnoreCase]); richedit1.Lines.Add('BIA1X'+': '+edit1.text); edit1.Clear; listbox1.Clear; end; ___________________________________________________ gracias de antemano
__________________
chenko---- |
#10
|
|||
|
|||
hola agrdeceria si alguien me da una mano con la pregunta que formulo gracias de antemano
__________________
chenko---- |
|
|
|