Ir al contenido


Foto

como enviar sms desde una aplicacion delphi en Republica Dominicana


  • Por favor identifícate para responder
16 respuestas en este tema

#1 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 12 febrero 2011 - 04:29

Hola a todos

Quiero saber como se hace para enviar sms desde una aplicacion delphi. Quisiera saber si es necesario contactar la empresa telefonica o cual es la forma mas viable de hacerlo. Todo lo anterior enfocado a la Republica Dominicana

gracias por adelantado
  • 0

#2 seoane

seoane

    Advanced Member

  • Administrador
  • 1.259 mensajes
  • LocationEspaña

Escrito 13 febrero 2011 - 07:21

Pues no hace mucho publique un ejemplo de como enviar un correo usando el servicio de BulkSms.
http://www.delphiacc...hp?topic=4172.0

Y según su pagina de cobertura dicne que pueden mandar sms a la República Dominicana
http://bulksms.com.es/coverage/

En ese hilo ademas surgio otra compañia que ofrece un servicio similar y en la que casualmente trabaja un compañero del club:
http://m-lat.net/sit.../cobertura.html

Ambas compañías regalan varios mensajes de prueba al abrir una cuenta, así que puedes darte de lata y comprobar si se ajustan a lo que tu necesitas.
  • 0

#3 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 13 febrero 2011 - 09:11

Gracias Domingo, Voy a revisar bien el hilo y ver si los costos se ajustan a lo que necesito.

  • 0

#4 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 13 febrero 2011 - 07:29

La verdad es que trate de registrarme a BULKSMS y solo tienen un codigo de area de la Republica Dominicana el 829 y mi celular tiene el 809. Realmente en nuestro pais existen tres codigos de area  809,829,849. Ya les envie un email para que corrijan esto.

Me registre en la pagina del amigo jorgeu, pero no me han enviado el email de confirmacion y da un error con todos los email que pongo.

En el ultimo link que habia en el hilo que me indica domingo. Veo que el costo es de 0.054 por mensaje, lo cual a la tasa del euro me da 2.75 pesos dominicanos por mensaje. Lo cual es muy caro, ya que algunos mensajes me salen aqui a peso.

He pensado en la opcion de comprar algun modem gprs o gsm y ponerle un plan de datos al sim card.

Me gustaria tener algunas ideas de como enviar un sms utilizando un modem gsm o gprs. He visto algunas cosas de los componentes asyncpro o tapro. 


  • 0

#5 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 16 febrero 2011 - 04:18

Hola Luk, nosotros tambien nos propusimos poder enviar SMS desde delphi, y tambien miramos la opcion de contratarlo con una empresa como estas que te comentan, pero era caro y te tocaba a ti, como programador, comprar x mensajes por mes o año y luego ofrecerselo a tus clientes con un incremento, claro, pero no nos convencio.

Al final conseguimos hacer envios por sms de forma gratuita, al menos aqui en españa nos funciona a la perfeccion (enviamos pocos, igual enviando en plan masivo tengas algun problema).

El truco fue crear un cuenta de google calendar por usuario (que lo puedes automatizar usando las api de google desde delphi), y luego se dan de alta entradas en ese calendario con la opcion de avisar por sms. Si la cita la das de alta con la fecha actual, el envio es inmediato, pero tambien puedes programarlo para un dia concreto y esas cosas, claro.

El truco esta en mirarse las apis de google y usar las indy para hacer las llamadas a esas apis, y te permite conseguir muchas cosas del estilo: por ejemplo, nuestra aplicacion este en español, pero te permite al entrar elegir "English_EN" o "German_DE" o lo que quieras, y en ese caso, tira de google translator para rellenar una lista de frases español-ingles en tiempo real... y funciona muy bien!

Espero que como idea te sirva, pero empieza por comprobar si google clanedar permite enviar smsm en tu pais, no se is estara activo en todos.
  • 0

#6 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 16 febrero 2011 - 07:26

Que tal Sergio, interesante la solución que nos compartes, pero no todo puede ser color de rosa ¿cuales son los contra? que debe haberlos claro.


Saludos!
  • 0

#7 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 17 febrero 2011 - 04:34

No Felipe, no hay ningun problema ni tiene trampa alguna, funciona perfectamente y punto, solo necesitas tener creadas cuentas de calendar para cada usuario (y guardarte su cuenta y su clave en tu app, claro), y tirar de las APIs de google (con indy por ejemplo) y meter entradas con su fecha y su texto y con el aviso por SMS marcado, es cuestion solo de estudiarte las APIs y programarlo.

El "truco" realmente esta en que google es dueño de la mayor parte de la red de fibra optica de internet, y las compañias de moviles y de internet la usan, y para ello, llegan a acuerdos con google, y entre ellos esta el no cobrarles por los SMS enviados, ya que viajan por las redes de google, asi que a google darte acceso a esas apis no les cuesta dinero aunque envies muchos SMS.

Nuestro programa de gestion interno tiene un boton para enviarle un SMS a otro de la empresa, y funciona perfectamente, es inmediato si le pones la fecha y hora actual, no hay casi ni retardo.

Son ese tipo de "ideas felices" que cuando se te ocurren piensas... no puede ser tan simple, alguna pega tendra... idem. para el "truco" de traducir los captions de tus forms en el OnShow tirando de google translate, una idea simple pero que mira tu por donde, te traduce el programa a lo que quieras sin resources, ids de strings y todo ese follon.

Lo que desconozco es si te permitiran enviar 1000 SMS por una cuenta en el mismo dia, ese tipo de cosas no las se, pero para algun que otro SMS de vez en cuando te aseguro que va como la seda (y gratis) lo que te abre un negocio: Dale tu de alta la cuenta de calendar a tus clientes, que ellos no sepan la clave, y asi les puedes cobrar por SMS enviado a 1 centimo (todo son ganancias para ti, y mucho ahorro para ellos), te callas lo de calendar, y el recuento de sms enviados lo haces configurando las cuentas para que te notifiquen en un email tuyo cada sms que se envia o alguna cosa del estilo (bueno, el tema de la privacidad tendrias que estudiarlo y esas cosas, pero la idea es interesante).

Si lo haces y te pillan espiandoles, no digas que te lo propuse yo!
  • 0

#8 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 17 febrero 2011 - 08:09

:D :D, siendo así, el único inconveniente es que dicho servicio no esta disponible en mi pais :p
Igual hay que estudiar esa API (y)


Saludos!
  • 0

#9 fredycc

fredycc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 874 mensajes
  • LocationOaxaca, México

Escrito 17 febrero 2011 - 08:52

Hola Sergio, muy interesante cómo has aprovechado esta característica de las apis de google que no esaría nada mal intentarlo. Gracias por el dato.  :)

:D :D , siendo así, el único inconveniente es que dicho servicio no esta disponible en mi pais :p
Igual hay que estudiar esa API (y)


Saludos!


Has probado con algún programita/servidor proxy, con megaupload lo uso para tener descargas simultaneas free, podría funcionar al darte una ip de otro país. Solo es una idea, jejeje.


Saludos.
  • 0

#10 felipe

felipe

    Advanced Member

  • Administrador
  • 3.283 mensajes
  • LocationColombia

Escrito 17 febrero 2011 - 09:13

Has probado con algún programita/servidor proxy, con megaupload lo uso para tener descargas simultaneas free, podría funcionar al darte una ip de otro país. Solo es una idea, jejeje.


Saludos.


Podría, siempre y cuándo a quienes les fuera a enviar los mensajes estuvieran es paises con cobertura, el problema no es por restricción sino de disponibilidad :)


Saludos!
  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 17 febrero 2011 - 07:17

Gracias por sus respuestas.

Gracias sergio por el dato, voy a investigar la disponibilidad en nuestro pais. Se que google calendar me funcionaba de maravilla cuando estaba en USA y realmente en Republica Dominicana, no lo he probado.

Como la cantidad de SMS que quiero enviar no es masiva, serian unos cuantos cada dia, esta solucion seria muy buena.

gracias de nuevo y a probar.
  • 0

#12 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 18 febrero 2011 - 03:41

Si os atrancais en algo de las APIs y necesitais algun trocito de codigo, dadme un toque, todo no os lo envio en principio porque lo tenemos un poco "mezclado" con otras cosas de la aplicacion, pero el proceso es mas o menos copiable en una serie de 4 o 5 procedures, yo no hice esa parte de la programacion, asi que solo la he mirado por encima y la complicacion es la que imponen las APIs basicamente.

Respecto a que este o no disponible en cada pais, supongo que depende de que google tenga o no acuerdos con las operadoras de ese pais, pero no tengo mas informacion... eso si, si se hace a traves de un proxy en otro pais, deberia funcionaros, incluso mandando SMSs a telefonos de un pais sin acuerdo con google, igual que yo desde españa os puedo enviar un SMS por este sistema esteis donde esteis... aunque es una mala solucion, un proxy web de libre acceso es algo que, si lo encontrais, os durará muy poco y no es fiable nunca.
  • 0

#13 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 25 junio 2011 - 09:20

Sergio he estado probando el asunto de google calendar y en estos momentos esta disponible para republica dominicana.
Preguntaso:


Cuando creo un google calendar, si vas a porgramar el envio de sms, google te envia al celular un codigo de verificacion que luego debes entrar en la parte de configuracion para validar. Como haces esto sin que el propietario del celular se entere.


En mi caso no me importa si se entera, porque no pretendo cobrarle por el servicio, pero me gustaria saber como lo haces tu.


Quisiera que pusieras algunos ejemplo y algunos detalles de como utilizar estas api de google.


me parece que es algo como esto:



delphi
  1. GCalendars := TGCalendars.Create;
  2. GCalendars.Connect('[email]Email@gmail.com[/email]', 'Password');
  3. GCalendars.Load;
  4. for I := 0 to GCalendars.CalendarCount - 1 do
  5.   ListBox1.Items.Add(GCalendars.Calendars[i].Name);GCalendars.Free;  [/i]




y esto:




delphi
  1. [i]with GCalendars[0].NewEvent do
  2. begin
  3.   StartTime := EncodeDate(2008, 4, 20) + EncodeTime(10, 0, 0, 0);
  4.   EndTime := EncodeDate(2008, 4, 20) + EncodeTime(10, 30, 0, 0);
  5.   Title := 'Meeting John';
  6.   Store;
  7. end; [/i]

eso lo saque de unos componentes  que estan en esta pagina:

http://www.sync-comp...load_google.php


gracias por adelantado





  • 0

#14 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 25 junio 2011 - 10:48

tambien esta este blog  http://www.webdelphi...nachalo-raboty/
esta en ruso, pero pueden traducirlo con google.


aqui esta algo de la version en ingles:


Google  Celendar API in Delphi. Getting  Started.                Finally figured out your ISP and proved Desk that problems downloading Google because of their bugs in DNS. Now everything works as it should and you can safely get to work with the Google API.
Post decided to Google Celendar API for two reasons.
Firstly, because I often use this service as a reminder of upcoming events and meetings, as necessary to get a notification in the form of SMS (unfortunately, in such a chronometer function is not provided).
Secondly, I think in spare time to begin work on a new version of the chronometer, and his cross functional with the online service Google. I think it should turn out well. At this point in the hands already have a class that is used to log in to your account, so I started working with the target API.So, what can be done using Celendar API:
1. Get a list of calendars (all or only those owned by You)
2. Add new, edit or delete the calendar (Calendar can not be removed, according to the description of the API)
3. Add, remove or edit subscribers
4. Work with events in calendars
5. and much more
In general, bulk, and it works only with one of the available API Google for use in desktop applications.
The first thing is to take care of this case (if you plan to develop modules for multiple API) - is to provide a single class to handle requests. It could be a simpler way and take, say, Indy or Synapse as additional libraries and quietly pushed back and forth requests, analyze results, etc. But somehow it seems to me that this is not an option. Better, perhaps, to create a small class on the basis of WinInet to send requests that are required to work with the API and not dragging each time for a library to 1,5 Mb.
From that I started - by creating a class for handling requests. It should be noted that in the API Google used as a simple http-https-and protocols and requests are not limited to simple GET and POST. In the same Celendar API additionally used PUT and DELETE.
What are the functions of the WinInet we need them? In order to connect to the server, for example, download information, we need to consistently cause a number of functions:


1. InternetOpen - get the handle and use the following function


2. InternetConnect - create a connection to the server and get a handle to the connection for use in the following function


3. HttpOpenRequest - create a new query, again, getting a handle on this occasion HTTP-request, which is used in the function


4. HttpSendRequest - send a request using the handle HTTP-request and read data function InternetReadFile .


As you can see, in the simplest case, you have to use the five functions. It does not take into account that often (and in case of working with Google API - always) have to include a specific request headers, such as the API version, etc., using various parameters, read the response headers, etc. In this case, each time to write in a new function for sending / receiving data, to say may cause hemorrhoids and indigestion.

At the moment, class THTTPSender has the following description: 



delphi
  1. type
  2. THTTPSender =  class
  3. Private
  4.   FHeaders : TStringList ;
  5.   FAgent :  string ;
  6.   FMethod :  string ;
  7.   FProtocol :  string ;
  8.   FPort :  Integer ;  / / port
  9.   FDomain :  string ;    / / domain without HTTP
  10.   FParamStr :  string ;  / / all that stands in the address after / parameters except
  11.   FParameters :  string ;
  12.   procedure ParseURL ( var cURL : string ) ;
  13. Public
  14.   constructor Create ;
  15.   function SendRequest ( FURL : string ) : WideString ;
  16.   Property Headers : TStringList Read FHeaders write FHeaders ;
  17.   Property Agent :  string  Read FAgent write FAgent ;
  18.   Property Method :  string  Read FMethod write FMethod ;
  19.   Property Protocol : string  Read FProtocol write FProtocol ;
  20. end ;




While working with queries is as follows. For example, we need to get a list of calendars from your account. To do this, the request must specify two specific title:


GData-Version: 2
Header that indicates which version of the API we use.


Authorization: GoogleLogin auth = yourAuthToken
Title to access the calendars, where yourAuthToken - this option Auth, resulting in authorization using GoogleLogin.


Send requests and receive responses in a string: 





delphi
  1. with THTTPSender . Create  do
  2. begin
  3.   Method : = 'GET' ;
  4.   Headers . Add ( 'GData-Version: 2' ) ;
  5.   Headers . Add ( 'Authorization: GoogleLogin auth =' + FAccount . Auth ) ;
  6.   responseText : = SendRequest ( 'HTTP : / / [url=http://www.google.com]www.google.com[/url] / calendar / Feeds / default / allcalendars / full ' ) ;
  7. end ;
  8.  
  9.  
  10. -termina codigo delphi.
  11.  
  12.  
  13. SendRequest function works as follows:
  14.  
  15.  
  16. Analyze URL:
  17.  
  18.  
  19. -codigo delphi:
  20.  
  21.  
  22. procedure THTTPSender . ParseURL ( var cURL :  string ) ;
  23. var lencurl :  Cardinal ;
  24.     aURL :  string ;
  25.     aURLc : TURLComponents ;
  26. begin
  27.   lencurl : = INTERNET_MAX_URL_LENGTH ;
  28.   if  pos ( 'HTTP' , cURL ) < ; = 0  then
  29.   cURL : = 'HTTP: / / ' + cURL ;
  30.   SetLength ( aURL , lencurl ) ;
  31. / / URL kanonikaliziruem
  32.   InternetCanonicalizeUrl ( PChar ( cURL ) , PChar ( aURL ) , lencurl , ICU_BROWSER_MODE ) ;
  33. / / split the URL into its component parts
  34.   with aURLc do
  35.     begin
  36.       lpszscheme : =  nil ;
  37.       dwschemelength : = internet_max_scheme_length ;
  38.       lpszhostname : =  nil ;
  39.       dwhostnamelength : = internet_max_host_name_length ;
  40.       lpszusername : =  nil ;
  41.       dwusernamelength : = internet_max_user_name_length ;
  42.       lpszpassword : =  nil ;
  43.       dwpasswordlength : = internet_max_password_length ;
  44.       lpszurlpath : =  nil ;
  45.       dwurlpathlength : = internet_max_path_length ;
  46.       lpszextrainfo : =  nil ;
  47.       dwextrainfolength : = internet_max_path_length ;
  48.       dwstructsize : =  sizeof ( aurl ) ;
  49.   end ;
  50.   if InternetCrackUrl ( PChar ( aURL ) ,  Length ( aURL ) ,  0 , aURLC )  then
  51.     begin
  52.       if aURLc . lpszUrlPath = '/'  then
  53.         FDomain : = ReplaceStr ( aURLC . lpszHostName , '/' , '' )
  54.       else
  55.         begin
  56.           FDomain : = copy ( aURLC . lpszHostName , 1 , length ( aURLC . lpszHostName ) - length ( aURLC . lpszUrlPath ) ) ;
  57.         end ;
  58.   FPort : = aURLc . NPort ;
  59.   FParamStr : = aURLc . lpszUrlPath ;
  60.   FParameters : = aURLc . lpszExtraInfo ;
  61.   CASE aURLc . nScheme  of
  62.     INTERNET_SCHEME_DEFAULT : FProtocol : = 'HTTP' ;
  63.     INTERNET_SCHEME_FTP : FProtocol : = 'FTP' ;
  64.     INTERNET_SCHEME_HTTP : FProtocol : = 'HTTP' ;
  65.     INTERNET_SCHEME_HTTPS : FProtocol : = 'HTTPS' ;
  66.     INTERNET_SCHEME_FILE : FProtocol : = 'FILE' ;
  67.     INTERNET_SCHEME_MAILTO : FProtocol : = 'MAILTO' ;
  68.   end ;
  69. end
  70. else
  71.   MessageBox ( 0 ,  PChar ( 'Error WinInet #' + IntToStr ( GetLastError ) ) , 'Error' , MB_OK ) ;
  72. end ; 






All the data necessary to implement the query stored in the appropriate fields of the class. Continue to consistently perform the functions





delphi
  1. if FProtocol = 'HTTP'  then
  2.   hConnect : = InternetConnect ( hInet ,  PChar ( FDomain ) , INTERNET_DEFAULT_HTTP_PORT , 'Anonymous' ,  nil , INTERNET_SERVICE_HTTP ,  0 ,  0 )
  3. else
  4.   if FProtocol = 'HTTPS'  then
  5.     hConnect : = InternetConnect ( hInet ,  PChar ( FDomain ) , INTERNET_DEFAULT_HTTPS_PORT , 'Anonymous' ,  nil , INTERNET_SERVICE_HTTP ,  0 ,  0 )
  6.   else
  7.     / / destroy the handle and leave
  8.   if hConnect < ; > ; nil then
  9.     hRequest : = HttpOpenRequest ( hConnect , PChar ( FMethod ) , PChar ( FParamStr ) , nil , nil , nil , INTERNET_FLAG_PRAGMA_NOCACHE or INTERNET_FLAG_RELOAD , 0 )
  10.   else
  11.   / / destroy the handles and go out






Get a handle hRequest , needed to complete your request. Moreover, if the protocol is not HTTP and not HTTPS, then complete the work previously killed descriptors.


Next, we need to add in your request headers. To add to its request headers you can use the HttpAddRequestHeaders or specify their titles directly to the functions HttpSendRequest .


In the first case, the function HttpAddRequestHeaders must pass the following parameters: hConnect - handle obtained by calling HttpOpenRequest lpszHeaders -pointer to a string containing the headers for this header, each separated by a # 10 # 13 dwHeadersLength - total length of the header (in characters) dwModifiers - flags modifiers. Enough for us to use the flag HTTP_ADDREQ_FLAG_ADD .








Now what use is already known, probably everyone who has dealt with WinInet algorithm to read data:





delphi
  1. if HttpSendRequest ( hRequest , nil , 0 , PChar ( FParameters ) , length ( PChar ( FParameters ) ) ) then
  2. begin
  3.   SetLength ( Buff ,  1 ) ;
  4.   B : = false ;
  5.   I : = 1 ;
  6.   while  true  do
  7.     begin
  8.       DataAvailable ( hRequest , L ) ;
  9.       if L =  0  then  break ;
  10.       SetLength ( Buff , I + L ) ;
  11.       B : = InternetReadFile ( hRequest ,  @ Buff [ I ] , L , ReadedSize ) ;
  12.       if  NOT B then  break ;
  13.       inc ( I , ReadedSize ) ;
  14.     end ;
  15.   Buff [ I ]  : =  # 0 ;
  16.   if B then
  17.     begin
  18.     result : =  WideString ( Buff ) ;
  19.     end
  20.   else 
  21.     result : =  '' ;
  22. end ;






Until a class to work with a GET request to calendar Google. It seems to be visible stocks is not found. As elaborated in full - to lay out access.


Now, as for direct API. At this point the class to work with the calendars can quite a bit - to get access to your account and receive information on all calendars. It looks therefore very easy:





delphi
  1. type
  2.   TCelendar =  record
  3.     ID :  string ;
  4.     ETag : string ;
  5.     Author : string ;
  6.     Title :  string ;
  7.     Description :  string ;
  8.     timezone : string ;
  9.     Hidden : Boolean ;
  10.     Color : string ;
  11.     selected : Boolean ;
  12.     AccessLevel : string ;
  13.     WHERE : string ;
  14. end ;
  15.  
  16. type
  17. TCelendarList =  array  of TCelendar ;
  18.  
  19. type
  20.   TGoogleCalendar =  class
  21. Private
  22.   FAccount : TGoogleLogin ;
  23.   FCelendars : TCelendarList ;  / / the user's calendar
  24.   function GetCelendars : TCelendarList ;
  25. Public
  26.   constructor Create ( const Email , Password :  string ) ;
  27.   function Login :  Boolean ;
  28.   Property Account : TGoogleLogin Read FAccount write FAccount ;
  29.   Property Celendars : TCelendarList Read GetCelendars ;
  30. end ;
  31.  






Those who read the note about ClientLogin , understand easily what TGoogleLogin . In this function call returns the Login's just true or false , depending on the result of authorization and all information, including and Captcha (if its input is required) is stored safely in a field FAccount.


When reading the list of calendars is little analysis of the XML-document and fill the array TCelendarList. Now I will finish off the class to handle requests, and once his experience working with API Google.


Incidentally, the information may be requested for those who downloaded the module GoogleLogin. The module has a small herd - line 155 should be changed to
 





delphi
  1. if  pos ( 'AUTH' , UpperCase ( List [ I ] ) ) > ; 0  then












Esto es algo de lo que esta en el blog.
  • 0

#15 martinartaza

martinartaza

    Advanced Member

  • Miembros
  • PipPipPip
  • 159 mensajes
  • LocationArgentina, Tucuman

Escrito 07 julio 2011 - 12:08

Ehh, eso de la api de google está muy bueno, lastima que en mi país, Argentina; no este habilitado.

¿Por otro lado Luk, viste la 2 propuesta que puse para enviar SMS, enviando mail y por celular conectado a la pc?, aunque debo reconocer que está opción es la panacea si tu país lo tiene habilitado.
  • 0

#16 Bertifox

Bertifox

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes
  • LocationLa Serena-Chile

Escrito 16 abril 2014 - 01:35

Luk2009, estuve revisando el código  para el envío de sms, me gustaría saber si te funciono bien en tu implementación.
Saludos
  • 0

#17 diocles

diocles

    Member

  • Miembros
  • PipPip
  • 19 mensajes

Escrito 28 enero 2015 - 07:00

Hola, acabo de ver este tema y es lo que estoy buscando. Utilizo Delphi 7 y necesito enviar a un cliente un sms diciendole un texto no largo (max. 50 caracteres si acaso). Soy de España y se que esta disponible. Lo que no se es por donde empezar mni que compomentes debo de utilizar en delphi 7.

Gracias.
  • 0




IP.Board spam blocked by CleanTalk.