Fórum Converter bookmark para string; #260215

26/11/2004

0

Pessoal,

Tenho uma conexão ADO(jet4.0)-Adoconnection,um ADOTable, uma datasource
e um dbgrid e dois botões. O cliente quer que o registro selecionado
esteja indicado quando quando ele quiser abrir a aplicação novamente.
Tentei gravar o bookmark num texto e converter
novamente para um bookmark. Ai é que não sei como fazer.

Se alguém puder ajudar agradeço.

var
Form1: TForm1;
sel:TBookmark;
arq:TStringList;
arq2:TStringList;

procedure TForm1.BitBtn1Click(Sender: TObject);
var
q:string;
begin
arq:=TStringList.Create;
sel:=DataSource1.DataSet.GetBookmark;
arq.Add(DataSource1.DataSet.Bookmark);

if FileExists(´c:\apl\pos.txt´) = true then
DeleteFile(´c:\apl\pos.txt´);
arq.SaveToFile(´c:\apl\pos.txt´);
arq.Free;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
ler:string;
sel2:TBookmark;
begin
arq2:=TStringList.Create();
arq2.LoadFromFile(´c:\apl\pos.txt´);
sel2:=arq2.gettext; // mensagem: argumentos incorretos???
DataSource1.DataSet.GotoBookmark(arq2.???);
end;


N1

N1

Responder

Posts

26/11/2004

Fabio Ferreira

Ola N1

O TBookmark que voce usou nao é string e do tipo ´pointer´, nao dando para salvar. Experimente utilizar o TBookmarkSTR, esse sim utiliza uma variavel String, que se for o caso, podera ser guardada. Utilizo bastante esse recurso (com TBookmarkSTR) porem nunca salvei uma posicao.

Fabio


Responder

Gostei + 0

28/11/2004

N1

Fabio,

Obrigado pela dica. Se alguém tiver problema similar, segue
o código que serviu para mim.


procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;
q:string;
begin
arq:=TStringList.Create;
q:=DataSource1.DataSet.Bookmark;
i:=DataSource1.DataSet.RecNo;
arq.Add(inttostr(i));
if FileExists(´c:\apl\pos.txt´) = true then
DeleteFile(´c:\apl\pos.txt´);
arq.SaveToFile(´c:\apl\pos.txt´);
arq.Free;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var
sel2:TBookmarkStr;
begin
arq2:=TStringList.Create();
arq2.LoadFromFile(´c:\apl\pos.txt´);
DBGrid1.DataSource.DataSet.RecNo:=strtoint(arq2[0]);
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar