Entrées sorties.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
alainc88
Messages : 5
Inscription : lun. 09/nov./2020 18:26

Entrées sorties.

Message par alainc88 »

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 !
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Entrées sorties.

Message par Kwai chang caine »

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 : Tout sélectionner

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
Avatar de l’utilisateur
kernadec
Messages : 1594
Inscription : ven. 25/avr./2008 11:14

Re: Entrées sorties.

Message par kernadec »

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 : Tout sélectionner

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 : Tout sélectionner

 ; 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



alainc88
Messages : 5
Inscription : lun. 09/nov./2020 18:26

Re: Entrées sorties.

Message par alainc88 »

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
Shadow
Messages : 1373
Inscription : mer. 04/nov./2015 17:39

Re: Entrées sorties.

Message par Shadow »

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.
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Entrées sorties.

Message par Ar-S »

Bienvenue alainc88.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
SPH
Messages : 4726
Inscription : mer. 09/nov./2005 9:53

Re: Entrées sorties.

Message par SPH »

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 ////
Intel Core i7 4770 64 bits - GTX 650 Ti
Version de PB : 6.00 - 64 bits
Avatar de l’utilisateur
venom
Messages : 3072
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Re: Entrées sorties.

Message par venom »

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
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Entrées sorties.

Message par Kwai chang caine »

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
alainc88
Messages : 5
Inscription : lun. 09/nov./2020 18:26

Re: Entrées sorties.

Message par alainc88 »

Bonjour et merci à tous les intervenants pour leur code et leurs messages sympathiques de bienvenue !
Répondre