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
» Gestion d'un système client-serveur.
Mon avis... Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Mon avis... Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Mon avis... Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Mon avis... Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Mon avis... Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Mon avis... Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Mon avis... Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Mon avis... Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Mon avis... Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Mon avis... Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Mon avis... Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Mon avis... Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Mon avis... Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Mon avis... Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Mon avis... Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
ETB Pokémon Fable Nébuleuse : où ...
Voir le deal

 

 Mon avis...

Aller en bas 
3 participants
AuteurMessage
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Mon avis... Empty
MessageSujet: Mon avis...   Mon avis... EmptyJeu 13 Déc 2007 - 18:26

Je suis un ancien programmeur en assembleur et langage proche de l'assembleur sur machines Bull (comme le temps passe).
Puis Basics, assembleur Z80 et QBasic sur machine personnelle. Depuis j'ai vaguement essayé Pascal, VB, C, mais je n'ai jamais accroché et je suis resté au QBasic (ou QuickBasic pour générer des exécutables) qui me convient parfaitement pour mes applications personnelles. D'autant plus que la vitesse des machines ayant progressé d'une manière vertigineuse, un programme "interprété" se déroule maintenant à la vitesse (et même bien plus) d'un programme en assembleur autrefois.
Au fil des années je me suis écrit un certain nombre de programmes utilitaires, et je ne me prive pas d'appeler des programmes externes (commande SHELL) EXE ou BAT, du moins ceux que l'on peut appeler en ligne de commande (par exemple IrfanView, gratuit, pour les traitements sur images).
Inconvénient, surtout depuis Windows: ce n'est pas très graphique, on peut simuler mais la définition VGA 16 couleurs n'est pas très séduisante.
Alors j'ai trouvé le Panoramic assez séduisant, très simple d'abord et avec des résultats visuels qui n'ont rien à voir avec le Basic.
Du coup j'essaie quelques programmes simples pour commencer. Il y a tout un tas de fonctions dont je ne me servirai sans doute jamais, personnellement (fonctions 3D ou Excel par exemple), mais il y a des fonctions QBasic manquantes que j'ai pris l'habitude d'utiliser, et dont je ne sais pas comment me passer, par exemple (liste non exhaustive):

Boucles: DO...[EXIT DO]...LOOP, SELECT CASE...END SELECT, et sorties volontaires de FOR...NEXT (EXIT FOR).
Fichiers: LOF() taille fichier, EOF() fin de fichier, GET/PUT/SEEK accès en mode binaire aux fichiers.
Chaînes: INSTR, LTRIM$/RTRIM$, HEX$, + toutes les fonctions de conversion variable numérique/chaîne et inverses.
Conditions: ELSE dans IF...THEN...END IF
Erreurs: récupération éventuelle d'erreurs ON ERROR GOTO/RESUME/ERL/ERR/ERROR
Divers: CINT, CSRLIN, DEFINT..., MOD, RND/RANDOM, SWAP, TIMER
Imprimante: LPRINT (celui de Basic ne sait pas sortir sur une imprimante usb, j'utilise un SHELL sur un programme externe).
Possibilité de reprendre le déroulement après une instruction STOP (mise au point).
Définition de SUBs et/ou de FUNCTIONs avec paramètres.

Tout cela n'est pas forcément faisable, ni forcément souhaitable d'ailleurs.
Voilà mes premières réflexions après un minimum de tests de programmation.
Revenir en haut Aller en bas
Odyssée FANOU

Odyssée FANOU


Nombre de messages : 12
Age : 48
Localisation : Heu...DTC ?, oui, bon ok: j'connais la sortie
Date d'inscription : 14/04/2008

Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... EmptyLun 14 Avr 2008 - 2:30

Bonjour à tous ! Wink
Perso, ca faisait un baille que j'avais pas touché un code en basic (j'ai arreté en 95 avec mon atari ST...et depuis, je suis devenu un utilisateur, un trés bete utilisateur car tout ce que je voulais programmer existait), le monde de la programmation a beaucoup changé par rapport à ce que je connaissais...
Quand je vois les instructions et leurs facilité de mise en oeuvre, je me dit "bon allez, cette fois ci, tu y va: c'est ça ou le C++/C# qui te donne l'urticaire...et ne rouspete pas !!" lol!
Mais je vais m'y remettre, j'ai un petit projet de recyclage d'une carte mere+OS en petit "serveur à presque tout faire" (domotique, gestion environnementale d'une maison/appartement et systeme d'alarme).
Je ne sais pas comment ce sera pris par le (genial) créateur de cet IDE, mais il manque quelques instructions/possibilités dans les versions actuelles gratuites (sans vouloir abuser Embarassed ):
-La gestion de l'aquisition video via les fonctionnalités BDA (tnt) ou autre (pour l'analogique) avec des instruction pour le choix du codec à utiliser et les parametres associés.
- Si il y a un moteur 3D homemade, une petite gestion physique "sommere"
- J'ai vue qu'il y a gestion des I/O (serie, parralele)...serait il possible d'ajouter la gestion de l'usb (envoie de codes à des peripheriques sans utiliser les pilotes de ces derniers...faut m'excuser, je ne sais pas trés bien le dire) , des afficheurs LCD ( alphanumeriques dans un premier temps car ce sont les plus connus), du protocole i2c et SPI via le port parralele ( c'est mon coté electronicien amateur qui parle Wink ) ?
-Gestion des telecommandes de type RC5 (thomson/brandt/phillips...pour la robotique, domotique etc) et les telecommandes remotewonder (spec de gestion librement dispo apparement chez ATI..heu pardon AMD).
- Gestion Twain pour les scanners/webcam avec une instruction du genre: TWAIN_DEVICE(N)=peripherique et GET_TWAIN(N), parametres par exemple.
- Gestion du reseau (à moins que ce ne soit deja fait Embarassed )
- Interfaçage de PANORAMIC avec CDRDAO (graver des CD/DVD) ou avec l'outil de gravure dispo dans le ressourcekit de windows 2003 (freeware) pour proposer des fonctions de gravure avec open, write et meme de nouvelles instructions du genre MAKEISO parametre1,parametre2, etc ou meme BURNISO parametre1,parametre2,etc
- Gestion des joypad analogiques ou non (meme si on peut utiliser joy2key pour palier ce manque).

Merci pour ce super outil de dévellopement !

PS: une (énorme) todo list serait bien Wink
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... EmptyLun 14 Avr 2008 - 21:08

Eh bien en voila des suggestions!
J'en prends bonne note.
Pour l'USB, l'interface TWAIN, le joypad, j'ai commencé à coder des choses (étude de faisabilité). Des commandes viendront en leur temps.
Pour le reste, je vais me documenter...

Merci de proposer des améliorations.

Ma "to do list" est très longue. J'ai une rubrique sur ce forum pour présenter ce qui est en train de se faire. je vais réfléchir à la présentation des choses à faire.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Odyssée FANOU

Odyssée FANOU


Nombre de messages : 12
Age : 48
Localisation : Heu...DTC ?, oui, bon ok: j'connais la sortie
Date d'inscription : 14/04/2008

Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... EmptyMar 15 Avr 2008 - 11:21

panoramic a écrit:
Eh bien en voila des suggestions!
J'en prends bonne note.
Pour l'USB, l'interface TWAIN, le joypad, j'ai commencé à coder des choses (étude de faisabilité). Des commandes viendront en leur temps.
Pour le reste, je vais me documenter...

Merci de proposer des améliorations.

Ma "to do list" est très longue. J'ai une rubrique sur ce forum pour présenter ce qui est en train de se faire. je vais réfléchir à la présentation des choses à faire.

cheers Cool

J'avais, il fut un temps, mis noir sur blnc sur une feuille (j'ai du la jetter par mégarde) toutes les instructions ou syntaxes qui auraient pu faire un excellent language...faut vraiment que je la refasse, quand j'aurais fini, je posterais d'autres suggestions Wink
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... EmptyMar 15 Avr 2008 - 11:40

Avoir une liste d'instructions et des conseils de syntaxe, afin de produire un langage simple, efficace et cohérent, cela m'intéresse au plus haut point!
Je suis preneur et impatient d'avoir une telle liste.
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Odyssée FANOU

Odyssée FANOU


Nombre de messages : 12
Age : 48
Localisation : Heu...DTC ?, oui, bon ok: j'connais la sortie
Date d'inscription : 14/04/2008

Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... EmptyMar 15 Avr 2008 - 18:33

SUGGESTIONS D'INSTRUCTIONS PANORAMIC BASIC:
C'est une liste reconstituée de mémoire d'aprés mes anciennes notes. A retravailler / completer si besoin...
j'essaie de me calquer sur la notice utilisateur ( Surtout pour la dénomination N )


MULTIMEDIA:

avance rapide fichier son/video/cdda:
FWD N, step%
retour rapide fichier son/video:
RWD N, step%
pause video/son/cdda:
PAUSE N
lecture cdaudio:
PLAY_CDDA N, numerique_analogique ---> lit le CDaudio sur le peripherique optique N en numerique (joué par direct sound)si =1 ou analogique (sortie son du lecteur à relier à la carte son pour entendre la musique) si=0.
GET_CDDA_STATUS N, status%, track_number%, time% --> retourne status%=1 (playing) , status%=0 (stop) , status%=2 (pause), numero de piste et temps depuis le début de la piste
GET_CDDA_INFO N, info_total_cd_lenght%,info_number_of_tracks% --> retourne les infos du cdaudio durée totale et nombre de pistes.
GET_CDDA_TRKNFO N, track_number%(x), lenght_of_track% --> retourne la durée d'une piste.
CDDA_NEXT_TRACK N --> passe à la piste suivante.
CDDA_PREV_TRACK N --> passe à la piste precedente.
Reglages volume:
VOLUME N = var% ---> regle le volume d'un objet sonore N.
VOLUME lecture_enregistrement%, input%, var%, balance% --> regle le volume en lecture ou enregistrement (0 ou 1) d'un controle (valeur input%) avec la valeur var% et regle la balance (balance%). ex: VOLUME 0, 2, 8192, 128 regle le controle de volume en lecture, sortie WAVE (2), volume à mi-course (8192) et balance au milieu (128).
SET_REC_PIN = peripherique_son%, input% --> affecte l'entrée du peripherique sonore specifié en enregistrement.
SET_MICBOOST = on_off% (1 ou 0) --> ampli micro activé ou non.
Aquisition audio:
GET_WAV N, numero_peripherique_son%, nom_fichier$ ou variable%, input%, freq, bits, mono_stereo, duree%,parametres_divers...(si durée%=0 alors enregistrement stoppé par instruction "GET_WAV N STOP", de plus variable% est un tableau qui contient le son. l'utilisation de variables serait envisageable pour des courts enregistrements)
GET_WAV N STOP --> stoppe enregistrement si valeur duree%=0
En utilisant des biblioteques de synthese vocale (il en existe en GPL):
VOICE N numero_peripherique_son%, biblio_dll$, gender%, language%, speed%, text_to_speech$ ---> utilise la biblioteque de synthese vocal biblio_dll$, avec une voix d'homme ou femme ( gender% à 0 ou 1), avec la langue language%, à la vitesse speed%. le texte à prononcer est dans text_to_speech$.
Additif à la fonction "MOVIE" (si le moteur de rendu de la cette fonction le permet):
SET_FRM_ADJ N = lumiere%, contraste%, gama%, saturation%, teinte% --> regle l'image d'un objet video N
SET_MOVIE_ENGINE = executable_moteur_lecture_video$ ( ex: SET_MOVIE_ENGINE = c:\mplayer.exe )
Aquisition video:
GET_VIDEO N, numero_peripherique_video%, nom_fichier, input%, taille_x, taille_y, codec%, duree%, parametres_divers...
GET_VIDEO N STOP --> stoppe enregistrement video
Aquisition image sur peripherique N ( carte d'aquisition):
GET_FRAME N, variable$, parametre1,parametre2,etc (variable$ est un tableau qui contient l'image)
Aquisition scanner/webcam:
GET_TWAIN N,parametre1,parametre2,etc
rotation sprites (avec choix des coordonnées comme axe):
SPRITE_ROTATION N, angle, coord_axe_x, coord_axe_y
rotation image (avec choix des coordonnées comme axe):
PICTURE_ROTATION N, angle, coord_axe_x, coord_axe_y
scroller une image plus grande que l'écran ( Ahhh, la nostalgie atarienne !!):
SCROLL_PICTURE N, coord_cadre_x, coord_cadre_y, taille_cadre_x, taille_cadre_y, deplacement_x, deplacement_y
zoom :
ZOOM_PICTURE N, coord_x, coord_y, taille_cadre_x, taille_cadre_y, ancien_facteur, nouveau_facteur, progressif (0/1).
Instruction effectuant un zoom sur une coordonnée x et y dans un cadre de taille x et y avec un facteur de base (>0) jusqu'à un nouveau facteur. La valeur "progressif" sert pour animer la sequence de zoom. si ce parametre est à zero, l'image est directement zoomée à son facteur final (nouveau_facteur)

moteur3D:
Pour ce qui est du moteur 3D...pourquoi ne pas prendre contact avec des demomakers francais...par essence, les démomakers sont des optimiseurs de codes à l'extreme, les maitres de l'openGL/DIRECTX, je ne pense pas qu'ils refuseront car les moteurs des autres basic sont extremement lourds et trés mal pensés (personne ne me contredira Twisted Evil ) ou à défaut, lorgner du coté des moteurs libres, qui sont pas mal non plus (d'aprés temoignages).
SET_3D_ENGINE N = {3D_engine_class%}, parametres% --> choix du moteur 3d pour la scene N + parametres



ENTREES/SORTIES:

Telecommande:

Aquisition de signaux telecommande RC5 ( via module IRDA du commerce ou via un module connecté au port serie dont la realisation est dispo partout sur internet):
GET_RC5, variable%
Emission signaux de telecommande RC5:
PUT_RC5, variable%

Afficheur LCD:

Pour l'instant, se baser sur model courant (à savoir, le trés connu HD44780 )
SET_LCD_TYPE= nbre_de_lignes, nbre_de_caracteres, serie_ou_parallele (0 ou 1), backlight_possible (0 ou 1) --> choix du type de LCD
SET_LCD_PORT= adresse_port_paralelle_ou_serie --> port parralele ou serie sur lequel est connecté le LCD
SET_LCD_MODE= mode_4_ou_8_bits --> commande en 4 ou 8 bits
SET_LCD_PINS= pin_port_paralelle, pin_lcd (ex: SET_LCD_PINS= STROBE,E) --> correspondance entre broche port parallel et broches afficheur LCD (si utilisation du port parralel)

Instructions d'affichage:
LCD_CLS --> efface l'ecran lcd
LCD_PRINT --> affiche chaine de caractere
LCD_LOCATE col, line place le curseur à la colonne et ligne choisie
LCD_DEFINE N,val1%,val2%,val3%,val4%,val5%, variable%$ (definit un nouveau caractere et le memorise dans variable%$)

Instructions I2C:
definition des broches du port // et leur role:
exemple:
SET_LPT_PIN_D0=SDA (la broche D0 du port imprimante sera relié à la broche "Serial Data" du composant en question)
SET_LPT_PIN_D1=SCL
SET_LPT_PIN_D2=INT
etc...

Envoie I2C:
I2C_OUT adr%,data%
reception I2C:
I2C_IN adr%,data%

instructions SPI:
definition des broches du port // et leur role:
exemple:
SET_LPT_PIN_BUSY=DI (la broche BUSY du port imprimante sera relié à la broche "Data In" du composant en question)
SET_LPT_PIN_STROBE=DO
SET_LPT_PIN_D0=CLK
SET_LPT_PIN_D1=CS
etc...
complement bus parralel:
gestion de boutons poussoirs en matrice (purement pour les electroniciens):
SET_PARALLEL_MATRIX N, row%, col% ---> place le port parralel N en mode "matrice". Row% définit les lignes de touches (ex:row%=11110000 pour 4 lignes) et col% definit les colonnes de touches (ex:col%=00001111 pour 4 lignes). row et col sont les poids fort et poids faible du bus de données du port parallel.
PARALLEL_MATRIX N, button% ---> Cette instruction place le port parralel en structation et met le resultat dans button% (il existe un moyen de déclencher un evenement lors de l'appuie sur ces fameux boutons au lieu d'utiliser la scrutation, mais ça fait appel à un montage à base de diode que je n'ai pas en tete et je ne peux pas m'apesentir sur le sujet car on sortirais du theme du topic mais avec la gestion des evenement, l'instruction pourrait etre du genre ON EVENT_MATRIX N=var%...)

port serie (si deja fait, ne pas en tenir compte):
SERIAL_USED N--> pour initialiser l'utilisation du port série à l'adresse N.
SET_SERIAL N, speed%, parametres_de_controle% --> regle le port N avec les specifications de controle et de vitesse adequat
SERIAL_OUT N,Var$ pour envoyer la valeur Var$ sur le port d'adresse N.
Var$=SERIAL_INP(N) pour lire la valeur Var$ sur le port d'adresse N,
SERIAL_RELEASED N --> pour terminer l'utilisation du port série à l'adresse N

FILESYSTEM:
FORMAT N, parametres
gravure cd avec l'aide de CDRDAO / outils du ressource kit windows 2003:
OPEN N, write%(à 1), nom_fichier, parametres_divers... --> écrire un fichier sur l'unité numero N. Avec les DVDRAM, on se sert des instructions classiques d'ouverture/creation de fichiers, étant donné que ce support est considéré comme un disque dur.
ERASE N, mode% (0=fast,1=full) ---> effacer un CD/DVDRW dans l'unité numero N
GET_UNIT_SPEED N, variable%(i) ---> récupere les differentes vitesses de gravures autorisée de l'unité numero N et les met dans un tableau
SET_UNIT_SPEED N, variable%(i) ---> Regle la vitesse de gravure de l'unité numero N
MAKE_ISO nom_du_fichier.iso, repertoire_ou_fichier, parametres_divers ---> transforme un repertoire ou un fichier en ISO
BURN_ISO N, nom_du_fichier.iso, speed%, parametres_divers ---> grave une image ISO vers le graveur N à la vitesse speed%
OPEN_TRAY N --> ouvre le tiroir CD de l'unité numero N


GESTION HARDWARE:
lecture temperature & info systeme:
GET_CPU_TEMP N, tcore1%,tcore2%,tcore3%,tcore4%
GET_GPU_TEMP N, gpu%,gpu2%,gpu3% --> mesure temperature d'une carte graphique N contenant jusqu'à 3 GPU (comme l'ASUS trinity à base de 3 RADEONS)
GET_INSIDE_TEMP, temp% --> mesure temperature à l'interieur du boitier
GET_ACPI_TEMP, temp% ---> mesure temperature de l'ACPI (apparement pas tellement utilisé, mais j'ai cette mesure sur mon A8Nsli premium)
GET_CPU_FRQ, frq% ---> recupere l'information de frequence et la met dans frq%
GET_CPU_FSB, fsb% ---> recupere l'information de fsb et la met dans fsb%
GET_CPU_MLT, mlt% ---> recupere l'information de multiplication de frequence et la met dans mlt%
GET_CPU_VLT,vcore1%,vcore2%,vcore3%,vcore4% ---> recupere l'information de voltage du cpu et la met dans core%
lecture RPM d'un ventilo:
GET_RPM N, rpm% ---> recupere l'info de vitesse du ventilateur N dans rpm%
Lecture smart:
GET_SMART N, smart% ---> recupere les infos smart du disque dur N dans smart%

En toute logique: c'est pas fini Smile
Revenir en haut Aller en bas
Contenu sponsorisé





Mon avis... Empty
MessageSujet: Re: Mon avis...   Mon avis... Empty

Revenir en haut Aller en bas
 
Mon avis...
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bienvenue à Champollion et essap
» Votre avis
» Avis de décès (humour !)
» Demande avis pour un "Memo_color"
» Anti-slash du forum : avis à la population

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Présentation et bavardage-
Sauter vers: