bueno, la vez anterios quedamos en la manipulacion de los datos....
solo queda el rescate desde el pc.
el primer paso es crear una aplicacion que sea capaz de rescatar los datos...para ello debemos ubicar la carpeta "Conduit" que viene ubicada en la carpeta "C:\Archivos de programa\Winsoft\PocketStudio 2\Conduit", ahi encontraremos una carpeta que contiene 1ero la carpeta "COMDirect" y la mas importante de todas, en esta vienen las funciones y procedimientos necesarios para poder sincronizar nuestros datos con el PC., las otras 2 carpetas son ejemplos de como usar estas unidades...., sin embargo no es solo abrir y ejecutar los ejemplos.....
luego se debe hacer un programa para leer los datos desde la palm...., para ello hacemos una nueva aplicacion, y luego agregamos las 2 unidades que vienen en la carpeta "PDDirectLib.pas" y "PDStandardLib.pas", creamos una funcion para leer los campos:
Código Delphi
[-]
function GetField(Value: array of Byte; Index: Integer): String;
var i: Integer;
begin
Result := '';
for i := 0 to Length(Value) - 1 do
if Index = 0 then
begin
if Value[i] = 0 then
Exit
else
Result := Result + Chr(Value[i])
end
else if Value[i] = 0 then
Dec(Index);
end;
luego en el evento OnCreate
Código Delphi
[-]
procedure TFrm_Main.FormCreate(Sender: TObject);
var
DatabaseQuery,DatabaseQuery_Choferes: IPDDatabaseQuery;
RecordAdapter,RecordAdapter_Choferes: IPDRecordAdapter;
i,errores,Categoria: Integer;
UniqueId: OleVariant;
Category: Integer;
Attributes: ERecordAttributes;
DbRecord: array of Byte;
Campo1,Campo2:String ;
begin
DatabaseQuery := CoPDDatabaseQuery.Create;
RecordAdapter := DatabaseQuery.OpenRecordDatabase('DBEjemplos', 'PDDirect.PDRecordAdapter', eRead or eShowSecret) as IPDRecordAdapter;
RecordAdapter.AddLogEntry('- Lellendo Base de Datos'#10, eText, True, True); RecordAdapter.AddLogEntry('- Lellendo Base de Datos', eText, True, False);
DbRecord := nil;
for i := 0 to RecordAdapter.RecordCount - 1 do
begin
DbRecord := RecordAdapter.ReadByIndex(i, UniqueId, Category, Attributes);
with dm do
Begin
Try
Campo1:=trim(GetField(DbRecord, 0));
campo2:=trim(GetField(DbRecord, 1));
showmessage(campo1+' '+campo2)
end;
end;
RecordAdapter.AddLogEntry('- Hecho, '+#10, eText, True, True); RecordAdapter.AddLogEntry('- Hecho', eText, True, False);
¿que falta ahora?
pues la aplicacion debe cerrarce automticamente al terminar, en el ejemplo anterior la aplicacion que registros se estan leyendo desde la palm atravez de un showmessage(); sin embargo es ahi donde se debe hacer alguna operacion con los registros, como cargarlos a una DB....
