Bonsoir,
En fait, j'ai une application développée en pb sous windows qui fonctionne bien (en mono et en réseau internet). Mon client me demande si c'est possible d'utiliser son Phone Mobile pour consulter ses fichiers? Avez-vous une idée ? Est ce possible?
Merci
			
			
									
									Consultation des fichiers programmés en Pb sur Iphone
Consultation des fichiers programmés en Pb sur Iphone
Win7 (x64)
Pb 6.03 LTS
						Pb 6.03 LTS
Re: Consultation des fichiers programmés en Pb sur Iphone
Bonjour,
Ma solution est d'utiliser Spiderbasic. J'ai une application de caisse Spider pour iPad ( identique pour iPhone ) qui fonctionne avec des données clients enregistrés en ligne sur un serveurs Mysql. Spider ne permettant pas une connexion directe sur un serveur distant , je passe par une passerelle PHP. Le résultat est rapide et fiable , mon client l'utilise depuis plus d'un an.
Il m'est possible d'envoyer une trame. Je n'ai pas créé d'appli IOS car cela nécessite d'être développeur enregistré. Il suffit de créer un appli web avec icône.
			
			
									
									Ma solution est d'utiliser Spiderbasic. J'ai une application de caisse Spider pour iPad ( identique pour iPhone ) qui fonctionne avec des données clients enregistrés en ligne sur un serveurs Mysql. Spider ne permettant pas une connexion directe sur un serveur distant , je passe par une passerelle PHP. Le résultat est rapide et fiable , mon client l'utilise depuis plus d'un an.
Il m'est possible d'envoyer une trame. Je n'ai pas créé d'appli IOS car cela nécessite d'être développeur enregistré. Il suffit de créer un appli web avec icône.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
						IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: Consultation des fichiers programmés en Pb sur Iphone
Bonjour Blmd76, 
Et merci pour ces infos très utiles, moi qui ne connais rien sur SpiderBasic, j'aimerais si c'est possible voir un peu le code source de votre application pour avoir une idée générale sur l'utilisation du soft sur mobile.
Merci beaucoup d'avance
			
			
									
									Et merci pour ces infos très utiles, moi qui ne connais rien sur SpiderBasic, j'aimerais si c'est possible voir un peu le code source de votre application pour avoir une idée générale sur l'utilisation du soft sur mobile.
Merci beaucoup d'avance
Win7 (x64)
Pb 6.03 LTS
						Pb 6.03 LTS
- falsam
 - Messages : 7334
 - Inscription : dim. 22/août/2010 15:24
 - Localisation : IDF (Yvelines)
 - Contact :
 
Re: Consultation des fichiers programmés en Pb sur Iphone
Comment sont stocké tes données ?
			
			
									
									Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM 
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
						Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Re: Consultation des fichiers programmés en Pb sur Iphone
Bonjour
Quand on développe en Purebasic, l'utilisation de Spiderbasic est très accessible. Je vais extraire de mon code un exemple fonctionnel d'accès à une base mysql. Je vous fais ca dans la semaine.
Ma structure : hébergement PHP - Mysql
programme PHP qui fait la requête et sérialise la réponse. ( sécurisé)
Programme en spiderBasic donc WebApp
Le prog SpiderBasic interroge le PHP puis désieraliser la réponse
Je vais vous mettre ca à dispo avec un exemple en ligne.

			
			
									
									Quand on développe en Purebasic, l'utilisation de Spiderbasic est très accessible. Je vais extraire de mon code un exemple fonctionnel d'accès à une base mysql. Je vous fais ca dans la semaine.
Ma structure : hébergement PHP - Mysql
programme PHP qui fait la requête et sérialise la réponse. ( sécurisé)
Programme en spiderBasic donc WebApp
Le prog SpiderBasic interroge le PHP puis désieraliser la réponse
Je vais vous mettre ca à dispo avec un exemple en ligne.

_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
						IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
Re: Consultation des fichiers programmés en Pb sur Iphone
Bonjour,
Dans la présentation de ton problème, tu dis que les données sont accessibles en réseau. Je part du principe que tu utilises une base de donnée accessible de l'extérieur du restau genre Mysql ou autre. Si c'est une base sur un réseau local, tu dois l'ouvrir à internet.
Voici ma méthode pour lire ou écrire sur une base distante via une requête PHP avec PureBasic (poste info) et SpiderBasic (iOS)
Pour un affichage sur iOS, une solution PHP est possible mais le résultat avec SpiderBasic est plus efficace avec les gadgets, voir ci-dessous.
Programme en PureBasic. il est utilisable tel quel en utilisant ma requête de développement
La requête en PHP
Pour l'application IOS , solution en  SpiderBasic. Le code est tres similaire sauf l'appel de procedure. 
 
Pour  tester le code compilé : http://bmaillard.free.fr/test
Le code compilé doit-être placé sur le même domaine que la base de donnée.
			
			
									
									Dans la présentation de ton problème, tu dis que les données sont accessibles en réseau. Je part du principe que tu utilises une base de donnée accessible de l'extérieur du restau genre Mysql ou autre. Si c'est une base sur un réseau local, tu dois l'ouvrir à internet.
Voici ma méthode pour lire ou écrire sur une base distante via une requête PHP avec PureBasic (poste info) et SpiderBasic (iOS)
Pour un affichage sur iOS, une solution PHP est possible mais le résultat avec SpiderBasic est plus efficace avec les gadgets, voir ci-dessous.
Programme en PureBasic. il est utilisable tel quel en utilisant ma requête de développement
Code : Tout sélectionner
;
;
; Bertrand maillard
; Lecture d'une base de donnée Mysql via un scrrip PHP
; 
; 
Enumeration 100 
  #Main
  #scroll
EndEnumeration
#site = "http://bmaillard.free.fr/test/requete_temp.php?code=2498" ; site de test
; procedure de désérialisation de la réponse
Procedure.i SplitString(String.s, Delimiter.s, Array Output.s(1))
  Define n, i
  n = 1 + CountString(String, Delimiter)
  Dim Output.s(n - 1)
  For i = 0 To n-1
    Output(i) = Trim(StringField(String, 1+i, Delimiter))
  Next i
EndProcedure
Procedure LitBase()
  
  ScrollAreaGadget(#Scroll, 10, 50, 480, 400, 480, 1000 )
  
  ; éxécution de la requet PHP
  *Buffer = ReceiveHTTPMemory(#site)
  If *Buffer
    Taille = MemorySize(*Buffer)
    Page.s = PeekS(*Buffer, Taille, #PB_UTF8|#PB_ByteLength)
    FreeMemory(*Buffer)
    
    Dim Requete.s(0)
    
    SplitString(Page, "§", Requete())  ; separation des enregistrements
    
    Nbitem = ArraySize(Requete())-1
    Debug (nbitem)
    
    x = 10
    Y = 10
    
    For i = 1 To  Nbitem
      Dim champs.s(0)
      SplitString(Requete(i), "/", champs())  ; separation des champs
      TextGadget(#PB_Any, X, Y, 100, 30,"id:"+champs(0))
      TextGadget(#PB_Any, X+100, Y, 100, 30,champs(1))
      TextGadget(#PB_Any, X+200, Y, 100, 30,champs(2))
      TextGadget(#PB_Any, X+300, Y, 100, 30,champs(3)+"*")
      y = y +20
    Next
  EndIf
  CloseGadgetList()
EndProcedure
If  OpenWindow(#Main, 50, 30, 500, 500, "lecture base ",#PB_Window_SizeGadget  | #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget)
  litbase()
  
  Repeat
    Event = WaitWindowEvent()
    Gadget = EventGadget();
    Type_Event= EventType()
    
    Select EventWindow()  
        
      Case #Main
        Select event
          Case #PB_Event_CloseWindow  ; If the user has pressed on the close button       
            Quit = 1    
        EndSelect  
    EndSelect   
 
  Until Quit = 1
EndIfLa requête en PHP
Code : Tout sélectionner
<?php
header('Content-type: text/html; charset=UTF-8');
ini_set ( 'display_errors' , 1 ) ;
session_start();
error_reporting(1);
/*
echo '<pre>';
echo "post";
print_r($_POST);
echo "get";
print_r($_GET);
print_r($_SESSION);
echo '</pre>';
*/
if ($_GET[code] == "2498")   // une petite sécurite d'accès
include ("database.php");
$db = mysql_connect($dbhost, $dbuname, $dbpass)or die('Erreur de connexion '.mysql_error());
mysql_select_db($dbname,$db) or die('Erreur de connnexion '.mysql_error())
$sql = "SELECT  id, date, heure, temp FROM  temperature LIMIT    0, 30";
$req = mysql_query($sql) or die('<br />Erreur SQL 947!<br>'.$sql.'<br>'.mysql_error());
echo mysql_num_rows($req)."§";  //retourne le nombre d'enregistrement 
while($tab = mysql_fetch_object($req))
	{	echo $tab -> id; 
	    echo "/";
	    echo $tab -> date; 
	    echo "/";
		echo $tab -> heure; 
	    echo "/";
		echo $tab -> temp; 		
	    echo "§";
}
//echo "§";
?>
</body>
Code : Tout sélectionner
;
;
; Bertrand maillard
; Lecture d'une base de donnée Mysql via un scrrip PHP
; 
; 
Enumeration Gadget 
  #MAinWindow
  #Scroll
EndEnumeration
#site = "requete_temp.php?code=2498" ; site de test
Procedure.i SplitString(String.s, Delimiter.s, Array Output.s(1))
  Define n, i
  n = 1 + CountString(String, Delimiter)
  Dim Output.s(n - 1)
  For i = 0 To n-1
    Output(i) = Trim(StringField(String, 1+i, Delimiter))
  Next i
EndProcedure  
Procedure HttpGetBase(Success, Result.s, UserData)  ; retour de la requete info
  
  ScrollAreaGadget(#Scroll, 5, 5, 335, 485, 330, 1000 )
  
  Dim Requete.s(0)
  Dim Donnee.s(0)
  
  If Success
    SplitString(Result, "§", Requete())  ; separe par enregistrement
    
    Nbitem = ArraySize(Requete())-1
    Debug (nbitem)  
    
    x = 10
    Y = 10
    
        For i = 1 To  Nbitem
          Dim champs.s(0)
          SplitString(Requete(i), "/", champs())  ; separation des champs
          TextGadget(#PB_Any, X, Y, 100, 30,"id:"+champs(0))
          TextGadget(#PB_Any, X+100, Y, 100, 30,champs(1))
          TextGadget(#PB_Any, X+200, Y, 100, 30,champs(2))
          TextGadget(#PB_Any, X+300, Y, 100, 30,champs(3)+"*")
          y = y +20
        Next
    
  Else
    SetGadgetText(#PB_Any, "Erreur"+ result+ " "+ sql) 
  EndIf
 CloseGadgetList()
EndProcedure
Procedure GadgetEvents()
  gadget = EventGadget()
  type_Event = EventType() 
  
  ; traitement des gadget
EndProcedure
Procedure Start()
  If OpenWindow(#MainWindow, 10, 10, 350, 500, "Base " );, #PB_Window_Background) ; |
    
    BindEvent(#PB_Event_Gadget, @GadgetEvents())
    HTTPRequest(#PB_HTTP_Get, #site , "", @HttpGetBase())   ; appel de la procedure asynchrone
    
  EndIf
EndProcedure
start()Le code compilé doit-être placé sur le même domaine que la base de donnée.
_____________________________________________________________
IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS
						IMAC 21.5 2012 Core I5 - 2.70 Ghz. 16 GB NVIDIA GeForce GT 640M 512 Mo. MacOs OCPL Sonoma 14.3
MacBook Air M1 - 8Go - Sonoma 14.5
PureBasic 6.11 MacOS