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
» PANORAMIC V 1
saisie de texte Emptypar Pedro Aujourd'hui à 9:59

» Gestion d'un système client-serveur.
saisie de texte Emptypar Pedro Aujourd'hui à 9:56

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
saisie de texte Emptypar Froggy One Aujourd'hui à 9:16

» @Jack
saisie de texte Emptypar Jack Mar 30 Avr 2024 - 18:40

» trop de fichiers en cours
saisie de texte Emptypar papydall Lun 29 Avr 2024 - 21:39

» Une calculatrice en une ligne de programme
saisie de texte Emptypar jean_debord Dim 28 Avr 2024 - 6:47

» Form(résolu)
saisie de texte Emptypar leclode Sam 27 Avr 2024 - 15:59

» Bataille navale SM
saisie de texte Emptypar jjn4 Ven 26 Avr 2024 - 15:39

» Les maths du crocodile
saisie de texte Emptypar jean_debord Jeu 25 Avr 2024 - 8:37

» Naissance de Crocodile Basic
saisie de texte Emptypar jean_debord Jeu 25 Avr 2024 - 6:45

» Dessine-moi une galaxie
saisie de texte Emptypar jjn4 Lun 22 Avr 2024 - 11:47

» Erreur END_SUB
saisie de texte Emptypar jjn4 Lun 22 Avr 2024 - 11:43

» Bug sur DIM_LOCAL ?
saisie de texte Emptypar papydall Dim 21 Avr 2024 - 21:30

» 2D_fill_color(résolu)
saisie de texte Emptypar leclode Sam 20 Avr 2024 - 6:32

» Consommation gaz électricité
saisie de texte Emptypar leclode Mer 17 Avr 2024 - 9:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 saisie de texte

Aller en bas 
AuteurMessage
Invité
Invité




saisie de texte Empty
MessageSujet: saisie de texte   saisie de texte EmptySam 30 Jan 2010 - 16:55

J'ai besoin d'une procédure de saisie de texte et éviter un edit. Si des fois ça vous intéresse.
Code:
rem " saisie de ligne d'écriture avec le clavier en remplacement d'édit "

rem " ce programme pourrait également être utilisé pour saisir un code, et mettre des * à la place des caractères "
dim ligne$      :rem " la ligne d'écriture "
dim lig_refere$ :rem " ligne de référence sans curseur
dim mot$        :rem " traite le mot qu°on écrit "
dim let$        :rem " est le caractère qui est sous le curseur "
dim trait$      :rem " montre curseur "
dim curseur%    :rem " position du curseur "
dim lg_ligne%  :rem " longueur de la ligne "

label clavier,affiche_edit,ecrit,fin ,dec_curseur,inc_curseur,del_curseur,efface_arriere

width 0,1000:height 0,500
' ---
alpha 6:top 6,80:caption 6,"    ligne$ la ligne avec le curseur"
edit 1 :top 1 ,100:width 1 ,980:height 1 ,30:font_size 1 ,14:font_bold 1 :'

alpha 4:top 4,140:caption 4,"    lg_refere  la ligne de rérérence"
edit 5:top 5,160:width 5,980:height 5,30 :font_size 5,12
' ------
curseur%=0 : trait$=chr$(1)
gosub clavier
end
' ==============================================================================
clavier:
rem "<= 37 , => 39 , del 46 , efface arrière 8
  let$=inkey$
  repeat
    if scancode = 8 and curseur%>0 then gosub efface_arriere
    let$=inkey$:if asc(let$)>31 then gosub ecrit:wait 50
    if scancode =37 and curseur%>0 then gosub dec_curseur
    if scancode =39 and curseur%<lg_ligne% then gosub inc_curseur
    if scancode =46 and curseur%<lg_ligne% then gosub del_curseur :' touche suppression
  until SCANCODE=13 or (key_down_code=3 and key_down_special = 3 )
  if (key_down_code=3 and key_down_special = 3 ) then message "fin":' touche <CRTL> et <ARRET>/ou/<PAUSE>
  GOTO FIN
return
' ==============================================================================
ecrit:
  if lig_refere$="" then lig_refere$= string$(10," ")
  lig_refere$=rtrim$(lig_refere$)+string$(10," ")
  lg_ligne% = len(lig_refere$)
  ' ...............
  if curseur%=0
    lig_refere$=let$+lig_refere$
  else
    lig_refere$=left$(lig_refere$,curseur%)+let$+right$(lig_refere$,lg_ligne%-curseur%)
  end_if
  curseur%=curseur%+1
' ----
affiche_edit:
  lg_ligne% = len(lig_refere$)
  if curseur%=1
      ligne$=left$(lig_refere$,1) + trait$ + right$(lig_refere$,len(lig_refere$)-1 )
  else
    ligne$=left$(lig_refere$,curseur%)+trait$+right$(lig_refere$,lg_ligne%-curseur%)
  end_if
  text 1,ligne$
  text 5,lig_refere$
return
' ----
dec_curseur:
  wait 50
  if curseur%>0 then curseur%=curseur%-1
  repeat:until scancode=0
  gosub affiche_edit  :wait 50
return

inc_curseur:
  wait 50
  if curseur%<len(lig_refere$) then curseur%=curseur%+1
  repeat:until scancode=0
  gosub affiche_edit  :wait 50
return

del_curseur:
  lg_ligne% = len(lig_refere$)
  lig_refere$=left$(lig_refere$,curseur%)+right$(lig_refere$,lg_ligne%-curseur%-1)
  repeat:until scancode=0
  gosub affiche_edit  :wait 50
return

efface_arriere:
  lg_ligne% = len(lig_refere$)
  let$=""
  lg_ligne% = len(lig_refere$)
  if curseur%>0
    if curseur%=1
      lig_refere$=right$(lig_refere$,lg_ligne%-1)
    else
      lig_refere$=left$(lig_refere$,curseur%-1) +right$(lig_refere$,lg_ligne%-curseur%)
    end_if
    curseur%=curseur%-1
  end_if
  repeat:until scancode=0
  gosub affiche_edit  :wait 50
return
fin:
terminate
çà me parait un peu long, mais elle réponse à ma demande:saisie des caractères, des touches de déplacement, del efface arrière
Revenir en haut Aller en bas
 
saisie de texte
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Utilitaire de saisie d'une date
» Traitement d'un champ de saisie.
» Boîte de saisie de texte formaté
» Etude sur la saisie prédictive
» Comment terminer une saisie dans un objet par entrée

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: