Al usar las funciones delete e insert me dice que no puedo pasar objetos como variables ¿Qué hago?

Hola!
al usar las funciones delete e insert me dice que no puedo pasar objetos como variables
numcar:=(posfinal - (posini));
elmemo:=memo1.text;
delete((elmemo), (posini1), (numcar));
insert (edit1.text,memo1.text,posini1);
Aquí por ejemplo en delete(el componentememo, el numero de la posición donde comienza el borrado, numero de caracteres que se borraran); como veras quiero aplicar estas funciones(delete e insert en un memo, pero no me deja. ¿Cómo lo hago?
[Error] Unit1.pas(61): Constant object cannot be passed as var parameter
[Error] Unit1.pas(62): Constant object cannot be passed as var parameter
Bueno como veras aun estoy en lo del web browser lo que ocurre es que tengo que usar un algoritmo que haga un análisis sintáctico, ejemplo, dado el siguiente texto.
<img src="/images/logo.gif">
El algoritmo debe guardar en una variable lo que esta en tre los apostrofes(") es decir /images/logo.gif entre el primer y ultimo slash es decir images, cosa de poder modificar esos tags para que las imágenes sean cargadas desde el disco duro una vez que el browser guarde las página, porque una de las cosas más importantes es que se puedan guardar las páginas cosa de poder navegar offline, meteralas en diskette, o simplemente gurdarlas por guardarlas, :)

1 respuesta

Respuesta
1
Dicen que no hay que abusar de los paréntesis (para el primer error) y el segundo es debido a que haz omitido leer la ayuda en los métodos del memo. Ademas estas cometiendo un error al leer la propiedad text del memo, ya que así lees todo el memo incluyendo los saltos de linea, debes de leer linea a linea (seria más fácil con un archivo texto en lugar de un memo) con Memo1.Lines[n].
Lo que tienes se arregla así:
numcar:=(posfinal - posini);
elmemo:=memo1.text;
delete(elmemo, posini, numcar);
Memo1.lines.insert(posini,edit1.text);
Y lo que necesitas según me explicas seria con algo así (suponiendo que la cadena que leeas solo tenga un par de comillas y un par de diaogonales:
procedure TForm1.Button2Click(Sender: TObject);
Var cadena:String;
begin
Cadena:=Edit1.Text;
Delete(Cadena,1,Pos('"',Cadena));
Edit2.Text:=Copy(Cadena,1,Pos('"',Cadena)-1);
Cadena:=Edit2.Text;
Delete(Cadena,1,Pos('/',Cadena));
Edit3.Text:=Copy(Cadena,1,Pos('/',Cadena)-1);
end;
En este ejemplo pones tres edits y un boton, en el boton pones este codigo y en el edit1 escribes tu tag HTML, por ejemplo <img src="/images/logo.gif">

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas