Esta funcion me ha costado unos buenos dias xD Pero he aprendido mucho gracias a esta funcion! Le doy las gracias a Metal y fake como siempre!

Código: Seleccionar todo

procedure cortar(xStr : String; dl , dl2: string; donde : TStrings);
var
a, b : Integer;
begin
donde.Clear;
while a <> 0 do
begin
a := ansipos(dl, xStr);
b := ansipos(dl2, xStr);
donde.add (Copy(xStr, a + Length(dl), b - a - Length(dl)));
xStr := Copy(xStr, b + Length(dl2), Length(xStr));
end;
end;

Ejemplo:
Hay que crear una var de TStrings o algun objeto que lo tenga como ListBox.

Código: Seleccionar todo

Cortar ('Hola!^^Soy STX!**UdTools.Net!^^Mensaje para todos!**', '^^', '**', ListBox.Items);
Esto mostrara en el ListBox:
Soy STX!
Mensaje para todos!

Me hice un gran lio con las arrays de strings y lo deje en TStrings que es mas rapido.

Mostrar/Ocultar

STX, te recomiendo que en vez de usar TStrings uses TStringList porque el manejo de punteros es muchísimo mejor y te evitás MUCHOS problemas. TStringList deriva de TStrings, asi que si usás un TListBox podes asignarlo (llenás el TStringList y después con ListBox1.Assign(MiTStringList); lo asignás).

Saludos y bien hecho!
BrunoBsso escribió:STX, te recomiendo que en vez de usar TStrings uses TStringList porque el manejo de punteros es muchísimo mejor y te evitás MUCHOS problemas. TStringList deriva de TStrings, asi que si usás un TListBox podes asignarlo (llenás el TStringList y después con ListBox1.Assign(MiTStringList); lo asignás).

Saludos y bien hecho!
Lo del assign no me la sabia gracias!

Mostrar/Ocultar

Responder

Volver a “Fuentes”