Hola Pato89xd.
Realmente no logro entender la lógica de tu código.
Pero basandome en lo que queres hacer,
Cita:
|
estoy tratando de hacer un procedimiento que borre registros de un archivo de texto, la clave de esos registros la tengo en un listbox y los registros son aquellos que comienzen con el tabulador
|
yo lo haría de este modo:
Código Delphi
[-]
procedure QuitarLinea(const NomArch,Patron: string);
var
LineaActual :string;
NomOri, NomDes: string;
Ori,Des: TextFile;
begin
NomOri:= ExtractFilePath(Application.ExeName)+NomArch;
NomDes:= ChangeFileExt(NomOri,'')+'.@@@'; AssignFile(Ori, NomOri);
Reset(Ori);
AssignFile(Des, NomDes);
Rewrite(Des);
while not Eof(Ori) do
begin
Readln(Ori, LineaActual);
if Pos(Patron, LineaActual) = 0 then
WriteLn(Des, LineaActual);
end;
Closefile(Ori);
CloseFile(Des);
DeleteFile(NomOri);
Rename(Des,NomOri);
end;
Llamada de ejemplo:
Código Delphi
[-]
if ListBox1.ItemIndex <> -1 then
QuitarLinea('Musica.DAT',ListBox1.Items[ListBox1.ItemIndex]);
Saludos.