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
» Bataille navale SM
Un moyen d'appeler des boites de message personnalisées Emptypar jjn4 Hier à 17:39

» Une calculatrice en une ligne de programme
Un moyen d'appeler des boites de message personnalisées Emptypar jean_debord Hier à 8:01

» Gestion d'un système client-serveur.
Un moyen d'appeler des boites de message personnalisées Emptypar Pedro Jeu 25 Avr 2024 - 19:31

» Les maths du crocodile
Un moyen d'appeler des boites de message personnalisées Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Un moyen d'appeler des boites de message personnalisées Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Un moyen d'appeler des boites de message personnalisées Emptypar Froggy One Mer 24 Avr 2024 - 18:38

» Dessine-moi une galaxie
Un moyen d'appeler des boites de message personnalisées Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Un moyen d'appeler des boites de message personnalisées Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Un moyen d'appeler des boites de message personnalisées Emptypar papydall Dim 21 Avr 2024 - 23:30

» Form
Un moyen d'appeler des boites de message personnalisées Emptypar leclode Dim 21 Avr 2024 - 18:09

» trop de fichiers en cours
Un moyen d'appeler des boites de message personnalisées Emptypar Marc Dim 21 Avr 2024 - 2:41

» 2D_fill_color(résolu)
Un moyen d'appeler des boites de message personnalisées Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Un moyen d'appeler des boites de message personnalisées Emptypar leclode Mer 17 Avr 2024 - 11:07

» on_key_down (résolu)
Un moyen d'appeler des boites de message personnalisées Emptypar leclode Mar 16 Avr 2024 - 11:01

» Sous-programme(résolu)
Un moyen d'appeler des boites de message personnalisées Emptypar jjn4 Jeu 4 Avr 2024 - 14:42

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2024
LunMarMerJeuVenSamDim
1234567
891011121314
15161718192021
22232425262728
2930     
CalendrierCalendrier
Le Deal du moment : -40%
Tefal Ingenio Emotion – Batterie de cuisine 10 ...
Voir le deal
59.99 €

 

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

Aller en bas 
+5
Jicehel
Jean Claude
Minibug
Nardo26
Klaus
9 participants
AuteurMessage
Klaus

Klaus


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptyVen 26 Juin 2015 - 1: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
http://klauspanoramic.comxa.com/index.html
Nardo26

Nardo26


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

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

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

Je m’étais amusé avec aussi à l'époque où les SUB n'existaient pas...(j'aime pas les GOSUB avec variables globales Un moyen d'appeler des boites de message personnalisées 07)

C'est clair que maintenant c'est beaucoup plus exploitable et plus intéressant à utiliser ! Un moyen d'appeler des boites de message personnalisées 18
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Minibug

Minibug


Nombre de messages : 4566
Age : 57
Localisation : Vienne (86)
Date d'inscription : 09/02/2012

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

C'est utile, effectivement !

A conserver. Ça peut toujours servir...
Revenir en haut Aller en bas
http://gpp.panoramic.free.fr
Jean Claude

Jean Claude


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

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

Heu... ça sert à quoi ?

A+
Revenir en haut Aller en bas
Klaus

Klaus


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptyVen 26 Juin 2015 - 10: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
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptyVen 26 Juin 2015 - 11: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 - 11:35, édité 1 fois
Revenir en haut Aller en bas
Jean Claude

Jean Claude


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptyVen 26 Juin 2015 - 11: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
Klaus

Klaus


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptyVen 26 Juin 2015 - 11: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
http://klauspanoramic.comxa.com/index.html
pascal10000

pascal10000


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 8: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
Pedro

Pedro


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Boîte de message personnalisée.   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 10: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
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: re   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 13: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
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 13: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
Nardo26

Nardo26


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 15: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. Un moyen d'appeler des boites de message personnalisées 07

Et puis si tout était parfait, on n'aurait plus le plaisir d'embêter Jack !!! Un moyen d'appeler des boites de message personnalisées 21Un moyen d'appeler des boites de message personnalisées 20Un moyen d'appeler des boites de message personnalisées 22
Revenir en haut Aller en bas
http://nardo26.lescigales.org
Jean Claude

Jean Claude


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 16: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
Yannick




Nombre de messages : 8610
Age : 52
Localisation : Bretagne
Date d'inscription : 15/02/2010

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: re   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 16: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
Nardo26

Nardo26


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

Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 16: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
http://nardo26.lescigales.org
Invité
Invité




Un moyen d'appeler des boites de message personnalisées Empty
MessageSujet: Re: Un moyen d'appeler des boites de message personnalisées   Un moyen d'appeler des boites de message personnalisées EmptySam 27 Juin 2015 - 22: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é





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

Revenir en haut Aller en bas
 
Un moyen d'appeler des boites de message personnalisées
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» BOITES DE DIALOGUE
» boite de message
» Pas moyen d'installer Panoramic
» Message
» Zéro message

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