duda existencial sobre las apis

Iniciado por fraktal, 3 Octubre 2006, 12:31 PM

0 Miembros y 1 Visitante están viendo este tema.

fraktal

Despues d mucho leer sobre las APIs, sigo sin saber nada. Porque el tema es... el uso de las APIs se resume en copiar y pegar de alguien uque te las pase?. O tiene su logica y se puede saber esta. Quiero decir, como se puede si quiera empezar a investigar algo de las APIs. Ya he se como se declaran y tal, pero luego, he visto que tambien se declaran constantes y tal. COmo se que constantes ahi que declarar, y lo mas importante casi, como se puede buscar una API si yo se que existe pero no se como se declara, ni si quiera el significado de los argumentos que se le pasa. De ahi que me plante si es mas facil buscar, copiar y pegar, o se puede intentar saber mas. Pues he visto el Api Viewver, pero es lo que digo, podria coger una declaracion pero luego ya no sabria que mas hacer. Osea busco consejo de la gente, que que es lo que suele hacer y como suele trabajar con las APIs.
Gracias. S2.


<--v1c1ous-->

Estas confundiendo todos los tantos, ponete a leer.

Para que entiendas como hago yo por ejemplo:

Para buscar declaraciones de API's usa el API Viewer y busca en google como usar esa funcion de la API.
Es sencillo, yo nececito una funcion que haga "tal cosa", asi que me fijo si existe alguna libreria que ya tenga esa funcion y declaro esa API, de lo contrario tengo que crear yo mismo la funcion.
Para algo existen las librerias, para almacenar funciones.

API's
Application Programming Interface
http://es.wikipedia.org/wiki/Application_Programming_Interface

Cuando declaras una API es para usar la funcion que declaras diciendo en que libreria *.dll se encuentra.
Esto es para ahorrarte escribir una funcion.



Pequeña clase de las APIS en Windows
http://foro.elhacker.net/index.php/topic,78189.0.html

Guía de referencia para el uso de las APIs
http://www16.brinkster.com/eduroam/api/default.asp?pag=cap1

NekroAyuda: Introducción a las Variables, Constantes y Tipos de Datos.
http://foro.elhacker.net/index.php/topic,61945.0.html

NekroAyuda: Trabajar con APIs en Visual Basic 6.0.
http://foro.elhacker.net/index.php/topic,61596.0.html


Constantes
En las Constantes declaras valores/definiciones/etc globales para usar siempre las mismas en toda la aplicacion.



_Sergi_

Generalmente nadie se aprende declaraciones de API de memoria. Para eso está API guide, API viewer etc.

Un saludo
Proyecto de Ingeniero

Robokop

El ya sabe de donde sacar las apis pero necesita saber si hay alguna logica sin tener la declaracion de sacarlo sin ayuda ni textos .
Pues la respuesta es que No , En otros lenguajes como C++ o Delphi no necesitas esas largas declaraciones solo el nombre de la api como por ejemplo SetCursorPos , microsoft solamente documento todas las apis disponibles a usar para visual basic  en la fecha de 1998 la ultima version de vb6, pero no las explico ni dijo que parametros utilizar , para deducir esos parametros la gente se basa por lo general en un lenguaje como C++ que si estan perfectamente documentadas las apis en un archivo llamado win32.hlp donde te especifica para que sirve cada parametro y como declararlo si es tipo puntero etc... y si tienes suertes tal vez encuentres un ejemplo pero en C++ no es nada complicado usar las apis.

Las cosas complejas y largas como por ejemplo cambiar el boton de inicio en vb  por un nombre, que no es tan dificil, por lo géneral una sola persona lo escribio y el codigo ronda con demasiadas variantes argumentando que es suyo , cuando para hacer una cosa de ese tipo se requiere paciencia , tiempo y estudio avanzado de apis.
Y asi es una sucesiva cadenita de Copy&paste de declaraciones ,constantes y de su úso , otra de las cuales razones por las que dicen que vb malacostrumbra.
Mi consejo:
Siempre busca un ejemplo de como usar alguna api cuando la necites ya que si alguien se mató para conseguirla demasiado tiempo tu te lo puedes ahorrar y si quieres demostrar que eres capaz de usar apis sin recursos de internet busca el archivo que te digo y basate en los parametros.
Vb.net le aventaja al asunto porque incluye NameSpaces que no necesita tantas declaraciones.

fraktal

Gracias a todos, y si es mas menos lo que Robokop decia, osea esa era mi duda. Muxas gracias. S2.

soplo

Hola
En vb existe la posibilidad de crear "clases" y con ellas "objetos"

Un objeto puede ser un textbox que tu pongas en un formulario y pertenece a la clase "textbox" y por tanto le corresponden una serie de propiedades y comportamientos.

Si no te gustan puedes hacer otra clase y sobre ella otros objetos con otras propiedades, ...,etc.

Las clases son MUY potentes. Se puede hacer de todo.

Cuando te compras vb microsoft te lo da con unas clases hechas. Algunas para una cosa y otras para otra. Puedes utilizarlas o crearte una clase que haga lo que tu quieras y con los comportamientos que quieras.

Digo todo esto porque es común la idea equivocada de que en vb todo se tiene que hacer con apis. Pues eso es una tontería y además impide la correcta comprensión del lenguaje. Si no te gusta algún comportamiento de algún objeto (o lo que sea) en vb pues hazte otro.

Las apis están para aquello que está mas allá del lenguaje. Sirven para acceder a rutinas propias de windows y con ellas puedes hacer por ejemplo que un formulario esté permanentemente a la vista.

Lo que es absurdo es pretender hacer todo con apis. Eso demuestra una ignorancia supina. Eso es dedicarse a goglear y hacer copypastes a trocho y mocho cuando tienes objetos que te pueden hacer eso igual o mas rápido.

Un ejemplo clásico es que quieras enviar un email. Pues como no hay nngún objeto que sea capaz de hacerlo puedes averiguar como lo hace outlook y crearte un objeto que sirva para enviar emails. En las propiedades le pones 'emisor', 'receptor','asunto' , 'mensaje' y adjunto. Luego le programas el comportamiento enviar así que cuando haces objeto.enviar envia el email.

Y es posible que en algunos casos para conseguir esas cosas necesites alguna api.

Un saludo
Callar es asentir ¡No te dejes llevar!

fraktal

Gracias Soplo, lo de las clases y objetos si lo habia leido y sabia que existia pero aun no me he metido pues estoy en lo basico de vb, pero ya llegare, y lo veo muy interesante. Y eso era lo que me referia, si en el fondo era copiar y pegar pues aunque pueda venir bien, yo busco aprender y sobre todo comprender. Gracias y saludos.