PureBasic

Forums PureBasic
Nous sommes le Mar 26/Jan/2021 23:43

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 
Auteur Message
 Sujet du message: Entrées sorties.
MessagePosté: Lun 09/Nov/2020 19:32 
Hors ligne

Inscription: Lun 09/Nov/2020 18:26
Messages: 5
Bonjour.
Nouveau depuis aujourd'hui sur ce forum, j'ai acquis la licence de PureBasic il y a 48 heures.
Je découvre ce langage qui n'a en définitive de "Basic" que le nom :D
J'avoue que je suis un peu dérouté, car j'avais programmé il y de nombreuses année et durant de longues années avec Quick Basic Compiler 4.5 et les versions suivantes, sous Dos, mais aussi en Pascal. J'avais réalisé de nombreux logiciels professionnels avec ce QB45 et versions suivantes.
Sur Purebasic, j'ai réussi à utiliser les fichiers (écriture/lecture, etc...). J'ai aussi réussi à réaliser des grilles de saisie, puis y saisir des données, les sauvegarder dans des fichiers, et les rapatrier dans des variables.
Mais malgré mon exploration de la doc et des forums, je ne vois toujours pas comment afficher sur l'écran les données saisies et récupérées depuis un fichier. Par exemple, nom, prénom, téléphone, etc... pour donner un exemple.
Il y a bien des instructions print et printN, mais elles ne fonctionnent qu'en mode console.
Quelqu'un aurait-il quelques lignes de code à me communiquer pouvant me montrer comment on peut afficher sur son écran des données lues dans un fichier?
Merci d'avance !


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Lun 09/Nov/2020 20:06 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6737
Localisation: Isere
Bonjour Alainc88 :D

Moi aussi j'ai fait des années de QB45 et créé des programmes de gestion immobilière et de compte bancaire sous DOS, que je me servais encore il y a quelques mois 8)
Ça nous rajeunis pas :mrgreen:
En tout cas bienvenue dans notre famille :wink:

Pour afficher par exemple un fichier tu as plein de façons
Comme tu l'as déjà trouvé tu as le mode console

Mais si tu créé une interface graphique, tu fais une fenetre et tu mets dedans tous les Gadgets dont tu as besoin dont certains peuvent afficher du texte
Voilà un exemple simple utilisant l'EditorGadget, mais tu as le StringGadget, le ListIconGadget, Le ListViewGadget, etc ...
Tu as une entrée et une sortie de Gadget et de fichier bien sûr :wink:

Tu peux aussi voir un résultat rapide dans la fenêtre du debugger avec l'instruction "Debug"

Code:
Enumeration
#MaFenetre
#MonEditor
EndEnumeration

#WindowWidth  = 390
#WindowHeight = 350

FichierTexte.s = DossierTemporaire$ + "Le premier affichage de ''alainc88''"

OpenWindow(#MaFenetre, 100, 200, #WindowWidth, #WindowHeight, "PureBasic - Gadget Demonstration", #PB_Window_MinimizeGadget)
EditorGadget(#MonEditor,  0, 0, #WindowWidth, #WindowHeight)

DossierTemporaire$ = GetTemporaryDirectory()
Canal = CreateFile(#PB_Any, FichierTexte, #PB_Ascii)

; Creation d'un fichier texte
If Canal

For i = 1 To 10
  WriteStringN(Canal, "MonTexte ligne " + Trim(Str(i)), #PB_Ascii)
Next
 
CloseFile(Canal)

EndIf

; Lecture et affichage dans un des gadget du fichier texte en lecture seule (Dans cet exemple un EditorGadget)
Canal = ReadFile(#PB_Any, FichierTexte, #PB_Ascii)

If Canal

For i = 1 To 10
  MaLigne$ = ReadString(Canal)
  AddGadgetItem(#MonEditor, -1, MaLigne$)
  Debug "Texte lu du fichier = " + MaLigne$
Next
 
CloseFile(Canal)

EndIf

; On fait le ménage
DeleteFile(FichierTexte)

; Et maintenant on lit le gadget directement
For i = 1 To 10
  Debug "Texte lu direct de l'editeur = " + GetGadgetItemText(#MonEditor, i - 1)
Next

Repeat
Event = WaitWindowEvent()
Until Event = #PB_Event_CloseWindow

End 

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 8:58 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 25/Avr/2008 11:14
Messages: 1447
bjr à tous
merci kcc, bel exemple :D
pour compléter on peut aussi aller voir dans la doc les fonctions :
DrawText(X, Y, Texte$ [, CouleurTexte [, CouleurFond]])
StringGadget(#Gadget, X, Y, Largeur, Hauteur, Texte$ [, Options])

cordialement

Code:
If OpenWindow(0, 0, 0, 200, 200, "DrawText Exemple", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    If CreateImage(0, 200, 200) And StartDrawing(ImageOutput(0))
      DrawingMode(#PB_2DDrawing_Transparent)
      Box(0, 0, 200, 200, RGB(255, 255, 255))
      For i = 1 To 30
        DrawText(Random(200), Random(200), "Hello World!", RGB(Random(255), Random(255), Random(255)))
      Next i
      StopDrawing()
      ImageGadget(0, 0, 0, 200, 200, ImageID(0))
    EndIf
   
    Repeat
      Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
  EndIf



Code:
; Démonstration des options possibles pour le gadget de saisie de texte...
  If OpenWindow(0, 0, 0, 322, 205, "Les options de StringGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    StringGadget(0, 8,  10, 306, 20, "Gadget saisie de texte normal...")
    StringGadget(1, 8,  35, 306, 20, "1234567", #PB_String_Numeric)
    StringGadget(2, 8,  60, 306, 20, "Gadget saisie de texte en lecture seule", #PB_String_ReadOnly)
    StringGadget(3, 8,  85, 306, 20, "minuscules...", #PB_String_LowerCase)
    StringGadget(4, 8, 110, 306, 20, "majuscules...", #PB_String_UpperCase)
    StringGadget(5, 8, 140, 306, 20, "Gadget saisie de texte sans bordure", #PB_String_BorderLess)
    StringGadget(6, 8, 170, 306, 20, "Mot de passe", #PB_String_Password)
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
  EndIf





Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 9:53 
Hors ligne

Inscription: Lun 09/Nov/2020 18:26
Messages: 5
Bonjour Kwai chang caine et bonjour kernadec.

Merci pour vos réponses et vos messages de bienvenue.
Quel plaisir de voir un forum si efficace avec des gens si compétents !
Je vais essayer les lignes de code fournies, et en tirer de bonnes pratiques :o

Oui, l'évocation du QB 45 ne nous rajeunit pas...
Que dire de plus, quand mon premier PC fut un TRS80 avec 16 ko de RAM ! :lol:
Il fonctionne d'ailleurs toujours.

Merci encore pour vos réponses.
Alain


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 13:56 
Hors ligne

Inscription: Mer 04/Nov/2015 17:39
Messages: 1205
Bienvenue alainc88 sur le forum !
Comme tu le dis, PureBasic qui n'a en définitive de "Basic" que le nom !
Il est très puissant, tu peu en faire des tas de choses avec !
Très très performent, très compacte, SuperBasic quoi :D

_________________
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 13:57 
Hors ligne
Avatar de l’utilisateur

Inscription: Dim 09/Oct/2005 16:51
Messages: 9060
Bienvenue alainc88.

_________________
~~~~Règles du forum ~~~~
.: Ar-S :. Tour + portable W10 x64 PB 5.6x / 5.7x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 18:56 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 09/Nov/2005 9:53
Messages: 4287
Avec PureBasic, on peux faire des editeurs, des editeurs d'editeurs, etc... :lol:

_________________
http://HexaScrabble.com/
!i!i!i!i!i!i!i!i!i!
!i!i!i!i!i!i!
!i!i!i!
//// Informations ////
Portable LENOVO ideapad 110-17ACL 64 bits
Version de PB : 5.73LTS - 32 bits


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 19:39 
Hors ligne
Avatar de l’utilisateur

Inscription: Jeu 29/Juil/2004 16:33
Messages: 2959
Localisation: Klyntar
SPH...


Salut alainc88, bienvenue sur le forum. A bientôt






@++

_________________
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Mar 10/Nov/2020 20:59 
Hors ligne
Avatar de l’utilisateur

Inscription: Sam 23/Sep/2006 18:32
Messages: 6737
Localisation: Isere
alainc88 a écrit:
Quel plaisir de voir un forum si efficace
La puissance de PB c'est aussi ses forums (Le deuxième effet kiss cool) :D
Moi aussi, venant du VB6, j'ai été surpris au début de la rapidité de réponse des forums PB 8O (Car il y en a plusieurs)
Avec PB on se sent jamais seul...enfin pas trop longtemps :wink: et crois moi en plusieurs dizaines d'années...... des questions à la con....j'en aurais posé quelques unes :mrgreen:
Mais ils sont quasi infatigables nos forums 8)
Bienvenue chez toi

_________________
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic


Haut
 Profil  
Répondre en citant le message  
 Sujet du message: Re: Entrées sorties.
MessagePosté: Dim 22/Nov/2020 18:24 
Hors ligne

Inscription: Lun 09/Nov/2020 18:26
Messages: 5
Bonjour et merci à tous les intervenants pour leur code et leurs messages sympathiques de bienvenue !


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 10 messages ] 

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 21 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye