FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
Tests de KGF.dll Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
Tests de KGF.dll Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Tests de KGF.dll Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Tests de KGF.dll Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Tests de KGF.dll Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Tests de KGF.dll Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Tests de KGF.dll Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Tests de KGF.dll Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Tests de KGF.dll Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Tests de KGF.dll Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Tests de KGF.dll Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Tests de KGF.dll Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Tests de KGF.dll Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Tests de KGF.dll Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Tests de KGF.dll Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le Deal du moment : -25%
PC Portable Gamer 16,1” HP Victus 16 – 16 ...
Voir le deal
749.99 €

 

 Tests de KGF.dll

Aller en bas 
+5
Yannick
Nardo26
Jicehel
Klaus
jimx78
9 participants
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 1:16

Bonsoir klaus,

Je crée ce topic puisque mes prochains test serons ici. C'est le meilleur endroit pour éviter de crée plein de topic.

J'ai mon premier programme avec ta dll, cela se connecte à un ftp. Je l’améliorerai dimanche.

Il faut KGF.dll dans le même dossier

Code:

' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp
dim res%, server$, id$, pwd$ , port%
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
return

connexion_ftp:
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = text$(4)

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
goto tester_connexion_ftp
return

deconnexion_ftp:
res% = dll_call0("CloseFTP")
goto tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecter" : color 8,0,255,0
else
caption 8,"Déconnecter" : color 8,255,0,0
end_if
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 1:28

Bravo, tu as saisi le principe ! Ca marche.

Je te suggère d'éviter les GOTO et de les remplacer par des GOSUB ou des appels à des SUBs. Voici cette petite modif mineure, qui ne change rien au fonctionnement de ton programme:
Code:

' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp
dim res%, server$, id$, pwd$ , port%
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
' return  <====== ne sera jamais exécuté !

connexion_ftp:
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = text$(4)

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
return

deconnexion_ftp:
res% = dll_call0("CloseFTP")
gosub tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecter" : color 8,0,255,0
else
caption 8,"Déconnecter" : color 8,255,0,0
end_if
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 1:57

Effectivement, je sais pas pourquoi j'ai utiliser les goto au lieu de gosub^^

Voici ma V2 :
Code:
' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp
dim res%, server$, id$, pwd$ , port%
height 0,600 : width 0,340 : top 0,screen_y/5 : left 0,screen_x/3
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

memo 9 : width 9,300 : height 9,300: top 9,250 : left 9,10 : bar_vertical 9


text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
return

connexion_ftp:
clear 9
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = text$(4)

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
if res% = 1
res% = dll_call1("GetCurrentFolderFilesOnFTP",handle(9))
end_if
return

deconnexion_ftp:
clear 9
res% = dll_call0("CloseFTP")
gosub tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecter" : color 8,0,255,0
else
caption 8,"Déconnecter" : color 8,255,0,0
end_if
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 9:35

Très bien ! Ca progresse.

Tu pourrais inactiver les boutons pendant la phase de connexion pour éviter une fausse manipulation, et les réactiver à la fin, comme ceci:
Code:
connexion_ftp:
inactive 5 : inactive 6 : inactive 7
clear 9
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = text$(4)

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
if res% = 1
res% = dll_call1("GetCurrentFolderFilesOnFTP",handle(9))
end_if
active 5 : active 6 : active 7
return
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 9:41

J'ai une Question, pourquoi si je clique sur connexion, et apres une quand la connexion eT établit, si je clique sur deconexion,
Si j'appuie sur connexion j'ai panoramic qui plante systématiquement ? Pourtant j'attend 1 minute entre chaque commande au cas ou

Ou expliquer plus facilement :
Ceci me fait un bug a tout les coups :
1-Connexion
2-attendre la connexion
3-connecter appuyer sur deconexion
4-attendre pour etre sur de la deconexion
5-cliquer sur connexion

Il j'ai panoramic qui ne repond plus a chaque fois
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 12:10

Cela vient du fait que tu refais, à chaque connexion, l'identification du FTP. J"ai défini une variable first% pour ne le faire que la première fois, et il n'y a plus de problème:
Code:
' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp
dim res%, server$, id$, pwd$ , port%
dim first% : first% = 1
height 0,600 : width 0,340 : top 0,screen_y/5 : left 0,screen_x/3
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

memo 9 : width 9,300 : height 9,300: top 9,250 : left 9,10 : bar_vertical 9


text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
return

connexion_ftp:
inactive 5 : inactive 6 : inactive 7
clear 9
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = val(text$(4))

if first%=1
res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
first% = 0
end_if
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
if res% = 1
res% = dll_call1("GetCurrentFolderFilesOnFTP",handle(9))
end_if
active 5 : active 6 : active 7
return

deconnexion_ftp:
clear 9
res% = dll_call0("CloseFTP")
gosub tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecté" : color 8,0,255,0
else
caption 8,"Déconnecté" : color 8,255,0,0
end_if
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN

Ceci dit, ce que je viens de te donner, c'est juste un moyen de contourner le problème. Il s'agit bien d'un bug que je devrai corriger.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 12:49

C'est corrigé ! Télécharge la nouvelle version de KGF.dll, et ton programme initial marchera:
Code:
' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp
dim res%, server$, id$, pwd$ , port%
height 0,600 : width 0,340 : top 0,screen_y/5 : left 0,screen_x/3
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

memo 9 : width 9,300 : height 9,300: top 9,250 : left 9,10 : bar_vertical 9


text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
return

connexion_ftp:
inactive 5 : inactive 6 : inactive 7
clear 9
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = val(text$(4))

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
if res% = 1
res% = dll_call1("GetCurrentFolderFilesOnFTP",handle(9))
end_if
active 5 : active 6 : active 7
return

deconnexion_ftp:
clear 9
res% = dll_call0("CloseFTP")
gosub tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecté" : color 8,0,255,0
else
caption 8,"Déconnecté" : color 8,255,0,0
end_if
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 14:18

Trop rapide ce Klaus Wink
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 15:37

Merci klaus ! Quel rapidité !

J'ai découvert un nouveau bug. En Meme temps je les chercher ;D

Je me connecte au FTP
Une fois connecter, je coupe ma connexion internet de l'ordinateur,

Ensuite je clique sur tester la connexion, et la tout plante.

Le but est de simuler une perte de connexion d'Internet d'un joueur par exemple.

Je pense que le but de tester si on est connecter au FTP devrais mettre non si il n'y a pas internet ?
Ou de cree une fonction pour savoir si on a internet ?

Qu'en pense tu ?

Merci
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 15:46

En effet, c'est une remarque pertinente. Je vais approfondir la chose...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptySam 6 Juin 2015 - 15:52

Chez moi, ça se comporte "normalement"... Je me connecte, je débranche mon câble réseau, puis je fais "Tester connexion", et voici le résultat:
Tests de KGF.dll Aa111
Ensuite, on peut faire "Déconnexion" normalement. Je rebranche mon câble, puis "Connexion" et tout est normal.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyLun 8 Juin 2015 - 11:04

Salut !

J'ai fait des tests et l'on pas eu le Meme resultat.
Si je me connecte au ftp, et que je suis connecter, si je coupe la connexion internet de mon ordi, et que je clique sur tester la connexion juste apres, j'ai le programme panoramic.exe qui plante. Je pense qu'il dois y avoir un délais avant d'appuyer sur tester la connexion, pour eviter d'avoir une erreur?!

Pour le screen, Serait t'il possible d'éviter d'avoir ce message d'erreur en fenêtre ? On pourra afficher nous Meme le probleme avec le résultat de la variable qui sera res%=0 ou 1 reussi ou erreur ?
Cela permettra de ne pas avoir plein de message d'erreur et d'être au courent de la perte de connexion plus rapidement. (Sauf si cela fonctionne)

Autre chose, la documentation en ligne de KGF.dll contient une mauvaise traduction française pour la fonction UploadFileToFTP, c'est la description de l'ouverture de connexion FTP . Cela n'est pas grave du tout, c'est juste une petite modif de rien du tout ;D

Merci à toi, je continue ma découverte de KGF ce jour, ce ne sera pas mon seul message
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyLun 8 Juin 2015 - 12:05

Télécharge la nouvelle version. Les messages d'erreur du FTP ne s'affichent plus par défaut, mais il y a une nouvelle fonction SetFTPMode qui permet d'instruire KGF.dll de les afficher. La doc est à jour, et la petite anomalie que tu as signalée, est corrigée.

Par rapport au problème de liaison interrompue, j'ai fait une série de tests. Il n'y a aucun délai requis. Dès la coupure, "Tester la connexion" retourne "Déconnecté", mais il y a un petit temps de traitement, pour laisser la tentative de connexion aller à son timeout. Mais pas de plantage.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyLun 8 Juin 2015 - 12:24

A tout les coups j'ai cliquer trop vite sur les boutons et j'ai fait planter le programme tout seul. Je n'est pas laisser la dll finir son travail (time out)
Et j'ai eu le message panoramic ne repond pas, j'ai forcer l'arrêt, l'aurais peut etre du attendre^^ je test cela ce soir.


Merci c'est super sympas d'avoir rajouter une option pour le ftp ! Ca fait plaisir, je vais avoir un programme plus propre grâce à ca.

La prochaine étape c'est la conception de plusieurs prototipe sur les semaphore.

J'ai plusieurs idee, comme renomer le fichier avant qu'il sois utiliser par exemple.

Je trouve ça super intéressant. A bientot le premier jeux multijoueur en ligne en panoramic !
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyLun 8 Juin 2015 - 12:28

Smile Smile Smile
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyLun 8 Juin 2015 - 23:41

Salut klaus ;D

J'ai la V3 de FTP :

Clique ici pour le dossier zip

Ou juste le code :
Code:
' PROGRAMME PRINCIPALE##########################################################
label quitter_programme , connexion_ftp , deconnexion_ftp , tester_connexion_ftp , envoyer_ftp , recevoir_ftp
dim res%, server$, id$, pwd$ , port%
dim org$, dest$ , bin%
dim fic$
caption 0,"Serveur FTP" : height 0,600 : width 0,340*2 : top 0,screen_y/5 : left 0,screen_x/3
dll_on "KGF.dll"

' ##############################################################################
edit 1 : hint 1,"Serveur" : width 1,300 : top 1,10 : left 1,10
edit 2 : hint 2,"Utilisateur" : width 2,300 : top 2,40 : left 2,10

edit 3 : hint 3,"Mot de passe" : width 3,300 : top 3,70 : left 3,10
edit 4 : hint 4,"Numéro de port (21 si vide)" : width 4,300 : top 4,100 : left 4,10

button 5 : caption 5,"Connexion" : width 5,300 : top 5,130 : left 5,10 : on_click 5,connexion_ftp
button 6 : caption 6,"Déconnexion" : width 6,300 : top 6,160 : left 6,10 : on_click 6,deconnexion_ftp : inactive 6
button 7 : caption 7,"Tester la connexion" : width 7,300 : top 7,190 : left 7,10 : on_click 7,tester_connexion_ftp : inactive 7
Alpha 8  : caption 8,"Déconnecter" : top 8,220 : left 8,10 : color 8,255,0,0

memo 9 : width 9,300 : height 9,300: top 9,250 : left 9,10 : bar_vertical 9
inactive 9

text 1,"minecraft33.omgserv.com"
text 2,"11469_test"
text 3,"panoramic"

button 10 : caption 10,"Memo vers FTP + Clique forcer sur FTP vers memo" : width 10,300 : top 10,10 : left 10,330 : on_click 10,envoyer_ftp
memo 11 : width 11,300 : height 11,150: top 11,40 : left 11,330 : bar_vertical 11
hint 11,"Message à envoyer"

button 12 : caption 12,"FTP vers memo" : width 12,300 : top 12,250 : left 12,330 : on_click 12,recevoir_ftp
memo 13 : width 13,300 : height 13,150: top 13,280 : left 13,330 : bar_vertical 13
hint 13,"Message recu" : inactive 13

bin%=0

timer 14 : timer_interval 14,200 : on_timer 14,recevoir_ftp : timer_off 14
on_close 0,quitter_programme
end : ' PROGRAMME PRINCIPALE#################################################FIN
' SOUS PROGRAMME PRINCIPALE#####################################################

quitter_programme:
timer_off_all
res% = dll_call1("KillProcessByHandle",handle(0))
return

connexion_ftp:
inactive 5 : inactive 6 : inactive 7
clear 9
if len(text$(1)) > 0 then server$ = text$(1)
if len(text$(2)) > 0 then id$ = text$(2)
if len(text$(3)) > 0 then pwd$ = text$(3)
if len(text$(4)) > 0 then port% = text$(4)

res% = dll_call3("IdentifyMyFTP",adr(server$),adr(id$),adr(pwd$))
res% = dll_call1("OpenFTP",port%)
gosub tester_connexion_ftp
if res% = 1
res% = dll_call1("GetCurrentFolderFilesOnFTP",handle(9))
gosub recevoir_ftp
end_if
return

deconnexion_ftp:
res% = dll_call0("CloseFTP")
gosub tester_connexion_ftp
return

tester_connexion_ftp:
res% = dll_call0("IsFTPOnline")
if res% = 1
caption 8,"Connecter" : color 8,0,255,0
inactive 5 : active 6 : active 7
timer_on 14
else
caption 8,"Déconnecter" : color 8,255,0,0
inactive 6 : active 5 : active 7
timer_off 14
clear 9
end_if
return

envoyer_ftp:
if file_exists("data.txt")=1 then file_delete "data.txt"
file_save 11,"data.txt"
fic$ = "data.txt"
res% = dll_call2("UploadFileToFTP",adr(fic$),1)
goto recevoir_ftp
return

recevoir_ftp:
clear 13
if file_exists("datalocal.txt")=1 then file_delete "datalocal.txt"
org$ = "data.txt"
dest$ = "datalocal.txt"
res% = dll_call3("DownloadFileFromFTP",adr(org$),adr(dest$),bin%)
file_load 13,"datalocal.txt"
return

' SOUS PROGRAMME PRINCIPALE##################################################FIN

C'est du direct à 200 MS près pour le moment, c'est presque un premier msn ;D
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 0:04

Je l'ai fait marcher, et c'est nickel ! Je pense que tu es sur la bonne voie.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 7:14

Excellent
Revenir en haut Aller en bas
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 19:26

"J'ai mis un texte dans le mémo du haut, et j'ai cliqué sur le bouton juste au-dessus. Et le texte apparaît dans le mémo du bas - je suppose que c'est ce qui revient du FTP. C'est bien joué !"

C'est de klaus le message Question

Je dois vraiment développer mon chat ;D
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 19:36

C'est bien ça ! Au début, j'hésitais un peu. J'avoue que je n'avais pas regardé le code tout de suite - je l'avais simplement exécuté. Et au début, je n'avais pas bien compris l'utilisation des deux mémos et des deux boutons.

Une suggestion:
supprime de deuxième bouton (FTP vers mémo) - je n'en vois pas l'utilité. Et désactive le mémo 13, car il ne sert à rien de saisir du texte dans ce mémo. A part cela, ça marche parfaitement.

Ceci dit, pour un vrai chat, il reste des choses à faire... comme par exemple la prise en compte de deux messages successif du même émetteur. J'ai l'impression que pour le moment, seul le dernier est persistant, en remplaçant le précédent. Je t'avais posté deux messages, en fait...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 19:59

En faite j'ai hésiter à le partager, puisque le but été simplement de tester le ftp.

Seul un fichier a le contenus du mémo, c'est pas encore un msn
Mais la je commence la conception de mon programme de chat ce soir

Si tu a des idées, propose^^

-Pseudo et mot de passe (crypter le mot de passe)
-liste des personnes connecter
-message : NOM est en train d'écrire
-mettre un son à chaque message
-plusieurs channel de discutions
-possibilité de beeper une personne (wizz)
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMar 9 Juin 2015 - 23:50

Beau projet, jimx78 ! Et tu vas avoir un sacré problème de conception à résoudre !

En effet, en général, ce genre d'application est géré par un logiciel résidant sur un serveur, avec l'appui d'une base de donnée localisée sur le serveur. Et chaque utilisateur est un "client" du serveur, recevant des pages générées par le serveur (en général du PHP créant localement du HTML chez le client). Et ainsi, les problèmes de gestion des données, de synchronisation etc sont résolues par le logiciel du serveur qui est le "maître" et qui attribue des ressources aux clients.

Or, dans ton cas, il faudra concevoir une application uniquement "client" qui gère l'ensemble des fonctionnalités, avec les verrouillages impératifs sous forme de sémaphores, tout en veillant à l'ensemble des demandes et messages en cours de la part de tous les clients.

C'est un problème de conception au départ, qui doit être bien pensé et rigoureusement défini. Ensuite, c'est de la technique de programmation. Mais comme je l'ai dit, la vrai difficulté est au niveau de la conception, de l'analyse de la résolution des problèmes de simultanéité des transactions, à transformer en opérations sérialisées.

Bonne chance ! Je suivrai cela avec grand intérêt !

EDIT

Quelques réflexions au sujet du chat:
- il serait intéressant que le mémo du bas soit remplacé par un objet list (qui du coup est automatiquement non modifiable)
- chaque "client" aurait son propre fichier sur le FTP, dans lequel il dépose son message
- sur le FTP, il y aurait un fichier "trace" contenant la fusion, chronologique, de tous mes messages. Chaque client ajoute donc son message à la fin de cette liste, en mettant son pseudo, la date et l'heure devant la première ligne du message
- chaque client recharge automatiquement cette liste fusionnée pour l'afficher dans l'objet list remplaçant le mémo du bas

Et encore une autre remarque: ce genre de synchronisations et gestion de données est sur le principe identique à ce que tu devras faire pour un jeu en réseau: sérialiser les actions dans un fichier "trace" et reproduire sur le terrain de jeu de chaque client les actions décrites dans la "trace". Il n'y a pas de différence de principe !
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


Nombre de messages : 2294
Age : 56
Localisation : Valence
Date d'inscription : 02/07/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMer 10 Juin 2015 - 10:23

Bonjour jimx78,

Sacré challenge, car essayer de faire du partage de ressource via ftp...
Je ne vois pas comment tu vas bien pouvoir faire le verrouillage (même avec des sémaphores : normalement, c'est le serveur et uniquement lui, qui doit gérer le partage)

Sinon, j'ai un message d'erreur lors du lancement de ton programme -> ligne 98 : "impossible to load the file"

Lors du 1er lancement, j'ai eu droit à un gros plantage.
Après téléchargement de la derniere dll de Klaus, plus de plantage.
-> Je te conseille de tester la version de KGF en début de ton programme.

De même: essaye de définir un répertoire temporaire de tes fichiers (pour éviter de pourrir le disque dur avec des data(local).txt
Surtout que le répertoire par défaut lors du lancement de Panoramic est assez folklorique. Tests de KGF.dll 06.

Voila, bonne chance dans ton projet ! Tests de KGF.dll 01
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMer 10 Juin 2015 - 11:53

Tuto sur les sémaphores

La gestion des sémaphores, c'est autant un problème qu'une solution. La notion de sémaphore décrit une technique de programmation plutôt qu'un élément concret, comme une variable ou un objet.

Ici, le contexte imposé est un site internet accessible par FTP, ce qui se traduit par un répertoire "virtuel" localisé sur un serveur distant. Ce répertoire est accessible simultanément par un nombre non limité de clients. Je dis "simultanément", mais la vraie simultanéité en informatique n'existe pas. Au final, tout revient à une sérialisation via une des multiples techniques de gestion de file d'attente. Ceci est fait par le serveur, et parfaitement transparent pour le client qui a l'impression d'avoir un accès unique, exclusif et immédiat au dossier FTP.

Etant donné qu'on ne peut pas influencer le serveur, tout le problème revient à définir un mécanisme sûr pour réserver tout ou partie du contenu du dossier FTP, pour un client donné. Il ne sert à rien de tester l'existence d'un fichier et d'agir selon son existence ou absence, car entre le test et ne serait-ce que le début de l'action, un autre client peut avoir effectué le même test et croire avoir les mêmes droits d'accès. Il faut trouver un mécanisme qui en une seule action, donne le droit ou non d'effectuer certaines tâches.

Et c'est là que la technique des sémaphores intervient. Dans le cas le plus simple (le plus brutal, le plus bloquant), on va définir un sémaphore qui donne un droit d'accès total et exclusif, à l'ensemble du FTP. Et tant que le sémaphore n'est pas libéré, aucun autre client n'a le droit d'accès.

Je propose d'utiliser la présence d'un fichier spécifique comme sémaphore. Ce fichier, pour les besoins de ce tuto, un fichier nommé FTP_disponible.txt. Peu importe son contenu, il peut même être vide. Seul compte son nom. Donc, au départ, dans le dossier FTP, un fichier nommé FTP_disponible.txt doit exister.

Maintenant, si un client veut utiliser le FTP, il faut qu'il en fasse la demande, et ne peut procéder à ses travaux que si la demande est acceptée. Et il fait la demande en renommant le fichier sémaphore vers un autre nom, par exemple FTP_pris_par_xxx.txt, avec xxx étant le pseudo du client. Ainsi, à chaque instant, on pourra voir qui est en train d'agir sur le FTP. Si le renommage réussit, ceci veut dire que le fichier FTP_disponible.txt existait et que le FTP est maintenant réservé pour ce client. Si le renommage échoue, ceci veut dire que le fichier FTP_disponible.txt n'existait pas, et que donc le FTP est occupé par un autre client. Conséquence: petite attente à programmer, avant de relancer la demande.

Lorsqu'un client a fini son travail avec le FTP, il finit par renommer FTP_pris_par_xxx.txt en FTP_disponible.txt, ce qui immédiatement libère le FTP pour d'autres clients.

Seul problème: si un client ayant réservé le FTP se "plante", le FTP est définitivement bloqué. Il faut donc réaliser un programme spécial "maître" qui peut libérer le FTP en renommant le fichier FTP_pris_par_xxx.txt en FTP_disponible.txt.

Voilà pour le principe. Techniquement simple, cette solution permet d'utiliser un FTP en partage simultané. Bien sûr, on peut étendre cette technique à plusieurs sémaphores:
FTP_disponible.txt - accès total exlusif
FTP_section_1_disponible.txt - accès à un certain sous-ensemble des fichiers
...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jimx78

jimx78


Nombre de messages : 241
Age : 33
Localisation : Yvelines
Date d'inscription : 24/05/2010

Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll EmptyMer 10 Juin 2015 - 13:17

Salut Nardo26 et klaus,

Au plus rapide des deux :
Comment tester la version de KGF dans panoramic, si je sais c'est quel version une condition if version_KGF < 1.0 then message "telecharge la derniere version de KGF"

@ tous:
Comment changer le répertoire courent de panoramic dans son dossier racine ?
Dir_change "" ne fonctionne pas dans mon cas.

@nardo26 ou klaus
Comment ferait tu un répertoire ou fichier temporaire et comment le supprimer apres utilisation, ou redemarage de l'ordi ?

@klaus
Le probleme que tu évoque à propot de si le programme plante et ne libère pas la place, j'ai une solution tres simple, il suffit de tester la connexion de celuis qui à reserver le fichier toutes les 5 secondes par exemple, si celui qui a reserver le fichizr n'a pas de signe de vie depuis > a 5 secondes par exemple, on peux remettre le fichier en disponible.

J'ai fait des tests et pour le moment j'ai pas reussi a faire crache le ftp sans semaphore.
Dans quel cas il y a un refus svp ?
Si un programme enregistre dans un fichizr ftp alors qu'un autre veux le copier en Meme temps par exemple ?
Car la façons qu'est programmer mon ftp, il ne lis jamais le contenue du fichier, il essai juste de le coller en local pour enfin l'ouvrir...
J'ai jamais le cas d'avoir 2 fichier en local qui sont utiliser en ecriture et en lecture par exemple.

Au pire des cas, je peux passer par un logiciel serveur, mais le problème c'est que la transmission des données est plus long.
Panoramic>FTP>Panoramic_serveur>FTP>retour panoramic
C'est plus long que
Panoramic > FTP > retour panoramic

Pour klaus enfin : pour pouvoir différencier plusieurs programme panoramic sur le FTP j'ai pluSieurs solutions :
1- cree un nombre aleatoire, si il existe deja, prend en un autre, ce sera un numéro provisoir / connexion
2- par system de compte : nom d'utilisateur unique enregistrer avec mot de passe
3- avec l'ip de l'ordinateur mais le logiciel ce lancera qu'une fois par ordi et c'est propore comme technique
4- proposez Very Happy
Revenir en haut Aller en bas
Contenu sponsorisé





Tests de KGF.dll Empty
MessageSujet: Re: Tests de KGF.dll   Tests de KGF.dll Empty

Revenir en haut Aller en bas
 
Tests de KGF.dll
Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» Simplifier mes tests
» Besoin de tests
» Mes tests avec le compilateur.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: