FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF_dll - nouvelles versions
par Yannick Aujourd'hui à 23:30

» Synedit Parameters
par Yannick Aujourd'hui à 23:26

» Un bug avec USER_EVENT ?
par Yannick Aujourd'hui à 23:16

» Concours de Morpions
par Froggy One Aujourd'hui à 19:30

» Bienvenue à Irikte
par papydall Aujourd'hui à 16:59

» Comment changer le graphisme d’un menu
par Yannick Aujourd'hui à 14:53

» LIBRARY COMMAND FUNCTION
par Jean Claude Aujourd'hui à 13:38

» OBJECT_PARENT NE FONCTIONNE PLUS ?! (RESOLU)
par Jack Aujourd'hui à 12:40

» Menu personalisé avec icones et menu contextuel
par Yannick Aujourd'hui à 12:10

» Doublon - Désolé !
par Laurent (Minibug) Aujourd'hui à 11:55

» Mac OS X sierra
par Irikte Aujourd'hui à 10:01

» Recherche de traductions de mots (@Klaus).
par Pedro Alvarez Hier à 20:34

» Problème avec SendStringAsText.
par Pedro Alvarez Hier à 20:32

» Version instantanée V 0.9.28i10 du 24/06/2017
par Yannick Hier à 18:19

» Mais qui a le focus ?
par Jack Hier à 16:35

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juin 2017
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
2627282930  
CalendrierCalendrier

Partagez | 
 

 Défi avec panoramic.

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
pan59

avatar

Nombre de messages : 367
Age : 60
Localisation : Wattignies
Date d'inscription : 16/10/2011

MessageSujet: Défi avec panoramic.   Jeu 11 Juil 2013 - 10:27

Bonjour.

Je lance un véritable défi aux panoramiciens.

Voici un petit programme écrit en ThinBasic.

Le fichier, de 41.720 lignes, est lu dans son intégralité, 10 fois en 8 dixièmes de seconde !!

Qui peut faire mieux ?


Code:
Uses "fileline"
Uses "console"

Dim i%, n%  
Dim a As String

Dim t1, t2 As Double

t1 = Timer

For c As Integer=1 To 10
  
   ' 41.720 lignes
   n% = FileLine_Open("c:\perso\traducteur_panoramic\dico_français_espagnol.txt")

   While Not FileLine_IsEof(n%)    
  
         i% = FileLine_LineInput(n%, a)
  
         ' Console_WriteLine(a)            
 
   Wend

   FileLine_Close(n%)

Next  

t2=Timer

MsgBox(0, "Seconds:" & $TAB  & $TAB & Format$(t2 - t1, "#0.000"))
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5838
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Défi avec panoramic.   Jeu 11 Juil 2013 - 11:46

Je ne comprends pas bien ton défit. Il faut traduire le programme en Panoramic et faire en sorte que le fichier soit lu 10 fois le plus rapidement possible en le lisant ligne par ligne, c'est cela ?

En fait la syntaxe en Panoramic est très proche de celle de ThinBasic

Pour le chronomètre, à la place du T1 = Timer tu mets:

Code:

Label On
Dim Tps%
Tps%=0 : timer 1:timer_interval 1,10:on_timer 1,On

Tu dois aussi ajouter la procédure On

Code:

On:
  Tps%=Tps%+1
Return

Après la boucle, calcule et affiche les valeurs obtenues
Code:

  mn%=int(Tps%/3600)
  s%=int(Tps%/60)-(mn%*60)
  cs%=Tps% -((mn%*3600)+(s%*60))
  ' Affiche les valeurs à l'aide d'un message

Pour le fichier, tu sais faire mais bon je remets la syntaxe qui me parait correcte

Code:

dim a$,c%
For c%=1 To 10
  file_open_read 1,""c:\perso\traducteur_panoramic\dico_français_espagnol.txt""
  while file_eof(1) <> 1
    file_readln 1,a$:print a$
  end_while
  file_close 1
Next c%

Mais bon, ça sera sans doute plus long que 8 dixième de seconde. Je ne peux pas tester ici, mais le défit n'est pas trop compliqué après, je ne pense pas que l'on puisse faire grand chose de plus pour accélérer les choses.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Défi avec panoramic.   Mer 17 Juil 2013 - 22:57

Pour que la mesure soit comparable, il faut mettre la commande PRINT en commentaire, tel que c'est fait dans le programme ThinBasic. Car sinon, les milliers de PRINT mangent ENORMEMENT de temps !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html En ligne
Contenu sponsorisé




MessageSujet: Re: Défi avec panoramic.   

Revenir en haut Aller en bas
 
Défi avec panoramic.
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un exemple de gestion d'un sprite vaisseau avec panoramic
» Choix d'un répertoire
» Sub-menu is not menu avec Panoramic.exe
» envoyer un mail avec panoramic et blat
» Une base de données relationnelle avec Panoramic

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: