Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Wink Seccion PocketStudio (PalmOS) Segunda Entrega

Hola, hoy doy la segunda entrega....
Manejo de caracteres:

Definicion:
Código Delphi [-]
 var Caracter:array [0..29] of char;


es mas comodo tener una unit en la cual ya esten definidos los largos:

Código Delphi [-]
type String10 = array [0..9] of char;
       String20 = array [0..19] o char;

OJO.... NO ES POSIBLE HACER

Código Delphi [-]
Procedure x;
var caracter = String10;
begin
     {ej 1}
     Caracter:='Hola';
     {ej 2}
     Caracter:=caracter+'Otra cosa' ;
     {ej 3}
     if Caracter = ' Hola' 
     then
     Begin

     end;
end;

Forma de hacerlo:

Código Delphi [-]
Procedure x;
var caracter = String10;
begin
     {ej 1}
     StrCopy(Caracter,'Hola');
     {ej 2}
     StrCat(Caracter,'Otra cosa'); 
     {ej 3}
     if StrCompare('Hola' ,Caracter) = 0
     then
     Begin

     end;
end;

Los tipos Boolean e Enteros se comportan bien

Los tipos enteros admintidos son:
Código Delphi [-]
Int16
Int32
Int64
//...
Segun se necesite.
__________________
^_^

http://stna.cl
Responder Con Cita
  #2  
Antiguo 15-09-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
Lightbulb Bases de datos

Bueno aqui estoy medio parado, pero si he logrado hacer las cosas que queria, he utilizado los tipos Integer y String, los cuales funcionan, pero el tipo integer es odiable ...debido a que hay que hacer muchos pasos para poder visualizar un dato de forma correcta, los datos al sincronizar tambien dan ataos...en definitiva solo uso string y limito la digitacion a numeros en las cajas de edicion.... es mas facil y mas rapido, sin por ello ser la mejor opcion (lo admito es mas que nada de comodidad... )

Bueno empecemos.

La unidad de manejo de datos es la PSDataBases. Aunque he tratado de usar los motores que trae disponible palm (PalmBD) no he podido usarlos, al parecer no son compatibles, espero que si hay alguien que sepa que falta por fabor lo postee...

Primero Abrir la base de datos para ello siempre hago una funcio que se encargue de ello para llamarle cuando sea necesario.... vamos al codigo.
Ojo que aqui una base de datos es una simple tabla......

Código Delphi [-]
{en el encabezado}
const
  FrmMain = AutoID;
  DBEjemplo = 'NombreDB';

function OpenDatabase: Boolean; 


{despues de la etiqueta resource}
var Ejemplos: TDatabase;
      {aqui va la definicion de campos, asumo que se entiende...}
     FieldDefs: array [0..1] of TFieldDef =
  (
    (DataType: ftString), {campo1}
    (DataType: ftString)  {campo2}
  );

function OpenDatabase: Boolean;
Begin
      {chequear existencia de la tabla...}
      if not PSDatabase.DatabaseExists(DBEjemplo)
      then
      Begin
             {crear tabla segun se necesite}
             Result := PSDatabase.CreateDatabase(DBEjemplos,Creator, Rsc('DATA'));
      end;
    {si todo ok entonces abrir}
     if Result
     then
     Begin
            Result := PSDatabase.Open(Ejemplos,DBEjemplos,dmModeReadWrite);
     end;
     {Definir campos}
     if Result then
  Begin
       PSDatabase.SetFieldDefs(Ejemplos,FieldDefs[0], SizeOf(FieldDefs) div SizeOf(FieldDefs[0]));
  end
  else
    ShowSystemError(PSDatabase.LastError);      
end;

Bueno hasta aqui llego hoy hasta el miercoles
__________________
^_^

http://stna.cl
Responder Con Cita
  #3  
Antiguo 18-09-2006
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
¿No es necesario ningún USES ni nada por el estilo? Supongo que sí, ¿o no? Creo recordar (porque no lo tengo instalado ahora) que con Free Pascal (que también sirve para programar para Palm) sí era necesario.
Responder Con Cita
  #4  
Antiguo 18-09-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
No es necesario....

Cita:
¿No es necesario ningún USES ni nada por el estilo? Supongo que sí, ¿o no? Creo recordar (porque no lo tengo instalado ahora) que con Free Pascal (que también sirve para programar para Palm) sí era necesario.
no, no es necesario, gracias por tu comentario
__________________
^_^

http://stna.cl
Responder Con Cita
  #5  
Antiguo 18-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Yo estuve probando el PocketStudio y hasta donde recuerdo, si es necesaria la cláusula USES para referenciar otras unidades.


Saludos...
Responder Con Cita
  #6  
Antiguo 18-09-2006
Avatar de fredo
fredo fredo is offline
Miembro
 
Registrado: oct 2003
Ubicación: Chile, Valparaiso
Posts: 318
Poder: 21
fredo Va por buen camino
para otras unidades si para PSDatabase no

para otras unidades si para PSDatabase no

por cierto si usaste PocketStudio Porias ayudar a mejorar la informacion de este.... , aun no logro en la sincrinizacion escribir en la DB de la palm desde delphi...
__________________
^_^

http://stna.cl
Responder Con Cita
  #7  
Antiguo 18-09-2006
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
Pues no fue mucho lo que lo usé... solo hice algunas pruebas y lo dejé... no tenía el tiempo para dedicarle... además, el manejo de las DB se me hizo algo complicado y nunca pude encontrar un buen ejemplo...

Así que temo no poder ampliar la información que ya has dado...



Saludos...
Responder Con Cita
  #8  
Antiguo 30-10-2006
Avatar de SpyO_O
SpyO_O SpyO_O is offline
Miembro
 
Registrado: may 2003
Ubicación: Argentina
Posts: 22
Poder: 0
SpyO_O Va por buen camino
Bases de datos en pocket Studio

Hola: voy a darles una ayuda con respecto a pocket studio porque veo que se trabaron con el acceso a bases de datos: lo mejor que pueden hacer es escribir una unit como la siguiente:
Unit Multas;
uses PSL;

const

DBName = 'MultaDB'; //Nombre de la base de datos
DBType = Rsc('data'); // DatabaseType de la base de dotos


Const
MultaRN=0;
MultaObjeto=1;
MultaNombre=2;
MultaDireccion=3;
MultaFecha=4;
MultaInspector=5;
MultaObs=6;
MultaStatus=7;
var

FieldDefs: array [0..7] of TFieldDef =
(
(DataType: ftString), //MultaRegistroNumero
(DataType: ftString), //MultaObjeto
(DataType: ftString), //MultaNombre
(DataType: ftString), //MultaDireccion
(DataType: ftDate), //MultaFecha
(DataType: ftInt16), //MultaInspector
(DataType: ftString), //Multa Obs
(DataType: ftString) //Multa Status
);



DBMulta:TDatabase;




function Open : Boolean;
function Close: Boolean;
Implementation

function Open:Boolean;
begin
Result := PSDatabase.Open(DBMulta, DBName, dmModeReadWrite);
if not Result then
Result := PSDatabase.CreateDatabase(DBName, Creator, ClienteDBType);
if Result then
Result := PSDatabase.Open(DBMulta, DBName, dmModeReadWrite);
end;

// Configura la estructura del registro en la base de datos.
PSDatabase.SetFieldDefs(DBMulta, FieldDefs[0],
SizeOf(FieldDefs) div SizeOf(FieldDefs[0]));
end;



function Close : Boolean;
begin
Result := PSDatabase.Close(DBMulta);
end;


end.

Como veran no necesita de muchos comentarios, pues es mas que logico su funcionamiento, la unit PSL(pocket studio library ) es la que encapsula todo el codigo de la base de datos.

Luego para acceder a la base de datos basta con recorrerla con un while:
Procedure Loop;
var
Buffer: Array[0..30] of Char;
begin

Multas.Open;
PSDatabase.First(DBMulta);
while Not PSDatabase.EOF(DBMultaDetalle) do
begin
StrCopy(Buffer,PSdatabase.FieldStringPtr(DBMulta,MultaNombre));
ShowMessage(Buffer);
PsDatabase.Next(DBMultaDetalle);
end;
end;

Luego existen metodos mas vistosos para acceder a la base de datos, como las tablas , algo asi, como los DBGrid en delphi pero muy distinto de ellos.
Saludos
__________________
Q Onda?
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Seccion PocketStudio (PalmOS) fredo Varios 8 10-11-2007 18:08:46
Segunda llamada, segunda roman Noticias 16 07-07-2005 21:02:56
Programar para PAlmOS y windows CE Leonardo Varios 0 26-05-2005 16:30:40
...PalmOS Pascal compiler... Jure Noticias 0 13-05-2004 20:45:25
PocketStudio jhonny Noticias 2 06-11-2003 00:25:34


La franja horaria es GMT +2. Ahora son las 12:57:10.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi