PDA

Ver la versión completa : Explicaciones de funciones de librerías



albertnet3
20/10/2010, 18:14:25
En este tema se Irán dando a conocer las funciones de las tan famosas librerías.vkp.

aquí solo se pondrán ejemplo:

función XXXXX.
para que sirve .
sus parámetros.
y si tiene o no retornos.
y dar un ejemplo de como se usan.

Empezare yo dando un ejemplo.
Explicare la función tan conocida la de:


MessageBox


;095C: xxxxxxxx yyyyyyyy ; 257: int MessageBox( STRID header_text, STRID message_text, wchar_t IconID, int style, int time, BOOK* book );

esta función lo que hace es poner un mensaje en una ventana, como su nombre lo indica.
estos son sus parámetros:
STRID header_text(esto seria texto como titulo del mensaje si no se usara titulo se pone EMPTY_SID o 0x6FFFFFFF)
STRID message_text(esto seria el texto de la ventana a mostrarse si no se mostrara texto se pone 0)
wchar_t IconID(aquí seria si usara un icono si no se pone icono se pone NOIMAGE o sino 0)
int style( el estilo del mensaje ósea 1 seria como una ventana y 2 seria como por ejemplo cuando vemos el estado del teléfono así seria el otro estilo)
int time(el tiempo de que se mostrara el mensaje es en milisegundos para que se muestra 5 segundos seria así 5000 y si se pone 0 se mostrara asta que se de clik a la opcion aceptar)
BOOK* book (en que book será mostrado 0 seria el book actual)

un ejemplo:


MessageBox(EMPTY_SID, STR("TopSony Elfmaker Team Group"), NOIMAGE, 1, 5000 ,0);

AdrianDroid
21/10/2010, 13:48:57
Hola compañeros en este caso intentare explicarles de una manera sencilla que todos puedan entender:D


PlayFile

En concreto esta funcion cirve para reproducir un archivo de conido ya sea un archivo *wav*m4a*mp3 etc...

se utiliza de la siguiente manera:
PlayFile( L"/card/other/", L"prueba.mp3");

Como habran notado esta funcion pide 2 parametros :
1.-La ruta del archivo.
2.-El nombre del archivo.


int main (void) {
PlayFile( L"/card/other/", L"prueba.mp3");
return(0);
}
En este caso al iniciar el elf reproducira el sonido prueba.mp3 que esta en la carpeta otros en la M2


:DExito.....

albertnet3
21/10/2010, 19:50:52
pues ya que esta tambien esta es muy parecida a la de arriba nada mas que esta ademas de hacer lo de arriba tiene un parametro mas:


PlayFileV


Parametros:
const wchar_t* path.( ruta del sonido).
const wchar_t* fname.(nombre del sonido y extension).
int vol.(Volumen que tendra el sonido a reproducirce, se toma en una escala del 1(min.) al 15(max.)).

ejemplo de como usarse:

int main (void) {
PlayFileV(L"/card/other/", L"prueba.mp3", 15);
return(0);
}otra funcion facil de usar son estas dos una es para apagar su cel y la otra es para reiniciar:


REQUEST_SYSTEM_SHUTDOWN


un ejemplo se puede usar asi que al iniciar el elf apage el cel y diga un mensaje asta que lo apage de esta manera:



int main (void)
{
CreateHWBook();
MessageBox(EMPTY_SID,STR("el telefono sera apagado"),NOIMAGE,1,0,0);
REQUEST_SYSTEM_SHUTDOWN();
return(0);
}
REQUEST_SYSTEM_RESTART


un ejemplo se puede usar asi que al iniciar el elf reinicie el cel y dira un mensaje asta que se reinicie de esta manera:

int main (void)
{
CreateHWBook();
MessageBox(EMPTY_SID,STR("el telefono sera reiniciado"),NOIMAGE,1,0,0);
REQUEST_SYSTEM_RESTART();
return(0);
}

AdrianDroid
21/10/2010, 20:58:25
AudioControl_Vibrate


Hola compañeros de TopSony esta funcion cirve para hacer vibrar el SE.En este caso crearemos un void llamdo vibra que contendra lo necesario para poder utilizar la funcion.


void vibra (){
PAudioControl pAC = AudioControl_Init();
if( !pAC )
pAC = *GetAudioControlPtr();
AudioControl_Vibrate(pAC, 100, 50, 300);
}Como notaron esta funcion pide 3 parametros:
0-PAudioControl pIAudioControl (seria el puntero a una instancia o objeto en este caso seria "pAC").
1.-int vibratime ( Es el valor que define el tieempo de las vibraciones (milisegundos).
2.-int pausetime (Es el valor que define cuanto duraran las pausas entre vibraciones(milisegundos)).
3.-int totaltime(Es el tiempo total de vibraciones(miliseguntos)).

Ejemplo:
En este caso al iniciar el elf el SE vibrara.


void vibra (){
PAudioControl pAC = AudioControl_Init();
if( !pAC )
pAC = *GetAudioControlPtr();
AudioControl_Vibrate(pAC, 100, 50, 300);
}

.....

int main (void) {
vibra ();
return(0);
}:a01:Exito....

tambien se puede usar de la siguiente manera:

AudioControl_Init();
AudioControl_Vibrate( *GetAudioControlPtr(), 450, 50, 1500);

albertnet3
22/10/2010, 17:42:34
y tambien esta Inicializa una AudioControl y devuelve un puntero a una instancia de objeto como se muestra en el ejemplo anterior para tener vibracion:


AudioControl_Init


esta se usa para obtener el control inicial del audio en algunos casos esta funsion (k600/k750/w700/w800) comienza ni bien es iniciado el telefono pero en otros modelos que al iniciarse no inician esta funsion usan esta otra GetAudioControlPtr por eso es recomendable siempre usar ambas funsiones juntas para no causar errores.
ejemplo:

PAudioControl pAC = AudioControl_Init();

GetAudioControlPtr


simplemente Devuelve la dirección de un puntero a una instancia de objeto de AudioControl por eso se usan en conjunto con la de arriba:
ejemplo:

PAudioControl pAC;
pAC = *GetAudioControlPtr();

ejemplo de usando ambas:


PAudioControl pAC = AudioControl_Init();
if( !pAC )
pAC = *GetAudioControlPtr();

...//aqui lo que haran usando estas dos funsinoes.

albertnet3
23/10/2010, 15:45:08
hoy les voy a explicar esta funsion:

Shortcut_Run


Parametros:
wchar_t* shortcut_name( nombre del acceso directo)

ejemplo de como usarla:

int main (void)
{
CreateHWBook();
Shortcut_Run(L"Menu_CalendarMain");
return(0);
}

ahi le estoy diciendo que cuando se inicie el elf me mande a el acceso directo de calendario
para obtener los link a accesos directos para usarlos con esta funsion tienen que abrir su menu.ml y de ahi los obtendran.
espero sea de su utilidad ya que yo la uso en mi elfito MyShortcuts

AdrianDroid
23/10/2010, 17:22:19
FindBook


Hola compañeros de TopSony en este post les voy a explicar como se usa la funcion FindBook.Lo primero que devemos hacer el definir el book que vamos a ocupar en nuestro elf, en este caso vamos a definir el book de Administrador de archivos;Lo haremos la de la siguiente manera:



int Admin(BOOK *bk)
{
if (!strcmp(bk->xbook->name,"DataBrowserBook")) {
return 1;
}
else{
return 0;
}
};

Como habran notado para esto devemos tener 1 parametro que es el siguiente:
IS_NEEDED_BOOK Que es el nombre del book que ocuparemos como lo tiene definido el SE(DataBrowserBook).

ahora se necesita El nombre con el que definiremos el book dentro del elf(Admin).
Y listo tenemos definido el book que vamos a ocupar!!!

Esta funcion se puede emprealr dentro de otras como freebook perola mas usual de usarla es con if , if en españo significa sì, ocea que si se cumple cierta sentencia haga cierta accion o acciones
Ejemplo:


int Admin(BOOK *bk){if (!strcmp(bk->xbook->name,"DataBrowserBook")) { return 1; }else { return 0; }};

.......

int main (void){
if(FindBook(Admin)){
MessageBox(0x6fFFFFFF,STR("El Administrador de archivos esta abierto =)"),0, 1 ,5000,0);
}
return(0);
}
En este caso al iniciar el elf si esta abierto el Administrador de archivos el elf amrira una caja de texto con el texto,El Administrador de archivos esta abierto =).


NOTA:EN EL BookManager encuentrarn el nombre de los books :D

Exito......

Cr@cShoT
23/10/2010, 17:44:08
mkdir

Funcion sencilla

Parametros:


int mkdir(const wchar_t* path);Lo que hace esta funcion es crear una nueva carpeta en la direccion que pongamos

Ejemplo:


int ret = mkdir((wchar_t*)L"/card/other/Mi Carpeta");


Eso quiere decir que nos creara "Mi Carpeta" en la ruta Card/Other

AdrianDroid
24/10/2010, 10:55:55
FreeBook

Hola compañeros de TopSony ahora les explicare como usar la funcion FreeBook.Esta funciona para cerrar un book.

EJEMPLO:

int Admin(BOOK *bk){if (!strcmp(bk->xbook->name,"DataBrowserBook")) { return 1; }else { return 0; }};

....

int main (void){
if(FindBook(Admin)){
FreeBook(FindBook(Admin));
MessageBox(0x6fFFFFFF,STR("Se a cerrado el administrador de archivos."),0, 1 ,5000,0);
}
return(0);
}

Como ya notaron esta funcion solo pide el parametro del book que se desea cerrar.
En el ejemplo anterior al iniciar el elf si esta abierto el Admin de archivos cerrara el administrador de archivos mandara el mensaje "Se a cerrado el administrador de archivos.".

Exito...

albertnet3
24/10/2010, 17:58:34
hoy les voy a explicar estas dos funsiones son simples una es para copiar y la otra es para mover:

FileCopy


parametros:
wchar_t* src_path, (Ruta del archivo a copiar).
wchar_t* src_name, (Nombre del archivo a copiar con extension).
wchar_t* dest_path, (Ruta de donde se copiara el archivo).
wchar_t* dest_name, (El nuevo nombre y extension que tendra el archivo copiado).
int ( es un entero puede ser 0(desactivado) o 1 (activado).


FileMove



parametros:


wchar_t* src_path, (Ruta del archivo a mover).
wchar_t* src_name, (Nombre del archivo a mover con extension).
wchar_t* dest_path, (Ruta de donde se movera el archivo).
wchar_t* dest_name, (El nuevo nombre y extension que tendra el archivo movido).
int ( es un entero puede ser 0(desactivado) o 1 (activado)).


ejemplo de como usarlas:

int Admin(BOOK *bk){if (!strcmp(bk->xbook->name,"DataBrowserBook")) { return 1; }else { return 0; }};

....

int main (void){
if(FindBook(Admin)){
FileCopy(L"/card/other/Mi Carpeta/",
L"TopSony.txt,L"/card/other/TopSony/",
L"TopSony Elfmakers team group.xml",1);
} else{
FileMove(L"/card/other/Mi Carpeta/",
L"TopSony.txt,L"/card/other/TopSony/",
L"TopSony Elfmakers team group.xml",1);
}
return(0);
}


ahi le estoy diciendo que al iniciarce el elf y si se esta en administrador de archivos copie de esta ruta /card/other/Mi Carpeta/ el archivo TopSony.txt a esta ruta /card/other/TopSony/ y que tendra este nuevo nombre y extension TopSony Elfmakers team group.xml.
Y si no se esta en el administrador de archivos le estoy diciendo que al iniciarce el elf mueva de esta ruta /card/other/Mi Carpeta/ el archivo TopSony.txt a esta ruta /card/other/TopSony/ y que tendra este nuevo nombre y extension TopSony Elfmakers team group.xml.

albertnet3
26/10/2010, 17:31:51
Hoy les voy a enseñar a usar esta fun sirve para poner un icono o una imagen:

ImageID_Get


parametros:
const wchar_t * fpath,(ruta de la imagen).
const wchar_t * fname,( nombre y extension de la imagen).
wchar_t * imageID,(seria como la memoria virtual donde se guardara la imagen).

y se usaria asi en un mensajebox con imagen seria de esta manera:


wchar_t * imageID;
ImageID_Get(L"/card/other",L"picture.jpg",&imageID);
MessageBox(EMPTY_SID, STR("TopSony Elfmaker Team Group"),imageID, 1, 5000 ,0);Nota1: la imagen puede ser tambien de otros tipos de formatos no solo jpg tambien puede ser bmp, png, gif, etcetera.
Nota2: despus de usarse imageID se tiene que liberar usando esta otra funsion:


ImageID_Free


Parametros:
wchar_t imageID(seria como la memoria virtual donde se guardo la imagen en el ejemplo anterior se uso ,imageID).



ejemplo de como se usa:


wchar_t * imageID;
ImageID_Get(L"/card/other",L"picture.jpg",&imageID);
MessageBox(EMPTY_SID, STR("TopSony Elfmaker Team Group"),imageID, 1, 5000 ,0);
ImageID_Free(imageID);espero sea de su utilidad :DD

albertnet3
28/10/2010, 15:23:56
Hoy les voy a explicar esta funsion que sirve para renombrar algun archivo:


rename


Parametros:
const wchar_t* oldpath,(Ruta del archivo a renombrar).
const wchar_t* oldfname,(nombre con extension del archivo a renombrar).
const wchar_t* newpath,(nueva ruta del archivo a renombrar).
const wchar_t* newfname,(el nuevo nombre y extension que tendra el archivo).
int zero(Aqui se pone el "0").

creo que no hace falta poner un ejemplo de como usarla ya que es muy parecida a las funsiones de copiar y mover que ya han sido explicadas con ejemplos y todo.
espero sea de su agrado :DD

esta funsion muy conosida es la usada en el source de Hello Word:


StatusIndication_ShowNotes


Parametros:
STRID(seria el Texto a mostrar en standby como si fuese una nota).

ejemplo de como usarla:



int main (void)
{
CreateHWBook();
StatusIndication_ShowNotes(STR("TopSony Elfmakers Team Groups!"));
return(0);
}

albertnet3
24/11/2010, 16:10:19
HOLA!!! hoy les voy a explicar esta funsion muy simple pero util para el que le interese jeje xD

int BookObj_GetDisplayOrientation


Esta funsion obtine la orientacion de la pantalla en la que:
0 es vertical,
1 es horizontal izquierda,
2 es horizontal derecha.

Parametros:


BOOK *bk(el nombre del book al cual queremos obtener su orientacion de la pantalla).

ejemplo de como usarla:

MessageBox(EMPTY_SID,
int2strID(BookObj_GetDisplayOrientation(FindBook(i sAudioPlayerBook()))),
NOIMAGE, 1 ,0,0);
ahi nos dira en un mensaje la orientacion del book audioplayerbook().

y esta es para dar orientacion a algun book:

void BookObj_SetDisplayOrientation


Parametros:
BOOK *bk,(el nombre del book al cual le daremos la orientacion)
int orientation(aqui se pone la orientacion que le daremos al book nombrado en el parametro anterior puden poner 0, 1 o 2 ya saben que hace cada uno de estos ya que los explique mas arriba)


ejemplo de como usarla:

BookObj_SetDisplayOrientation(FindBook(isAudioPlay erBook()),1);
ahi le estoy diciendo que al book del audioplayerbook lo pongo en horizontal izquierda.
espero le aya servido esta funsion es usada por el elf orientation y tambien por mi mini elfito LandsCapeViewerForA2.V1.1.elf

anarkes
25/11/2010, 00:32:31
1.

Obtiene el BOOK actual

#pragma swi_number=0x31B
__swi __arm BOOK* Display_GetTopBook( int display );

Parametros:
int display //(0 pantalla interna, 1 pantalla externa, al menos eso recuerdo)

Return (Retorno):
BOOK * //El BOOK actual

2.

Crea una GUI del tipo TextFeedbackWindow... un ejemplo de una GUI asi, es la ventana que aparece cuando
cambias un tema y dice "Configurando tema, espera por favor."

#pragma swi_number=0x2C5
__swi __arm GUI_FEEDBACK* TextFeedbackWindow( BOOK* book, int zero );

Parametros:
BOOK* book //(En el que se desea crear la GUI)
int zero //(Este no se que es con exactitud, pero se pone 0)

Return (Retorno):
GUI_FEEDBACK*
La GUI creada

3.

Funcion que le agrega un texto a cualquier GUI_FEEDBACK

#pragma swi_number=0x2C9
__swi __arm void Feedback_SetTextExtended( GUI_FEEDBACK*, STRID text, int where );

Parametros:
GUI_FEEDBACK* //(GUI al que se le va a añadir el texto)
STRID text //(Aqui es donde va el texto de tipo STRID, para ella puedes usar STR() )
int where //(Este se supone que es en el lugar que se desea que se vea, pero no recuerdo el rango, yo siempre pongo 0)

Return (Retorno):
Ninguno

4.

Funcion que le da funcion a los softkeys en una GUI
para mas info sobre las acciones, ver el archivo ./include/DYN_tag.h o ./dynconst/target/El_modelo_y_firm_de_su_cel.h

#pragma swi_number=0x14B
__swi __arm void GUIObject_SoftKeys_SetAction( GUI*, u16 actionID, void (*proc)( BOOK*, GUI* ) );

Parametros:
GUI*, //(es donde se agrega la accion)
u16 actionID, //(La accion que se agregara)
void (*proc)( BOOK*, GUI* ) //Este parametro, es la Funcion que se ejecutara al cumplirse la accion (ACTION), la cual
debe tener como parametros BOOK*, GUI*, y debera ser sin retorno (void)

Retorno:
Ninguno

5.

Esta funcion sirve para mostrar una GUI en pantalla
#pragma swi_number=0x134
__swi __arm void GUIObject_Show( GUI* );

Parametros:
GUI * //La GUI que se mostrara

Retorno:
Ninguno

6.

Esta Funcion Sirve para "cerrar" una GUI

#pragma swi_number=0x1CE
__swi __arm GUI* GUIObject_Destroy( GUI* );

Parametros:
GUI * //La GUI que se mostrara

Retorno:
GUI * //La GUI que se destruyo (cerro)

Modo de Uso

...
void CloseGUI( BOOK*, GUI*gui ){

GUIObject_Destroy(gui);

}
...
BOOK * bk = Display_GetTopBook(0);
GUI_FEEDBACK * MyGUI = TextFeedbackWindow(bk, 0);
Feedback_SetTextExtended( MyGUI, STR("TopSony"), 0 );
GUIObject_SoftKeys_SetAction( MyGUI, 0xFC0 /*ACTION_BACK*/, CloseGUI );
GUIObject_SoftKeys_SetAction( MyGUI, 0xFAF /*ACTION_LONG_BACK*/, CloseGUI );
GUIObject_Show( MyGUI);
...Espero y sea de su agrado

P.D.
No e provado el "Modo de Uso" por que no tengo cel para hacerlo, pero deberia funcionar, de todas formas cualquier error/duda ya saben :D

Saludos.

albertnet3
29/11/2010, 01:34:07
hoy les voy a explicar esta funsion

BOOK * Find_StandbyBook(void)

Parametros:
no tiene.
esta funsion sirve para obtener como asi decir el book de la pantalla de modo espera.
ejemplo de como usarla:


int main (void)
{
CreateHWBook();
BOOK * stb_book = Find_StandbyBook();
BookObj_SetDisplayOrientation(stb_book,1);
return(0);
}
ahi le estoy diciendo al elf que si se esta en el standby ponga la orientacion de la pantalla en modo horizontal.