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
» Problème de compilateur.
par Pedro Alvarez Hier à 20:01

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par Pedro Alvarez Hier à 19:54

» Pb 17 (en analyse): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» Compilateur FBPano
par Mike Jeu 17 Aoû 2017 - 13:52

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

» Pb 16 (en analyse): ON_CLOSE plante à l'exécution
par Jack Mer 16 Aoû 2017 - 20:00

» Pb 15 (en analyse): TIMER_ON plante à l'exécution
par Jack Mer 16 Aoû 2017 - 19:58

» KGF_dll - nouvelles versions
par Yannick Dim 13 Aoû 2017 - 17:35

» probleme d'outil
par Yannick Dim 13 Aoû 2017 - 17:32

» Carte de France des régions
par Yannick Sam 12 Aoû 2017 - 21:33

» Pb 14 (en analyse): PRINT_LOCATE plante à l'exécution
par Jack Ven 11 Aoû 2017 - 22:37

» Petit avertissement [Mots réservés]
par papydall Ven 11 Aoû 2017 - 13:45

» Distances sur plan
par JL35 Jeu 10 Aoû 2017 - 21:29

» Tracé : Triangle, Carrée, Dents de scie, Sinusoïde redressée
par papydall Jeu 10 Aoû 2017 - 14:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 Un moyen d'appeler des boites de message personnalisées

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

avatar

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

MessageSujet: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 2:40

Je me suis amusé à faire ceci:
Code:
label clic

dim s$, i%, t$

combo 1 : top 1,10 : left 1,10 : width 1,200
item_add 1,"Bouton OK seul"
item_add 1,"Boutons OK et Annuler"
item_add 1,"Boutons Recommencer et Annuler"
item_add 1,"Boutons Oui et Non"
item_add 1,"Boutons Oui, Non et Annuler"

combo 2 : top 2,40 : left 2,10 : width 2,200
item_add 2,"Point d'exclamation"
item_add 2,"(i)"
item_add 2,"Point d'interrogation"
item_add 2,"Signe Stop"

alpha 3 : top 3,70 : left 3,10 : caption 3,"Message:"
memo 4 : top 4,70 : left 4,80 : height 4,60 : width 4,200

alpha 5 : top 5,140 : left 5,10 : caption 5,"Titre:"
edit 6 : top 6,140 : left 6,80 : width 6,200

button 7 : top 7,170 : left 7,10 : caption 7,"Message" : on_click 7,clic

alpha 8 : top 8,200 : left 8,10 : caption 8,"Résultat:"
alpha 9 : top 9,200 : left 9,80

end

clic:
  s$ = ""
  if count(4)>0
    for i%=1 to count(4)
      s$ = s$ + item_read$(4,i%) + chr$(13) + chr$(10)
    next i%
  end_if
  if len(s$)>0 then s$ = left$(s$,len(s$)-2)
  t$ = trim$(text$(6))
  MessageBox(s$,t$,item_index(1),item_index(2))
  caption 9,str$(MessageBox%)

  return

sub MessageBox(txt$,tit$,popt%,pico%)
' Valeurs possibles pour popt%:
' 1 = MB_OK              = 0x00000000L - one push button: OK. This is the default.
' 2 = MB_OKCANCEL        = 0x00000001L - two push buttons: OK and Cancel.
' 3 = MB_RETRYCANCEL    = 0x00000005L - two push buttons: Retry and Cancel.
' 4 = MB_YESNO          = 0x00000004L - two push buttons: Yes and No.
' 5 = MB_YESNOCANCEL    = 0x00000003L - three push buttons: Yes, No, and Cancel.
'
' Valeurs possibles pour pico%:
' 1 = MB_ICONWARNING    = 0x00000030L - An exclamation-point icon appears in the message box.
' 2 = MB_ICONINFORMATION = 0x00000040L - An icon consisting of a lowercase letter i in a circle appears in the message box.
' 3 = MB_ICONQUESTION    = 0x00000020L - A question-mark icon appears in the message box. The question-mark message icon is no longer recommended because it does not clearly represent a specific type of message and because the phrasing of a message as a question could apply to any message type. In addition, users can confuse the message symbol question mark with Help information. Therefore, do not use this question mark message symbol in your message boxes. The system continues to support its inclusion only for backward compatibility.
' 4 = MB_ICONSTOP        = 0x00000010L - A stop-sign icon appears in the message box.

  dim_local res%, ad1%, hdc%, ad2%, ad3%, opt%, ico%
  if variable("MessageBox%")=0 then dim MessageBox%
 
  dll_on "User32.dll"

  ad1% = adr(txt$)
  poke adr(ad2%),peek(ad1%)
  poke adr(ad2%+1),peek(ad1%+1)
  poke adr(ad2%+2),peek(ad1%+2)
  poke adr(ad2%+3),peek(ad1%+3)
  ad1% = adr(tit$)
  poke adr(ad3%),peek(ad1%)
  poke adr(ad3%+1),peek(ad1%+1)
  poke adr(ad3%+2),peek(ad1%+2)
  poke adr(ad3%+3),peek(ad1%+3)
 
  if popt%=1 then opt% = 0
  if popt%=2 then opt% = 1
  if popt%=3 then opt% = 5
  if popt%=4 then opt% = 4
  if popt%=5 then opt% = 3

if pico%=1 then ico% = 48
if pico%=2 then ico% = 64
if pico%=3 then ico% = 32
if pico%=4 then ico% = 16

  MessageBox% = dll_call4("MessageBoxA",0,ad2%,ad3%,opt%+ico%)

  dll_off
end_sub
 
end

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

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

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 3:20

Klaus !

Je m’étais amusé avec aussi à l'époque où les SUB n'existaient pas...(j'aime pas les GOSUB avec variables globales )

C'est clair que maintenant c'est beaucoup plus exploitable et plus intéressant à utiliser !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Laurent (Minibug)

avatar

Nombre de messages : 2353
Age : 50
Localisation : Vienne (86)
Date d'inscription : 10/02/2012

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 7:06

C'est utile, effectivement !

A conserver. Ça peut toujours servir...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 8:18

Heu... ça sert à quoi ?

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 11:57

En fait, j'ai fait un essai d'appels de fonctions API de Windows, sans passer par KGF.dll. En effet, pour moi, ce serait simple d'ajouter une fonction à KGF.dll pour faire ce que fait cette procédure. Et hop ! Ni vu ni compris !

Car en fait, l'objectif est là. Montrer comment appeler une API de Windows, directement par Panoramic. Il y a des milliers de fonctions disponibles dans Windows, souvent très intéressantes, mais inaccessibles en Panoramic. Or, Panoramic offe la possibilité d'accéder aux DLLs. C'est très restrictif, c'est souvent une vraie gymnastique à programmer, mais ça marche.

Un des problèmes principaux, c'est le passage de chaînes de caractères à une API. Windows s'attend à recevoir l'adresse d'une chaîne de caractères, en général une chaîne terminée par un octet 0. Par chance, ceci est la cas en Panoramic: toutes les chaînes sont terminées par un octet 0. Mais le problème est la fonction ADR(s$). Elle ne retourne pas l'adresse du texte de la chaîne de caractères, mais l'adresse d'un mout contenant l'adresse du texte de la chaîne ! On a l'adresse d'un pointeur, en somme. Alors que adr(n%) retourne vraiment l'adresse des données de la variable n%, et pareil pour les variables flottantes.

Alors, comment résoudre ce problème ? C'est ce que montre ma procédure. On utililise la fonction PEEK et la commande POKE pour récupérer le contenu du mot pointé par ADR(s$) pour obtenir la vraie adresse du texte de la variable s$. Et ensuite, on peut passer cette adresse à la fonction DLL de Windows.

Et je dois dire que, malgré une palette correcte de fonctions de messages de Panoramic, cela reste assez restrictif. Certes, le but de Panoramic est atteint: rester simple et facile à utiliser. Soit. Mais j'aurais aimé pouvoir paramétrer le titre de ma boite de messages, et la présence de tel ou tel bouton. En plus, pouvoir afficher une des icônes standard de Windows dans la boite de messages, tel qu'on est habitué à le voir avec mes messages provenant directement de Windows ou de certains utilitaires, ce serait sympa.

Or, l'API MessageBox de Windows est capable de faire cela. J'ai donc choisi cette API pour montrer:
- comment appeler une API
- comment passer une chaîne de caractères
- faire des messages avec titre, boutons et icônes paramétrables

Evidemment, en soi, cela n'a que peu d'intérêt, sauf pour des cas très particuliers. Mais cela montre la technique de base pour appeler une API Windows quelconque, et c'est l'intérêt principal de ce petit code.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 12:13

Woui et à mon avis entre Papydall qui aime bien triturer les api Windows et Klaus, on va encore avoir des procédures sympas. Moi de mon côté, j'ai un peu lâché et je devrais faire du tri pour pouvoir me remettre à jour ma bibliothèque de procédures et l'intégrer à mon futur éditeur de code Panoramic, mais c'est vrai qu'avec une bonne gestion de la bibliothèque, on devrait pouvoir retrouver ces petits bijoux facilement pour quand on en a besoin.


Dernière édition par Jicehel le Ven 26 Juin 2015 - 12:35, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 12:24

Merci pour les explications, Klaus. C'est plus clair pour moi, même si ça reste complexe, l'utilisation est simple.
Je me demande combien d'API il peut y avoir dans Windows.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Ven 26 Juin 2015 - 12:44

Très difficile à dire comme ça, de but en blanc. Il y a des centaines de DLLs Windows, et chacune a des dizaines, des centaines et quelques fois des milliers de fonctions. En tout cas, c'est énorme.

Il faut bien voir que Windows se compose essentiellement de 4 groupes d'éléments: un noyau bootable, relativement petit, des centaines de DLLs contenant toutes les APIs, donc les fonctionnalités "accessibles" du système, des drivers et des programmes utilitaires. Tout sauf le noyau est chargé dynamiquement, selon les besoins. Et Windows lui-même utilise ces DLLs pour se gérer lui-même. Plus de 90 % de Windows est réalisé sous forme de DLLs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
pascal10000

avatar

Nombre de messages : 518
Localisation : Troyes
Date d'inscription : 05/02/2011

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 9:43

bonjour
@Klaus

C'est très intéressant ton code et je suis sur que je ne suis le seul a être
intéressé a avoir accès aux apis de Windows! et si tu pouvais nous
proposé d'autre code de temps en temps si ça ne te dérange pas ça serai sympa de ta part
parce que j'ai déjà essaye de trifouiller des codes et cela n'ont pas marché
comme par exemple d'y mettre une icône aux item des sub_menu et ce n'est pas évident
et même en essayant d'utilisé rundll32.exe
enfin sur ce a+ et bonne programmation
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Pedro Alvarez

avatar

Nombre de messages : 808
Date d'inscription : 19/01/2014

MessageSujet: Boîte de message personnalisée.   Sam 27 Juin 2015 - 11:01

Bonjour.

Pour ma part, il y a bien longtemps que je n'utilise plus la commande 'message'.

Voici la routine que je me suis concoctée:


Code:
sub message(param1%,param2%,txt$)
    ' afficher_car_speciaux_espagnols%=1 affiche des boutons permettant de saisir les car accentués.
    ' oui: res%=1
    ' non: res%=0
    inactive 0
    att%=0
    parametre_message%=param1%
    temporaire$=txt$

    if label("pos_clic")=0 then label pos_clic
    if label("pos_clac")=0 then label pos_clac

    for k%=1451 to 1455
        effacer_objet(k%,0)
    next k%

    if form_180_creee%=false%
      form 180
      left 180,-200
      memo 821
          else
      show 180
      clear 821
    end_if

    haut(180,-500,0)
   
    on_close 180,pos_clac

    if param1%=0 then caption 180,"Message d'information."
    if param1%=1 then caption 180,"Merci de confirmer ou non."
    if param1%=2 then caption 180,"Saisissez le texte."
    if param1%=3 or param1%=5 then caption 180,"Sélectionner l'élément dans la liste."
    if param1%=4 then caption 180,"Historique des versions."
    if param1%=6 then caption 180,"Choisissez votre profil."
    color 180,255,255,128
    font_name 180,"Calibri"
    font_size 180,12
    font_bold 180
    width 180,text_width(txt$,180)+40

    nl%=1
    for i%=1 to len(txt$)
        if mid$(txt$,i%,1)=chr$(13) then nl%=nl%+1
    next i%
    if param1%<>4 then height 180,nl%*text_height(txt$,180)+125
    if param1%=2 then hauteur(180,height(180)+50,0)
    if param1%=4 then hauteur(180,500,0)

    parent 821,180
    full_space 821
    if param2%=0 then color 821,255,255,164
    if param2%=1 then color 821,128,255,128
    if param2%=3 then color 821,0,64,128
    font_color 821,0,0,0
    if param1%=5 or param1%=6 then font_color 821,0,0,0
    if param2%=2
      color 821,128,0,0
      font_color 821,255,204,51
      font_size 821,18
    end_if

    if nl%=1
      item_add 821,txt$
          else
      while true%=1
            zz%=instr(txt$,chr$(13))
            if zz%=0
                if len(txt$)>0 then item_add 821,txt$
                exit_while
            end_if

            item_add 821,left$(txt$,zz%-1)
            txt$=right_pos$(txt$,zz%+1)
      end_while
    end_if

    a$=""
    for i%=1 to count(821)
        if len(item_read$(821,i%))>len(a$) then a$=item_read$(821,i%)
    next i%
    width 180,text_width(a$,180)+50
    if width(180)<400 then largeur(180,400,0)
    if height(180)<200 then hauteur(180,200,0)
    if param1%=6 then height 180,350
   
    gauche(180,largeur_ecran%/2-width(180)/2,0)
    haut(180,hauteur_ecran%/2-height(180)/2,0)

    if francusem%=true%
      font_name 821,"Cieszyn"
      font_size 821,12
      corriger_caracteres_speciaux_polonais(text$(821))
      clear 821
      item_add 821,ccs$
    end_if

    show 821
    effacer_objet(360,0)
   
    ' Utilisation d'un objet Hviewer.
    if param1%=0
      hide 821
      hviewer 360
      parent 360,180
      full_space 360
      file_open_write 999,"memo.htm"
      file_writeln 999,"<body background='images\brique.jpg'>"
      file_writeln 999,"<h4>"
      for k%=1 to count(821)
          file_writeln 999,item_read$(821,k%)
          file_writeln 999,"<br>"
      next k%
      file_close 999
      file_load 360,"memo.htm"
    end_if

    if param1%=0 or param1%=4 or param1%=5 or param1%=6 then creer("button",664,180,width(180)/2-50,height(180)-80,100,30,"Calibri","OK",1,0,12,128,0,0)
    if param1%=1 or param1%=3
      creer("button",664,180,width(180)/2-150,height(180)-80,100,30,"Calibri","Oui",1,0,12,128,0,0)
      creer("button",665,180,width(180)/2+50,height(180)-80,100,30,"Calibri","Non",1,0,12,128,0,0)
      on_click 665,pos_clac
    end_if
   
    if param1%=3 or param1%=5
      creer("combo",267,180,10,20,250,30,"Calibri","",1,0,12,255,255,128)
      if param1%=5
          largeur(267,width(180)-30,0)
          haut(267,top(664)-40,0)
      end_if
      if param1%=3 then on_click 267,lire_regle
    end_if

    if param1%=6
      for k%=1451 to 1455
          creer("option",k%,180,20,(k%-1450)*40,width(180)-50,30,"Calibri","",1,0,14,0,0,0)
          caption k%,sens$(k%-1450)
          font_color k%,0,0,0
          on_click k%,choix_du_profil
      next k%
    end_if

    if param1%=2
      creer("memo",860,180,20,height(180)-150,200,30,"Calibri","",1,0,12,0,0,255)
      creer("button",664,180,width(180)/2-150,height(180)-80,100,30,"Calibri","OK",1,0,12,128,0,0)
      creer("button",665,180,width(180)/2+50,height(180)-80,100,30,"Calibri","Annuler",1,0,12,128,0,0)
      on_click 665,pos_clac
      focus(860)
    end_if

    on_click 664,pos_clic
    if param1%<>0 and param1%<>2 then focus(821)
    form_180_creee%=true%

    for k%=611 to 615
        effacer_objet(k%,0)
    next k%

    if afficher_car_speciaux_espagnols%=1
      for k%=611 to 615
          creer("button",k%,180,(k%-610)*30-10,height(180)-120,30,30,"Calibri","",1,0,12,0,0,0)
          caption k%,caracteres_speciaux_espagnol$(k%-610)
          on_click k%,inserer_dans_message
      next k%
    end_if

    ' Cacher les boutons de réduction, agrandissement et fermeture.
    hnd%=handle(180)
    res%=dll_call2("SetMinimizeMaximize",hnd%,0)
    res%=dll_call2("SetCloseBox",hnd%,0)

    bar_none 821
    if param1%=4
      file_load 821,"historique_versions.dat"
      bar_vertical 821
    end_if
    if param1%=3
      clear 267
     
      file_open_read 99,fichier$
      while file_eof(99)<>1
            file_readln 99,ligne$
            ligne$=trim$(ligne$)
            if len(ligne$)>0 then item_add 267,left$(ligne$,instr(ligne$,";")-1)
      end_while
      text 267,item_read$(267,1)
      file_close 99
    end_if

    if param1%=5
      clear 267
      for index%=1 to nombre_sens%
          ' Ce qui permet d'ajouter un tableau quelconque à la combo.
          if instr(sens$(1),";")=0
              item_add 267,sens$(index%)
                else
              ' jouer;v;jugar;v;s'amuser
              temporaire$=sens$(index%)
              for y%=1 to 4
                  i%=instr(temporaire$,";")
                  if y%=1 then chaine$=left$(temporaire$,i%-1)
                  if y%=3 then chaine$=chaine$+" = "+left$(temporaire$,i%-1)
                  temporaire$=right_pos$(temporaire$,i%+1)
              next y%
              if len(temporaire$)>0 then chaine$=chaine$+" [sens: "+temporaire$+"]"
              item_add 267,chaine$
          end_if
      next index%
      text 267,item_read$(267,1)
    end_if

    res%=0
    while att%=0
          pause 200
    end_while
exit_sub

choix_du_profil:
  profil$=caption$(number_click)
return

inserer_dans_message:
  text 860,text$(860)+caption$(number_click)
return

pos_clic:
    res%=1
    resultat$=""
    if object_exists(860)=1
      if param1%=2 then resultat$=text$(860)
    end_if

    if parametre_message%=5
      if object_exists(267)=1
          index%=item_index(267)
          if index%=0 then index%=1
          resultat$=item_read$(267,index%)
            else
          resultat$=""
      end_if
    end_if

pos_clac:
    att%=1
    effacer_objet(267,0)
    effacer_objet(860,0)
    effacer_objet(664,0)
    effacer_objet(665,0)
    active 0
    hide 180
return

end_sub

Dans le cas le plus simple, elle est appelée comme suit:

message(0,1,"texte")
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7968
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 27 Juin 2015 - 14:02

Comme Pascal, si tu as un moyen d' ajouter une icône dans un sub menu, 
je suis preneur.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
silverman

avatar

Nombre de messages : 464
Age : 45
Localisation : Picardie
Date d'inscription : 19/03/2015

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 14:03

Bonjour à tous,

Klaus a écrit:
Car en fait, l'objectif est là. Montrer comment appeler une API de Windows, directement par Panoramic.
Cool, c'est aussi ce que je faisais dans le sujet sur les mémoires tampons.

Citation :
Panoramic offre la possibilité d'accéder aux DLL. C'est très restrictif...
Entièrement d'accord, ce ne serais pas du luxe si jack pouvait lever ces restrictions.
Même si panoramic est conçu pour être facile à utiliser pour le débutant, au bout d'un certain temps, un débutant n'est plus un débutant.


@pascal10000
pascal10000 a écrit:
...et si tu pouvais nous proposé d'autre code de temps en temps...
clique sur mon profil, regarde les sujets qui concernent la mémoire tampon et tick count, tu y trouveras des exemples. J'ai produis une LIB qui facilite les appels aux DLL, amuse toi bien!



EDIT:
@ygeronimi
Ça confirme ce que je disais, quand on est plus un débutant, on devient frustré par les limitations de panoramic.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

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

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 16:35

silverman a écrit:
...quand on est plus un débutant, on devient frustré par les limitations de panoramic.

Mais on arrive toujours à trouver d'autres échappatoires, par le jeu comme jean-claude...
Ou Papydall qui s'amuse à faire du LOGO avec Pano. (il fut un temps j'avais fait une adaptation du langage brainfuck Wink )
Je m'amuse aussi à faire des trucs en récursifs (ça sert pas à grand chose mais c'est juste pour le challenge)
Klaus se défoule comme un fou avec ses DLLs, Jicehel s'eclate avec les couleurs, etc...

Je pense qu'à la base Jack ne s'attendait pas à ce qu'on utilise son Langage pour des applications "poussées".
Perso je considère Panoramic comme étant un langage qui doit être abordé par son côté ludique.

Et puis si tout était parfait, on n'aurait plus le plaisir d'embêter Jack !!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Jean Claude

avatar

Nombre de messages : 4989
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 17:02

Perso, je ne suis pas encore frustré, mais ça tient au fait que je suis encore un débutant.
C'est pour cela que Panoramic et Pangine2g me permettent de m'éclater. Je reste un bidouilleur (expérimenté dans le contournement) Very Happy Razz

Maintenant, si Panoramic devient un super langage pour les pros, ça ne me gêne pas du tout car je n'utiliserais que les mots-clés dont je sais me servir correctement.

A+

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 7968
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Sam 27 Juin 2015 - 17:21

Je ne suis pas frustré...enfin...je ne crois pas... Laughing

Un débutant, oui toujours, je suis à des années lumière des connaissances de klaus et de tous ceux
qui sont à son niveau.

Et, justement, si Panoramic se veut ludique, il faut qu' il permette de faire des choses compliqués
de manière simple. Peek et Poke, c' est déjà de la haute voltige pour moi.

Donc, si une petite commande ( style : Ico N,adresse$ ) me permet de rajouter une petite icône dans un sub_menu au lieu d' aller
titiller les API... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

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

MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 17:59

Puisque l'on en est aux demandes :
Avoir la possibilité d’écrire des fonctions qui retournent une valeur, cela serait vraiment un + et un grand pas en avant pour le langage... Smile
Mais bon, les journées ne sont malheureusement pas extensible.. Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Invité
Invité



MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Sam 27 Juin 2015 - 23:07

Pour ce qui est des fonctions, il me semble que Jack avait reconnu qu'il avait du mal à le faire sur le noyau Panoramic, qui n'était pas prévu pour cela.

Pour ma part, j'essaye de revoir une autre conception qui semble marché, mais la mise au point est délicate, avec le clavier. Inkey$ et scancode sont très limités, et de plus certains disent que Scancode marche mal chez eux.

Le but est de pouvoir refaire une bibliothèque d'objets en couleurs, chose que je ne peux obtenir ici.

Il est quant même ahurissant qu’avec Microsoft, cela soit dur à avoir, alors par exemple ORIC 1 avec son processeur 8 bits permettait d'écrire de différentes couleurs, même en flash!.

Plus il y a de la vitesse, et de la mémoire, et moins on en a Sad

J'ai déjà mis un exemple avec un gif. Je ne vais pas en dire plus, cela n'intéresse que moi.
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   

Revenir en haut Aller en bas
 
Un moyen d'appeler des boites de message personnalisées
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Créer un Message d'accueil personnalisé
» Message personnalisé
» Message personnalisé sur page d'accueil
» [Nocturne] Demande d'aide pour code css complet s'il vous plait.
» Mise en forme de message personnalisé

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: